关于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 ...
随机推荐
- c#构造初使化的顺序
这个很基础的知识,但我至今才意识到它.想想也很失败. 直接上代码:很简单 public class Base { ; public Base() { System.Console.WriteLine( ...
- go 通过http发送图片file内容
package main import ( "encoding/json" "fmt" "io/ioutil" "net/http ...
- jq的ajax交互封装
jq封装的ajax,然后 在此前和此后都是很多要考虑的 ,何不 想想构思封装下. 下面: 基本上网页都存在各种ajax,使得网页变得更加易于操作. 举个长长的例子吧: <input type= ...
- ionic的学习-01搭建App的起步准备
Part1 搭建App的起步准备(建立项目文件夹,配置开发环境) 第一步 初始化npm npm init 文件夹变化 第二步 使用npm安装git npm install git --save 文件 ...
- Linux 服务器命令,持续更新……
记录一下常用命令给自己备忘备查,会持续更新-- 一.查看和修改Linux的时间 1. 查看时间和日期,命令: date 2.设定时间和日期 例如:将系统日期修改成2020年2月14日12点的命令: d ...
- Java-IO:复制文件
import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStrea ...
- Django + Mysql 中关于时间异常返回500错误的解决
问题描述: 最近在阿里云部署 Django(1.11.x) 时,在后台发布文章后,页面返回 500 异常. 刚开始的时候,遇到这个问题一脸懵逼,不知道该如何入手.后来把 settings.py 中 D ...
- sql语句中left join和inner join中的on与where的区别分析
关于SQL SERVER的表联接查询INNER JOIN .LEFT JOIN和RIGHT JOIN,经常会用到ON和WHERE的条件查询,以前用的时候有时是凭感觉的,总是没有搞清楚,今日亲自测试了下 ...
- userDefineFunc.js
var scareMe = function(){ console.log("cynthia") scareMe = function(){ console.log("w ...
- python中收集函数的解包问题
收集参数的解包问题 - 把参数放入list或者字典中,直接把list/dict中的值放入收集参数中- 语法:参照案例 # 收集参数的问题 def stu(*args): print("=&q ...