手把手带你部署Prometheus+Grafana+Mysql监控系统

环境准备:

Prometheus        192.168.60.100

被控节点客户端:192.168.60.101

Grafana:            192.168.60.102

【部署Prometheus】

# tar xvf prometheus-2.5.0.linux-amd64.tar.gz -C /usr/local/

# mv /usr/local/prometheus-2.5.0.linux-amd64/ /usr/local/prometheus

#vim /lib/systemd/system/prometheus.service  #注册prometheus启动服务

[Unit]
Description=Prometheus
Documentation=https://prometheus.io/
After=network.target

[Service]
Type=simple
User=root
ExecStart=/usr/local/prometheus/prometheus --config.file=/usr/local/prometheus/prometheus.yml --web.enable-lifecycle
ExecStop=/usr/bin/killall -9 prometheus



[Install]
WantedBy=multi-user.target

#systemctl daemon-reload

#systemctl start prometheus

#systemctk enable prometheus

#访问192.168.60.100:9090即可访问prometheus页面

#通过http://192.168.60.100:9090/metrics可以查看到监控的数据

#在Prometheus界面可以通过关键词查询监控项,点击Graph图标,然后点击Execute即可看到所查询的监控项所汇成的图标;

 

【部署prometheus的被控节点】

# tar xvf node_exporter-0.16.0.linux-amd64.tar.gz

## mv /usr/local/node_exporter-0.16.0.linux-amd64/ /usr/local/node_exporter

# vim /usr/lib/systemd/system/node_exporter.service

[Service]
User=prometheus
Group=prometheus
ExecStart=/usr/local/node_exporter/node_exporter

[Install]
WantedBy=multi-user.target

[Unit]
Description=node_exporter
After=network.target

 # systemctl start  node_exporter

#systemctl enable node_exporter

回到Prometheus服务节点指定被控agent的IP地址信息

# vim /usr/local/prometheus/prometheus.yml

 - job_name: "agent1"
    static_configs:
    - targets: ['192.168.60.101:9100']

#systemctl restart prometheus

访问http://168.63.136.238:9090即可看到监控状态信息

 

 

【监控mysql数据库】

在192.168.60.101被控节点上部署mariadb数据库,并安装监控数据库的prometheus插件,以便后续能正常监控mysql数据库性能指标

# 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 /usr/local/mysqld_exporter-0.12.1.linux-amd64/ /usr/local/mysqld_exporter

MariaDB [(none)]> grant select,replication client,process on *.* to 'mysql_monitor'@'localhost' identified by '123.com';

MariaDB [(none)]> flush privileges;

#vim cat /usr/local/mysqld_exporter/.my.cnf

[client]
user=mysql_monitor
password=123.com

#vim /usr/lib/systemd/system/mysqld_exporter.service

[Unit]
Description=mysqld_exporter
After=network.target
[Service]
Type=simple
User=mysql
Environment=DATA_SOURCE_NAME=mysql_montor:123.com(localhost:3306)/
ExecStart=/usr/local/mysqld_exporter/mysqld_exporter --web.listen-address=0.0.0.0:9104
 --config.my-cnf /etc/my.cnf \
# --collect.slave_status \
# --collect.slave_hosts \
  --log.level=error \
# --collect.info_schema.processlist \
# --collect.info_schema.innodb_metrics \
# --collect.info_schema.innodb_tablespaces \
# --collect.info_schema.innodb_cmp \
# --collect.info_schema.innodb_cmpmem
Restart=on-failure
[Install]
WantedBy=multi-user.targe

启动exporter插件

#systemctl daemon-reload

#systemctl enable mysqld_exporter.service

#systemctl start mysqld_exporter.service

 测试:http://192.168.60.101:9104/metrics   #访问被控节点的9104端口,即可查看监控信息

 回到promethues服务节点,在配置文件中添加被控节点的mariadb配置段

# vim /usr/local/prometheus/prometheus.yml

 - job_name: 'mariadb'
    static_configs:
    - targets: ['192.168.60.101:9104']

 

 【部署Grafana监控】

192.168.60.102节点部署Granfana

使用Grafana连接Promethues监控

# rpm -ivh grafana-5.3.4-1.x86_64.rpm

# systemctl enable grafana-server
# systemctl start grafana-serve

 

 

 

【Grafana展示Mysql的数据】

上述已经将Granfana和Prometheus的数据源关联起来,现在是要做的就是将Prometheus收集到的数据进行图形化展示,操作如下:

1、修改grafana配置文件 #添加以下内容

[dashboards.json]
enabled= true
path=/var/lib/grafana/dashboards
[root@sha01monin-006 ~]#

 

#git clone  https://github.com/percona/grafana-dashboards.git

 #cp -r /var/lib/grafana/grafana-dashboards/dashboards/ /var/lib/grafana/

#systemctl restart grafana-server

 

 

 验证Grafana数据收集是否正常.

 

END!

 

posted @ 2020-11-05 11:45  Mr&Yu  阅读(875)  评论(0编辑  收藏  举报