搭建 Telegraf + InfluxDB + Grafana 監控遇到幾個小問題

1:若是同一臺服務器上安裝有多個MongoDB實例,telegraf.conf 中關於 MongoDB 如何配置?配置數據在【INPUT PLUGINS的[[inputs.mongodb]]】部分。mysql

單個實例配置sql

servers = ["mongodb://UID:PWD@XXX.XXX.XXX.124:27218"]

錯誤的多實例配置(例如兩個實例);mongodb

   servers = ["mongodb://UID:PWD@XXX.XXX.XXX.124:27218"]
   servers = ["mongodb://UID:PWD@XXX0.XXX.XXX.124:27213"]

重啓服務,查看服務狀態,提示錯誤信息以下;服務器

Failed to start The plugin-driven server agent for reporting metrics into InfluxDB.

 

正確的配置應該爲;測試

servers = ["mongodb://UID:PWD@XXX.XXX.XXX.124:27213","mongodb://UID:PWD@XXX.XXX.XXX.124:27218"]

 

2.配置Grafana 告警規則後,發現只是告警一次,後面恢復後再報警一次。即異常持續期間沒有一直告警。spa

解決辦法,這個設置其實在【Alterting】--》【Notification channels】-->【Send reminders】代理

 例如如下的設置能夠理解爲,每5分鐘觸發一下告警信息。code

 

3.告警檢查顯示沒有數據。server

這個時候有兩種緣由blog

(1)收集監控項的代理程序有問題 ;

(2)或者是代理程序沒問題,是彙報數據不及時的問題

針對第二問題,咱們能夠調整代理程序執行頻率;若是實時性要求不是很高,還能夠調整告警規則檢查數據的時間範圍。

例如,咱們能夠從檢查 過去5分鐘到過去1分鐘內的數據,調整爲過去10分鐘到過去5分鐘內的數據。對應的設置以下:

調整前;

調整後

 

4.隨着須要監控的子項的增多,收集時間必然增多,須要調整運行週期。

不然,報錯信息以下;

telegraf[2908]: 2019-03-01T02:40:46Z E! Error in plugin [inputs.mysql]: took longer to collect than collection interval (10s)

解決方案:調整 telegraf.conf 文件中 [agent] 部分的interval參數。

 

5.InfluxDB 既有的規則不建議刪除,刪除後查詢寫入都報錯。

例如咱們建立了以下一個規則:

CREATE RETENTION POLICY "48_hours" ON "telegraf" DURATION 48h REPLICATION 1 DEFAULT;

查看規則的命令:

SHOW RETENTION POLICIES;

而後執行刪除命令

drop retention POLICY "48_hours" ON "telegraf";

 查詢數據,提示如下錯誤;

ERR: retention policy not found: 48_hours

 

查看各個telegraf收集器,也開始報錯了。

 基礎知識

字段 解釋說明
name 名稱, 此示例名稱爲autogen
duration 持續時間, 0表明無限制
shardGroupDuration shardGroup的存儲時間, shardGroup是InfluxDB的一個基本存儲結構, 應該大於這個時間的數據在查詢效率上應該有所下降
replicaN 全稱是REPLICATION, 副本個數
default 是不是默認策略

 

解決方案;

 新建的策略爲默認策略,刪除後沒有了默認策略,要將一個策略設置爲默認策略。

本例是將原來的autogen策略恢復爲true,下面是完整的測試過程。

 

6.InfluxDB設置登入帳號後,如何auth驗證。

登入後,須要進行Auth驗證,不然命令沒法正常執行,報錯以下:

ERR: unable to parse authentication credentials

須要輸入,auth 命令,再分別輸入帳號命名便可。

相關文章
相關標籤/搜索