分布式系统日志收集ELK

1.ELK介绍

ElK,即ElasticSearch+Logstash+Kibana

ElasticSearch是一个基于Lucene的开源分布式搜索服务器。它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是第二流行的企业搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。

Logstash是一个完全开源的工具,它可以对你的日志进行收集、过滤、分析,支持大量的数据获取方法,并将其存储供以后使用(如搜索)。说到搜索,logstash带有一个web界面,搜索和展示所有日志。一般工作方式为c/s架构,client端安装在需要收集日志的主机上,server端负责将收到的各节点日志进行过滤、修改等操作在一并发往elasticsearch上去。  

Kibana是一个基于浏览器页面的Elasticsearch前端展示工具,也是一个开源和免费的工具,Kibana可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助您汇总、分析和搜索重要数据日志。

2. 安装logstash

前面的博客已经讲解了如何安装elasticsearch和kibanba,所以这里只讲解如何安装logstash

① 上传以下压缩文件到/usr/local目录

② 解压logstash-6.4.3.tar.gz

[root@localhost local]# tar -zxvf logstash-6.4.3.tar.gz

③ 演示收集elasticsearch的日志信息

首先把以下文件上传到服务器/usr/local/logstash-6.4.3/config

  mayikt01.conf

input {
    # 从文件读取日志信息 输送到控制台
    # path 读取的日志位置
    # type 类型,可自定义
    file {
        path => "/usr/local/elasticsearch-6.4.3/logs/myes.log"
        codec => "json" ## 以JSON格式读取日志
        type => "elasticsearch"
        start_position => "beginning"
    }
	
}

# filter {
#
# }

output {
    # 标准输出 
    # stdout {}
    # 输出进行格式化,采用Ruby库来解析日志   
     stdout { codec => rubydebug }
}

④ 启动,进入logstash下的bin目录,执行以下命令

[root@localhost bin]# ./logstash -f ../config/mayikt01.conf

此时在/usr/local/elasticsearch-6.4.3/logs/myes.log日志文件输入内容:

可以看到logstash会实时刷新,且是json格式数据,message即为同步的数据

猜你喜欢

转载自blog.csdn.net/AkiraNicky/article/details/86026908