Prometheus监控实践¶
Prometheus监控实践。
Prometheus监控MySQL¶
Prometheus官方提供了监控MySQL的Exporter,下载地址:https://prometheus.io/download/。
- 部署MySQL Exporter
[root@dev ~]# cd /usr/local/src
[root@dev src]# wget https://github.com/prometheus/mysqld_exporter/releases/download/v0.14.0/mysqld_exporter-0.14.0.linux-amd64.tar.gz
[root@dev src]# tar zxf mysqld_exporter-0.14.0.linux-amd64.tar.gz
[root@dev src]# mv mysqld_exporter-0.14.0.linux-amd64 /usr/local/
[root@dev src]# ln -s /usr/local/mysqld_exporter-0.14.0.linux-amd64/ /usr/local/mysqld_exporter
- 配置系统服务
[root@dev src]# useradd -s /sbin/nologin prometheus
[root@dev src]# vim /usr/lib/systemd/system/mysql_exporter.service
[Unit]
Description=Prometheus MySQL Exporter Daemon
After=network.target
[Service]
User=prometheus
Group=prometheus
Type=simple
Restart=on-failure
ExecStart=/usr/local/mysqld_exporter/mysqld_exporter --web.listen-address=0.0.0.0:9104 \
--config.my-cnf=/usr/local/mysqld_exporter/.my.cnf \
--collect.info_schema.processlist \
--collect.slave_status \
--collect.slave_hosts
[Install]
WantedBy=multi-user.target
-
MySQL监控配置
-
登录到受监控的MySQL中
[root@dev ~]# mysql -u root -p
- 创建MySQL监控账户并授权
MariaDB [(none)]> CREATE USER 'exporter'@'localhost' IDENTIFIED BY '123456.coM';
MariaDB [(none)]> GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'exporter'@'localhost';
MariaDB [(none)]> exit;
-
配置MySQL监控账户
[root@dev ~]# vim /usr/local/mysqld_exporter/.my.cnf [client] user=exporter password=123456.coM
-
启动MySQL监控插件
[root@dev ~]# systemctl daemon-reload [root@dev ~]# systemctl restart mysql_exporter.service [root@dev ~]# systemctl enable mysql_exporter.service
-
测试
curl http://127.0.0.1:9104/metrics
Prometheus监控Redis¶
社区提供了Redis Exporter进行Redis的监控。https://github.com/oliver006/redis_exporter
- 部署Redis Prometheus
[root@demo ~]# cd /usr/local/src
[root@demo src]# wget https://github.com/oliver006/redis_exporter/releases/download/v1.43.1/redis_exporter-v1.43.1.linux-amd64.tar.gz
[root@demo src]# tar zxf redis_exporter-v1.43.1.linux-amd64.tar.gz
[root@demo src]# mv redis_exporter-v1.43.1.linux-amd64 /usr/local/
[root@demo src]# ln -s /usr/local/redis_exporter-v1.43.1.linux-amd64/ /usr/local/redis_exporter
- 配置系统服务
[root@dev src]# useradd -s /sbin/nologin prometheus
[root@dev src]# vim /usr/lib/systemd/system/redis_exporter.service
[Unit]
Description=Prometheus Redis Exporter Daemon
After=network.target
[Service]
User=prometheus
Group=prometheus
Type=simple
Restart=on-failure
ExecStart=/usr/local/redis_exporter/redis_exporter --web.listen-address=0.0.0.0:9121 \
--redis.addr=redis://localhost:6379 \
--redis.password=OpsAny2020
[Install]
WantedBy=multi-user.target
-
启动MySQL监控插件
[root@dev ~]# systemctl daemon-reload [root@dev ~]# systemctl restart redis_exporter.service [root@dev ~]# systemctl enable redis_exporter.service
-
测试
curl http://127.0.0.1:9121/metrics
Prometheus监控MongoDB¶
Percona公司开源了MongoDB Exporter 官方地址:https://github.com/percona/mongodb_exporter
-
部署MongoDB Exporter
[root@demo ~]# cd /usr/local/src [root@demo src]# wget https://github.com/percona/mongodb_exporter/releases/download/v0.34.0/mongodb_exporter-0.34.0.linux-amd64.tar.gz [root@demo src]# tar zxf mongodb_exporter-0.34.0.linux-amd64.tar.gz [root@demo src]# mv mongodb_exporter-0.34.0.linux-amd64 /usr/local/ [root@demo src]# ln -s /usr/local/mongodb_exporter-0.34.0.linux-amd64/ /usr/local/mongodb_exporter
-
配置系统服务
[root@dev src]# useradd -s /sbin/nologin prometheus
[root@dev src]# vim /usr/lib/systemd/system/mongodb_exporter.service
[Unit]
Description=Prometheus MongoDB Exporter Daemon
After=network.target
[Service]
User=prometheus
Group=prometheus
Type=simple
Restart=on-failure
ExecStart=/usr/local/mongodb_exporter/mongodb_exporter --web.listen-address=0.0.0.0:9216 \
--mongodb.uri=mongodb://user:pass@127.0.0.1:27017/admin?ssl=true
--collect-all
[Install]
WantedBy=multi-user.target
-
MongoDB监控配置
-
为MongoDB创建监控使用exporter用户
# mongo -u root -p
db.getSiblingDB("admin").createUser({
user: "exporter",
pwd: "123456.coM",
roles: [
{ role: "clusterMonitor", db: "admin" },
{ role: "read", db: "local" }
]
})
- 启动MongoDB监控插件
[root@dev ~]# systemctl daemon-reload
[root@dev ~]# systemctl restart mongodb_exporter.service
[root@dev ~]# systemctl enable mongodb_exporter.service
- 测试
curl http://127.0.0.1:9216/metrics