logstash 采集nginx 日志

简单安装nginx

root@elkstack03 \~\]# yum install -y nginx ## 主配置文件 \[root@elkstack03 \~\]# cat /etc/nginx/nginx.conf user nginx; worker_processes auto; error_log /var/log/nginx/error.log; pid /run/nginx.pid; include /usr/share/nginx/modules/\*.conf; events { worker_connections 1024; } http { 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; sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; types_hash_max_size 4096; include /etc/nginx/mime.types; default_type application/octet-stream; include /etc/nginx/conf.d/\*.conf; } ## 子配置文件 \[root@elkstack03 \~\]# vim /etc/nginx/conf.d/www.conf server{ listen 80; server_name _; root /code; index index.html; } \[root@elkstack03 \~\]# mkdir /code \[root@elkstack03 \~\]# echo 'test nginx' \> /code/index.html \[root@elkstack03 \~\]# systemctl start nginx ### 将nginx日志改成Json格式 之前我们讲了tomcat日志,在企业中,修改格式需要与开发商量,但是nginx我们不需要,如果需要原来的格式日志,我们可以将日志输出两份,一份 `main`格式,一份`Json`格式 http{ ... log_format json '{"@timestamp":"$time_iso8601",' '"host":"$server_addr",' '"ipaddr":"$remote_addr",' '"login_user":"$remote_user",' '"size":$body_bytes_sent,' '"responsetime":$request_time,' '"upstreamtime":"$upstream_response_time",' '"upstreamhost":"$upstream_addr",' '"http_host":"$host",' '"url":"$uri",' '"domain":"$host",' '"xff":"$http_x_forwarded_for",' '"referer":"$http_referer",' '"status":"$status"}'; ... } \[root@elkstack03 conf.d\]# vim www.conf server{ listen 80; server_name www.zls.com; root /code; index index.html; access_log /var/log/nginx/www.zls.com_access_json.log json; } \[root@elkstack03 conf.d\]# cat /etc/nginx/conf.d/blog.conf server{ listen 80; server_name blog.zls.com; root /blog; index index.html; access_log /var/log/nginx/blog.zls.com_access_json.log json; } ## 使用Logstash收集nginx日志 \[root@elkstack03 conf.d\]# cat /etc/logstash/conf.d/nginx_file_es.conf input{ file{ type =\> "www.zls.com_access" path =\> "/var/log/nginx/www.zls.com_access_json.log" start_position =\> "beginning" } file{ type =\> "blog.zls.com_access" path =\> "/var/log/nginx/blog.zls.com_access_json.log" start_position =\> "beginning" } } filter{ json{ source =\> "message" remove_field =\> \["message"

}

}

output{

elasticsearch{

hosts => ["10.0.0.81:9200"]

index => "%{type}-%{+yyyy.MM.dd}"

codec => "json"

}

}

root@elkstack03 conf.d\]# /usr/share/logstash/bin/logstash --path.data=/var/lib/logstash/nginx -f /etc/logstash/conf.d/nginx_file_es.conf \& kibana 展示 ![](https://file.jishuzhan.net/article/1690973510958059521/97060c16f9ff4e4fa74ca50fb9747698.png)

相关推荐
愈努力俞幸运几秒前
f12网络教程 客户端 服务端 服务器前端 后端
运维·服务器
MediaTea5 分钟前
Python OOP 设计思想 13:封装服务于演化
linux·服务器·前端·数据库·python
xinxinhenmeihao8 分钟前
使用长效代理是否存在安全风险?长效代理适合哪些应用场景?
服务器·网络·安全
未定义.2218 分钟前
第3篇:UI自动化核心操作:输入、点击、弹窗、下拉框全场景实战
运维·python·ui·自动化·jenkins·集成测试·pytest
释怀不想释怀12 分钟前
Zabbix(安装模式)
运维·云原生·zabbix
linweidong12 分钟前
AUTOSAR如何自动化生成BSW、RTE、AP模块并进行一致性校验?
运维·实时互动·自动化
大佐不会说日语~14 分钟前
Docker部署旧版本系统MySQL5.7+乱码问题解决方案
运维·docker·容器
YongCheng_Liang17 分钟前
数据库核心概念深度解析:从基础原理到 SQL 分类
运维·数据库·sql
宇钶宇夕23 分钟前
CoDeSys入门实战一起学习(六):CoDeSys软件模型核心架构——从分层结构到核心元素
运维·自动化
Web极客码24 分钟前
如何在 WordPress 中设置会员内容:简单两步实现注册用户专属访问
运维·wordpress·网站管理·网站维护