前面讲了ELK的部署以及Logstash的插件的安装方式,本篇就介绍一下如何使用Logstash读取nginx的日志,并写入ES中,通过Kibana分析。

ELK系列(一)、安装ElasticSearch+Logstash+Kibana+Filebeat-v7.7.0

ELK系列(二)、在Kibana中使用RESTful操作ES库

ELK系列(三)、安装Logstash插件及打包离线安装包

-----------------------------使用Logstash读取nginx日志------------------------------------

日志格式

上面讲了如何给Logstash安装插件以及离线安装,安装好的插件就在Logstash目录下:

/opt/app/logstash-7.7.0/vendor/bundle/jruby/2.5.0/gems

nginx的日志默认结构为HTTPD_COMBINEDLOG,可以对比/usr/local/nginx/conf/nginx.conf和/opt/app/logstash-7.7.0/vendor/bundle/jruby/2.5.0/gems/logstash-patterns-core-4.1.2/patterns/httpd 中的格式,然后我们就可以直接使用该格式的正则作为filter内容。

输出到控制台

配置logstash配置文件:

vim $LS_HOME/config/logstash_nginxlog2print.conf 

input {# 从文件读取日志信息file {path => "/usr/local/nginx/logs/access.log"type => "system"start_position => "beginning"}}filter {grok {match => { "message" => "%{HTTPD_COMBINEDLOG}" }}
}output {# 标准输出stdout {}
}

启动验证:

bin/logstash -f config/logstash_nginxlog2print.conf 

刷新nginx页面,或使用curl命令访问nginx,然后查看logstash的打印信息:

其中setting {:sincedb_path=>"/opt/app/logstash-7.7.0/data/plugins/inputs/file/.sincedb_d2343edad78a7252d2ea9cba15bbff6d", :path=>["/usr/local/nginx/logs/access.log"]}表示此配置文件读取该access.log文件,且读取的位置信息记录在sincedb文件内,下次再启动对这个日志文件的监控都会从记录的offset开始读,因此如果需要从头读取需要把这个文件先删掉。

输出到ES

配置logstash配置文件

vim $LS_HOME/config/logstash_nginxlog2es.conf 

input {# 从文件读取日志信息file {path => "/usr/local/nginx/logs/access.log"type => "nginx_access"start_position => "beginning"}}filter {grok {match => { "message" => "%{HTTPD_COMBINEDLOG}" }}
}output {# 输出eselasticsearch {hosts => ["wykd:9200"]index => "nginx-%{+YYYY.MM.dd}"}}

启动验证

先删掉刚才的sincedb文件,然后启动监控并写入ES:

rm -rf /opt/app/logstash-7.7.0/data/plugins/inputs/file/.sincedb_d2343edad78a7252d2ea9cba15bbff6d

bin/logstash -f config/logstash_nginxlog2es.conf 

Kibana中分析nginx日志

可以在kibana中看到nginx日志的索引已经自动创建了,此时我们使用curl命令访问nginx,该索引内的数据量也会实时变化:

在kibana中创建index patten,并在discover中查看index数据:

如果对你有帮助,请点个赞鼓励一下作者吧~ 谢谢!

ELK系列(四)、Logstash读取nginx日志写入ES中相关推荐

  1. ELK学习--将自定义nginx日志写入es中并通过kibana展示为例

    今天只是记录总体思路,具体细节不展开,毕竟东西太多 学习目的 业务发展越来越庞大,服务器越来越多 各种访问日志.应用日志.错误日志量越来越多,导致运维人员无法很好的去管理日志 开发人员排查问题,需要到 ...

  2. logstash收集nginx日志

    1.配置nginx日志 编辑nginx.conf文件 vim /etc/nginx/nginx.conf 在http节点下配置如下 log_format json '{"@timestamp ...

  3. Logstash读取Kafka数据写入HDFS详解

    强大的功能,丰富的插件,让logstash在数据处理的行列中出类拔萃 通常日志数据除了要入ES提供实时展示和简单统计外,还需要写入大数据集群来提供更为深入的逻辑处理,前边几篇ELK的文章介绍过利用lo ...

  4. es获取最大时间的记录_Python日志写入ES之五种方案比较

    ​实时/准实时方案可以使用以下四种方式实现: flume+kafka+spark准实时写入ES logging + CMRESHandler实时写入ES 利用python中的Elasticsearch ...

  5. java读写德卡数据_Spark Streaming 读取Kafka数据写入ES

    简介: 目前项目中已有多个渠道到Kafka的数据处理,本文主要记录通过Spark Streaming 读取Kafka中的数据,写入到Elasticsearch,达到一个实时(严格来说,是近实时,刷新时 ...

  6. 【云上ELK系列】Logstash迁移Elasticsearch数据方法解读

    Elasticsearch中数据搬迁是工程师们经常会做的,有时是为了集群迁移.有时是为了数据备份.有时是为了升级等等,迁移的方式也有很多种,比如说通过elasticsearch-dump.通过snap ...

  7. 从零学ELK系列(九):Nginx接入ELK(超详细图文教程)

    [前言] 在前几篇博文中将ELK+Filebeat收集SpringBoot项目日志搭建完毕,本次我们将展示如何将Nginx接入我们搭建的日志系统,把步骤记录下来,一是方便自己以后安装,二是可以为大家做 ...

  8. python将数据存入数据库_Python读取NGINX日志将其存入数据库

    日志数据: #/usr/bin/env python #-*-coding:UTF-8 -*- from datetime import datetime stat_days = [] import ...

  9. es分页和mysql分页_用户logstash同步mysql数据到es中7.4.1版本以后输出的sql日志中没有分页信息...

    问题描述: 在使用logstash同步mysql数据库中的数据,在使用logstash7.4.1以前的版本,输出的sql日志如下: [2019-12-09T10:50:01,585][INFO ][l ...

最新文章

  1. Java中? extends T和? super T的理解
  2. gram矩阵_ZEN-基于N-gram的中文Encoder
  3. 【Flask】Request和RequestParser类
  4. Mybatis---全局配置解析 --根据官方文档--常用
  5. dnf剑魂buff等级上限_剑魂完美换装BUFF!远古遗愿的用处很大么?
  6. 一个实际的例子学习 SAP BTP Java 应用的 @Before 注解使用方式
  7. ramebufferobject工程说明
  8. php执行zip压缩,PHP执行zip与rar解压缩方法实现代码
  9. Save the Room【找规律】
  10. SQL Server存储过程基本语法
  11. C++ 实现把非静态成员函数作为回调函数(非static)
  12. Python 5 运算符
  13. 步道乐跑怎么刷公里_车子一年跑不到5000公里,怎么保养比较好?这些方法最省钱...
  14. thinkphp count distinct
  15. 苹果6显示连接id服务器出错,appleid:appleid连接失败该如何解决
  16. uc保存网页html,UC浏览器如何保存网页?UC浏览器保存网页教程图文详解
  17. 随着时间推移虚拟机C盘空间不够,如何在原有C盘基础上进行扩容!
  18. iOS 架构模式 - 简述 MVC, MVP, MVVM 和 VIPER (译)
  19. MATLAB之Nyquist图和Bode图
  20. PHP 命令行模式实战之cli+mysql 模拟队列批量发送邮件(在Linux环境下PHP 异步执行脚本发送事件通知消息实际案例)...

热门文章

  1. 2021年危险化学品经营单位主要负责人考试资料及危险化学品经营单位主要负责人新版试题
  2. 服务器优盘启动安装win7系统教程,晨枫u盘启动工具安装原版Win7的两种方法(32位64位系统通用)...
  3. 君表增强了公式计算中的区域引用,支持SUM(A:A)
  4. jmeter创建快捷方式到桌面
  5. 2020年中国第七次人口普查各省总人口数据可视图(1)
  6. 三篇文章彻底搞懂Java面向对象之一
  7. Jlink在ADS下的配置说明及常见问题解决办法
  8. win10 电脑中模块initpki.dll加载失败提示0x80004005错误代码如何解决
  9. 上号神器,穿越火线扫码登录教程
  10. 音响为什么要做CCC认证以及流程有哪些