1. 程式人生 > 實用技巧 >手把手帶你部署Prometheus+Grafana+Mysql監控系統

手把手帶你部署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;

#vimcat /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!