elk-nginx输出json格式的日志

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
elk-nginx输出json格式的日志
 
把Nginx日志的格式输出成JSON格式展示在Kibana面板,生产环境中基本都是这么使用。
 
1, 配置nginx
 
主要修改nginx的访问日志格式,这里定义成json格式,以便后面logstash更好的处理,建议生产环境也这样使用。在主配置/etc/nginx/nginx.conf文件中添加如下内容(注释其他日志格式):
 
复制代码
    log_format json '{"@timestamp":"$time_iso8601",'
                 '"host":"$server_addr",'
                 '"clientip":"$remote_addr",'
                 '"size":$body_bytes_sent,'
                 '"responsetime":$request_time,'
                 '"upstreamtime":"$upstream_response_time",'
                 '"upstreamhost":"$upstream_addr",'
                 '"http_host":"$host",'
                 '"url":"$uri",'
                 '"referer":"$http_referer",'
                 '"agent":"$http_user_agent",'
                 '"status":"$status"}';
复制代码
/etc/nginx/conf.d/default.conf中添加如下一行,定义nginx日志使用的格式,以及日志文件的位置。
 
access_log  /var/log/nginx/access.log  json;
重新启动 nginx
 
nginx -s stop
nginx
2, 配置logstash
 
修改 indexer的角色配置文件  logstash_indexer.conf
 
复制代码
input {
     redis {
       host => "localhost"
       data_type => "list"
       key => "filebeat"
       type => "redis-input"
    }
}
  
filter {
     json {
       source => "message"
       remove_field => "message"
     }
}
  
output {
    elasticsearch {
      hosts => ["localhost"]
      index => "logstash-nginx-%{+YYYY.MM.dd}"
      document_type => "nginx"
      # template => "/usr/local/logstash-2.3.2/etc/elasticsearch-template.json"
      workers => 1
      flush_size => 20000
      idle_flush_time => 10
   }
}
复制代码
删除老的 es数据
 
     
$ rm -fr /data/elasticsearch/*
然后重启 logstash 和 elasticsearch, 继续刷新 nginx日志
 
  
 
  
 
转载自: http://www.ywnds.com/?p=9776

 

当服务器上 es安装好后,第一步就是数据的增删改查。

有一些概念:

索引:  索引是集群用来存放数据的地方,可以理解为一个数据库。

index_type:索引类型,数据在索引中按照type存放。可以理解为数据库中的表。

document: es 中存放数据的最小单位,相当于数据库表中每一行的数据。  后面结合java 代码实现es 搜索,操作的结果就是document。

 

posted @   滴滴滴  阅读(374)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示