EFK:免费的日志采集与可视化搜索套件

准备工作 Elasticsearch依赖Java,请安装Java 8(或更高版本) java version "1.8.0_221"Java(TM) SE Runtime Environment (build 1.8.0_221-b11)Java HotSpot(TM) 64-Bit Server VM (build 25.221-b11, mixed mode)安装Elasticsearch 可以直接从Elasticsearch官网上下载安装包,并解压。需要注意的是,elasticsearch不可以使用root身份用户,得创建单独的运行用户,并赋予其elasticsearch目录权限。 我们这里通过yum的方式在CentOS6.5 x86_64系统上使用rpm包进行安装。 创建并编辑/etc/yum.repos.d/elasticsearch.repo [elasticsearch]name=Elasticsearch repository for 7.x packagesbaseurl=https://artifacts.elastic.co/packages/7.x/yumgpgcheck=1gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearchenabled=0autorefresh=1type=rpm-md通过yum进行安装 sudo yum install --enablerepo=elasticsearch elasticsearch启动elasticsearch sudo chkconfig --add elasticsearchsudo service elasticsearch start安装Kibana 可以直接从Kibana官网上下载安装包,并解压。和elasticsearch一样,也需要为kibana创建单独的运行用户并赋予相关权限,才可以运行kibana。 我们这里通过yum的方式在CentOS6.5 x86_64系统上使用rpm包进行安装。 创建并编辑/etc/yum.repos.d/kibana.repo [kibana-7.x]name=Kibana repository for 7.x packagesbaseurl=https://artifacts.elastic.co/packages/7.x/yumgpgcheck=1gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearchenabled=1autorefresh=1type=rpm-md通过yum进行安装 sudo yum install kibana启动Kibana sudo chkconfig --add kibanasudo service kibana start安装Fluentd 请参考我们之前的文章来安装td-agent 为Fluentd安装elasticsearch插件 $ sudo /usr/sbin/td-agent-gem install fluent-plugin-elasticsearch --no-document在td-agent.conf中使用elasticsearch # get logs from syslog<source>@type syslogport 42185tag syslog</source># get logs from fluent-logger, fluent-cat or other fluentd instances<source>@type forward</source><match syslog.**>@type elasticsearchlogstash_format true<buffer>flush_interval 10s # for testing</buffer></match>这里syslog会经由Fluentd写入elasticsearch,并在elasticsearch中以logstash-%Y.%m.%d的命名方式创建索引。
启动td-agent sudo /etc/init.d/td-agent start配置rsyslogd 最后一步,我们需要在/etc/rsyslog.conf中添加如下配置,这样系统日志就可以从rsyslogd转发到Fluentd(端口为42185),并由Fluentd转发到elasticsearch中。 *.* @127.0.0.1:42185重启rsyslogd:
sudo /etc/init.d/rsyslog restart存储并搜索日志 一旦Fluentd接收到了rsyslogd发送来的日志,并将这些日志写入到elasticsearch,我们就可以通过kibana进行可视化的数据查询了。 打开kibana(http://localhost:5601),创建索引: 
设置索引模式为logstash-*,选择@timestamp作为Time Filter字段名称。 然后就可以在“Discover”面板看到rsyslogd发送过来的日志了。 
结语 至此,我们介绍了Fluentd的一个典型应用场景。事实上,Fluentd社区提供了各种各样的插件供我们处理日志。我们会在后续的插件系列文章中进一步学习。
赞 (0)
