搭建 Telegraf + InfluxDB + Grafana 监控遇到几个小问题
1:如果同一台服务器上安装有多个MongoDB实例,telegraf.conf 中关于 MongoDB 如何配置?配置数据在【INPUT PLUGINS的[[inputs.mongodb]]】部分。
单个实例配置
servers = ["mongodb://UID:PWD@XXX.XXX.XXX.124:27218"]
错误的多实例配置(例如两个实例);
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 告警规则后,发现只是告警一次,后面恢复后再报警一次。即异常持续期间没有一直告警。
解决办法,这个设置其实在【Alterting】--》【Notification channels】-->【Send reminders】

例如以下的设置可以理解为,每5分钟触发一下告警信息。

3.告警检查显示没有数据。

这个时候有两种原因
(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 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 命令,再分别输入账号命名即可。

7. Grafana 关于报警邮件的配置
(1)我们明明配置了SMTP,但是提示错误:
"Failed to send alert notification email" logger=alerting.notifier.email error="SMTP not configured, check your grafana.ini config file's [smtp] section"
原因是:grafana.ini文件中,很多行的注释符是(;)

(2)与配置Linux系统的邮件服务不同,需要添加端口。(例如,添加25);否则报错:
"Failed to send alert notification email" logger=alerting.notifier.email error="address ygmail.yiguo.com: missing port in address"
(3)如无特别需要,请将skip_verify 设置为true。否则报错:
"Failed to send alert notification email" logger=alerting.notifier.email error="x509: certificate is valid for XXXXXX"
因此,grafana.ini中关于邮件部分的配置格式如下;
#################################### SMTP / Emailing ##########################
[smtp]
enabled = true
host = 邮件服务(地址):port
user = 用户名
# If the password contains # or ; you have to wrap it with trippel quotes. Ex """#password;"""
password = XXXXXXX
;cert_file =
;key_file =
skip_verify = true
from_address = 告警邮件的地址
from_name = Grafana [emails]
;welcome_email_on_sign_up = false
8.我们在搭建收集log的系统时,下载logstatsh,验证报错
验证代码:
bin/logstash -e 'input { stdin { } } output { stdout {} }'

which: no java in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)
could not find java; set JAVA_HOME or ensure java is in PATH
解决方案:
yum install java
再次验证:
[root@QQWeiXin— logstash-6.2.]# bin/logstash -e 'input { stdin { } } output { stdout {} }'
Sending Logstash's logs to /data/logstash/logstash-6.2.4/logs which is now configured via log4j2.properties
[--23T17::,][INFO ][logstash.modules.scaffold] Initializing module {:module_name=>"fb_apache", :directory=>"/data/logstash/logstash-6.2.4/modules/fb_apache/configuration"}
[--23T17::,][INFO ][logstash.modules.scaffold] Initializing module {:module_name=>"netflow", :directory=>"/data/logstash/logstash-6.2.4/modules/netflow/configuration"}
[--23T17::,][INFO ][logstash.setting.writabledirectory] Creating directory {:setting=>"path.queue", :path=>"/data/logstash/logstash-6.2.4/data/queue"}
[--23T17::,][INFO ][logstash.setting.writabledirectory] Creating directory {:setting=>"path.dead_letter_queue", :path=>"/data/logstash/logstash-6.2.4/data/dead_letter_queue"}
[--23T17::,][WARN ][logstash.config.source.multilocal] Ignoring the 'pipelines.yml' file because modules or command line options are specified
[--23T17::,][INFO ][logstash.agent ] No persistent UUID file found. Generating new UUID {:uuid=>"c9e6fd92-0171-4a2b-87e5-36b98c21db16", :path=>"/data/logstash/logstash-6.2.4/data/uuid"}
[--23T17::,][INFO ][logstash.runner ] Starting Logstash {"logstash.version"=>"6.2.4"}
[--23T17::,][INFO ][logstash.agent ] Successfully started Logstash API endpoint {:port=>}
[--23T17::,][INFO ][logstash.pipeline ] Starting pipeline {:pipeline_id=>"main", "pipeline.workers"=>, "pipeline.batch.size"=>, "pipeline.batch.delay"=>}
[--23T17::,][INFO ][logstash.pipeline ] Pipeline started successfully {:pipeline_id=>"main", :thread=>"#<Thread:0x718a7b78 sleep>"}
The stdin plugin is now waiting for input:
[--23T17::,][INFO ][logstash.agent ] Pipelines running {:count=>, :pipelines=>["main"]}
{
"message" => "",
"@version" => "",
"@timestamp" => --23T09::.535Z,
"host" => "QQWeiXin—0081"
}
{
"message" => "",
"@version" => "",
"@timestamp" => --23T09::.969Z,
"host" => "QQWeiXin—0081"
}
{
"message" => "",
"@version" => "",
"@timestamp" => --23T09::.189Z,
"host" => "QQWeiXin—0081"
}
搭建 Telegraf + InfluxDB + Grafana 监控遇到几个小问题的更多相关文章
- 使用Telegraf + Influxdb + Grafana 监控SQLserver服务器的运行状况
使用Telegraf + Influxdb + Grafana 监控SQLserver服务器的运行状况 前言 本文在Debian9下采用Docker的方式安装Telegraf + Influxdb + ...
- Telegraf+InfluxDB+Grafana搭建服务器监控平台
Telegraf+InfluxDB+Grafana搭建服务器监控平台 tags:网站 个人网站:https://wanghualong.cn/ 效果展示 本站服务器状态监控:https://statu ...
- Telegraf+InfluxDB+Grafana快速搭建实时监控系统 监控postgresql
Telegraf+InfluxDB+Grafana快速搭建实时监控系统 监控postgresql
- 基于telegraf+influxdb+grafana进行postgresql数据库监控
前言 随着公司postgresql数据库被广泛应用,尤其是最近多个项目在做性能测试的时候都是基于postgresql的数据库,为了确定性能瓶颈是否会出现在数据库中,数据库监控也被我推上了日程.在网上找 ...
- [转帖] 基于telegraf, influxdb, grafana 建立 esxi 监控
[系统集成] 基于telegraf, influxdb, grafana 建立 esxi 监控 https://www.cnblogs.com/hahp/p/7677420.html 之前在 nagi ...
- Telegraf+Influxdb+Grafana自动化运维监控
概述:Telegraf收集信息,influxdb时序数据库存储数据,grafana平台展示数据,并进行监控告警,组成一个自动化运维监控平台. 一.influxdb InfluxDB是一个由Infl ...
- Spring Boot Actutaur + Telegraf + InFluxDB + Grafana 构建监控平台之应用数据分析
本节将引入完美的granafa仪表板,在上节的基础上,并提出自己的一些监控数据的总结和看法 你可以有一个类似于这个的Dashboard,会引入监控Zimbra协作 本节环境采用的是centos7系统, ...
- [系统集成] 基于telegraf, influxdb, grafana 建立 esxi 监控
之前在 nagios 上建立了 esxi 监控,指标少.配置麻烦.视觉效果差.最近我把 esxi 监控迁移到了 influxdb+grafana 平台上,无论是监控指标.可操作性还是视觉效果都有了很大 ...
- 搭建jmeter+influxdb+grafana压测实时监控平台(超详细,小白适用)
1.前言 在使用jmeter做性能测试的时候,监控系统性能的时候,无论是使用插件还是报告生成,都没法实现实时监控.使用JMeter+Influxdb+Grafana可以实现实时监控. 本次环境搭建各软 ...
随机推荐
- Sqlite—插入语句(Insert)
SQLite 的 INSERT INTO 语句用于向数据库的某个表中添加新的数据行. 基本语法:INSERT INTO TABLE_NAME VALUES (value1,value2,value3, ...
- linux 系统账户 和 普通账户 的区别
最近使用 useradd -r 选项进行创建账户,用于测试,对-r 选项不是很明白,下面记录一些调研的过程: -r, --system Create a system account. System ...
- Yii2中indexBy()的使用
在项目开发中经常会使用到一些特殊的值作为数组的索引,一般可以先查询出数据后数组循环拼接成所需的格式.不过YII2框架提供了一种更简单的方法indexBy(). 参考Yii文档:https://www. ...
- Spring Cloud系列:不重启eureka,清除down掉的服务
场景描述 做项目的时候,我的服务改了个ip,然后重新启动后,原ip的服务down掉了,但是没有清楚掉,还在上面,导致我用swagger测试的时候,访问不到真正up的程序.重启eureka又不划算,于是 ...
- maven 解决jar包冲突及简单使用
maven 解决jar包冲突 1.jar包冲突原因 maven中使用坐标导入jar包时会把与之相关的依赖jar包导入(导入spring-context的jar时就会把spring的整个主体导入) ,而 ...
- Spring Bean Expression Language(EL)
1, Add dependency. <dependency> <groupId>org.springframework</groupId> <artifac ...
- 4、netty第三个例子,建立一个tcp的聊天的程序
代码基于第二个例子,支持多客户端的连接,在线聊天. 主要思路: 连接建立时,在服务器端,保存channel 对象,当有新的客户端加入时,遍历保存的channel集合,向其他客户端发送加入消息. 当一个 ...
- java 监听文件或文件夹变化
今天遇到一个新需求,当从服务器下载文件后用指定的本地程序打开,不知道何时文件下载完成,只能考虑监听文件夹,当有新文件创建的时候打开指定程序. 在此给出一个完整的下载和打开过程: 1.下载文件 jsp页 ...
- [Go]TCP服务中增加消息队列与工作池
之前的处理中每一个连接都会创建一个主groutine , 每个连接中的主groutine中创建出读groutine 和写groutine 每个连接处理业务再单独开出一个groutine ,这样如果有1 ...
- LeetCode刷题--整数反转(简单)
题目描述 给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转. 示例 1: 输入: 123 输出: 321 示例 2: 输入: -123 输出: -321 示例 3: 输入: 12 ...