CentOS7.3下ELK日志分析系统集群搭建

前端之家收集整理的这篇文章主要介绍了CentOS7.3下ELK日志分析系统集群搭建前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

Elasticsearch是个基于Lucene实现的开源、分布式、restful的全文本搜索引擎,此外他还是一个分布式实时文档存储,其中每个文档的每个filed均是可被索引的数据,且可被搜索,也是一个带实时分析功能搜索引擎,能够扩展至数以百计的节点实时处理PB级别的数据。它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。Elasticsearch集群采用主从模式,通过获取Logstash客户端收集来的日志信息同步到Elasticsearch集群节点中,再由Kibana的Web界面获取到日志信息进行搜索查询工作,当Elasticsearch主节点挂掉之后,Elasticsearch从节点的数据仍就正常,需要变更Kibana的elasticsearch.url参数去指定Elasticsearch节点IP,保证ELK日志系统的正常运行。

Logstash 是开源的服务器端数据处理管道,能够同时从多个来源采集数据、转换数据,然后将数据发送到您最喜欢的“存储库”中。而当下最常用的存储库就是Elasticsearch。需要在所有需要搜集日志的客户端中安装Logstash或者Filebeat等日志搜集工具,对Logstash配置文件进行修改,指定input上下文,即搜集的日志路径(最好为绝对路径)。output上下文,指定Logstash从input搜集到的日志内容输出到哪里保存,一般指向Elasticsearch的主节点IP地址。

Kibana是一个开源的分析与可视化平台,设计出来用于和Elasticsearch一起使用的。你可以用kibana搜索、查看、交互存放在Elasticsearch索引里的数据,使用各种不同的图表、表格、地图等kibana能够很轻易地展示高级数据分析与可视化。


ELK日志系统配置:

三台CentOS7.3虚拟机

node-2 192.168.175.130 Elasticsearch

node-3 192.168.175.131 Logstash

node-4 192.168.175.132 Kibana


代码包:

wget https://download.elastic.co/elasticsearch/release/org/elasticsearch/distribution/tar/elasticsearch/2.3.4/elasticsearch-2.3.4.tar.gz

wget https://download.elastic.co/logstash/logstash/logstash-2.3.4.tar.gz
wget https://download.elasticsearch.org/kibana/kibana/kibana-4.5.3-linux-x64.tar.gz

分别在对应的虚拟机中下载。

①ELK需要在Java环境中部署,最好是在Java8以上。


关闭所有虚拟机的防火墙

#iptables -F

#setenforce 0


③安装Elasticsearch

#tar -xf elasticsearch-2.3.4.tar.gz -C /usr/local

#mv /usr/local/elasticsearch-2.3.4 /usr/local/elasticsearch

#cd /usr/local/elasticsearch/config

#vim elasticsearch.yml

elasticsearch配置如上

cluster.name:集群名称,若有多个elasticsearch节点,则每个节点都需要相同集群节点名称

node.name:节点名称,集群节点名称

node.master:指定该节点是否为主节点。

node.data:指定该节点是否为均衡器节点,true为数据节点,存储日志数据,false为均衡器节点。

path.data:存储日志数据的路径。

path.logs:elasticsearch节点的日志路径。

network.host:该主机IP。

http.port:集群中Kibana以及Logstash的访问端口,9300位Elasticsearch节点中交流的端口。

bootstrap.memory_lock:锁定堆内存。

http.cors.enabled:如果启用了 HTTP 端口,那么此属性会指定是否允许跨源 REST 请求。

http.cors.allow-orign:如果 http.cors.enabled 的值为true,那么该属性会指定允许 REST 请求来自何处。

discovery.zen.ping.unicast.hosts:elasticsearch集群节点的IP地址。


注意事项:

① 需要创建一个elasticsearch用户,并授权给Elasticsearch集群中的path.data,path.logs数据与日志路径

② max file descriptors [4096] for elasticsearch process is too low,increase to at least [65536](报错信息)

需要修改/etc/security/limits.conf


③ max virtual memory areas vm.max_map_count [65530] is too low,increase to at least [262144](报错信息)

需要修改内核参数vm.max_map_count=655360

#sysctl -w vm.max_map_count=65536

也可以直接写入到/etc/sysctl.conf(永久)

④运行elasticsearch的时候不能以root身份运行,需要以创建的elasticsearch用户的身份运行。

运行elasticsearch



④安装Logstash

#tar -xf logstash-2.3.4.tar.gz -C /usr/local

#mv /usr/local/logstash-2.3.4 /usr/local/logstash

#cd /usr/local/logstash

修改配置文件,使Logstash能够收集当前虚拟机的日志信息(需要指定),并输出到elasticsearch master主机。

input上下文表示拉取本机/var/log/test.log中的日志

output上下文表示将Logstash拉渠道的日志内容放到elasticsearch集群中,指定IP及端口,设置索引可以在Kibana上添加索引进行查询


启动Logstash


⑤安装Kibana

#tar -xf kibana-4.5.3-linux-x64.tar.gz -C /usr/local

#cd /usr/local/kibana

配置如下:

启动Kibana


在本机访问http://192.168.175.132:5601

可以在Kibana的虚拟机上安装Nginx进行反代,将所有数据反代给192.168.175.132的5601端口

实现结果:

搜索在Logstash中指定的索引作为在Kibana的日志分类


给/var/log/test.log传入数据

#cat /var/log/boot.log >> /var/log/test.log

这时候在Kibana中的Discover刷新一下即可查看到对应的日志信息。

猜你在找的CentOS相关文章