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