Docker学习笔记十三:Docker安装Prometheus监控Linux系统、MySQL数据库
介绍
Prometheus介绍
- 是一款基于时序数据库的开源监控告警系统,非常适合Kubernetes集群的监控。
- 基本原理是通过HTTP协议周期性抓取被监控组件的状态,任意组件只要提供对应的HTTP接口就可以接入监控,输出被监控组件信息的HTTP接口被叫做exporter。
安装Prometheus
下载
- 命令:docker pull prom/prometheus:latest
- 说明:安装可参考Docker Hub官网说明的镜像的用法

安装
创建容器
- a、准备“prometheus.yml”配置文件
- 说明:如下配置文件可供复制,配置文件内容可根据需要添加相应配置
- 配置:prometheus获取对应的exporter信息,都可以在该配置文件中配置新的“job_name”,配置文件之后需要重启服务,并保证对应的“exporter”服务监听启动成功。
# my global config global: scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute. evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute. # scrape_timeout is set to the global default (10s). # Alertmanager configuration alerting: alertmanagers: - static_configs: - targets: # - alertmanager:9093 # Load rules once and periodically evaluate them according to the global 'evaluation_interval'. rule_files: # - "first_rules.yml" # - "second_rules.yml" # A scrape configuration containing exactly one endpoint to scrape: # Here it's Prometheus itself. scrape_configs: # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config. - job_name: 'prometheus' # metrics_path defaults to '/metrics' # scheme defaults to 'http'. static_configs: - targets: ['192.168.6.9:9090']

- b、创建映射目录
- 命令:mkdir prometheus
- 说明:创建了映射目录之后,可以将“prometheus.yml”文件放在该目录下

- c、创建容器
docker run -d \ --name prometheus \ -p 9090:9090 \ --privileged=true \ -v /opt/docker_data/prometheus/:/data \ -e TZ=Asia/Shanghai \ prom/prometheus:latest --config.file=/data/prometheus.yml # docker run:运行并启动容器 # -d:在后台运行容器,并输出容器ID # --name:设置容器的名称 # -p 9090:9090:容器的9090端口映射宿主机9090端口(程序访问端口) # --privileged=true:可选配置,目录映射时避免出现权限问题 # -v:设置"宿主机目录:容器目录"映射位置 # -e:设置时区、mysql的密码 # 执行安装的镜像信息,格式:名称:标签(REPOSITORY:TAG)

访问页面
- prometheus默认的端口是9090,访问web页面查看对应的标签规则。如:http://xxxx.xxx.xxx.xxx:9090

常用exporter介绍
- node_exporter
- 说明:收集Linux系统数据,默认端口号9100
- 下载1:https://prometheus.io/download/#node_exporter
- 下载2:https://github.com/prometheus/node_exporter/releases
- mysql_exporter
- 说明:收集MySQL数据库数据,默认端口号9104
- 下载:https://prometheus.io/download/#mysqld_exporter
- ...
使用node_exporter监控服务器
解压压缩包
tar -zxvf node_exporter-1.9.1.linux-amd64.tar.gz
创建服务文件
# 创建服务文件
vim /usr/lib/systemd/system/node_exporter.service
编辑文件内容
[Unit] Description=node_exporter [Service] ExecStart=/opt/prometheus_exporter/node_exporter/node_exporter ExecReload=/bin/ki11 -HUP $MAINPID Ki1lMode=process Restart=on-failure [Install] WantedBy=multi-user.target
设置开机自启动
# 设置开机自启动
systemctl status node_exporter
# 关闭开机自启动
systemctl disable node_exporter
# 查看服务状态
systemctl status node_exporter
修改prometheus配置文件
进入到prometheus目录下,修改prometheus.yml文件,添加监控的内容,并重启prometheus服务(docker方式安装重启命令:docker restat prometheus),如下:
scrape_configs: # 任务名称 - job_name: 'linux' static_configs: # node_exporter监控地址 - targets: ['192.168.6.121:9100']
granfana添加prometheus数据源

grafana导入模板
- 进入grafana输入模板序号:16323,获取面板如下:

使用mysql_node_exporter监控服务器
解压压缩包
tar -zxvf mysqld_exporter-0.17.2.linux-amd64.tar.gz
创建配置文件
在解压文件下创建配置文件my.cof,设置连接数据库信息,如:/opt/prometheus_exporter/mysqld_exporter/my.cnf
[client] # 配置ip地址 host=192.168.6.219 # 配置端口号 port=3306 # 配置用户名 user=testdb # 配置密码 password=testdb
创建服务文件
# 创建服务文件
vim /etc/systemd/system/mysqld_exporter.service
编辑文件内容
--web.listen-address=:9104,用于指定启动的端口,若不指定则使用默认的9104端口。(注:设置了端口之后,注意防火墙端口要开发,否则无法连接服务)
[Unit] Description=Prometheus MySQL Exporter After=network.target [Service] Type=simple ExecStart=/opt/mysqld_exporter/mysqld_exporter --config.my-cnf=/opt/mysqld_exporter/my.cnf --web.listen-address=:13305 Restart=on-failure [Install] WantedBy=multi-user.target
设置开机自启动
# 设置开机自启动
systemctl status mysqld_exporter
# 关闭开机自启动
systemctl disable mysqld_exporter
# 查看服务状态
systemctl status mysqld_exporter
修改prometheus配置文件
进入到prometheus目录下,修改prometheus.yml文件,添加监控的内容,并重启prometheus服务(docker方式安装重启命令:docker restat prometheus),如下:
scrape_configs: # 配置监控MySQL服务器 - job_name: '192.168.6.219-mysql' static_configs: - targets: ['192.168.6.219:13305'] labels: mysql: 192.168.6.219-数据库
granfana添加mysql数据源

grafana导入模板
- 进入grafana输入模板序号:7362,获取面板如下:


浙公网安备 33010602011771号