关于elk中filebeat定义好日志输出,但是redis里面却没有输出内容的问题
这两天在搞elk的时候,filebeat中指定输出日志至Broker(此处Broker采用redis作为缓存),但是redis中却没有内容,所以就开始排查来
filebeat采用RPM安装的方式来的。
1、首先是检查filebeat的配置文件是否有问题:

注意:这个配置文件的这个红色方框中的内容是我自己定义的,是在网上搜的一个例子来编写的。不过事实上我们可以在/etc/filebeat这个目录下的filebeat.reference.yml按照这个文件中来进行仿写,但是最终要写到filebeat.yml文件中才算生效。这是filebeat服务指定的配置文件。

也出现过一个问题就是filebeat服务总是启动不了,总是失败,报错也是跟服务没有关系的一个错误,后来修改了这个配置文件成功了,我们这里是将日志收集在redis中,除了redis之外的其他broker都要注释掉。
2、接下来是指定redis配置文件参数
其中在redis中主要指定的参数是:bind 0.0.0.0 以及protected-mode no 这两项,要修改成现在的这个样子才行。或者说把bind 这一行注释掉也行。
3、这个时候再重启filebeat服务和redis服务。今天出现的情况是redis里面的数据库“2”里面什么文件都没有,查询不到filebeat收集的信息。
此时没有收集到信息我就去查看这两个服务的日志文件,redis的日志里面没有报错,初始化也成功了,所以没有问题。这个时候就去查看filebeat服务
4、filebeat服务的日志文件在/var/log/filebeat目录下,主要有以下几个:

这里查看filebeat这个文件,其他的都是每次重启后都会自动生成一个filebeat文件名字加一个数字的这个文件。主要看这里的第一个文件“filebeat”
5、我们从这个文件的最后几行获取error信息即可,就能定位到错误在哪里,不过我自己定位了好几次才找到。如果最后几行长时间不报错的情况下,说明redis可以建立连接成功。如果报redis 的错误refuse等,说明redis拒绝外部IP连接,这个时候要去配置redis的配置文件即可。可是对我来说filebeat没有报错但是redis数据库就是没有信息,后来我就在filebeat服务的配置文件里面修改了数据库,这次修改为“4”,(这是数据库的名字),这个时候再重启filebeat,,居然成功了,好吧,估计是我对redis不太熟造成的。这个时候filebeat的日志文件也没有报错,再去查看数据库,发现里面有东西了。

6、今天看到一篇文章讲的是logstash从redis中取出数据后,redis里面也是没有数据的,这个时候其实集群是没有错误的,只是被logstash取出数据放在了es里面。所以大家不必惊慌。
----------------------------------------------------------更新---------------------------------------------------------------
此刻3月16日,今天做个实验,是把filebeat的输入端中的-type想自定义修改成errorlog,结果没有输出日志,后来才发现,这个type的内容是filebeat固定好的,不能修改。

出问题最好查日志。精准问题所在,及时解决问题。
关于elk中filebeat定义好日志输出,但是redis里面却没有输出内容的问题的更多相关文章
- ELK整合Filebeat监控nginx日志
ELK 日志分析 1. 为什么用到 ELK 一般我们需要进行日志分析场景:直接在日志文件中 grep. awk 就可以获得自己想要的信息.但在规模较大的场景中,此方法效率低下,面临问题包括日志量太大如 ...
- ELK之filebeat收集多类型日志
1.IP规划 10.0.0.33:filebeat+tomcat,filebeat收集系统日志.tomcat日志发送到logstash 10.0.0.32:logstash,将日志写入reids(in ...
- 使用filebeat收集不同用应用的日志传输到redis,并加以区分
附加技巧 步骤流程: 使用filebeat收集一台主机上两个不同应用的日志,传递给redis,然后logstash从redis中拉去数据传递给elasticsearch 1.filebeat.yml文 ...
- ELK+Filebeat 集中式日志解决方案详解
链接:https://www.ibm.com/developerworks/cn/opensource/os-cn-elk-filebeat/index.html?ca=drs- ELK Stack ...
- ELK+FileBeat+Log4Net搭建日志系统
ELK+FileBeat+Log4Net搭建日志系统 来源:https://www.zybuluo.com/muyanfeixiang/note/608470 标签(空格分隔): ELK Log4Ne ...
- Kubernetes部署ELK并使用Filebeat收集容器日志
本文的试验环境为CentOS 7.3,Kubernetes集群为1.11.2,安装步骤参见kubeadm安装kubernetes V1.11.1 集群 1. 环境准备 Elasticsearch运行时 ...
- ELK之filebeat替代logstash收集日志
filebeat->redis->logstash->elasticsearch 官网下载地址:https://www.elastic.co/downloads/beats/file ...
- ELK学习实验018:filebeat收集docker日志
Filebeat收集Docker日志 1 安装docker [root@node4 ~]# yum install -y yum-utils device-mapper-persistent-data ...
- ELK学习实验017:filebeat收集java日志
收集JAVA格式日志 1 查看Java格式日志 elasticsearch属于Java日志,可以收集elasticsearch作为Java日志范本 [root@node3 ~]# tail -f /u ...
随机推荐
- mysql 开发进阶篇系列 27 数据库字符集设置
在安装完数据库后,使用汉字插入到表中,会报错,需要修改字符集类型,如下图所示: -- 插入汉字时报错 INSERT INTO User2 VALUES('张三') -- 查看字符集 SHOW VARI ...
- GO入门——6. struct与方法
1 struct Go 中的struct与C中的struct非常相似,并且Go没有class 使用 type struct{} 定义结构,名称遵循可见性规则 支持指向自身的指针类型成员 支持匿名结构, ...
- java-Timer类使用方法
Timer: public Timer()创建一个新计时器.相关的线程不 作为守护程序运行. 方法摘要: void schedule(TimerTask task, Date time) ...
- SQL 必知必会·笔记<15>创建和操纵表
创建表的两种办法: 使用DBMS 提供的交互式创建和管理数据库表的工具: 直接用SQL 语句创建. 表创建基础 创建表示例: CREATE TABLE Products ( prod_id ) NOT ...
- mybatis教程1(基本使用)
官方网站 一.什么是 MyBatis ? MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果 ...
- PHP 网页数据api采集
一个简单的数据采集,这里用的方法是API数据采集 //api地址,读取文本 $result = file_get_contents("https://feed.mix.sina.com.cn ...
- 初识SqlLite ---.net连接数据库
Sqlite 是一款轻量级的关系型数据库,以小巧和嵌入式闻名.以前只是听说,现在终于忍不住要尝试下.本文的初衷是为.net平台的使用者提供帮助. Sqlite有专门为VS2010开发的程序包,大家可以 ...
- C# 分支语句 练习题(中间变量,随机数)
练习一 请输入年份:”(1-9999),请输入月份:”(1-12),请输入日期(要判断大小月,判断闰年),判断输入的时间日期是否正确. 计算输入的时间是当前这一年的第几天. bool dateISOK ...
- vb.net Function使用
Public Function colour(ByVal Code As Int16) As Color'顏色 Select Case Code Case 1 colour = Color.White ...
- HDU5037(SummerTrainingDay01-C)
Frog Time Limit: 3000/1500 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others)Total Subm ...