这两天在搞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里面却没有输出内容的问题的更多相关文章

  1. ELK整合Filebeat监控nginx日志

    ELK 日志分析 1. 为什么用到 ELK 一般我们需要进行日志分析场景:直接在日志文件中 grep. awk 就可以获得自己想要的信息.但在规模较大的场景中,此方法效率低下,面临问题包括日志量太大如 ...

  2. ELK之filebeat收集多类型日志

    1.IP规划 10.0.0.33:filebeat+tomcat,filebeat收集系统日志.tomcat日志发送到logstash 10.0.0.32:logstash,将日志写入reids(in ...

  3. 使用filebeat收集不同用应用的日志传输到redis,并加以区分

    附加技巧 步骤流程: 使用filebeat收集一台主机上两个不同应用的日志,传递给redis,然后logstash从redis中拉去数据传递给elasticsearch 1.filebeat.yml文 ...

  4. ELK+Filebeat 集中式日志解决方案详解

    链接:https://www.ibm.com/developerworks/cn/opensource/os-cn-elk-filebeat/index.html?ca=drs- ELK Stack ...

  5. ELK+FileBeat+Log4Net搭建日志系统

    ELK+FileBeat+Log4Net搭建日志系统 来源:https://www.zybuluo.com/muyanfeixiang/note/608470 标签(空格分隔): ELK Log4Ne ...

  6. Kubernetes部署ELK并使用Filebeat收集容器日志

    本文的试验环境为CentOS 7.3,Kubernetes集群为1.11.2,安装步骤参见kubeadm安装kubernetes V1.11.1 集群 1. 环境准备 Elasticsearch运行时 ...

  7. ELK之filebeat替代logstash收集日志

    filebeat->redis->logstash->elasticsearch 官网下载地址:https://www.elastic.co/downloads/beats/file ...

  8. ELK学习实验018:filebeat收集docker日志

    Filebeat收集Docker日志 1 安装docker [root@node4 ~]# yum install -y yum-utils device-mapper-persistent-data ...

  9. ELK学习实验017:filebeat收集java日志

    收集JAVA格式日志 1 查看Java格式日志 elasticsearch属于Java日志,可以收集elasticsearch作为Java日志范本 [root@node3 ~]# tail -f /u ...

随机推荐

  1. cmd窗口使用sftp命令非密钥和密钥登录SFTP服务器的两种方式

    cmd窗口使用sftp命令非密钥和密钥登录SFTP服务器的两种方式 一.在Windows环境下搭建SFTP服务器可参见http://www.cnblogs.com/Kevin00/p/6341295. ...

  2. Spring Cloud 微服务分布式链路跟踪 Sleuth 与 Zipkin

    Zipkin 是一个开放源代码分布式的跟踪系统,由 Twitter 公司开源,它致力于收集服务的定时数据,以解决微服务架构中的延迟问题,包括数据的收集.存储.查找和展现.它的理论模型来自于Google ...

  3. 音频标签化1:audioset与训练模型 | 音频特征样本

    随着机器学习的发展,很多"历史遗留"问题有了新的解决方案.这些遗留问题中,有一个是音频标签化,即如何智能地给一段音频打上标签的问题,标签包括"吉他"." ...

  4. C++ 单例模式实现

    #include <iostream> #include <mutex> std::mutex mtx; class Singleton { private: Singleto ...

  5. top命令查看进程下线程信息以及jstack的使用

    转自:https://www.cnblogs.com/shengulong/p/8513652.html top -Hp pid可以查看某个进程的线程信息 -H 显示线程信息,-p指定pid jsta ...

  6. Jquery 跨域访问 Lightswitch OData Service

    修改lightswitch .server project web.config.添加如下内容就可以实现对ApplicationData.svc/跨域访问 <system.webServer&g ...

  7. [转]bootstrapValidator.js 做表单验证

    本文转自:https://www.cnblogs.com/nele/p/5493414.html 作者:@nele本文为作者原创,转载请注明出处:https://www.cnblogs.com/nel ...

  8. C#基础知识回顾-- 反射(2)

    使用反射调用方法: 一旦知道一个类型所支持的方法,就可以对方法进行调用.调用时,需使用包含在   MethodInfo中的Invoke()方法.调用形式:   object Invoke(object ...

  9. ECMAScript typeof用法

    typeof 返回变量的类型字符串值 .其中包括 “object”.“number”.“string”.“undefined”.“boolean”. 1.在变量只声明.却不初始化值   Or 在变量没 ...

  10. asp.net通过后台代码给前台设置css样式,下拉列表在js中的取值

    后台根据不同的用户登陆隐藏或显示前台div标签 前台: 将div声明成服务器端控件 <div id="div1" runat="server">.. ...