美文网首页程序员
ELK收集nginx的json格式日志

ELK收集nginx的json格式日志

作者: 南南宫问天 | 来源:发表于2020-06-22 10:45 被阅读0次

为了便于利用 ELK日志平台收集展示 Nginx 的日志,可以将 Nginx 的日志改成 json 的格式

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

image.png

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

image.png

点击Create index pattern

输入filebeat导出到elaticsearch的索引名字,再点击Next stup

image.png

过滤选项名选择@timestamp再点击Create index pattern

image.png

再点击Discover就能查看到创建的索引的数据了

image.png

再点击小三角就能看到全部都是一一对应的json格式数据了

image.png image.png

然后可以通过选择对应的字段名,来查看指定想要知道的信息
比如想查看访问的ip都有谁,见选择remote_addr再点击add

image.png

只过滤显示访问的ip

image.png

再想查看这些ip访问的状态码,就添加status

image.png image.png

以此类推,想要显示什么就添加什么

如果不想查看某个ip的访问信息,也可以排除某个ip

image.png
image.png

相关文章

  • ELK收集nginx的json格式日志

    为了便于利用 ELK日志平台收集展示 Nginx 的日志,可以将 Nginx 的日志改成 json 的格式 1.修...

  • ELK 6.6

    1.部署ELK 2.kibana导入elasticsearch数据 3. 收集 nginx json格式日志 4....

  • ELK

    一.ELK简介 二.ELK安装部署 收集nginx日志ESfilebeatkibanaes-head 0.更新系统...

  • Json 日志格式

    更改 Nginx 日志格式为 Json 格式 格式 1 格式 2

  • 005.ELK收集Nginx日志

    1. ELK收集Nginx普通格式的日志 1.1 测试服务器架构 1.2 ab工具使用 ab工具用于批量发送HTT...

  • nginx日志输出json格式

    nginx 默认输出acces日志格式是message格式。现在都做日志统一分析ELK了,message格式就不是...

  • FileBeat 解决时间冲突问题

    版本:FileBeat 6.3 问题 项目中配置了生成JSON格式的日志,方便导入到ELK中,生成格式如下: 然后...

  • ELK --- 配置Nginx访问日志

    说明 因为nginx可以自定义访问日志,而logstash处理json格式日志比较方便,所以可以先将nginx访问...

  • 日志收集ELK 实践

    ELK 是什么毋庸多说,下面是用filebeat 收集nginx的访问日志和错误日志的实践。 安装 前提条件 准备...

  • logback输出json格式日志

    为了能够更好的在ELK平台分析日志,所以配置输出json格式的日志。 配置maven的依赖 配置logback.xml

网友评论

    本文标题:ELK收集nginx的json格式日志

    本文链接:https://www.haomeiwen.com/subject/upfxfktx.html