Netdata部署與服務(wù)器集群監(jiān)控
NetData部署與服務(wù)器集群監(jiān)控

目錄
官方鏈接
基本部署
集群監(jiān)控
netData.cloud
stream
節(jié)點服務(wù)器
主服務(wù)器
集中管理
自定義控制面板
官方鏈接
演示網(wǎng)頁:https://my-netdata.io/
官方首頁:http://netdata.cloud/
文檔地址:http://docs.netdata.cloud
github地址:https://github.com/netdata/netdata#infographic
基本部署
官網(wǎng)提供了一個很強大的一鍵安裝腳本(必須用bash運行),可以自動解決很多問題:
bash <(curl -Ss https://my-netdata.io/kickstart.sh)
但是這個腳本在安裝時需要訪問googleapis,因此在中國大陸地區(qū),安裝過程會被強制終端而失敗。幸好開發(fā)者在github issue里面注意到了這個問題,因此,可以用下面這個命令來安裝(必須在bash執(zhí)行):
bash <(curl -Ss https://my-netdata.io/kickstart.sh) --stable-channel
這樣整個安裝過程都會從github獲取資源(雖然還是很慢)。
在安裝過程中,有時還會因為go.d.plugin超時而失敗,解決方法:多試幾次就好了。
安裝完畢以后,訪問IP:PORT即可,通常默認端口是19999
集群監(jiān)控
國內(nèi)大多數(shù)博文沒有詳細論述的是,如何在一個集群里面部署netdata從而實現(xiàn)集群監(jiān)控。
首先需要明確的是,netdata本身不存在主從服務(wù),在每一個節(jié)點上都需要完整部署netdata(按照上面的方法),所以說,netdata并不輕量。在每一個節(jié)點上都部署了netdata以后,就有兩個方式實現(xiàn)集群監(jiān)控了。
netdata.cloud
使用netdata自帶的(在建的)netdata.cloud,也就是每一個節(jié)點控制面板右上角的那個signin。只要使用同一賬號登陸到netdata.cloud(需要科學(xué)上網(wǎng)),各個節(jié)點之間就可以輕松通過一個賬號控制。但是,它的缺點就在它的原理上:netdata.cloud只是幫你記錄每個節(jié)點的信息,而控制面板在獲取每個節(jié)點的數(shù)據(jù)的時候,是由前端直接從各個節(jié)點的19999端口獲取數(shù)據(jù)的。也就是說,每個節(jié)點都必須要打開端口,開啟dashboard,允許管理員查看數(shù)據(jù)。
可以說,這是一種被動的集群監(jiān)控,本質(zhì)上還是獨立的機器,并且不方便做自定義的集群dashboard。
stream
為了解決上一種方法的問題,netdata同時提供了另外一種方法,流數(shù)據(jù)匯總到一臺主服務(wù)器上。它本質(zhì)上是主動匯總,數(shù)據(jù)處理全部在主服務(wù)器上進行,各個節(jié)點服務(wù)器不打開19999端口供查看,只是把收集到的數(shù)據(jù)發(fā)送到主服務(wù)器上。這樣在主服務(wù)器上可以進行自定義的dashboard開發(fā)。
缺點在于,主服務(wù)器流量會比較大(如果集群很大的話),如果覺得主服務(wù)器流量過大,可以設(shè)置節(jié)點服務(wù)器的數(shù)據(jù)收集周期update every。
stream配置方法如下:
原文:https://docs.netdata.cloud/streaming/
節(jié)點服務(wù)器
修改netdata.conf中的如下配置:
[global]
memory mode = none
hostname = [改成需要設(shè)置的主機標識名]
[web]
mode = none
同時在同一目錄下新建stream.conf并寫入如下配置:
[stream]
enabled = yes
destination = IP:PORT
api key = 11111111-2222-3333-4444-555555555555
其中,destination是主服務(wù)器的IP地址和netdata端口(默認19999),api key必須是一個uuid格式的字符串,可以在linux系統(tǒng)中用如下指令生成:
uuidgen
上面配置完成后,重啟netdata服務(wù):
systemctl restart netdata
主服務(wù)器
在netdata.conf的同一目錄下新建stream.conf并寫入如下配置:
[API_KEY]
enabled = yes
default history = 3600
default memory mode = save
health enabled by default = auto
allow from = *
其中,API_KEY對應(yīng)節(jié)點服務(wù)器的api key,allow from可以設(shè)置數(shù)據(jù)流的允許來源以保證安全。
如果有多個節(jié)點服務(wù)器,則一起寫在stream.conf里面
完成配置后重啟netdata:
systemctl restart netdata
集中管理
如果上述配置都正確,那么在瀏覽器打開主服務(wù)器的控制面板,在左上角主機名那里下拉菜單中就可以看到接入的其他節(jié)點。
如果有問題,請查看官網(wǎng)原文,查看日志進行調(diào)試。
自定義控制面板
原文地址:https://docs.netdata.cloud/web/gui/custom/
其實,默認的控制面板就已經(jīng)非常好了,但是主要是集群監(jiān)控的時候,能在一個大屏上看到所有服務(wù)器的運行情況,于是就需要自己定制一個dashboard。
netdata提供了dashboard.js,當然讀者也可以使用其他控制面板。
有幾個注意事項:
1、netdata默認的web目錄在/usr/share/netdata/web,上傳新的html文件以后需要把新文件的所有權(quán)改為用戶netdata才可以運行:
chown netdata:netdata xxx.html
2需要引入dashboard.js:
3想要讓整體的畫風(fēng)變?yōu)榘瞪担恍枰趆tml里面任何地方加上javascript代碼
netdataTheme = "slate";
1.4圖表的一般格式最好在參考官網(wǎng)的基礎(chǔ)上,通過檢查元素的方法查看默認控制面板的設(shè)置。
1.5圖表元素的data-host屬性如果是每個節(jié)點服務(wù)器獨立監(jiān)控的,那么填對應(yīng)的ip和端口即可,如果是使用stream模式進行的集群監(jiān)控,則按照如下配置方法:
ip:port是主服務(wù)器的ip和端口
主服務(wù)器自己的數(shù)據(jù):
data-host="http://ip:port/"
節(jié)點服務(wù)器:
data-host="http://ip:port/host/[hostname]"
[hostname]是在節(jié)點服務(wù)器的配置文件中[global]下設(shè)置的hostname
此外,當然還可以引入Vue.js等前端庫進行交互式設(shè)計啦!
轉(zhuǎn)載自:https://blog.csdn.net/a1323933782/article/details/89190641
JavaScript
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔相應(yīng)法律責任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔相應(yīng)法律責任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。