一、寫在前面
1、系統:CentOS 7.2
2、監控報警工具:Prometheus,用來拉取數據的。Prometheus 所有采集的監控數據均以指標(metric)的形式保存在內置的時間序列數據庫當中。
Exporter,是Prometheus的一類數據采集組件的總稱。它負責從目標處搜集數據,並將其轉化為Prometheus支持的格式。與傳統的數據采集組件不同的是,它並不向中央服務器發送數據,而是等待中央服務器主動前來抓取。
3、可視化監控工具:Grafana,是一個跨平台的開源的度量分析和可視化工具,可以做數據監控和數據統計,帶有告警功能。支持許多不同的時間序列數據(數據源)存儲后端。每個數據源都有一個特定的查詢編輯器。官方支持以下數據源:Graphite、infloxdb、opensdb、prometheus、elasticsearch、cloudwatch等。
二、搭建步驟
1、下載並安裝Prometheus(Linux版本)
1.1、下載Prometheus地址:https://prometheus.io/download/
由於官網這里安裝下載速度非常慢,因此可以選擇使用命令下載的方式。
先進入目錄/opt(因為我打算將prometheus下載到這個目錄下,可以根據自己習慣自行決定安裝在哪個目錄),再使用wget命令進行下載。
命令:
# cd /opt
# wget https://github.com/prometheus/prometheus/releases/download/v2.23.0/prometheus-2.23.0.linux-amd64.tar.gz
1.2、解壓Prometheus
命令:# tar -zxvf prometheus-2.23.0.linux-amd64.tar.gz
1.3、重命名Prometheus解壓目錄
命令:# mv prometheus-2.23.0.linux-amd64 /opt/prometheus
2、下載並運行mysqld_exporter、node_exporter(Linux版本)
說明:exporter是安裝在需要被監控的服務器上的,這里需要監控Linux服務上的Mysql和Linux系統服務器的基礎性能指標,因此安裝Linux版本。mysqld_exporter是用來收集Mysql或者MariaDB數據庫相關指標的Prometheus插件,node_exporter是用來收集機器系統相關指標的Prometheus插件。
2.1、下載mysqld_exporter、node_exporter地址:https://prometheus.io/download/
仍然是上面那個下載地址,同樣,這里采用命令進行下載,仍然下載到/opt目錄。
命令:
# cd /opt
# wget https://github.com/prometheus/mysqld_exporter/releases/download/v0.12.1/mysqld_exporter-0.12.1.linux-amd64.tar.gz
# wget https://github.com/prometheus/node_exporter/releases/download/v1.0.1/node_exporter-1.0.1.linux-amd64.tar.gz
2.2、解壓mysqld_exporter、node_exporter
命令:
# tar -zxvf mysqld_exporter-0.12.1.linux-amd64.tar.gz
# tar -zxvf node_exporter-1.0.1.linux-amd64.tar.gz
2.3、重命名mysqld_exporter、node_exporter解壓目錄
命令:
# mv mysqld_exporter-0.12.1.linux-amd64 /opt/mysqld_exporter
# mv node_exporter-1.0.1.linux-amd64 /opt/node_exporter
2.4、運行mysqld_exporter、node_exporter
運行mysqld_exporter需要連接到MYSQL,然后進行授權。
(1)運行mysql_exporter
1)登錄mysql(這里要確保服務器已經安裝了Mysql數據庫,我之前安裝過,因此跳過安裝Mysql的步驟)
命令:# /home/mysql2/mysql/bin/mysql -u root -p -S /home/mysql2/mysql/mysql.sock(加粗部分為mysql的安裝路徑)
2)給新建賬號mysql_monitor進行授權,密碼設置為“XXX”(密碼自行決定)
命令:
mysql> grant replication client, process on *.* to mysql_monitor@"localhost" identified by "XXX";
mysql> grant select on performance_schema.* to mysql_monitor@"localhost";
mysql>flush privileges;
3)授權后進入mysql_exporter安裝目錄,創建.my.cnf配置文件。
命令:
# cd /opt/mysqld_exporter
# vi .my.cnf
在.my.cnf配置文件中添加如下內容后保存退出:
[client]
user=mysql_monitor
password=XXX
4)運行mysql_exporter
命令:
# nohup ./mysqld_exporter --config.my-cnf=.my.cnf &
(2)進入node_exporter安裝目錄,運行node_exporter
命令:
# cd /opt/node_exporter
# nohup ./node_exporter &
(3)mysql_exporter占用9104端口,node_exporter占用9100端口
3、配置並運行Prometheus
3.1、進入Prometheus安裝目錄並修改配置文件
命令:
# cd /opt/prometheus
# vi prometheus.yml
在末尾添加如下內容后保存退出:
每個job_name標簽指示一個監控的job,targets標簽指示受監控的應用的ip和端口號。
注意:這個配置文件要特別注意格式縮進,嚴格按照他原來的格式進行修改,否則會導致prometheus運行不了。
3.2、運行prometheus
命令:
# nohup ./prometheus --config.file=./prometheus.yml &
運行后可以通過cat nohup.out查看運行日志。
3.3、瀏覽器訪問ip:9090,可以訪問prometheus的頁面
進入status目錄下的Targets頁面:
可以看到,我們在配置文件prometheus.yml中配置的3個監控的job狀態都是up:
如果狀態不是up,則說明該job的配置有問題或者監控的應用沒有運行起來,可以返回上述步驟去檢查一下。
prometheus對於數據的展現並不直觀和美觀,所以,此處需要grafana。
4、下載並運行Grafana(Linux版本)
4.1、下載並解壓Grafana
下載地址:https://grafana.com/grafana/download
根據上面的指導進行下載。即使用下面的命令進行下載:(此處為從二進制.tar.gz文件安裝的方式進行安裝)
命令:
# wget https://dl.grafana.com/oss/release/grafana-7.3.4.linux-amd64.tar.gz
# tar -zxvf grafana-7.3.4.linux-amd64.tar.gz
4.2、啟動Grafana
命令:
# cd /opt/grafana-7.3.4
# ./bin/grafana-server web
4.3、瀏覽器訪問grafana頁面
瀏覽器中輸入ip:3000,可以訪問grafana的頁面
4.4、瀏覽器登錄grafana
初始登錄賬號和密碼都是:admin
點擊“Log in”后會自動讓你修改密碼。在這里輸入新密碼XXXX后點擊“Submit”(我這里修改的是XXXX)
4.5、添加data source
在選擇data source type時選擇Prometheus
配置好data source后,點擊sava&test按鈕,提示“data source is working”則為成功。
4.6、下載dashboard的json文件
配置好data sources后,需要去下載dashboard的json文件並導入,也可以自己去創建dashboard。
這里下載“mysql overview”和“1 Node Exporter 0.16 0.17 for Prometheus監控展示看板”。
dashboard的json文件下載地址:https://grafana.com/grafana/dashboards
選擇后,可以預覽這個dashbord展示的內容,點擊dowload json,下載json文件。這里還需要注意Dependencies里的版本,因為有些版本不支持的問題可能會導致導入的dashboad不顯示圖標或者圖表都是空的,如果下載的dashbord用不了,可以換一個試試。
“1 Node Exporter 0.16 0.17 for Prometheus監控展示看板”的下載方法和上面差不多。
4.6、導入dashboard的json文件
導入“1 Node Exporter 0.16 0.17 for Prometheus監控展示看板”
修改好name和Prometheus node后,點擊import
然后這款node的信息就很直觀且美觀的展現出來了。但是這個dashbord的磁盤總空間,那一塊位置提示警告信息“Panel plugin not found: grafana-piechart-panel”,因此接下來需要安裝插件。
Grafana-piechart-panel插件是一個餅狀圖插件,grafana的插件安裝很簡單。在grafana安裝的服務器環境執行下面的命令進行插件安裝。
命令:
# cd /opt/grafana-7.3.4/bin
# ./grafana-cli plugins install grafana-piechart-panel
插件安裝后重啟grafana
命令:
# cd /opt/grafana-7.3.4
# ./bin/grafana-server web
刷新網頁后,發現那個警告提示仍然存在。
原因是上述命名下載后的插件默認位置放到了/var/lib/grafana/plugins/下面,而我的grafana安裝位置在/opt/grafana-7.3.4/data/plugins,所以使用下面的命令將下載的插件移動到/opt/grafana-7.3.4/data/plugins目錄下
命令:# mv /var/lib/grafana/plugins/grafana-piechart-panel /opt/grafana-7.3.4/data/plugins/grafana-piechart-panel
再次重新啟動grafna,可以看到紅色的警告提示消失了。
------搭建的簡單流程結束------