不寫一行代碼打造一款可視化服務器資源監控平台


不寫一行代碼打造一款可視化服務器資源監控平台

在做性能測試時,我們除了關注TPS、QPS、並發數等一系列指標之外我們還需要關注服務器的資源占用情況,但是linux提供的命令並不夠直觀,不利於通過數據進行分析,這就以至於很多服務器資源監控的工具誕生。今天介紹一款基於python的服務器監控工具,並利用它打造一款可視化服務器監控平台。

glances:

glances 是一款用於 Linux、BSD 的開源命令行系統監視工具,它使用 Python 語言開發,能夠監視 CPU、負載、內存、磁盤 I/O、網絡流量、文件系統、系統溫度等信息。

為什么選擇glances呢?glances 工具可以在用戶的終端上實時顯示重要的系統信息,並動態地對其進行更新。這個高效的工具可以工作於任何終端屏幕。另外它並不會消耗大量的 CPU 資源,通常低於百分之二。glances 在屏幕上對數據進行顯示,並且每隔兩秒鍾對其進行更新。您也可以自己將這個時間間隔更改為更長或更短的數值。glances 工具還可以將相同的數據捕獲到一個文件,便於以后對報告進行分析和繪制圖形。輸出文件可以是電子表格的格式 (.csv) 或者 html 格式。而且它配合influxdb使用,效果更佳!

 

 

 

 

glances安裝(可以通過鏡像安裝,方便的多,此處就不講了)

Glances是一種跨平台監控工具,它使用python語言開發,旨在通過curses或基於Web的界面呈現大量監控信息。信息根據用戶界面的大小動態調整.

需要先安裝python:

先安裝openssl(一般linux都默認裝好的,但是高版本python對低版本的openssl不支持)
1、編譯安裝openssl
wget http://www.openssl.org/source/openssl-1.1.1.tar.gz
tar -zxvf openssl-1.1.1.tar.gz
cd openssl-1.1.1
./config --prefix=$HOME/openssl shared zlib
make && make install
2、加入到環境變量之中
echo "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/openssl/lib" >> $HOME/.bash_profile
source $HOME/.bash_profile
安裝python3.7(建議3.4以上版本)
1、編譯安裝python3
wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgz
tar -zxvf Python-3.7.0.tgz
./configure --prefix=$HOME/Py37 --with-openssl=$HOME/openssl
make && make install
echo $HOME
2、建立軟連接:
ln - /root/Py37/bin/python3 /usr/local/bin/python3
ln - /root/Py37/bin/pip3 /usr/local/bin/pip3
安裝glances(使用豆瓣鏡像源下載,速度翻倍)
pip3 install glances  -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
pip3 install bottle  -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
​
ln - /root/Py37/bin/glances /usr/local/bin/glances
控制台輸入命令:glances(glances -w 可通過瀏覽器展示)[啟動報錯缺少模塊的話,缺啥裝啥]

 

 

 

influxd安裝

InfluxDB 是一個開源分布式時序、事件和指標數據庫。使用 Go 語言編寫,無需外部依賴。其設計目標是實現分布式和水平伸縮擴展

官網:https://docs.influxdata.com/influxdb/v1.7/introduction/installation/

不同服務器安裝:

 

 

 

centos還是使用yum安裝方法:

1、yum源設置
#1、
cat <<EOF | sudo tee /etc/yum.repos.d/influxdb.repo
#2、
[influxdb]
name = InfluxDB Repository - RHEL \$releasever
baseurl = https://repos.influxdata.com/rhel/\$releasever/\$basearch/stable
enabled = 1
gpgcheck = 1
gpgkey = https://repos.influxdata.com/influxdb.key
EOF
2、下載安裝、啟動
yum install influxdb
service influxdb start
3、python安裝對應模塊
pip3 install influxdb  -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
操作:
1、創建glances數據庫
influx  #控制台輸入:influx,進入influx
create database glances  #創建數據庫
2、將“glances.conf”文件copy一份到/etc/glances/ 目錄下
cp /root/Py37/share/doc/glances/glances.conf /etc/glances/  #后面glances啟動,帶指定參數時,會自動在influxdb生成表
glances --export influxdb  #運行glances,並將數據存入influxdb中

Grafana安裝

Grafana是一個跨平台的開源的度量分析和可視化工具,可以通過將采集的數據查詢然后可視化的展示,並及時通知

下載安裝(官網下載太慢了,幸好目前清華鏡像源也有了Grafana)

官網下載(不推薦)
wget https://dl.grafana.com/oss/release/grafana-6.4.4-1.x86_64.rpm
yum install -y grafana-6.4.4-1.x86_64.rpm
yum clean all
使用清華鏡像源下載
1、新建 /etc/yum.repos.d/grafana.repo,內容為:
[grafana]
name=grafana
baseurl=https://mirrors.tuna.tsinghua.edu.cn/grafana/yum/rpm
repo_gpgcheck=0
enabled=1
gpgcheck=0
2、再執行:
yum makecache
yum install grafana
service grafana-server start #端口默認3000

 

 

 

 

 

 

 

 

 

配置文件位於/etc/grafana/grafana.ini,這里暫時保持默認配置即可

配置grafana

瀏覽器中登錄:,端口默認3000,用戶名與密碼都是admin

 

 

 

點擊Add data source,添加數據源

 

 

 

選擇我使用的influxDB:

進行數據庫配置:

配好之后點擊:“Save & Test”

添加控制面板:

導入dashboard(該dashboard是專門用於glances的)

附dashboard下載地址:https://grafana.com/grafana/plugins?direction=asc&orderBy=weight&type=panel

填寫相關信息,點擊Import:
然后等着數據的填充吧:

效果圖:

 

 

寫在最后:

一行代碼沒寫,有了一款可視化服務器性能監控平台,還是挺不錯呢。該平台結合性能測試使用可以幫助分析性能測試過程遇到的問題,監控性能壓測過程中服務器各個資源使用的情況。如果對儀表盤中的數據展示效果不滿意還可以自己進行設置,數據過濾等。具體請參考grafana官方文檔。有了服務器資源監控平台,下一步就想着是不是要有個性能壓測平台呢?初步構思:Locust+Httprunner+Flask+Progresql應該可以實現,敬請期待吧...希望不要爛尾了!!!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM