logstash@ELK

103 阅读2分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第6天,点击查看活动详情 >>

问题描述: 开发中不难遇到一些埋log的地方, 方便后期翻阅日志进行查询一些问题, 一般来说 一些公司是直接到服务器上把log取下来进行查找, 不过日志量大的情况下你根本很难copy, 甚至很难打开这个日志文件, 这时候 我们推出一个ELK日志采集框架,这块会分是那部分进行介绍.

本期就来给大家 介绍一下这个ELK 的成员以及,都包含的一些模块,该如何使用和一些配置.
所谓 Elastic ( elasticsearch(存储日志)+logstash(收集日志) +kibana(展示数据) )是指日志采集框架,方便后期日志的检索查找,目前我们公司就正在使用这个框架做日志的采集,进行数据清洗过滤分析,根据一些需求做成Report展示于Kibana的仪表盘板块中。

这一期就从里往外给大家介绍吧,先介绍其中最累的砖头搬运工Logstash(Logstash:收集、解析和转换日志)(用于收集日志),其实很简单,到官网下载他的安装包,将其解压缩,如果需要根据自己的需求 去做一些数据处理什么的,就可以进行工作了,这三者都是通过.bat的方式进行服务启动,然而logstash是通过启动时加载配置文件的方法做一些服务配置,这里着重说一下这个conf文件的内容吧,主要是三块内容如下:

//.conf文件
input { 
//数据输入源
} 
filter { 
//数据过滤解析条件   可以不要
} 
output { 
//数据输出目标
}

我们目前用到的是输出到RabbitMQ和ES中的,直接把我们地例子贴出来吧:

output { 
    //输出至RabbitMQ
    rabbitmq {
         id => "my_plugin_id"
         exchange => "logstash.exchange"
         exchange_type =>"direct"
         key =>"logstash.key"
         host => "0.0.0.0"
         port => 5672
         user =>"admin"
         password=>"Mq@2022"
         message_properties => {
          "content_type" => "application/json"
          "priority" => 1
        } 	
    }
    //输出至ElasticSearch
    elasticsearch {
            hosts => "0.0.0.0:9200"
            user => "elastic"
            password => "08.2022"
            index => "oracle_%{+YYYY.MM.dd}"       
    }
 }

用起来还是非常方便的,不是很费劲,简单易上手,感兴趣的话可以到Logstash的官网上详细了解各种 插件和一些过滤地用法,能解决日志检索采集处理中90% 的问题,剩下的10%就跟实际业务和需求有很大的关系了。

Jrm,See you next time...