ELK 分析 nginx access 日志
注意:修改配置后建议重新创建index
1、nginx 日志文件格式
1
2
3
|
log_format elk "$http_clientip | $http_x_forwarded_for | $time_local | $request | $status | $body_bytes_sent | "
"$request_body | $content_length | $http_referer | $http_user_agent | "
"$http_cookie | $remote_addr | $hostname | $upstream_addr | $upstream_response_time | $request_time";
|
2、logstash nginx 服务器上的配置文件 agent.conf
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
|
input {
file {
type => "elk_frontend_access"
path => ["/data/logs/flight1-access_log"]
}
}
filter {
ruby {
init => "@kname = ['http_clientip','http_x_forwarded_for','time_local','request','status','body_bytes_sent','request_body','content_length','http_referer','http_user_agent','http_cookie','remote_addr','hostname','upstream_addr','upstream_response_time','request_time']"
code => "new_event = LogStash::Event.new(Hash[@kname.zip(event.get('message').split('|'))])
new_event.remove('@timestamp')
event.append(new_event)"
}
if [request] {
ruby {
init => "@kname = ['method','uri','verb']"
code => "new_event = LogStash::Event.new(Hash[@kname.zip(event.get('request').split(' '))])
new_event.remove('@timestamp')
event.append(new_event)
"
}
if [uri] {
ruby {
init => "@kname = ['url_path','url_args']"
code => "new_event = LogStash::Event.new(Hash[@kname.zip(event.get('uri').split('?'))])
new_event.remove('@timestamp')
event.append(new_event)
"
}
kv {
prefix => "url_"
source => "url_args"
field_split => "& "
remove_field => [ "url_args","uri","request" ]
}
}
}
mutate {
convert => ["body_bytes_sent" , "integer", "content_length", "integer", "upstream_response_time", "float","request_time", "float"]
}
date {
match => [ "time_local", "dd/MMM/yyyy:hh:mm:ss Z" ]
locale => "en"
}
grok {
match => { "message" => "%{IP:clientip}" }
}
geoip
{
source => "clientip"
}
}
output {
redis {
host => "10.10.45.200"
data_type => "list"
key => "elk_frontend_access:redis"
port=>"5379"
}
}
|
3、logstash elk服务器上的配置文件server.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
input {
redis {
host => "10.10.45.200"
data_type => "list"
key => "elk_frontend_access:redis"
port =>"5379"
}
}
output {
elasticsearch {
hosts => "10.10.45.200:8200"
index => "logstash-zjzc-frontend-%{+YYYY.MM.dd}"
}
stdout {
codec => rubydebug
}
}
|
注意:如果修改后没有生效,在kibana上重建索引。
本文转自1321385590 51CTO博客,原文链接:http://blog.51cto.com/linux10000/1922391,如需转载请自行联系原作者
ELK 分析 nginx access 日志相关推荐
- CentOS 7.2下ELK分析Nginx日志生产实战(高清多图)
注:本文系原创投稿 本文以api.mingongge.com.cn域名为测试对象进行统计,日志为crm.mingongge.com.cn和risk.mingongge.com.cn请求之和(此二者域名 ...
- 通过分析nginx的日志来过滤出访问过于频繁的IP地址,然后添加到nginx的blockip.conf,并重启nginx...
为什么80%的码农都做不了架构师?>>> 通过分析nginx的日志来过滤出访问过于频繁的IP地址,然后添加到nginx的blockip.conf,并重启nginx 脚本如下: ...
- 使用ELK分析Windows事件日志
这是ELK入门到实践系列的第三篇文章,分享如何使用ELK分析Windows事件日志. Windows系统日志是记录系统中硬件.软件和系统问题的信息,同时还可以监视系统中发生的事件.用户可以通过它来检查 ...
- 利用ELK分析Nginx日志生产实战(高清多图)
本文以api.mingongge.com.cn域名为测试对象进行统计,日志为crm.mingongge.com.cn和risk.mingongge.com.cn请求之和(此二者域名不具生产换环境统计意 ...
- GoAccess安装及分析nginx实时日志
GoAccess是一个基于终端的快速日志分析器.其核心思想是实时快速分析和查看Web服务器统计信息,而无需使用您的浏览器(如果您希望通过SSH快速分析访问日志,或者只是喜欢在终端中工作),终端输出是默 ...
- awstats linux日志分析,(总结)Linux下使用awstats分析Nginx的日志详情
系统环境为CenoOS 5.6,详细请参考之前的日志<CentOS 5.x使用yum安装Nginx+PHP(FastCGI)+MySQL生产环境>. Awstats 是目前最流行的日志分析 ...
- 在Linux中使用GoAccess分析Nginx的日志
一 GoAccess简介 GoAccess是一款日志分析工具,可以用来分析Apache,IIS,Nginx的日志,或者一些其他web服务的日志.其特点是安装简单,使用方便,分析速度快 二 GoAcce ...
- nginx access日志按时间进行分割
按小时过滤日志: #!/bin/bash #file log path log_file='/var/log/nginx/access.log'last_hour=1 # start time sta ...
- shell分析nginx access log日志
统计访问最多的ip 1. tail -n 10000 xxaccess_log | cut -d " " -f 1 |sort|uniq -c|sort -rn|head -10 ...
最新文章
- ASP.NET Process Model之二:ASP.NET Http Runtime Pipeline - Part II
- python怎么做q检验_统计学_Cochran’s Q Test(python代码实现)
- html select选择事件_按键精灵的Html系列命令实战讲解
- serverless 构建_使用Serverless,StepFunction和StackStorm Exchange构建社区注册应用程序-第2集...
- c语言 sqrt求100以内素数,C语言实现判断一个数是否为素数并求100以内的所有素数...
- 大专学计算机应用难吗,上了两年技校,专业是计算机应用,什么也没学到。现在想在去上个大专。学什么专业好呢。?...
- ubuntu下安装模拟环境carla
- mysql 索引使用不当_MySQL笔记:select默认使用不当索引导致的巨大性能损失问题_MySQL...
- plsql登录空白框_王者荣耀空白居中以及重复名的教程[含软件]
- 利用图片延迟加载来优化页面性能(jQuery)
- 扫码连wifi小程序源码
- CAML语法- Query写法
- SQL2000 挂起
- Scratch案例——画彩虹
- html存储数据的方法,数据存储方式有哪些
- 为你的程序创建一个控制台
- Java入门第三季-综合实战:简易扑克牌游戏
- 水经注能否将dwg转出为shp?
- 学习会计实操真的有用吗?
- 量化-JoinQuant
热门文章
- linux 内核裁剪的具体过程和方法,Linux内核裁剪的具体过程和方法
- 分享到facebook没有封面图_拾柒自制书封面图分享~
- 友盟统计java代码_SFAnalytics 分析友盟统计源码,反编译 SDK,还有部分没有 出来 android 259万源代码下载- www.pudn.com...
- 一般程序句柄多少linux,一个进程能够打开最大文件句柄数设到多大才合适(Linux)...
- 笔记本连接显示器后没有声音_电脑用HDMI外界显示器后,没有声音
- vim配置之spacevim
- sql中in与php数组,格式化SQL“IN”子句的PHP数组
- 用HTML做一个简单的web登录页面,简单的JavaWeb注册登录案例
- tp框架中引入php文件,Laravel框架及ThinkPHP框架超级简单的公共文件引入(保留变量)...
- linux lzo 压缩文件,Linux常用压缩和解压命令