Prometheus+Grafana 监控服务器服务状态信息

lance 2020-08-07 AM 118℃ 0条

监控哪些信息?

上文有提到 Prometheus+Grafana 如何去监控服务器的一些基础状态信息(CPU/内存/磁盘等)
本文将讲如何监控服务状态和数据库状态信息


监控服务进程状态

这里通过 Process Exporter 来实现目的
机器跟上文的一致,依然是 3031 两台机器
为了偷懒,就直接监控上文部署的 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 上导入模板

49153-9axkstha1i.png

73751-zrr4bxcqo3m.png

查看效果

03798-a131nd0j6.png

86113-o2mxfm5tlkr.png


监控数据库状态

通过 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 页面上导入模板

04973-lv04j7y7veg.png

17622-5fc5dubewpf.png

查看效果

63952-9wof5xw7okt.png

00256-ds5c7sdt6qj.png

19796-0bm55fnjvu7f.png


非特殊说明,本博所有文章均为博主原创。

觉得文章不错,打赏一点吧,1分也是爱😀

WeChat Pay

微信打赏

Alipay

支付宝打赏

评论啦~