ELK-filebeat+logstash采集nginx日志

2023-05-16

ELK-filebeat+logstash采集nginx日志

文章目录

    • ELK-filebeat+logstash采集nginx日志
  • 前言
  • 采集访问日志
    • 第一种方式:修改nginx访问日志输出格式为json
      • 修改nginx
      • filebeat
      • 修改logstash
      • kibana查看
    • 第二种:使用filebeat模块
      • 修改elasticsearch
      • 修改filebeats

前言

这里直接描述filebeat+logstash采集nginx日志配置,语法介绍小。

采集访问日志

第一种方式:修改nginx访问日志输出格式为json

修改nginx

nxinx输出日志可以修改,内置一些宏可直接使用,具体参考官网
在nginx.conf的http模块下添加

log_format json '{ "@timestamp": "$time_iso8601", '
                         '"time": "$time_iso8601", '
                         '"remote_addr": "$remote_addr", '
                         '"remote_user": "$remote_user", '
                         '"body_bytes_sent": "$body_bytes_sent", '
                         '"request_time": "$request_time", '
                         '"status": "$status", '
                         '"host": "$host", '
                         '"request": "$request", '
                         '"request_method": "$request_method", '
                         '"uri": "$uri", '
                         '"http_referrer": "$http_referer", '
                         '"body_bytes_sent":"$body_bytes_sent", '
                         '"http_x_forwarded_for": "$http_x_forwarded_for", '
                         '"http_user_agent": "$http_user_agent" '
                    '}';

在具体的server模块下添加

access_log  logs/access_json.log  json;

这里的json是上面的日志输出格式.
修改后access_json.log每行输出日志是如下json格式

{ "@timestamp": "2019-03-06T10:10:24+08:00", "time": "2019-03-06T10:10:24+08:00", "remote_addr": "192.168.2.57", "remote_user": "-", "body_bytes_sent": "4912", "request_time": "0.250", "status": "200", "host": "192.168.1.243", "request": "GET /api/projects/templates/folders HTTP/1.1", "request_method": "GET", "uri": "/api/projects/templates/folders", "http_referrer": "http://192.168.1.243:85/", "body_bytes_sent":"4912", "http_x_forwarded_for": "-", "http_user_agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.109 Safari/537.36" }

filebeat

修改filebeat.yml配置文件,在filebeat.inputs添加如下:

- type: log
  enabled: true
  paths:
    - D:\soft\nginx\nginx-1.15.2\logs\access_json.log
  json.keys_under_root: true
  json.overwrite_keys: true
  fields:
    appname: nginx_access

修改logstash

input{
	beats  {
		port => 515
		type=>"beatss"
   	}
}

output{
	if [fields][appname] == "nginx_access"{
		elasticsearch {
			hosts => ["127.0.0.1:9200"]
			index => "nginx-access-%{+YYYY.MM.dd}"
		}
	}
}

kibana查看

结果如下
在这里插入图片描述

第二种:使用filebeat模块

filebeat自带一些常用应用的模块,位于modules.d目录,带disabled后缀的表示不可使用,去掉就表示或使用。
使用模块的情况下,数据是直接传递给elasticsearch。
请参考官方文档,这里简单记录下

修改elasticsearch

elasticsearch安装插件

sudo bin/elasticsearch-plugin install ingest-geoip
sudo bin/elasticsearch-plugin install ingest-user-agent

安装完后重启

修改filebeats

修改filebeats.yml,配置elasticsearch和kibana

output.elasticsearch:
  hosts: ["myEShost:9200"]
setup.kibana:
  host: "mykibanahost:5601"

执行命令(等于于把modules.d/nginx.yml.disabled后缀disabled去掉)

filebeat.exe modules enable nginx

列出所有模块状态:filebeat modules list
修改nginx.yml

- module: nginx
  access:
    enabled: true
    var.paths: ["D:\\soft\\nginx\\nginx-1.15.2\\logs\\access.log"]
    
  error:
    enabled: true
    var.paths: ["D:\\soft\\nginx\\nginx-1.15.2\\logs\\error.log"]

注意windows系统里使用\

启动:filebeat -e

在elasticsearch里会自动创建一个filebeat+filebeat版本号+当前日期的index

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ELK-filebeat+logstash采集nginx日志 的相关文章

随机推荐

  • 回首2013,展望2014

    此刻值此2013年末 xff0c 明天便是元旦 近日浏览CSDN论坛时 xff0c 发现有许多的坛友都在写2013年度总结 xff0c 博客作为个人的名片 xff0c 也决定开始尝试写博客 xff0c 我的第一篇博客就是关于2013年度总结
  • MSSQL分享:sp_writeall 将文本文件内容全部写入某一文件

    alter PROC sp writeall 64 dirpath varchar 1024 64 filetype varchar 255 61 39 sql 39 as declare 64 sql varchar 4000 64 sq
  • 多旋翼飞行器设计与控制实践学习总结

    在11 4 3半自主控制模式控制器上加入自己的控制器 注意事项 1 在进行硬件在环仿真时必须保证整个系统是离散控制系统 xff0c 这里有一个傻瓜式的方式 xff0c 就是一键将所有模块均替换为离散模块 xff0c 可以参照这个连接 htt
  • 如何看英文文档

    本一直以为看不懂官方英文文档是因为词汇量不够 后来发现其实并不是 xff0c 如果没有专业背景 xff0c 没有相应的知识点 xff0c 就算你认识这个单词 xff0c 也会看不懂他在说什么 理由如下 xff1a 在看MyBatis Gen
  • 技术人成长中的得与失,想当程序员或者已经是程序员的要注意了!

    每个人在成长过程中 xff0c 都免不了在得失中摇晃 xff0c 对我来说 xff0c 将来如何更好地去平衡得失 xff0c 是需要思考的问题 xff0c 而对新入行的年轻人来说 xff0c 能从我这些总结中获得一点点启发 xff0c 那我
  • UCOSII 使用笔记

    UCOS使用总结 1 UCOS 是抢占式系统 xff0c 换句话来说 xff0c 优先级高的能够被准时执行 xff0c 优先级低的很容易被高优先级抢占 xff0c 导致执行任务延迟 2 UCOS一般为64个优先级 xff0c 有些可以到25
  • 在华清远见学习嵌入式开发的总结

    一 前言 在华清 xff08 成都中心 xff09 四个多月的学习即将结束 xff0c 在学习中有学到新知识的兴奋 xff0c 也有为代码中的bug而难受一整天的痛苦 xff0c 这些都是学习过程中的常态 xff0c 只要我们善于总结 xf
  • LDMDA指令使用的方法

    在linux内核中 xff0c 文件arch arm kernel head common S中 xff0c 有如下代码 xff1a lookup processor type adr r3 3f ldmda r3 r5 r7 long p
  • ELK-FileBeat入门

    ELK FileBeat入门 文章目录 ELK FileBeat入门 前言windows上安装filebeat配置授之以鱼不如授之以渔输入端配置 前言 filebeat是logstash轻量级版 xff0c 功能相对比nxlog全很多 xf
  • 树莓派3B+安装Ubuntu mate 20.04 armhf

    众所周知 xff0c 树莓派3B 43 使用了64位ARM xff0c 因此可以安装ARM64版本的Ubuntu mate 然而 xff0c 此版本官网明确说更适合2G内存以上的树莓派使用 xff0c 树莓派3B 43 是1G内存啊 xff
  • Linux apt 命令

    apt xff08 Advanced Packaging Tool xff09 是一个在 Debian 和 Ubuntu 中的 Shell 前端软件包管理器 apt 命令提供了查找 安装 升级 删除某一个 一组甚至全部软件包的命令 xff0
  • 基python实现多线程网页爬虫

    一般来说 xff0c 使用线程有两种模式 一种是创建线程要执行的函数 把这个函数传递进Thread对象里 xff0c 让它来执行 另一种是直接从Thread继承 xff0c 创建一个新的class xff0c 把线程执行的代码放到这个新的c
  • C++中的HTTP协议问题

    1 HTTP Hyper Text Transfer Protocol xff08 超文本传输协议 xff09 是一种通信协议 xff0c 它允许将超文本标记语言 HTML 文档从Web服务器传送到客户端的浏览器 在Internet中所有的
  • DB2 的自增主键方式

    DB2 的自增主键方式 xff1a 1 not null generated by default as identity 不会自增长 一定要指定主键值 2 not null GENERATED ALWAYS AS IDENTITY 自增
  • “猿”?“媛”?

    我来自农村 xff0c 父辈告诉我读书是走出这里的唯一途径 xff0c 所以 xff0c 教育在我们家备受重视 高考那年家里发生了一场变故 xff0c 我亲爱的爷爷去世了 xff0c 高考 xff0c 我是一个人跟着学校的车去考试的 xff
  • bootstrap后台 uniform.default.css 使用checkbox 默认选不中问题

    昨天在实际操作中遇见了一个问题 input type 61 39 checkbox 39 设置ckecked 选不中 一直以为是js问题 后来F12看页面发现 是样式的掩盖 lt label gt lt input name 61 34 g
  • linux下安装ffmpeg 语音amr文件为MP3 包含各依赖

    最近安装ffmpeg 转换语音amr文件为MP3 xff0c 在网上查看了很多的版本 xff0c 都是要make 编译 xff0c 而且还有装各种依赖 xff0c 如MP3解码lame等 在官网找到已打包好的文件 xff0c 直接安装 ht
  • 新浪微博与微信公众号开发总结

    微信公众号开发总结 微信公众号开发者文档地址 xff1a https mp weixin qq com wiki t 61 resource res main amp id 61 mp1445241432 可根据文档开始微信者公众号开发 x
  • ROS学习笔记(三)

    元功能包 将plumbing pub sub plumbing server client plumbing param server关联在一起 http wiki ros org catkin package xml Metapackag
  • ELK-filebeat+logstash采集nginx日志

    ELK filebeat 43 logstash采集nginx日志 文章目录 ELK filebeat 43 logstash采集nginx日志 前言采集访问日志第一种方式 xff1a 修改nginx访问日志输出格式为json修改nginx