若你的機器還沒有安裝prometheus,先參考下面的安裝步驟:
part 1:prometheus的介紹與安裝
熟悉了上面的兩個部分後,我們進入今天的服務監控,以mariadb為例:
#監控mysql需要在被監控機器安裝mysql_exporter
1 .上傳解壓縮安裝mysqld_exporter
root@xinsz08-20 ~]# tar xf mysqld_exporter-0.12.1.linux-amd64.tar.gz 文件名字太长,重命名一下: [root@xinsz08-20 ~]# mv mysqld_exporter-0.12.1.linux-amd64 mysqld_exporter [root@xinsz08-20 ~]# cd mysqld_exporter/ [root@xinsz08-20 mysqld_exporter]# pwd /root/mysqld_exporter
2. 安裝mariadb
root@xinsz08-20 mysqld_exporter]# yum install mariadb\* -y [root@xinsz08-20 ~]# systemctl start mariadb [root@xinsz08-20 ~]# systemctl enable mariadb [root@xinsz08-20 ~]# ss -natlp |grep 3306 //查看端口是否开启 LISTEN 0 80 0.0.0.0:3306 0.0.0.0:* users:(("mysqld",pid=67872,fd=22))
3. 在資料庫裡建立mysql帳號使用者收集資料
[root@xinsz08-20 ~]# mysql MariaDB [(none)]> grant select,replication client,process ON *.* to 'mysql_monitor'@'localhost' identified by '12345678'; Query OK, 0 rows affected (0.000 sec) MariaDB [(none)]> flush privileges; Query OK, 0 rows affected (0.000 sec) MariaDB [(none)]> exit Bye
#備註:這裡是prometheus伺服器來找mysql_exporter,然後mysql_exporter 在找mariadb,所以這裡用的是localhost,指的是mysql_exporter的ip
4. 在mysql_exporter中設定mysql配置資訊
[root@xinsz08-20 mysqld_exporter]# pwd /root/mysqld_exporter [root@xinsz08-20 mysqld_exporter]# vim .my.cnf (手工创建) [client] user=mysql_monitor password=12345678
5. 啟動mysql_exporter
[root@xinsz08-20 mysqld_exporter]# nohup ./mysqld_exporter --config.my -cnf=/root/mysqld_exporter/.my.cnf & [1] 68166
6. 設定prometheus拉取mysql節點資訊
[root@zmedu-17 prometheus-2.16.0.linux-amd64]# pwd /root/prometheus-2.16.0.linux-amd64 [root@zmedu-17 prometheus-2.16.0.linux-amd64]# vim prometheus.yml - job_name: 'mariadb' static_configs: - targets: ['192.168.1.20:9104']
#在prometheus的server端進行修改
#重啟prometheus服務
[root@zmedu-17 prometheus-2.16.0.linux-amd64]# pkill prometheus [root@zmedu-17 prometheus-2.16.0.linux-amd64]# lsof -i:9090 [root@zmedu-17 prometheus-2.16.0.linux-amd64]# ./prometheus & [1] 84662 [root@zmedu-17 ~]# ss -naltp |grep 9090 LISTEN 0 128 [::]:9090 [::]:* users:(("prometheus",pid=84662,fd=9))
7. 透過web端查看
http://192.168.1.17:9090
查看mysql的連線數,看到只有一個連接數:
mysql_global_status_aria_pagecache_blocks_unused
8. prometheus.yml設定檔詳解
##8. prometheus.yml設定檔詳解
global: # 全局配置 scrape_interval: 15s # 多久收集一次数据 evaluation_interval: 15s # 多久评估一次规则 scrape_timeout:10s # 每次收集数据的超时时间 # Alertmanager configuration #告警设置 alerting: alertmanagers: - static_configs: #告警规则,也可以基于动态方式进行告警 - targets: rule_files: #规则文件 #收集数据配置列表 scrape_configs: - job_name: 'prometheus'
9. prometheusUI的英文翻譯
#######Alerts: 表示可以看到我們定義的警告規則Graph:表示介面查詢數據,產生圖片,或傳回數據Status: 下面的target:表示我們的遠端的監控,可以看exporter的運行情況#######
以上是prometheus服務監控之mysql監控怎麼配置的詳細內容。更多資訊請關注PHP中文網其他相關文章!