如何使用logstash同步nginx日志到数据库

  

<强>概述

<强> logstash

logstash就是一根具备实时数据传输能力的管道,负责将数据信息从管道的输入端传输到管道的输出端;与此同时这根管道还可以让你根据自己的需求在中间加上滤网,logstash提供里很多功能强大的滤网以满足你的各种应用场景。

<强>

Nginx引擎(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

 create  database  nginxlog;
  use  nginxlog;
  CREATE  TABLE “consumerlog”, (
  “client_ip”,才能varchar (128), DEFAULT 空,
  “log_time”,才能timestamp  NOT  NULL  DEFAULT  CURRENT_TIMESTAMP,
  “状态”,才能int (6), DEFAULT 空,
  “http_referer”才能,文本,
  “AgentVersion”,才能varchar (512), DEFAULT 空,
  ),
  grant  all ,提醒,nginxlog。*,用,nginxlog@& # 39; % & # 39;,, identified , by , & # 39; 123456 & # 39;; 

4。

 Validating  logstash-output-jdbc
  Installing  logstash-output-jdbc
  Installation 成功
  ,/usr/share/logstash/bin/logstash-plugin  list  | grep  jdbc
  logstash-input-jdbc
  logstash-output-jdbc 
<代码类=" bash平原">

5。nginx日志格式设置

log_format ,, access_log_json  & # 39; {“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"美元;}& # 39;;

6。

[root@localhost conf.d] #猫consumer_log.conf 

/etc/logstash/conf。d

 

7。启动logstash

systemctl开始logstash

8。验证数据

如何使用logstash同步nginx日志到数据库

如何使用logstash同步nginx日志到数据库