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 packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=0
autorefresh=1
type=rpm-md
通过yum进行安装 sudo yum install --enablerepo=elasticsearch elasticsearch
启动elasticsearch sudo chkconfig --add elasticsearch
sudo 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 packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
通过yum进行安装 sudo yum install kibana
启动Kibana sudo chkconfig --add kibana
sudo 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 syslog
port 42185
tag syslog
</source>
# get logs from fluent-logger, fluent-cat or other fluentd instances
<source>
@type forward
</source>
<match syslog.**>
@type elasticsearch
logstash_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)