搭建 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 命令,再分别输入帐号命名便可。

相关文章
相关标签/搜索