EFK日志管理初探

非 Y 不嫁゛ 提交于 2019-12-03 08:12:18

简述
Elasticsearch,Fluentd,和Kibana(EFK)允许你收集、索引、搜索、和可视化日志数据。
Elasticsearch
elasticsearch是基于Lucene的搜索服务器,提供实时搜索和分析数据。它提供了一个分布式、多租户可全文搜索引擎REST风格的Web界面和无模式JSON文件。
Kibana
kibana是一个开源的(Apache许可),Elasticsearch的基于浏览器的分析和搜索仪表板。
探索和可视化你的数据。
Fluentd
Fluentd负责从节点收集日志条目,丰富他们的元数据,送他们到Elasticsearch。
搭建一个简单的EFK
在本文中,采用的efk组件为最新稳定版本,elasticsearch-2.4.0,kibana-4.6.1,
td-agent-2.3.2-0。安装方式为RPM安装,其他安装方式及其软件下载地址参考如下:
elasticsearch
https://www.elastic.co/guide/en/elasticsearch/reference/current/_installation.html
https://www.elastic.co/downloads/elasticsearch
kibana
https://www.elastic.co/guide/en/kibana/current/setup-repositories.html
https://www.elastic.co/downloads/kibana
fluentd
http://docs.fluentd.org/categories/installation
环境说明:
2台centos7系统的服务器
elasticsearch搭建集群
kibana搭建在任何一台(kibana也可以高可用,用nginx做代理等,以后再做分享)
fluentd安装在每一台服务器,做日志收集
最终收集这两台服务器的日志进行管理,并通过kibana可视化日志

安装elasticsearch
在两台服务器上都安装
1. 安装java环境
[root@localhost yum.repos.d]# yum -y install java
2. 安装elasticsearch
[root@localhost ~]# yum -y localinstall elasticsearch-2.4.0.rpm
安装kibana
安装任意一台服务器上
[root@localhost ~]# yum -y localinstall kibana-4.6.1
安装插件
两台服务器都安装
为了更好的理解和管理日志,我们安装下面插件进行说明
marvel (监控数据)
[root@localhost ~]# cd /usr/share/elasticsearch/
bin/plugin install license
bin/plugin install marvel-agent
[root@localhost ~]# cd /opt/kibana/
bin/kibana plugin –install elasticsearch/marvel/latest
Graph (分析数据)
[root@localhost ~]# cd /usr/share/elasticsearch/
bin/plugin install graph
[root@localhost ~]# cd /opt/kibana/
bin/kibana plugin –install elasticsearch/graph/latest
Head(es集群监控插件)
[root@localhost elasticsearch]# bin/plugin install mobz/elasticsearch-head
其它插件请参照官网。
启动服务
启动各节点上的相应服务
[root@localhost ]# systemctl start elasticsearch
[root@localhost ]# systemctl enable elasticsearch
[root@localhost ]# systemctl start kibana
[root@localhost ]# systemctl enable kibana
访问kibana验证
注:如果服务器防火墙为关闭,请允许tcp端口5601(kibana),9200(es),9300(es集群)开启。
下图是访问kibana的效果图

下图是查看elasticsearch的集群状态

这里写图片描述

安装Fluentd

[root@localhost ]# curl -L https://toolbelt.treasuredata.com/sh/install-redhat-td-agent2.sh | sh
安装插件
/usr/sbin/td-agent-gem install fluent-plugin-elasticsearch

修改各组件配置文件

本文中修改efk三大组件的对应参数,实现最终效果。其配置文件的详细说明将在下期分享。
1.修改kibana
[root@localhost kibana]# vi /opt/kibana/config/kibana.yml
这里写图片描述

2.修改elasticsearch.yml

es的配置文件是一个yaml文件,配置文件位置在/etc/elasticsearch/下,该目录下有两个文件,elasticsearch.yml是服务配置文件,logging.yml是日志配置文件。以下是配置文件具体说明。
[root@localhost EFK]# vi /etc/elasticsearch/elasticsearch.yml

cluster字段配置群集信息,主要是cluster.name字段;es会自动发现在同一网段下的es,如果在同一网段下有多个集群,es服务用该属性来区分不同的集群。
# ———————————- Cluster ———————————–

cluster.name: my-es

该字段描述节点信息

# ———————————— Node ————————————

node.name: es-node-1
node.master: true
指定该节点是否有资格被选举成为node,默认是true,es是默认集群中的第一台机器为master,如果这台机挂了就会重新选举master。
node.data: true
指定该节点是否存储索引数据,默认为true。
. .
该字段描述路径,可以自行调整,默认在es根目录下。 ——————– Paths ———————————-
网络相关字段,主要设置需要绑定的ip和端口。es节点间交互的tcp端口为9300,对外是http的9200口。
# ———————————- Network ———————————–

network.host: 192.168.1.135
http.port: 9200
集群服务发现
# ——————————— Discovery ———————————-

discovery.zen.ping.unicast.hosts: [“192.168.1.175”, “192.168.1.176”]

3.Fluentd配置
cp /etc/td-agent/td-agent.conf /etc/td-agent/td-agent.conf.bak
vi /etc/td-agent/td-agent.conf
写配置文件内容,去收集不同的日志,具体说明见Fluentd配置
[root@…]# chmod 644 /var/log/messages
[root@…]# systemctl restart systemctl restart
访问:http://ip:5601 进入kibana页面

这里写图片描述

进入之后可以查看到日志,也可以进入Marvel查看。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!