如何使用logstash同步nginx日志到数据库
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,概述logstashlogstash就是一根具备实时数据传输能力的管道,负责将数据信息从管道的输入端传输到管道的输出端;与此同时这根管道还可以让你根据自己的需求在中间加上滤网,Logstash提供里很
千家信息网最后更新 2025年12月02日如何使用logstash同步nginx日志到数据库
概述
logstash
logstash就是一根具备实时数据传输能力的管道,负责将数据信息从管道的输入端传输到管道的输出端;与此同时这根管道还可以让你根据自己的需求在中间加上滤网,Logstash提供里很多功能强大的滤网以满足你的各种应用场景。
Nginx
Nginx(engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好。
1.logstash安装(jdk提前安装1.8)
rpm -ivh logstash-6.6.2.rpm
2.上传数据库驱动jar包
wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.48.tar.gz
mkdir -p /usr/share/logstash/vendor/jar/jdbccd /usr/share/logstash/vendor/jar/jdbc[root@localhost soft]# cd /usr/share/logstash/vendor/jar/jdbc[root@localhost jdbc]# lltotal 984-rw-r--r--. 1 logstash logstash 1006959 Jul 11 19:43 mysql-connector-java-5.1.48-bin.jar[root@localhost jdbc]#
3.数据库创建库 并授权用户
create database nginxlog;use nginxlog;CREATE TABLE `consumerlog` ( `client_ip` varchar(128) DEFAULT NULL, `log_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `status` int(6) DEFAULT NULL, `http_referer` text, `AgentVersion` varchar(512) DEFAULT NULL,) grant all on nginxlog.* to nginxlog@'%' identified by '123456';
4.安装 logstash-output-jdbc插件
vim /usr/share/logstash/Gemfile# source "https://rubygems.org" 将国外的源注释,换成国内的source "https://gems.ruby-china.com/"/usr/share/logstash/bin/logstash-plugin install logstash-output-jdbc
Validating logstash-output-jdbcInstalling logstash-output-jdbcInstallation successful /usr/share/logstash/bin/logstash-plugin list | grep jdbclogstash-input-jdbclogstash-output-jdbc
5.nginx日志格式设置
log_format access_log_json '{"client_ip":"$remote_addr","log_time":"$time_local","request":"$request","status":"$status","body_bytes_sent":"$body_bytes_sent","http_referer":"$http_referer","AgentVersion":"$http_user_agent","upstream_addr":"$upstream_addr","request_time":"$request_time","upstream_response_time":"$upstream_response_time"}';6.
[root@localhost conf.d]# cat consumer_log.conf
/etc/logstash/conf.d
input{ file{ path => "/usr/local/tengine-2.1.2/logs/sxt-consumer.log" start_position => "beginning" stat_interval => "2" codec => "json" } } filter { if [status] != "200" { drop{} }}output{ jdbc{ connection_string => "jdbc:mysql://192.168.14.61/nginxlog?user=nginxlog&password=123456&useUnicode=true&characterEncoding=UTF8" statement => ["insert into consumerlog(client_ip,status,http_referer,AgentVersion) VALUES(?,?,?,?)", "client_ip","status","http_referer","AgentVersion"] }}7.启动logstash
systemctl start logstash
8.验证数据

服务器
服务
数据
管道
能力
代理
数据库
功能
滤网
传输
强大
与此同时
中表
事实
事实上
内存
功能强大
场景
实时
就是
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络运维和网络安全哪个容易学
杭州多诚网络技术有限公司
安全对软件开发的影响
数据库字段有平均值怎么建表
软件开发学的不好去干测试
新会定制软件开发
学校网络安全建设制度
软件开发在建工程账务处理
新建数据库用户时
代理服务器技术作用
linux服务器账号管理
网络安全和银行
单机版用友u8连接不到服务器
网络安全分级管理概念股
浙江通能软件开发
视频监控 软件开发
清华同方服务器硬盘热插拔
数据库链接池druid
收废品软件开发有限公司
对口单招计算机网络技术
数据库表联合查询
银行的数据库是技术部门吗
微信读书服务器存在问题
魔兽2.43技能数据库
青少年网络安全家长意见建议
数据库的er图转换为关系模型
网络技术推广公司经营理念
软件开发工程师证书有哪些
魔兽世界怀旧服新开两组服务器
重视网络安全的主题板报