2 ELK收集nginx的json格式日志

为了便于利用 ELK日志平台收集展示 Nginx 的日志,可以将 Nginx 的日志改成 json 的格式
https://www.jianshu.com/p/b6ba259777e7

1.修改nginx配置文件

[root@db01 ~]# vim /etc/nginx/nginx.conf 
##打开nginx配置文件添加这些信息
    log_format json '{ "time_local": "$time_local", '
                            '"remote_addr": "$remote_addr", '
                            '"referer": "$http_referer", '
                            '"request": "$request", '
                            '"status": $status, '
                            '"bytes": $body_bytes_sent, '
                            '"agent": "$http_user_agent", '
                            '"x_forwarded": "$http_x_forwarded_for", '
                            '"up_addr": "$upstream_addr",'
                            '"up_host": "$upstream_http_host",'
                            '"up_resp_time": "$upstream_response_time",'
                            '"request_time": "$request_time"'
 ' }';
 ##再将日志引用改成json
     access_log  /var/log/nginx/access.log  json;

2.清空nginx原先日志

[root@db01 ~]# > /var/log/nginx/access.log 

3.重启nginx,使其配置文件生效

[root@db01 ~]# systemctl restart nginx

4.使用ab命令做模拟访问
也可以使用浏览器访问,手动生成访问日志

[root@db01 ~]# ab -n 100 -c 100 http://172.16.210.53/

5.查看日志
这时候,就能看见日志格式变成了json格式

[root@db01 ~]# tailf /var/log/nginx/access.log 
{ "time_local": "22/Jun/2020:08:53:21 +0800", "remote_addr": "172.16.210.53", "referer": "-", "request": "GET / HTTP/1.0", "status": 200, "bytes": 4833, "agent": "ApacheBench/2.3", "x_forwarded": "-", "up_addr": "-","up_host": "-","up_resp_time": "-","request_time": "0.000" }

6.使用es-head查看是否建立索引
filebeat会收集数据,然后导出至elasticsearch
在这里插入图片描述
7.修改filebeat配置文件

[root@db01 ~]# vim /etc/filebeat/filebeat.yml
filebeat.inputs:
- type: log
  enabled: true
  paths:
    - /var/log/nginx/access.log
 ##添加这两行信息,使其能解析json格式的日志
  json.keys_under_root: true
  json.overwrite_keys: true

output.elasticsearch:
  hosts: ["172.16.210.53:9200"]

8.重启filebeat

[root@db01 ~]# systemctl restart filebeat

9.回到kibana的web界面创建索引
点击management
在这里插入图片描述
点击Create index pattern

输入filebeat导出到elaticsearch的索引名字,再点击Next stup
在这里插入图片描述
过滤选项名选择@timestamp再点击Create index pattern
在这里插入图片描述
再点击Discover就能查看到创建的索引的数据了
在这里插入图片描述
再点击小三角就能看到全部都是一一对应的json格式数据了
在这里插入图片描述
在这里插入图片描述
然后可以通过选择对应的字段名,来查看指定想要知道的信息
比如想查看访问的ip都有谁,见选择remote_addr再点击add
在这里插入图片描述
只过滤显示访问的ip
在这里插入图片描述
再想查看这些ip访问的状态码,就添加status
在这里插入图片描述
在这里插入图片描述
以此类推,想要显示什么就添加什么

如果不想查看某个ip的访问信息,也可以排除某个ip
在这里插入图片描述
image.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

寰宇001

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值