ELK Stack (2) —— ELK + Redis收集Nginx日志
2024-10-19 00:21:42
ELK Stack (2) —— ELK + Redis收集Nginx日志
摘要
使用Elasticsearch、Logstash、Kibana与Redis(作为缓冲区)对Nginx日志进行收集
版本
elasticsearch版本: elasticsearch-2.2.0
logstash版本: logstash-2.2.2
kibana版本: kibana-4.3.1-darwin-x64
jdk版本: jdk1.8.0_65
内容
目标架构
准备工作
参考以下文章安装好ELK与Redis
ELK Stack (1) —— ELK + Redis安装
以CAS系列中的使用的Nginx负载均衡器为例
CAS (1) —— Mac下配置CAS到Tomcat(服务端)
CAS (5) —— Nginx代理模式下浏览器访问CAS服务器配置详解
ELK配置
Nginx
修改nginx.conf
log_format logstash '$http_host $server_addr $remote_addr [$time_local] "$request" '
'$request_body $status $body_bytes_sent "$http_referer" "$http_user_agent" '
'$request_time $upstream_response_time';
Elasticsearch
修改elasticsearch.yml
cluster.name: logstash_elasticsearch
http.cors.allow-origin: "/.*/"
http.cors.enabled: true
Logstash
/logstash/conf/logstash_agent.conf
input {
file {
type => "nginx_access"
path => ["/usr/share/nginx/logs/test.access.log"]
}
}
output {
redis {
host => "localhost"
data_type => "list"
key => "logstash:redis"
}
}
/logstash/conf/logstash_indexer.conf
input {
redis {
host => "localhost"
data_type => "list"
key => "logstash:redis"
type => "redis-input"
}
}
filter {
grok {
match => [
"message", "%{WORD:http_host} %{URIHOST:api_domain} %{IP:inner_ip} %{IP:lvs_ip} \[%{HTTPDATE:timestamp}\] \"%{WORD:http_verb} %{URIPATH:baseurl}(?:\?%{NOTSPACE:request}|) HTTP/%{NUMBER:http_version}\" (?:-|%{NOTSPACE:request}) %{NUMBER:http_status_code} (?:%{NUMBER:bytes_read}|-) %{QS:referrer} %{QS:agent} %{NUMBER:time_duration:float} (?:%{NUMBER:time_backend_response:float}|-)"
]
}
kv {
prefix => "request."
field_split => "&"
source => "request"
}
urldecode {
all_fields => true
}
#date {
# type => "log-date"
# match => ["timestamp" , "dd/MMM/YYYY:HH:mm:ss Z"]
#}
date {
match => ["logdate" , "dd/MMM/YYYY:HH:mm:ss Z"]
}
}
output {
elasticsearch {
#embedded => false
#protocol => "http"
hosts => "localhost:9200"
index => "access-%{+YYYY.MM.dd}"
}
}
注意有些网络示例为旧版本配置,新版本下output的embedded、protocol以及filter的date都有所更新。
Kibana
创建Index Pattern: access-*
测试
访问本地Kibana http://localhost:5601/
参考
参考来源:
logstash elasticsearch redis Kibana 收集Nginx 和Tomcat日志配置
Elastic + kibana + logstash + redis 对mongodb, nginx日志进行分析
结束
最新文章
- Android开发学习之路-提升用户体验小技巧
- Python开发入门与实战19-Windows Azure web 应用部署
- backtrack下vim的使用
- paip.mysql 全文索引查询空白解决
- C# listview 拖动节点
- oracle触发器的小例子
- IOS 通知 alarm 记录
- Tengine笔记2:通过IP、域名、端口实现虚拟主机
- 从C#到TypeScript - Reflect
- JSP页面的静态包含和动态包含
- vue-cli项目中,全局引入jquery
- 注解方式过滤器(Filter)不能过滤Servlet的问题
- 新年第一个目标一张表盘串讲所有canves的知识点
- 关于PJ 10.27
- BZOJ.3757.苹果树(树上莫队)
- 「BZOJ2153」设计铁路 - 斜率DP
- 解决IDEA中进行maven install报:系统资源不足的问题
- SpringBoot框架的权限管理系统
- 安装labelImage的问题qt
- python3 执行AES加密方法
热门文章
- M100(3) 无线数传
- docker构建Java环境
- 关于 Spring AOP (AspectJ) 该知晓的一切
- 数据同步canal服务端HA配置
- 使用iozone进行磁盘读写性能测试
- Android 关于Activity的四种启动模式的简单介绍
- DQN(Deep Reiforcement Learning) 发展历程(一)
- Features + Git + Drush,打造你的Drupal开发与维护标准工作流
- struts2_文件上传的功能
- kettle学习笔记(六)——kettle转换步骤