如何使用logstash同步nginx日志到数据库
发表于:2024-09-23 作者:千家信息网编辑
千家信息网最后更新 2024年09月23日,概述logstashlogstash就是一根具备实时数据传输能力的管道,负责将数据信息从管道的输入端传输到管道的输出端;与此同时这根管道还可以让你根据自己的需求在中间加上滤网,Logstash提供里很
千家信息网最后更新 2024年09月23日如何使用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安全错误
数据库的锁怎样保障安全
银行异地软件开发中心
博兴crm管理软件开发公司
连云港游戏软件开发有限公司
安徽网络安全功能有哪些
bs数据库系统
数据库索引原理图解 磁盘
怎么选手机软件开发公司
移动终端软件开发难学吗
网络安全创新点子课题
江西定制应用软件开发
互联网怎么解决网络安全
数据库响应式
分宜租房网络安全
有关初中女生网络安全讲座
硅云服务器违反法律
数据库如何生成表格
软件开发有几大公司
风险漏洞台帐网络安全
计算机网络技术好学吗前景好吗
应该学什么软件开发
反恐精英为什么进不了服务器
软件开发项平台
系统软件开发注意事项
通用软件开发语言
sql怎么用代码建数据库
校园超市管理系统数据库
福建系统软件开发项目
聚客互联网科技有限公司
栾城区应用软件开发服务咨询报价
服务器销售能力有多大