前言
這是一份未整理過的 Netdata 學習筆記
內容參考出處:
官方文件
Configuration (設定檔)
檔案位置: /etc/netdata/netdata.conf
backend
[backend] |
enabled = yes | no
, 開啟或關閉後端type = graphite | opentsdb:telnet | opentsdb:http | opentsdb:https | json | kinesis | mongodb
, 選擇後端類型destination = host1 host2 host3 ...
, 接受一個空白來分開多個欲連接的 hostnames, IPs (IPv4 以及 IPv6), 以及 port 號。 Netdata 會使用第一個可用目的地來傳送指標。- 每個品項的格式 [PROTOCOL:]IP[:PORT]
PROTOCOL
可以是 udp 或 tcp, 預設為 tcp 且只被目前的後端支援。IP
可以是 XX.XX.XX.XX (IPv4), 或 [XX:XX…XX:XX] (IPv6). IPv6 的話你可以將 IP 包在 [] 內來與 port 分開。PORT
可以是服務名稱的號碼。 如果沒填, 後端預設的 PORT 將會被使用 (graphite = 2003, opentsdb = 4242)- IPv4 範例:
destination = 10.11.14.2:4242 10.11.14.3:4242 10.11.14.4:4242
- IPv4 以及 IPv6 範例:
destination = [ffff:...:0001]:2003 10.11.12.1:2003
- 當多個 server 被定義, 第一個失敗時, Netdata 將會自動嘗試下一個。 這讓我們可以平衡負載不同的 server: 在每一個 Netdata 給予不同的後端服務順序
- Netdata 也提供了 nc-backend.sh, 一個備用解決方法來將指標先存到硬碟中, 待 time-series 資料庫可用了, 再將資料傳到資料庫。 它也可用來監控 / 追蹤 / 除錯 Netadata 產生的指標。
- 如果是 kinesis 後端目的地, 應該要被設定成 AWS region (例如,
us-east-1
) - MongoDB 後端在這設定中不使用 destination 選項, 它使用 mongodb.conf 設定
data source = as collected
, 或data source = average
, 或data source = sum
, 選擇要被傳送到後端的資料類型as-collected
: 當指標被採集時, 傳送到後端, 以他們被採集時的單位。 所以說, counter 將會以 counter 傳送, gauge 也被以 gauge 傳送, 就像所有的資料採集器那樣。 例如說, 若要算出在這格式下的 CPU 使用率,你需要知道怎麼轉換kernel ticks
到百分比average
: 將正規化之後的指標從 Netdata 資料庫傳送到後端。 在這個模式下,所有的指標都被以gauges
傳送,並且使用 Netdata 使用的單位。 這抽象化了資料收集以及簡單化了視覺顯示,但你將沒有辦法從其他來源複製貼上 query 來轉換單位。 例如, CPU 使用百分比是被 Netdata 計算,所以 Netdata 將會轉換 ticks 到百分比,然後傳送平均百分比到後端sum or volume
: Netdata 圖表上的總合將會被傳送到後端。 所以,如果 Netdata 被設定為每 10 秒傳送資料一次,那 10 秒的總合將會被傳送。- Time-series 資料庫建議以原始數值的方式收集資料 (as-collected)。 如果你打算建立你自己的監控系統搭配 time-series 資料庫,且你已經(或你將會花時間學習)知道如何轉換單位以及正規化資料已符合 Grafana 或其他視覺化工具,我們建議使用 as-collected
- 如果,另一方面,你只是需要長期的 Netdata 資料歸檔,並且妳主要打算使用 Netdata, 我們建議使用 average。 它將視覺化以及資料收集分離,所以整體來說它會簡單很多。 再進一步來說,如果你使用 average, 在後端看到的圖表將會完全符合你在 Netdata 看到的,如果是在別種模式的話,可能不是這樣。
利用 InfluxDB 作為 Netdata backend
Netdata
安裝
bash <(curl -Ss https://my-netdata.io/kickstart.sh) --dont-wait |
Config
開啟設定檔
vim /etc/netdata/netdata.conf
設定
[backend]
# host tags =
enabled = yes
data source = average
type = opentsdb
destination = localhost:4242
# prefix = netdata
# hostname = netdata
update every = 10
# buffer on failures = 10
# timeout ms = 20000
# send names instead of ids = yes
# send charts matching = *
# send hosts matching = localhost *重新啟動
systemctl restart netdata
InfluxDB
安裝
參考官方流程
開啟設定檔
vim /etc/influxdb/influxdb.conf |
設定
[[opentsdb]] |
留言