路漫漫其修道远,吾将上下而求索。
安装nginx
1 | [root@localhost ~]# yum install nginx -y |
检查elk是否均已启动:
elasticsearch
1 | [root@localhost ~]# ps -ef | grep elasticsearch |
kibana
1 | [root@localhost ~]# ps -ef | grep kibana |
kibana
1 | [root@localhost ~]# ps -ef | grep logstash |
然后去修改logstash的配置文件,设置为nginx日志文件
GROK插件
修改配置文件之前需要了解一些logstash的插件grok,我们这里使用logstash-filter-grok插件去匹配日志信息
grok插件:grok插件是logstash中非常强大的插件,其中内置了许多的正则表达式,用来正则匹配各种数据,但其性能和对资源的损耗也是让人为之诟病。
首先看一下nginx输入日志格式
1 | [root@localhost ~]# cat /etc/nginx/nginx.conf |
在以下路径下存在一个httpd的正则匹配文件,与之nginx输入日志格式相符
1 | [root@localhost patterns]# pwd |
修改配置文件
修改logstash的配置文件,使用来匹配HTTPD_COMMONLOG格式去匹配日志数据
另外也需要date插件来从字段中解析日期,然后用这个日期作为logstash中事件的时间戳(timestamp)。
1 | [root@localhost ~]# vim /usr/local/logstash-6.6.2/config/logstash.conf |
然后运行logstash
1 | [root@localhost logstash-6.6.2]# ./startup.sh |
访问kibana
在浏览器访问kibana界面,可以看到刚刚所添加的nginx日志索引
然后去建一个pattern,成功匹配到刚刚创建的索引
选时间戳,创建pattern
然后在Discover模块选nginx-*
便可以查看到nginx的日志啦
查看客户端ip
查看请求信息