由于所有组件写一篇幅过长,所以每个组件分一篇方便查看,前两篇
Prometheus+grafana环境搭建方法及流程两种方式(docker和源码包)(一)-CSDN博客
Prometheus+grafana环境搭建rabbitmq(docker+二进制两种方式安装)(二)-CSDN博客
1.监控mysql
1.1官方地址:
GitHub - prometheus/mysqld_exporter: Exporter for MySQL server metrics
mysql的监控官方建议我们创建一个低权限用户来仅用于监控,不能做其他数据库操作,mysql版本建议大于5.6
创建监控用户并授权,在命令行执行
root> mysql -u root -p
mysql>use mysql;
mysql>CREATE USER 'exporter'@'%' IDENTIFIED BY '123456' WITH MAX_USER_CONNECTIONS 3;
mysql>GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'exporter'@'%';
mysql>flush privileges;
exit
测试 mysql -u exporter -p
修改密码
alter user 'exporter'@'%' identified by '654321';
完整过程
1.2.二进制安装
下载地址https://github.com/prometheus/mysqld_exporter/releases/download/v0.15.0/mysqld_exporter-0.15.0.linux-amd64.tar.gz
上传到自己常用的存放路径,创建配置文件 my.cnf,采用配置文件可以避免密码泄露, client 为固定写法,官方支持多组配置,本人试验时多组不同的密码,无法识别,(后续再探索一下)
vi my.cnf
[client]
user=exporter
password=123456
host=192.168.90.153
port=3306
1.2.1 命令行启动
进入解压后的exporter目录
./mysqld_exporter --config.my-cnf=my.cnf
其他配置参数
1.2.2 注册为系统服务
记得先创建prometheus用户
useradd -M -s /usr/sbin/nologin prometheus -M不创建家目录,不允许登录
vim /etc/systemd/system/mysql_exporter.service
[Unit]
Description=mysql_exporter
Documentation=https://prometheus.io/
After=network.target
[Service]
User=prometheus
Group=prometheus
ExecStart=/opt/myexporter/mysql/mysqld_exporter \
--config.my-cnf=/opt/myexporter/mysql/my.cnf
Restart=on-failure
[Install]
WantedBy=multi-user.target
服务启动
systemctl enable mysql_exporter.service --now
systemctl status mysql_exporter.service
1.3 docker安装
1.3.1 docker命令安装
ps:这个配置文件的路径怎么找到的, 可以不做任何配置直接启动个容器,由于容器无法exec,所有使用logs 查看容器日志发现容器启东市默认会找 /home/.my.cnf ,但是没有找到所以尝试将此文件挂载后发现可以使用
docker run -d \
-p 9104:9104 \
--name mysqld-exporter \
-v /root/my-monitor/mysql/my.cnf:/home/.my.cnf \
--restart=always \
prom/mysqld-exporter
1.3.2 docker-compose安装
vim docker-composer.yaml
version: '3.1'
services:
mysqld-exporter:
image: prom/mysqld-exporter
container_name: mysqld-exporter
restart: always
ports:
- '9104:9104'
volumes:
- /root/my-monitor/mysql/my.cnf:/home/.my.cnf
1.4 访问测试
http://exporterIp:9104/metrics
1.5 配置Prometheus监控
vim xxx/prometheus/prometheus.yml
追加
- job_name: 'mysql-exporter'
scrape_interval: 15s
static_configs:
- targets: ['192.168.3.112:9104']
labels:
instance: 110-mysql57服务器
刷新配置 在Prometheus所在服务器执行
curl -X POST http://localhost:9090/-/reload
查看验证 访问 prometheus-ip:9090,点击target,点击endpoint 可以正常跳转
1.6配置grafana监控
Dashboards | Grafana Labs
选择想要的模板 7362
导入查看效果
导入模板参见Prometheus+grafana环境搭建方法及流程两种方式(docker和源码包)(一)-CSDN博客