这两天在搞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. oracle10g和oracle11g导入导出数据区别

    其中flxuser为用户名,flxuser为密码,file值为导入到数据库中的备份文件. oracle10g和oracle11g导入导出数据的命令方式大有不同: oracle10g导入数据: imp  ...

  2. 全网最详细的Eclipse里如何正确新建普通的Java web项目并发布到Tomcat上运行成功【博主强烈推荐】(图文详解)

    不多说,直接上干货! 首先,大家要明确,IDEA.Eclipse和MyEclipse等编辑器之间的新建和运行手法是不一样的. 如果是在Myeclipse里,则是File -> new -> ...

  3. Spring Boot 解决方案 - 配置

    习惯优于配置 Spring Boot 项目的重要思想就是"习惯优于配置",这也是为什么该项目诞生的原因,让开发者免于 Spring 生态中各种项目的配置.尽管如此,但项目中完全零配 ...

  4. JavaScript 深入之从原型到原型链

    1 .构造函数创建对象 我们先使用构造函数创建一个对象: function Person(){ } var p = new Person(); p.name = 'ccy'; console.log( ...

  5. XtraBackup的备份原理与应用示例

    一.XtraBackup简介与安装 XtraBackup是一款免费的在线开源数据库备份解决方案,适用于所有版本的MySQL和MariaDB.XtraBackup支持对InnoDB热备,是一款物理备份工 ...

  6. Bootstrap-table 使用总结

    一.什么是Bootstrap-table? 在业务系统开发中,对表格记录的查询.分页.排序等处理是非常常见的,在Web开发中,可以采用很多功能强大的插件来满足要求,且能极大的提高开发效率,本随笔介绍这 ...

  7. js 去掉缓存的几种方式

    1.在Ajax发送请求前加上 anyAjaxObj.setRequestHeader ("If-Modified-Since","0") 2.在Ajax发送请求 ...

  8. Graphviz的安装 - windows环境下

    1. 官网下载 http://www.graphviz.org/ 往下拉,选择这一个 点进去,选择msi文件下载 下载完成之后,直接双击运行即可 安装完成之后要配置环境变量 2. 配置环境变量 将gr ...

  9. Angular6封装LED时钟数字组件

    一.运行截图 截图1: 截图2: 二.代码 html代码: <div class="time" > <ng-container #container> &l ...

  10. CSS效果:CSS实用技巧制作三角形以及箭头效果

    实现如图所示的三角形图标: html代码如下: <div class="arrow-up"></div> <div class="arrow ...