如何使用logstash同步nginx日志到数据库
发表于:2025-01-28 作者:千家信息网编辑
千家信息网最后更新 2025年01月28日,概述logstashlogstash就是一根具备实时数据传输能力的管道,负责将数据信息从管道的输入端传输到管道的输出端;与此同时这根管道还可以让你根据自己的需求在中间加上滤网,Logstash提供里很
千家信息网最后更新 2025年01月28日如何使用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安全错误
数据库的锁怎样保障安全
云顶比赛服务器
如何看待保密和网络安全
dell服务器默认带外ip
两个sql数据库之间复制表
上海数据金融网络技术服务
大学生用什么交友软件开发
沭阳环保网络技术参考价格
智能信息检索数据库
承德市网络安全教育教育
成都网络安全儿童画
人员管理软件开发需求
海外服务器下载速度慢
牙克石租房软件开发
我的世界斗罗大陆服务器电脑下载
五精管理下的信息网络安全
web访问数据库
共享服务器无法访问
网络安全自查自改
重庆荣昌免费生鲜软件开发
国家标准-软件开发规范文档
win7安装svn服务器
网络安全年度总结报告
vba 导入数据库
数据库 pk_
为什么要做好数据库
网络安全主题黑板报新闻稿
平台网络安全培训记录
学生成绩管理系统用数据库吗
手机抢红包软件开发
科技互联网行业100强