首页 > 系统相关 >filebeat 自定义nginx的字段

filebeat 自定义nginx的字段

时间:2022-10-07 20:46:20浏览次数:44  
标签:filebeat http name 自定义 access nginx time DATA

nginx配置:

    log_format  main  '$remote_addr - $remote_user [$year-$month-$day $hour:$minutes:$seconds] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for" '
                      '"$http_x_real_ip" "$server_addr" "$host" '
                      '$request_time $upstream_response_time "$upstream_addr"';

日期格式在每个server中配置

        if ($time_iso8601 ~ "^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})") {
                        set $year $1;
                        set $month $2;
                        set $day $3;
                        set $hour $4;
                        set $minutes $5;
                        set $seconds $6;
        }

nginx字段配置(8.1.0版本)

 vim /usr/local/filebeat/module/nginx/access/ingest/pipeline.yml

- grok:
    field: event.original
    patterns:
    - (%{NGINX_HOST} )?"?(?:%{NGINX_ADDRESS_LIST:nginx.access.remote_ip_list}|%{NOTSPACE:source.address})
      - (-|%{DATA:user.name}) \[%{TIMESTAMP_ISO8601:nginx.access.time}\] "%{DATA:nginx.access.info}"
      %{NUMBER:http.response.status_code:long} %{NUMBER:http.response.body.bytes:long}
      "(-|%{DATA:http.request.referrer})" "(-|%{DATA:user_agent.original})" "%{DATA:nginx.access.xff}"
      "%{DATA:nginx.access.x_real_ip}" "%{DATA:nginx.access.server_addr}" "%{DATA:nginx.access.host}"
      %{DATA:nginx.access.request_time} %{DATA:nginx.access.upstream_response_time} "%{DATA:nginx.access.upstream_addr}"

此处重点修改了

nginx.access.time时间格式,原来是HTTPDATE,改为 TIMESTAMP_ISO8601,不然一直报错无法解析。

修改配置: vim /usr/local/filebeat/module/nginx/access/ingest/pipeline.yml

- date:
    field: nginx.access.time
    target_field: '@timestamp'
    formats:
    - yyyy-MM-dd HH:mm:ss

最后设置字段:

 vim /usr/local/filebeat/fields.yml

            - name: xff
              type: group
              description: >
                http_x_forwarded_for.
            - name: x_real_ip
              type: group
              description: >
                http_x_real_ip.
            - name: server_addr
              type: group
              description: >
                server_addr 服务器地址.
            - name: host
              type: group
              description: >
                host http_host http主机头.
            - name: request_time
              type: group
              description: >
                request_time 请求时间.
            - name: upstream_response_time
              type: group
              description: >
                upstream_response_time 后端响应时间.
            - name: upstream_addr
              type: group
              description: >
                upstream_addr 后端地址.
            - name: time_iso8601
              type: group
              description: >
                time_iso8601 iso8601格式时间.

 

标签:filebeat,http,name,自定义,access,nginx,time,DATA
From: https://www.cnblogs.com/chensuqian/p/16761887.html

相关文章

  • CentOS 7.9 安装 nginx-1.22.0
    一、CentOS7.9安装nginx-1.22.0下载地址:http://nginx.org/en/download.html2 安装前的准备 #操作系统内核版本uname-a#操作系统发行版本cat/etc/redhat......
  • 开源电子书 nginx开发手册文档 pdf
    高清扫描版下载链接:https://pan.baidu.com/s/1_LZNQWmpQno988_QDY06Og点击这里获取提取码 ......
  • android自定义控件无法显示的原因
    android自定义控件无法显示的原因​​编者:李国帅​​​​时间:2020/8/1 ​​背景:Android开发中经常会遇到时间选择,而且经常会被要求使用类似ios的滚轮风格。只是android并......
  • jira项目笔记17-自定义useArray
    2-1、要求自定义一个useArray的customhook。结合react-hook和typescript,实现对数组简单的增加、删除、清空的那个功能,并且对增加的对象类型有限制2-2、代码实现export......
  • MyBatis框架:第八章:自定义结果集,一对一,一对多,延迟加载,赖加载
    13.1、自定义结果集介绍自定义结果集,可以给复杂的对象使用。也就是对象内又嵌套一个对象。或者一个集合。在这种情况下。前面学过的知识点,已经无法直接获取出对象内对象......
  • CentOS 7.9 安装 nginx-1.22.0
    一、CentOS7.9安装nginx-1.22.0下载地址:http://nginx.org/en/download.html2安装前的准备#操作系统内核版本uname-a#操作系统发行版本cat/etc/redhat-rel......
  • 【Vue3.x】自定义hooks
    Vue3hooksvue2里的mixins相似,但是mixins会组件的配置项覆盖。vue3使用了自定义hooks替代mixnins,hooks本质上是函数,引入调用。封装自定义的hooks将图片转化成base64im......
  • Android 自定义View - 柱状波形图 wave view
    前言柱状波形图是一种常见的图形。一个个柱子按顺序排列,构成一个波形图。柱子的高度由输入数据决定。如果输入的是音频的音量,则可得到一个声波图。在一些音频软件中,我们也可......
  • nginx 一些简单访问控制模块
    nginx已经内置了一些简单的访问控制模块,利用好这些模块我们可以提升系统的安全几个比较有用的标准模块基本都是利用了access阶段的能力limit_except限制请求方法的(类似白......
  • nginx proxy webservie 问题&实践
    webservice具有特殊性,因为wsdl文件是服务器端生成的(大部分,而且是动态的),所以我们直接使用nginx进行proxy会有问题实际上此问题比较常见,而且网上也有人碰到,可能因为时间......