最近在上網時,發現有個Grafana的工具可以用來實時查看linux系統的各種性能數據,感覺很好用,就在自己的vps上部署使用了一下,感覺效果還不錯。
1、安裝環境:
centos 7+influxdb1.7.6+grafana-4.6.3-1+nmon2influxdb-2.1.7+nmon-16m
2、安裝influxdb:
下載rpm包:
influxdb官網:https://docs.influxdata.com/influxdb/v2.0/get-started/?t=Linux
rpm -ivh influxdb2-2.0.4.x86_64.rpm
systemctl start influxdb.service //開啟服務
systemctl status influxdb.service //查看服務狀態,顯示active (running)表示服務狀態正常
/etc/influxdb/influxdb.conf //配置文件路徑

3、安裝grafana
下載Grafana安裝包:
Grafana官網下載地址:https://grafana.com/grafana/download/4.6.3
wget https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-4.6.3-1.x86_64.rpm
安裝Grafana rpm包:
rpm -ivh grafana-4.6.3-1.x86_64.rpm

啟動服務:
/etc/grafana/grafana.ini //配置文件路徑
systemctl start grafana-server.service //開啟服務
systemctl status grafana-server.service //查看服務狀態
在瀏覽器地址欄輸入:http://vpsip:3000,即可進入Grafana首頁,默認用戶名和密碼:admin/admin
4、安裝nmon2influxdb
下載nmon2influxdb安裝包:
nmon2influxdb官網:https://www.nmon2influxdb.org/getting-started/linux/
nmon2influxdb組件GitHub地址:https://github.com/adejoux/nmon2influxdb/releases
安裝nmon2influxdb:
tar -zxvf nmon2influxdb_2.1.8_linux_64-bit.tar.gz
cp nmon2influxdb /usr/local/bin/
cd /usr/local/bin/
chmod +x nmon2influxdb
nmon2influxdb -v

5、安裝nmon
nmon是linux上的一個性能查看工具,優點是可以一次性查看系統的多項性能指標,且資源占用較少,它是一個二進制文件,下載后直接上傳到vps上即可使用。
下載鏈接: https://pan.baidu.com/s/1znAhcEZ2dd8tZpI4bpE2-g 提取碼:r8s4
tar -zxvf nmon16m_helpsystems.tar.gz
cp ./nmon_x86_64_oel7 ~/nmon
6、配置nmon2influxdb和Grafana
配置nmon2influxdb:
nmon2influxdb配置文件存放在當前登錄的用戶的家目錄下面,打開這個文件修改以下幾行:
vim /root/.nmon2influxdb.cfg

使用nmon命令行工具生成一個nmon數據文件:
./nmon -fT -s 10 -c 6 //-fT是生成一個指定格式的.nmon數據文件,-s 10 -c 6是每隔10秒采集一次,一共采集6次
ps -ef |grep nmon //查看nmon進程
待nmon進程執行完成后,將生成的文件導入數據庫:
nmon2influxdb import ecs-s6-medium-2-linux-20200214130415_210401_1803.nmon

進入influxdb數據庫,會看到新生成了兩個數據庫表:nmon_reports和nmon2influxdb_log。
這個nmon_reports就是剛才導入的nmon文件的數據庫表

配置Grafana:
在首頁Grafana中添加一個源:


在后台使用nmon2influxdb生成一個Grafana模板:
nmon2influxdb dashboard ecs-s6-medium-2-linux-20200214130415_210401_1825.nmon

7、設置crontab定時任務自動上傳vps性能數據到Grafana
創建nmon.sh文件:
#nmon.sh #! /bin/bash #進入到自己的nmon文件所在目錄 cd ~ #每隔一分鍾推送nmon數據到influxdb,Grafana呈現: nmon2influxdb import ~/*.nmon #控制每個nmon監控文件在1分鍾: ~/nmon -fT -s 10 -c 6 #按照時間排序nmon文件,刪除一個距離當前時間較遠的文件,始終只保留一個nmon文件: ls -t ~/*.nmon |awk '/\.nmon/ {if (NR >1){system ("rm " $1)}}'
添加crontab任務:
crontab -e
*/1 * * * * sh ~/nmon.sh
最終效果: