filebeat抓取nginx日志

目录

一、抓取普通的应用输出日志到elasticsearch

二、抓取nginx日志输出到ElasticSearch

2.1、nginx.conf设定日志输出为JSON格式

2.2、nginx.conf设定日志按天输出文件

[2.3、抓取Nginx JSON到ElasticSearch配置](#2.3、抓取Nginx JSON到ElasticSearch配置)


一、抓取普通的应用输出日志到elasticsearch

  • type: log

默认是 5s

scan_frequency: 5s

enabled: true

encoding: utf-8

paths:

  • /opt/mydomain.cn/log-file.log

multiline.pattern: '^0-9{4}-0-9{2}-0-9{2} 0-9{2}:0-9{2}:0-9{2},0-9{3}'

multiline.negate: true

multiline.match: after

tags: "IP地址","业务名","myapi","dev"

fields:

app_from: myapi-172

fields_under_root: true

二、抓取nginx日志输出到ElasticSearch

2.1、nginx.conf设定日志输出为JSON格式

复制代码
log_format main '{ "time_local": "$time_local",'
                        '"remote_addr": "$remote_addr",'
                        '"referer": "$http_referer",'
                        '"uri": "$host$uri",'
                        '"status": $status,'
                        '"bytes": $body_bytes_sent,'
                        '"up_addr": "$upstream_addr",'
                        '"upstream_time": "$upstream_response_time",'
                        '"request_time": "$request_time"'
                        '}';

2.2、nginx.conf设定日志按天输出文件

复制代码
map $time_iso8601 $logdate {
        '~^(?<ymd>\d{4}-\d{2}-\d{2})' $ymd;
        default 'date-not-found';
        }
    access_log logs/access-$logdate.log main;

2.3、抓取Nginx JSON到ElasticSearch配置

bash 复制代码
- type: log
  # 默认是 5s
  scan_frequency: 10s
  enabled: true
  encoding: utf-8
  paths:
    - /usr/local/nginx/logs/*.log
  json.keys_under_root: true  # Flase会将json解析的格式存储至messages,改为true则不存储至
  json.overwrite_keys: true  #覆盖默认message字段,使用自定义json格式的key
  tags: ["11.111.11.111","nginx","dev"]
  fields:
    app_from: nginx-111
  fields_under_root:  true

这一么一点点配置,搞了一整天,才整明白。

相关推荐
蓝斯4974 小时前
[原创]《C#高级GDI+实战:从零开发一个流程图》第章:增加贝塞尔曲线,上、下、左、右连接点
java·c#·流程图
前端工作日常4 小时前
我学习到的Java 的 Service 分层:itf 和 impl 到底是什么?
java·后端
都叫我大帅哥5 小时前
Spring @Transactional 注解完全指南
java·spring
Java成神之路-5 小时前
G1 垃圾回收器 :SATB + TAMS核心机制深度解析
java·jvm
前端工作日常5 小时前
我学习到的JIT即时编译与机器码缓存失效
java·后端
带刺的坐椅5 小时前
Solon 的 10 种 HTTP 服务器:改一行依赖,换一个引擎
java·solon·jetty·undertow·mcp-server·htttp
xcLeigh6 小时前
Go入门:变量声明的五种方式详解
java·开发语言·golang
冬奇Lab6 小时前
开源项目第173期:AI For Beginners — 微软出品的 12 周 24 课 AI 完整课程
人工智能·开源·资讯
AI大模型-小华6 小时前
Codex 三方充值快速入门指南
java·前端·数据库·chatgpt·ai编程·codex·chatgpt pro
Mark_ZP7 小时前
【锁1】Synchronized vs ReentrantLock区别
java