使用 Elastic Stack 来监控和调优 Golang 应用程序

medcl 发布了置顶文章 • 0 个评论 • 7359 次浏览 • 2017-03-03 11:16 • 来自相关话题

filebeat解析json格式数据

回复

ZhangRuntong 发起了问题 • 1 人关注 • 0 个回复 • 95 次浏览 • 2019-03-12 09:14 • 来自相关话题

metricbeat windows版本无法采集 fd指标

rojay 回复了问题 • 2 人关注 • 1 个回复 • 230 次浏览 • 2019-03-09 15:39 • 来自相关话题

filebeat采集多行数据时遇到被截断的情况

cao 回复了问题 • 2 人关注 • 2 个回复 • 144 次浏览 • 2019-03-05 11:07 • 来自相关话题

filebeat的重新加载配置文件功能能配置output么?

回复

lianjie 发起了问题 • 1 人关注 • 0 个回复 • 181 次浏览 • 2019-02-18 16:01 • 来自相关话题

filebeat 咬住被删除的log

zqc0512 回复了问题 • 3 人关注 • 2 个回复 • 362 次浏览 • 2019-02-13 09:01 • 来自相关话题

在 Elastic Stack 中如何监听多个 Go 应用程序?

medcl 回复了问题 • 2 人关注 • 1 个回复 • 238 次浏览 • 2019-01-23 17:10 • 来自相关话题

filebeat进行json解析之前能够替换被解析的字符串中的字符吗?

回复

Atom 回复了问题 • 1 人关注 • 1 个回复 • 241 次浏览 • 2019-01-23 15:50 • 来自相关话题

filebeat解析json字符串报错

rochy 回复了问题 • 2 人关注 • 2 个回复 • 219 次浏览 • 2019-01-22 13:58 • 来自相关话题

filebeat多行合并后怎么确定合并的行?

xinfanwang 回复了问题 • 3 人关注 • 2 个回复 • 204 次浏览 • 2019-01-22 10:04 • 来自相关话题

filebeat的数据输出到kafka的数据格式可以不使用json格式么

回复

匿名用户 发起了问题 • 1 人关注 • 0 个回复 • 244 次浏览 • 2019-01-18 13:45 • 来自相关话题

在filebeat配置文件中如何过滤@timestamp字段???

bellengao 回复了问题 • 4 人关注 • 6 个回复 • 435 次浏览 • 2019-01-09 10:18 • 来自相关话题

filebeat输出到es加载多个index以及index template,如何配置达到这样的要求???

Aruen 回复了问题 • 2 人关注 • 2 个回复 • 366 次浏览 • 2019-01-08 22:13 • 来自相关话题

一次filebeat i/o timeout 问题记录-ES内存引起

ziyou 发表了文章 • 1 个评论 • 438 次浏览 • 2019-01-07 16:17 • 来自相关话题


问题
kibana展示数据表明数据采集中断了,没有新的日志数据进来了。
排查
查看logstash日志:
[2019-01-07T14:59:27,435][INFO ][org.logstash.beats.BeatsHandler] Exception: Connection reset by peer
[2019-01-07T14:59:29,870][INFO ][org.logstash.beats.BeatsHandler] Exception: Connection reset by peer
[2019-01-07T14:59:29,870][INFO ][org.logstash.beats.BeatsHandler] Exception: Connection reset by peer
[2019-01-07T14:59:41,719][INFO ][org.logstash.beats.BeatsHandler] Exception: Connection reset by peer
[2019-01-07T14:59:42,777][INFO ][org.logstash.beats.BeatsHandler] Exception: Connection reset by peer
[2019-01-07T14:59:48,227][INFO ][org.logstash.beats.BeatsHandler] Exception: Connection reset by peer

查看filebeat日志:
2019-01-07T15:00:13+08:00 INFO No non-zero metrics in the last 30s
2019-01-07T15:00:43+08:00 INFO Non-zero metrics in the last 30s: libbeat.logstash.call_count.PublishEvents=1 libbeat.logstash.publish.write_bytes=241120
2019-01-07T15:00:48+08:00 ERR Failed to publish events (host: 10.68.24.138:5044:10200), caused by: read tcp 10.68.24.46:59310->10.68.24.138:5044: i/o timeout
2019-01-07T15:00:48+08:00 INFO Error publishing events (retrying): read tcp 10.68.24.46:59310->10.68.24.138:5044: i/o timeout
2019-01-07T15:01:13+08:00 INFO Non-zero metrics in the last 30s: libbeat.logstash.publish.read_errors=1 libbeat.logstash.published_but_not_acked_events=2034

查看的初步结果是,filebeat连不上logstash,logstash一直重置filebeat的连接,但是这两个机器是一点问题没有。
 
日志看过了,没有明显的问题,那就按部就班一步一步查吧

1、先来最基本的,查看elasticsearch、logstash、filebeat是否启动。
2、网络,网络环境是之前配置好的,一直没有变的,网络的可能性小一些,但是也是使用telnet测试一下各个端口是不是通的。
3、logstash故障,查看是不是因为logstash的未知故障,记录logstash的日志,然后重启logstash,看看重启logstash后是否解决问题了。
4、日志,查看日志是否是在更新,在5分钟以内是否在更新,因为是在运行的环境,日志一般不会断,所以我把这个检查放在了第四步。
5、查看ES的硬盘和内存。
GET /_cat/allocation?v
GET _cat/nodes?v

问题排查到第五步已经发现原因了:ES其中一台机器的内存满了。

原因始末
在部署这套ELK环境的时候,由于服务器提供方当时提供的两台ES机器的内存不一样,一台是8G的,一台是4G的,所以在使用的的时候,我配置的ES的堆内存一台是4G,一台是2G;ES集群就两台机器,也没配置数据节点和客户端节点,其实三台、四台我也都不配置的,集群太小再分开配置,就没有服务器了。
开始使用的时候是没有问题的,但是当日志达到一定量的时候,2G的那台机器堆内存耗光了,然后就出现了日志不能采集的i/o timeout问题。

经验
在使用ELK的过程中,以上的五种原因导致的filebeat日志采集异常,我都遇见过,其中容易忽略的就是ES的内存和硬盘是否已经满了,当ES集群中其中一台机器的堆内存和硬盘满了的话,都会引起日志采集异常。所以在配置ES集群的时候最好所有的data节点的内存和硬盘配置一致。
 

filebeat内存使用越来越大怎么办?

zqc0512 回复了问题 • 6 人关注 • 4 个回复 • 680 次浏览 • 2019-01-07 08:54 • 来自相关话题