很多時候搞伺服器維護的朋友都希望有一個可以總覽全域的伺服器效能監控平台,這樣可以即時掌握好公司伺服器的運作動態。目前市面上也有不少的第三方的網路效能監控平台,例如阿里雲、騰訊雲、Linode、Vultr等VPS主機商自備伺服器效能監控服務。
如果是自己搭建伺服器監控平台的話,可以試試看之前有分享過伺服器日誌分析利器:ngxtop和GoAccess,它可以幫助我們從分析伺服器日誌的角度來查看伺服器異常。也可以使用Smokeping工具來監控伺服器的網路線路狀況的好壞,例如常規的 ping,dig,echoping,curl等。
這篇文章再來分享兩款優秀的伺服器監控工具:一個是免費開源PHP探針——x-prober。 PHP探針網路上有很多,但x-prober適合「愛美人士」;另一個是介面酷炫、風格漂亮的Linux伺服器效能即時監控工具-Netdata。這兩款監控可以極大的提高維運工作的「逼格」。
更多的伺服器效能與網路監控指令與監控工具,這裡還有:
- Linux系統監控指令整理總表-掌握CPU,記憶體,磁碟IO等找出效能瓶頸
- Smokeping安裝與設定-免費開源網路效能監控工具視覺化主/從部署
- 伺服器日誌分析利器:ngxtop和GoAccess-即時監控視覺化管理快速找出異常來源
一、免費開源PHP探針:x-prober
網站:
- 項目:https://github.com/kmvan/x-prober
- 下載:https://api.inn-studio.com/download?id=xprober
- 示範:https://tz.inn-studio.com/
這是一個可以取代雅黑探針的PHP探針,介面美觀,功能簡單但很實用,適合基本的伺服器探針需求。 (點擊放大)
x-prober探針可以顯示伺服器狀態、流量統計、伺服器資訊、PHP 資訊、PHP 擴充、資料庫、伺服器效能跑分等等。
二、Linux即時監控工具Netdata安裝使用
網站:
- 官網:https://my-netdata.io/
- 示範:https://my-netdata.io/#demosites
- 首頁:https://github.com/firehol/netdata
2.1 Netdata功能介紹
Netdata是一個介面非常酷炫、功能非常強大、安裝非常簡單的Linux伺服器效能監控工具,即時更新,一鍵安裝,不需要任何維護,直接在瀏覽器顯示監控資料。 Netdata每秒採集數千個指標,但僅佔cpu單核心1%、少量的記憶體以及完全沒有磁碟IO讀寫。如下圖:(點擊放大)
Netdata監測內容非常多,主要有:
CPU:使用情況,中斷,softirqs,頻率,總數和每核心CPU狀態
記憶體:RAM,交換和核心記憶體使用,KSM(核心相同頁面合併),NUMA
磁碟:每個磁碟:I / O,操作,待辦事項,利用率,空間,軟體RAID(md)
網路介面:每個介面:頻寬,封包,錯誤,丟棄
IPv4網路、IPv6網路:頻寬,封包,錯誤,片段,tcp:連接,封包,錯誤,握手,udp:封包,錯誤,廣播:頻寬,封包,多播:頻寬,封包
netfilter / iptables Linux防火牆:連接,連接追蹤器事件,錯誤
NFS檔案伺服器和客戶端:NFS v2,v3,v4:I / O,緩存,預讀,RPC調用
Apache和lighttpd Web伺服器:mod-status(v2.2,v2.4)以及多個伺服器的快取日誌統計資訊
Nginx網路伺服器:存根狀態,用於多個伺服器
Tomcat的:訪問,線程,可用內存,卷
Web伺服器記錄檔:即時擷取Web伺服器效能指標並套用多個運行狀況檢查
mySQL資料庫:多個伺服器,每個伺服器顯示:頻寬,查詢/處理程序,鎖,問題,tmp操作,連接,binlog度量,線程,innodb度量等等
Postgres資料庫:多個伺服器,每個伺服器顯示:每個資料庫統計資料(連接,讀寫 – 返回的元組,事務,鎖),後端進程,索引,表,寫入提前,背景編寫器等等
Redis資料庫:多個伺服器,每個伺服器顯示:操作,命中率,內存,金鑰,客戶端,從伺服器
CouchDB:讀/寫,請求方法,狀態碼,任務,複製,per-db等
memcached資料庫:多個伺服器,每個伺服器顯示:頻寬,連接,項目
NSD名稱伺服器:查詢,區域,協議,查詢類型,傳輸等
PowerDNS:查詢,答案,緩存,延遲等
Postfix電子郵件伺服器:訊息佇列(條目,大小)
NUT和APC不間斷電源:負載,電量,電池電壓,溫度,效用指標,輸出指標
PHP-FPM:多個實例,每個報告連接,請求,效能
smartd:磁碟S.M.A.R.T.值
2.2 Netdata安裝方法
所有的 Linux 系統都可以使用以下方法一鍵安裝netdata(不需要使用sudo):
# 基础安装 bash <(curl -Ss https://my-netdata.io/kickstart.sh) # 或者 # 安装所有的组件 bash <(curl -Ss https://my-netdata.io/kickstart.sh) all
Netdata的目錄結構如下:
– the daemon at /usr/sbin/netdata
– config files in /etc/netdata
<x2 > – web files in /usr/share/netdata
– plugins < x2> in /usr/libexec/netdata
– cache files in /var/cache/netdata
< x2> – db files in /var/lib/netdata
– log files <x2 > in /var/log/netdata
– pid file at /var /run/netdata.pid
– logrotate file at /etc/logrotate.d/netdata
如下圖:
看以下提示就表示已經成功安裝了Netdata了。
2.3 Netdata使用操作
安裝好了使用ip:19999來訪問,這個就是Netdata的介面,可以看出非常直觀,把頁面往下拉可以看到各種監控數據,在右邊也可以快速點擊相應的指標查看。 (點擊放大)
各個監控數據是即時更新的,你也可以用滑鼠點擊查看詳情。
Netdata有匯入匯出功能,你可以將某一個時間段的監控資料匯出來,同時也可以將備份資料匯入進來。
如果你安裝了多台想集中在一個瀏覽器訪問,點擊左上角my-netdata。然後點擊三豎槓的標誌。
記錄下註冊ID,回家後在家裡的瀏覽器輸入加入這一個個註冊ID就行了。
三、總結
Netdata監控最大的問題恐怕就是語言的問題了,目前官網只有英文,並沒有其它的語言,如果你覺得英文不好看的話可以自己手動翻譯,Web文件都放在這個目錄下。
x-prober探針在功能上與雅黑探針有點類似,主要優勢還是美觀了不少,可以作為探針的替代品。 Netdata可以當作企業級的伺服器監控了,個人用的話有點「浪費」了。