美文网首页elk学习之旅
elk监控nginx日志

elk监控nginx日志

作者: 二十自留地 | 来源:发表于2017-05-15 22:55 被阅读0次

一:logstash配置
监控Nginx的难点在于如何通过Logstash获取想要的值
1、安装nginx并打开access_log
nginx环境 centos 6.5
rpm -ivh http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm
yum install nginx
/etc/init.d/nginx start
nginx.conf打开如下配置
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';

access_log  /var/log/nginx/access.log  main;

2:logstash创建日志格式的正则表达式
路径: /opt/logstash-5.3.0/patterns
cat nginx
NGUSERNAME [a-zA-Z.@-+_%]+
NGUSER %{NGUSERNAME}
NGINXACCESS %{IPORHOST:clientip} - %{NOTSPACE:remote_user} [%{HTTPDATE:timestamp}] "(?:%{WORD:verb} %{NOTSPACE:request}(?: HTTP/%{NUMBER:httpversion})?|%{DATA:rawrequest})" %{NUMBER:response} (?:%{NUMBER:bytes}|-) %{QS:referrer} %{QS:agent} %{NOTSPACE:http_x_forwarded_for}

3: 配置logstash的启动配置文件
cat nginx_access.conf
input{
file{
path => "/var/log/nginx/access.log"
start_position => "beginning"
}
}
filter{
mutate { replace => {"type" => "nginx_access"}}
grok {
match => {"message" => "%{NGINXACCESS}"}}
date {
match => ["timestamp","dd/MMM/YYYY:HH:mm:ss Z"]
}
}
output{
stdout{
codec => rubydebug
}
}
注意,output我这里仅输出验证,正常情况下是输出到redis
../bin/logstash -f nginx_access.conf 启动logstash后的结果打印:
{
"request" => "/",
"agent" => ""Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) C
"verb" => "GET",
"message" => "192.168.85.1 - - [15/May/2017:22:18:38 +0800] "GET / HTTP/1.1" 304 0 "-" "L, like Gecko) Chrome/57.0.2987.133 Safari/537.36" "-"",
"type" => "nginx_access",
"remote_user" => "-",
"path" => "/var/log/nginx/access.log",
"referrer" => ""-"",
"@timestamp" => 2017-05-15T14:18:38.000Z,
"response" => "304",
"bytes" => "0",
"clientip" => "192.168.85.1",
"@version" => "1",
"host" => "0.0.0.0",
"http_x_forwarded_for" => ""-"",
"httpversion" => "1.1",
"timestamp" => "15/May/2017:22:18:38 +0800"
}

elasticsearch 和kibana的配置稍后补充

相关文章

  • elk监控nginx日志

    一:logstash配置监控Nginx的难点在于如何通过Logstash获取想要的值1、安装nginx并打开acc...

  • spring-boot简单的监控

    监控 目前大部分应用在听云上面监控 缺点: 不能监控日志 自己搭建elk日志监控平台 监控logback日志,抽取...

  • elk 搭建nginx 日志监控

    一 配置nginx日志字段收集源 在nginx_home/nginx.conf的http模块里面加上以下配置 1....

  • 全文检索--ELK(六)

    一、ELK简介   ELK是当下流行的日志监控系统。ELK是Elasticsearch、Logstash、Kiba...

  • ELK+logback+kafka+nginx 搭建分布式日志分

    ELK+logback+kafka+nginx 搭建分布式日志分析平台 ELK(Elasticsearch , L...

  • ELK收集nginx的json格式日志

    为了便于利用 ELK日志平台收集展示 Nginx 的日志,可以将 Nginx 的日志改成 json 的格式 1.修...

  • ELK

    一.ELK简介 二.ELK安装部署 收集nginx日志ESfilebeatkibanaes-head 0.更新系统...

  • Filebeat占用文件句柄

    背景 平台使用整套的ELK日志框架:服务写本地文件日志,由Filebeat监控本地日志,并写入ES。本地Fileb...

  • ELK前端日志分析、监控系统

    ELK前端日志分析、监控系统 前端日志与后端日志不同,具有很强的自定义特性,不像后端的接口日志、服务器日志格式比较...

  • Prometheus 监控 Nginx

    前言 Nginx官网有介绍各种监控方案,以前我们常用stub_status和Log日志来实现Nginx监控。本文主...

网友评论

    本文标题:elk监控nginx日志

    本文链接:https://www.haomeiwen.com/subject/jzrkxxtx.html