EFK+Redis 架构实现--Elastic Stack之十二

基本流程:
1)Logstash-Shipper获取日志信息发送到redis。
2)Redis在此处的作用是防止ElasticSearch服务异常导致丢失日志,提供消息队列的作用。[注意,测试时如果写到redis里的日志量比较小,则很快就会被输送到elasticsearch,输送完之后,届时在redis里的key就没有了,也就查看不到了.]
3)logstash是读取Redis中的日志信息发送给ElasticSearch。
4)ElasticSearch提供日志存储和检索。
5)Kibana是ElasticSearch可视化界面插件。

1 Redis设置密码
#redis-cli  -h 192.168.1.230 -p 6379
>config set requirepass 123456
>auth 123456
>config get requirepass
说明:redis必须设置密码,否则启动filebeat报错

2.修改filebaet配置文件
#cat /etc/filebeat/filebeat.yml
filebeat.inputs:
- type: log
  enabled: true
  paths:
    - /var/log/*.log
    - /var/log/messages
  tags: ["system-log-5611"]
  exclude_lines: ['^DBG','^$']
filebeat.config.modules:
  path: ${path.config}/modules.d/*.yml
  reload.enabled: true
setup.template.settings:
  index.number_of_shards: 1
output.redis:
  hosts: ["192.168.1.226:6379"]
  db: "0"
  password: "123456"
  key: "system-log-5611"

#重启filebeat
#systemctl restart filebeat

#查看redis中生产的key

3 配置使用logstash取出redis里面的数据
# cd /etc/logstash/conf.d
# cat logstash‐simple.conf
input{
    redis {
    host => "192.168.1.226"
    port => "6379"
    password => "123456"
    db => "0"
    data_type => "list"
    key => "system-log-5611"
 
}
}
 
output{
    if "system-log-5611" in [tags]  {
       elasticsearch {
            hosts => ["192.168.1.224:9200"]
            index => "system-log-5611-%{+YYYY.MM.dd}"
        }
       stdout{
           codec => rubydebug
       }
    }
}

#测试配置文件
#/usr/share/logstash/bin/logstash --path.settings /etc/logstash/ -f /etc/logstash/conf.d/logstash‐simple.conf --config.test_and_exit
Config Validation Result: OK  #代表配置文件没有问题

#将日志输出到当前的终端上显示
#/usr/share/logstash/bin/logstash --path.settings /etc/logstash/ -f /etc/logstash/conf.d/logstash‐simple.conf 

同时elasticsearch也收到索引信息

 5.添加到kibana展示

创建索引模式,创建好之后,在Discover中展示

 


 参考链接:

https://www.cnblogs.com/minseo/p/9185423.html

 

posted @ 2020-05-23 17:20  非然踏古忘今焉  阅读(362)  评论(0编辑  收藏  举报