本篇博客承接上篇ES集群的搭建已经部署好基本的web界面。
os:rhel7
主机名ip状态server1172.25.26.1backupserver2172.25.26.2masterserver3172.25.26.3backup安装logstash。
[root@server3 logstash]# bin/logstash -e 'input { stdin { } } output {stdout {} }' [root@server3 ~]# /usr/share/logstash/bin/logstash -e 'input { stdin { } } output { stdout {} }'之后在终端中随意输入内容进行测试。 可以看到有对应的输出。
[root@server3 conf.d]# pwd /etc/logstash/conf.d [root@server3 conf.d]# vim es.conf input { stdin {} } output { stdout {} elasticsearch { hosts => ["172.25.26.1:9200"] index => "logstash-%{+YYYY.MM.dd}" } }编写配置文件。
[root@server3 conf.d]# /usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/es.conf查看索引,可以看到当时在终端上输入的信息。
[root@server3 conf.d]# vim es.conf input { #stdin {} file { path => "/var/log/elasticsearch/my-es.log" ##日志 start_position => "beginning" } } output { stdout {} elasticsearch { hosts => ["172.25.26.1:9200"] index => "logstash-%{+YYYY.MM.dd}" } } [root@server3 conf.d]# /usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/es.conf上面添加的日志直接显示在终端上不用人工进行输入。 在浏览器上查看到这些日志,用这样的方法可以更方便的管理我们的日志,只需要修改上面日志的存放路径就可以了。
[root@server3 conf.d]# vim es.conf管理/var/log/messages下的日志。
[root@server3 conf.d]# /usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/es.conf推送。下面在看看如何删除这些信息。
点击动作,再点击删除。 出现这个对话框之后输入删除,就删除成功哦了。 查看之前的数据,果然也查看不到了。
[root@server3 file]# pwd /usr/share/logstash/data/plugins/inputs/file [root@server3 file]# l. . .. .sincedb_452905a167cf4509fd08acb964fdb20c [root@server3 file]# cat .sincedb_452905a167cf4509fd08acb964fdb20c 36305 0 64768 220708 1563446925.362003 /var/log/messages [root@server3 file]# rm -rf .sincedb_452905a167cf4509fd08acb964fdb20c再次推送时要先删除这个文件。
[root@server3 file]# /usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/es.conf刷新一下就可以查看到日志了。 下面来做一下远程日志的管理。
[root@server3 conf.d]# vim es.conf设置远程日志同步的514端口。 之后再server1进行设置。
[root@server1 elasticsearch]# vim /etc/rsyslog.conf所有类型所有级别的日志通过514端口发送给server3这台主机。
[root@server1 elasticsearch]# systemctl restart rsyslog.service重启服务后生效。
[root@server3 conf.d]# /usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/es.conf回到server3进行推送,刚开始终端上没有日志的输出,但日志同步过来之后就可以看到输出了。 日志的输出。
[root@server1 elasticsearch]# logger hello world此时再server1产生一条日志。 再server3的终端中就可以查看到这条日志。 这条日志也可以再浏览器上输入关键字查看到。
[root@server3 ~]# cd - /etc/logstash/conf.d [root@server3 conf.d]# vim test.conf input { stdin { codec => multiline { pattern => "^EOF" ##设置标识 negate => "true" what => "previous" } } } output { stdout {} } [root@server3 conf.d]# /usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/test.conf推送之后再终端输入信息,直到输入前面设定的标示EOF才会结束一次输入,这里我输入了三行。
