在线安装完成后,Nginx主要文件目录构成如下,启动Nginx,并使用
netstat
命令查看端口,使用压力测试工具测试Nginx,其中
-c
选项表示并发请求结果数,
-n
选项表示请求次数。下面命令表示进行100次请求,10个并发请求压力测试结果。另外,ab压测工具的一个缺陷是需要在压测URL后加上
/
符号。,压力测试完成之后,查看Nginx日志可以得到如下结果,在
/etc/filebeat/filebeat.yml
配置文件中对filebeat进行配置,将nginx的日志路径
/var/log/nginx/access.log
添加到filebeat的输入配置中,
采集日志数据,配置好filebeat采集Nginx日志数据之后,在ES-head中可以看到如下日志内容,
,
创建日志数据索引,然后在服务器启动kibana并使用浏览器访问
http://115.156.128.172:5601/
进入kibana。在该页面中选择添加数据
Add your data
,
,然后,选择创建索引
create index pattern
,
,在提示栏中,选择对应filebeat采集的日志数据创建索引,并选择时间戳
@timestamp
,
,
,
查看日志数据,完成索引创建之后,使用Discovery查看日志数据,
,在日志数据通过设置日志范围和日志字段查看指定日志内容,也可以通过全文搜索和添加过滤器的功能查看指定数据,
,默认情况下Nginx的日志数据是一条文本条目,日志条目中的字段无法拆分显示。采用怎样的方式可以将这种非结构化的日志内容转化成格式化的内容呢?,一种方法是直接将Nginx产生的日志采用Json格式保存,编辑Nginx的配置文件
/etc/nginx/nginx.conf
,添加日志保存样式,
,测试nginx配置文件修改是否有效,得到如下输出说明成功,清空Nginx原有的日志数据,重新启动Nginx并使用ab工具重新对其进行压测,产生新的日志数据,查看Nginx日志,可以看到Nginx日志已经被重新以Json格式存储,
配置Filebeat识别Json格式日志,修改Nginx保存日志格式为Json之后,还需要对采集日志的Filebeat进行重新配置,如果不对其进行配置识别Json格式日志,被采集的日志仍然会以文本条目的形式被采集。,清空Nginx日志,并重新启动filebeat;filebeat监控Nginx日志后,采用ab压测工具生成日志并采集。,采用ES-head查看采集的日志数据可以看到日志数据以Json格式保存在ES中,
,
使用Kibana查看Json格式的日志条目,创建新的Kibana索引后,使用Discovery查看日志数据,并可以通过
日志条目级的字段到达更有效的日志分析目的,
,之前使用Filebeat采集Nginx日志都是采用默认的索引创建方式形如
filebeat-7.13.2-2021.07.30-000001
,为了更好的识别索引和扩大日志采集的时间跨度,需要自定义存储索引名称。,自定义存储索引通过配置Filebeat实现,在Filebeat的配置文件中对输出进行配置如下:,采用这种配置可以自定义索引样式,并自定义Kibana中搜索的字段,删除冗余的解析字段,
,从已经安装好的节点上将filebeat安装包拷贝到其他节点上,从已经安装好的节点上将filebeat的配置文件拷贝到其他节点上,启动Filebeat和Nginx并使用master节点的ab工具进行压测产生日志数据,Filebeat的配置文件将日志数据采集并存储在ES中,多个节点的日志数据被聚合在一个ES索引中保存。,收集错误日志的需求:要能够区分错误日志和正常日志,要能够是使用单独索引存储错误日志,在filebeat配置文件
etc/filebeat/filebeat.yml
的
inputs
选项中添加如下内容,在filebeat配置文件
etc/filebeat/filebeat.yml
的输入中加入
tags
标识采集的不同类型日志数据,然后在索引设置中配置如下对日志进行拆分,让其他节点上采集Nginx日志的Filebeat的配置文件于上述配置一致,直接将该filebeat的配置文件拷贝到其他节点上覆盖,