ELK 监控nginx log


环境:

192.168.10.129

安装ES 9200,kibana:5601

192.168.10.131

安装了logstash:9600

登录到131上

[root@localhost patterns]# pwd
/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/logstash-patterns-core-4.1.2/patterns
将创建好的nginx_access文件上传至这个目录下

vim nginx_access

URIPARAM1 [A-Za-z0-9$.+!*'|(){},~@#%&/=:;_?\-\[\]]*
NGINXACCESS %{IPORHOST:client_ip} (%{USER:ident}|- ) (%{USER:auth}|-) \[%{HTTPDATE:timestamp}\] "(?:%{WORD:verb} (%{NOTSPACE:request}|-)(?: HTTP/%{NUMBER:http_version})?|-)" %{NUMBER:status} (?:%{NUMBER:bytes}|-) "(?:%{URI:referrer}|-)" "%{GREEDYDATA:agent}"

 添加logstash的nginx 日志收集配置文件

logstash grok 内置正则:https://github.com/logstash-plugins/logstash-patterns-core/blob/master/patterns/grok-patterns

vim /etc/logstash/conf.d/nginx.conf

input {
   file {
      path  => "/usr/local/nginx/logs/access.log"
      type  => "nginx-log"
      start_position => "beginning"
    }
}

filter {
    grok {
        match => { "message" => "%{NGINXACCESS}" }
    }

}

output {
   elasticsearch {
      hosts => ["192.168.10.129:9200"]
      index => "nginx_log-%{+YYYY.MM.dd}"
   }

}

注意:如果你的log放在/var/log下请给chmod 777 /var/log -R

 添加nginx日志的可视化图形

1 添加状态码统计饼状图

 

 

 

 

 

 

 

 

 

 

 

 2 添加一个统计pv的图形

 

 

 

 

 

 3 添加ip访问量前10的ip

 

 

 

 

 

 

 

 4 访问量趋势图

 

 

 

 

 

 5 添加一个仪表盘

 

 

 

 

 

 

 

 没有nginx 索引需注意以下几点:

1:chmod 777 /var/log/nginx -R

2: pipiline.yml 文件

3:nginx log 里要有内容 可以用ab压测用具生成一些日志

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM