ELK使用redis做中间键,减少整个elk的压力

1、安装redis,安装部署过程这里不介绍(这里redis的ip为192.168.0.197,端口为6379)

2、配置logstash的收集数并导入redis的配置文件和从redis中获取数据导入elasticsearch的两个配置文件

1、配置导入redis数据的配置文件,并启动logstash服务

input {
      file{
        path => "/var/log/messages"             #指定要收集的日志文件
  type => "system"  #指定类型为system,可以自定义,type值和output{ } 中的type对应即可
        start_position => "beginning"       #从开始处收集
        }
      file{
        path => "/home/otc/otc-web/logs/gxzx-otc-web.log"
        type => "otc"
        start_position => "beginning"
         }
       file{ 
        path => "/home/deploy/financial-management/logs/gxzx-fin-web.log"
        type => "financial"
        start_position => "beginning"
          }
       file{
        path => "/home/deploy/activity_service/logs/gxzx-act-web.log"
        type => "act"
        start_position => "beginning"
       }     
       file{
        path => "/home/deploy/mining/logs/gxzx-min-web.log"
        type => "mining"
        start_position => "beginning"
}     
       }
output {
        if [type] == "system" {
             redis {
                 host => "192.168.0.197"
                 password => '901Bcpct'
                 port => "6379"
                 db => "3"
                 data_type => "list"
                 key => 'logs_system'
             }
        }
        if [type] == "otc" {
             redis {
                 host => "192.168.0.197"
                 password => '901Bcpct'
                 port => "6379"
                 db => "3"
                 data_type => "list"
                 key => 'logs_otc'
             }
        }
        if [type] == "financial" {
             redis {
                 host => "192.168.0.197"
                 password => '901Bcpct'
                 port => "6379"
                 db => "3"
                 data_type => "list"
                 key => 'logs_financial'
             }
        }
        if [type] == "act" {
             redis {
                 host => "192.168.0.197"
                 password => '901Bcpct'
                 port => "6379"
                 db => "3"
                 data_type => "list"
                 key => 'logs_act'
             }
        }
        if [type] == "mining" {
             redis {
                 host => "192.168.0.197"
                 password => '901Bcpct'
                 port => "6379"
                 db => "3"
                 data_type => "list"
                 key => 'logs_mining'
             }
        }
}

启动服务:

在源码安装的logstash的bin目录下执行,后面还要加一路径,默认是当前执行这的家目录下
 ./logstash -f input_redis.conf &

2、配置从redis导出数据的配置文件

input {
        beats {
            port => 5045
        }
        if [type] == "system" {
             redis {
                 host => "192.168.0.197"
                 password => '901Bcpct'
                 port => "6379"
                 db => "3"
                 data_type => "list"
                 key => 'logs_system'
        }
        }
        if [type] == "otc" {
             redis {
                 host => "192.168.0.197"
                 password => '901Bcpct'
                 port => "6379"
                 db => "3"
                 data_type => "list"
                 key => 'logs_otc'
             }
        }
        if [type] == "financial" {
             redis {
                 host => "192.168.0.197"
                 password => '901Bcpct'
                 port => "6379"
                 db => "3"
                 data_type => "list"
                 key => 'logs_financial'
             }
        }
        if [type] == "act" {
             redis {
                 host => "192.168.0.197"
                 password => '901Bcpct'
                 port => "6379"
                 db => "3"
                 data_type => "list"
                 key => 'logs_act'
             }
        }
        if [type] == "mining" {
             redis {
                 host => "192.168.0.197"
                 password => '901Bcpct'
                 port => "6379"
                 db => "3"
                 data_type => "list"
                 key => 'logs_mining'
             }
        }
}


output {
        if [type] == "system" {           #如果type为system,
           elasticsearch {                  #就输出到Elasticsearch服务器
             hosts => ["192.168.0.117:9200"]               #Elasticsearch监听地址及端口
             index => "system-%{+YYYY.MM.dd}"           #指定索引格式
                }
             }
        if [type] == "otc" {
  elasticsearch {
             hosts => ["192.168.0.117:9200"]
             index => "nginx_otc-%{+YYYY.MM.dd}"
               }
             } 
        if [type] == "financial" {
          elasticsearch {
             hosts => ["192.168.0.117:9200"]
             index => "nginx_financial-%{+YYYY.MM.dd}"
             }
          }  
        if [type] == "act" {
          elasticsearch {
             hosts => ["192.168.0.117:9200"]
             index => "act_log-%{+YYYY.MM.dd}"
             }
          }  
        if [type] == "mining" {
          elasticsearch {
             hosts => ["192.168.0.117:9200"]
             index => "mining_log-%{+YYYY.MM.dd}"
             }
          }  
        } 

同样启动服务

./logstash -f output_redis.conf --path.data=/home/elk/ &
此时我将路径改成了另一个路径了

此时我们就可以在redis上看到我们刚刚加的key和值

 此时我们的redis就加入到我们的elk当中

ELK是三个开源软件的缩写,分别表示:Elasticsearch , Logstash, Kibana , 它们都是开源软件。新增了一个FileBeat,它是一个轻量级的日志收集处理工具(Agent),Filebeat占用资源少,适合于在各个服务器上搜集日志后传输给Logstash,官方也推荐此工具。Elasticsearch是个开源分布式搜索引擎,提供搜集、分析、存储数据三大功能。它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。Logstash 主要是用来日志的搜集、分析、过滤日志的工具,支持大量的数据获取方式。一般工作方式为c/s架构,client端安装在需要收集日志的主机上,server端负责将收到的各节点日志进行过滤、修改等操作在一并发往elasticsearch上去。Kibana 也是一个开源和免费的工具,Kibana可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助汇总、分析和搜索重要数据日志。该课程从ELK组件中的两大组件和常用的应用日志收集进行剖析讲解。(1)ElasticSearch:从单台的安装到集群的搭建、从基础的入门使用到高级的搜索和聚合都进行了较好的阐述。(2) Logstash:通过收集apache日志,使用grok插件和geoip插件先让学习人员对整体框架到了了解于胸。然后再深入的对LogStash重要的知识点进行了剖析。(3)应用日志收集:对常见的Apache、Nginx、MySQL、Syslog进行日志收集和分析。虽说没有讲解太多,但是我想应该能到让大家对应用日志收集了解的更加深入。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yunson_Liu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值