在工作中,無論是定位線上問題,還是性能優化,都需要對前端、后台服務進行監控。而及時的獲取監控數據,能更好的幫助技術人員排查定位問題。
前面的博客介紹過服務端監控工具:Nmon使用方法及利用easyNmon實時監控並生成HTML報告的相關內容。但相對來說,這兩種方式效率較低。
這篇博客,介紹下基於Nmon二次開發的監控插件——nmon2influxdb+grafana,實現服務端監控實時可視化的內容。。。
一、下載安裝
Github地址:https://github.com/adejoux/nmon2influxdb
入門文檔:http://nmon2influxdb.org/
1、RPM安裝
# 下載tar包
wget https://github.com/adejoux/nmon2influxdb/releases/download/v2.1.6/nmon2influxdb_2.1.6_linux_64-bit.tar.gz # 解壓tar包
tar -zxvf nmon2influxdb_2.1.6_linux_64-bit.tar.gz # 查看幫助說明
./nmon2influxdb -h
2、GZ包安裝
下載地址:nmon2influxdb
去上述地址,下載對應操作系統的安裝包,如下圖:
利用FTP或者其他方式上傳到服務器,然后輸入命令 gunzip nmon2influxdb_2.1.6_linux_64-bit.tar.gz 解壓,查看幫助說明,如下圖:
PS:上圖標紅的幾點,需要修改對應的配置文件為實際的參數,謹記!
二、配置部署
1、修改配置文件
通過上文可知,配置文件nmon2influxdb.cfg的地址在家目錄下,去對應目錄修改配置文件,命令如下:
# 從當前目錄到家目錄
cd ~ #查找配置文件
ls -alrth # 編輯配置文件
vi .nmon2influxdb.cfg
要修改的配置文件參數如下圖所示:
2、導入數據驗證
PS:我用的是influxdb作為數據存儲服務,因此執行這一步之前,需要安裝influxdb,如何安裝使用可參考這里:時序數據庫influxDB:簡介及安裝。
首先,輸入nmon命令 ./nmon -ft -s 10 -c 20 ,生成一定的采樣數據;(如何安裝使用nmon,可參考這里:服務端監控工具:Nmon使用方法)
然后,輸入命令 ./nmon2influxdb import $server.nmon ,將采集的數據導入(命令中的$server為采樣文件的名稱)influxdb對應的庫中(如配置文件所示,默認庫為nmon_reports);
進入服務端,輸入命令,查看數據是否入庫,相關命令如下:
#進入數據庫操作
influx # 查看目前已有的數據庫
show databases # 查看數據庫數據保存策略
show retention policies on nmon_reports # 使用nmon_reports庫
use nmon_reports # 顯示nmon_reports庫所有的表
show measurements # 查詢數據
select * from CPU_ALL
三、監控數據可視化
啟動grafana,配置對應的Dashboard、Data Sources,然后選擇配置好的儀表盤,查看可視化的監控數據(如何配置grafana,請看這里:可視化工具Grafana:簡介及安裝)。
如上,就是nmon2influxdb+grafana實現的服務監控可視化部署方法,僅供參考。。。