Prometheus+Grafana 监控服务器服务状态信息
监控哪些信息?
上文有提到 Prometheus
+Grafana
如何去监控服务器的一些基础状态信息(CPU
/内存/磁盘等)
本文将讲如何监控服务状态和数据库状态信息
监控服务进程状态
这里通过 Process Exporter
来实现目的
机器跟上文的一致,依然是 30
和 31
两台机器
为了偷懒,就直接监控上文部署的 Node Exporter
服务
同时为了实验效果,还装了个 Mariadb
在 31
上部署 Process Exporter
# 创建目录,下载包,解压包
mkdir -p /data/process_exporter && chmod -R 755 /data/process_exporter/ && cd /data/process_exporter/ && wget https://github.com/ncabatoff/process-exporter/releases/download/v0.6.0/process-exporter-0.6.0.linux-amd64.tar.gz && tar xvf process-exporter-0.6.0.linux-amd64.tar.gz && mv process-exporter-0.6.0.linux-amd64/* . && rm -rf process-exporter-0.6.0.linux-amd64
# 编辑配置文件
vim process_name.yaml
process_names:
# {{.Matches}} 模板表示映射包含应用命令行所产生的所有匹配项
- name: "{{.Matches}}"
cmdline:
# 这个是要监控的进程名
- 'node_exporter'
# 为实验目的,再加个 mariadb
- name: "{{.Matches}}"
cmdline:
- 'mariadb'
# 设置开机启动
chmod 755 /etc/rc.d/rc.local && cat >> /etc/rc.d/rc.local <<EOF
nohup /data/process_exporter/process-exporter -config.path /data/process_exporter/process_name.yaml > /data/process_exporter/process-exporter.log 2>&1 &
EOF
# 启动服务
nohup /data/process_exporter/process-exporter -config.path /data/process_exporter/process_name.yaml > /data/process_exporter/process-exporter.log 2>&1 &
在 30
上配置 Prometheus
# 修改配置文件,新增
vim /data/prometheus/prometheus.yml
# 新增一个组
- job_name: Process
scrape_interval: 10s
scrape_timeout: 5s
static_configs:
- targets:
- 10.18.30.31:9256
# 重启 Prometheus
docker restart cf_prometheus
到 Grafana
上导入模板
查看效果
监控数据库状态
通过 Mysqld Exporter
来实现目的
在 31
上部署 Mysqld Exporter
# 创建目录,下载包,解压包
mkdir -p /data/mysqld_exporter && chmod -R 755 /data/mysqld_exporter/ && cd /data/mysqld_exporter/ && wget https://github.com/prometheus/mysqld_exporter/releases/download/v0.12.1/mysqld_exporter-0.12.1.linux-amd64.tar.gz && tar xvf mysqld_exporter-0.12.1.linux-amd64.tar.gz && mv mysqld_exporter-0.12.1.linux-amd64/* . && rm -rf mysqld_exporter-0.12.1.linux-amd64
# 编辑配置文件
vim .my.cnf
[client]
user=mysql_monitor
password=mysql_monitor
# 给数据库创建用户
GRANT REPLICATION CLIENT,PROCESS ON *.* TO 'mysql_monitor'@'localhost' identified by 'mysql_monitor';
GRANT SELECT ON *.* TO 'mysql_monitor'@'localhost';
# 设置开机启动
chmod 755 /etc/rc.d/rc.local && cat >> /etc/rc.d/rc.local <<EOF
nohup /data/mysqld_exporter/mysqld_exporter --config.my-cnf="/data/mysqld_exporter/.my.cnf" > /data/mysqld_exporter/mysqld_exporter.log 2>&1 &
EOF
# 启动服务
nohup /data/mysqld_exporter/mysqld_exporter --config.my-cnf="/data/mysqld_exporter/.my.cnf" > /data/mysqld_exporter/mysqld_exporter.log 2>&1 &
在 30
上配置 Prometheus
# 修改配置文件,新增
vim /data/prometheus/prometheus.yml
# 新增一个组
- job_name: Mysql
scrape_interval: 10s
scrape_timeout: 5s
static_configs:
- targets:
- 10.18.30.31:9104
# 重启 Prometheus
docker restart cf_prometheus
在 30
上配置 Grafana
# 这里用到的模板需要 pmm-singlestat-panel 插件,安装一下这个插件
cd /data/grafana && wget https://jira.percona.com/secure/attachment/22830/22830_pmm-singlestat-panel.tgz && tar xvf 22830_pmm-singlestat-panel.tgz && docker cp pmm-singlestat-panel cf_grafana:/var/lib/grafana/plugins/ && docker restart cf_grafana
到 Grafana
web
页面上导入模板
查看效果
版权声明:
本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自
Linux 小白鼠!
觉得文章不错,打赏一点吧,1分也是爱~
打赏
微信
支付宝