Elastic Stack(ELK)日志系统后续使用及问题解决

ELK系列文章:

  1. Elastic Stack(ELK)日志系统简介及搭建
  2. Elastic Stack(ELK)日志系统后续使用及问题解决
  3. kibana7.2添加登录及权限
  4. kibana监控logstash

一、前言:

在上篇的ELK介绍和搭建中我们完成了日志系统的了解和搭建,但是这并不能满足我们在生产中使用,我们还需要有很多自定义的配置。这篇主要介绍的就是在使用过程中碰到的一些问题,如filebeat和logstash通信问题、kibana汉化、filebeat多行传输、logstash的过滤、kibana的权限设置等。

二、filebeat和Logstash通信问题:

在filebeat中传输偶尔会报一个connection reset by peer的错误,但是这并不影响数据的传输;原理是这个错误是不同机器之间的通信问题,和服务关系不大,试着看看各自的防火墙,关于centos7访问墙跳转。此问题还有待观察

三、kibana汉化:

默认安装好是英文版的,这有点不太适合我们使用,所以汉化。打开kibana的配置文件kibana.yml,配置如下即可

i18n.locale: "zh-CN"

参考:https://www.cnblogs.com/AlienXu/p/11138340.html

四、filebeat多行传输:

filebeat默认是行传输的,但是我们的日志肯定是多行一个日志,我们要把多行合并到一起就要找到日志的规律,比如我的java日志是如下格式,都是日期开头的,所以配置如下:打开filebeat.yml

#以日期开头
multiline.pattern: '^\d{4}-\d{1,2}-\d{1,2}'

#开启多行合并
multiline.negate: true

#合并到上行之后
multiline.match: after

此时正是我们需要的数据。

参考:http://blog.sina.com.cn/s/blog_161116fe10102xl5h.html

           https://my.oschina.net/openplus/blog/1589846

           https://www.jianshu.com/p/2be0b41eda73

filebeat更多设置说明:https://www.cnblogs.com/whych/p/9958188.html

                                     https://blog.csdn.net/liukuan73/article/details/52330600

五、logstash的过滤:

在生产中还有一个问题,日志所有的都记在一行看着一点也不直观,不知道那个字段分别代表什么还得自己去匹配,我们就通过logstash的过滤把数据存成不同的字段以便查阅。但这有个要求就是所有人的日志输出必须符合你过滤的条件,否则无法过滤。如下是我日志格式:日期 [类型] [类] [方法] [IP及端口] [操作人] [说明].......

找到了规律那我们就通过logstash把他们分隔成不同的字段,修改logstash-sample.conf 

# Sample Logstash configuration for creating a simple
# Beats -> Logstash -> Elasticsearch pipeline.

input {
  beats {
    port => 5044
  }
}
filter {
   grok {
     match => {
	"message" => "(?<date>\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2},\d{3}) \[%{LOGLEVEL:level}\] \[%{USERNAME:class}\]\s\[(?<method>.*)\]\s\[%{HOSTPORT:ip}\] \[%{USERNAME:user}\]\s\[(?<des>.*)\]\s\[(?<flag>.*)\]\s\[(?<per>.*)\]\s\[(?<dto>.*)"
     }
   }
}
output {
  elasticsearch {
    hosts => ["http://198.218.*.*:9200"]
    index => "%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}"
    #user => "elastic"
    #password => "changeme"
  }
}

添加了一个过滤,通过grok正则去分隔字段,分隔完成效果如下

参考:https://www.missshi.cn/api/view/blog/5ac6dea622890914df000001

           https://blog.csdn.net/qq_39211866/article/details/84453004

六、Elasticsearch报错:

  • 启动报错:[WARN ][r.suppressed             ] [node-1] path: /.kibana_task_manager/_search, params: {ignore_unavailable=true, index=.kibana_task_manager} org.elasticsearch.action.search.SearchPhaseExecutionException: all shards failed;

这个错是索引分片的问题,一般如果没有用过此索引直接删除此索引即可。

curl -XDELETE http://localhost:9200/.kibana_task_manager
  • 启动报错:No shard available for [get [.kibana][_doc][space:default]: routing [null]]

这个错是因为安装的时候Elasticsearch是单节点,但是分片默认有一个副分区,所以报此警告

  • Elasticsearch状态一直为yellow

这个也是因为Elasticsearch单节点导致,具体原因请参考如下文章

参考:https://blog.csdn.net/gamer_gyt/article/details/53230165

           https://blog.csdn.net/quicknet/article/details/43915417

           https://blog.csdn.net/weixin_34399060/article/details/92382701

结束:

到此一些常见的问题及使用就完了,后续在使用过程中不断更新

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值