ELK系列二、Logstash读取Nginx日志写入ES中

简介: ELK系列二、Logstash读取Nginx日志写入ES中

上一篇讲了 ELK 的部署,本篇来实战一下,将 nginx 的日志通过 Logstash 传输到 Elasticsearch 中,然后我们通过 Kibana 去查看日志。

安装 Nginx

sudo cat > /etc/yum.repos.d/nginx.repo << EOF
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/7/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
EOF

yum install -y nginx

启动 nginx

systemctl start nginx

浏览器访问机器 IP,如果有防火墙/安全组请记得开放 80 端口
image.png

先看一下 nginx 访问日志

image.png

配置 Logstash

Logstash 是由 Elastic 公司推出的一款开源的服务器端数据处理管道,能够同时从多个来源采集数据,转换数据,然后将数据发送指定的存储库中,Logstash 官方介绍

Logstash 包含 3 个主要部分:输入(inputs),过滤器(filters)和输出(outputs)。

  • inputs 主要用来提供接收数据的规则,比如使用采集文件内容;
  • filters 主要是对传输的数据进行过滤,比如使用 grok 规则进行数据过滤;
  • outputs 主要是将接收的数据根据定义的输出模式来进行输出数据,比如输出到 Elasticsearch 中。

上一篇文章我们已经安装好了 Logstash,然后我们开始写 logstash 的配置文件,新建 nginx_access.conf 写入如下内容:

input {
    file {
        # 读取文件的路径, 基于 glob 匹配语法
        path => "/var/log/nginx/access.log"
        type => "nginx_access"
        # beginning/end 是否从头读取文件, 默认从尾部读取
        start_position => "beginning"
    }
}

filter {
    grok {
        match => { "message" => "%{HTTPD_COMBINEDLOG}" }
    }
}

output {
    # 输出到 ES 中, 自动按天创建索引
    elasticsearch {
        hosts => ["192.168.199.161:9200"]
        index => "nginx-%{+YYYY.MM.dd}"
    }
}

logstash 加载配置文件

/usr/share/logstash/bin/logstash -f nginx_access.conf

image.png

在浏览器中访问 http://ip:5601

image.png

点击 Add your data 按钮,Create index pattern 创建索引匹配规则,输入 nginx 可以看到下面已经匹配到一条索引

image.png

继续 Next step 下一步,选择 @timestamp Time field,然后 Create index pattern 创建

image.png

左侧菜单点击 Discover 就可以看到 nginx 的访问日志啦

image.png


参考

相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
目录
相关文章
|
9月前
|
消息中间件 Java Kafka
搭建ELK日志收集,保姆级教程
本文介绍了分布式日志采集的背景及ELK与Kafka的整合应用。传统多服务器环境下,日志查询效率低下,因此需要集中化日志管理。ELK(Elasticsearch、Logstash、Kibana)应运而生,但单独使用ELK在性能上存在瓶颈,故结合Kafka实现高效的日志采集与处理。文章还详细讲解了基于Docker Compose构建ELK+Kafka环境的方法、验证步骤,以及如何在Spring Boot项目中整合ELK+Kafka,并通过Logback配置实现日志的采集与展示。
1316 64
搭建ELK日志收集,保姆级教程
|
数据可视化 关系型数据库 MySQL
ELK实现nginx、mysql、http的日志可视化实验
通过本文的步骤,你可以成功配置ELK(Elasticsearch, Logstash, Kibana)来实现nginx、mysql和http日志的可视化。通过Kibana,你可以直观地查看和分析日志数据,从而更好地监控和管理系统。希望这些步骤能帮助你在实际项目中有效地利用ELK来处理日志数据。
958 90
|
监控 应用服务中间件 定位技术
要统计Nginx的客户端IP,可以通过分析Nginx的访问日志文件来实现
要统计Nginx的客户端IP,可以通过分析Nginx的访问日志文件来实现
1483 3
|
存储 监控 安全
|
存储 JSON 监控
开源日志分析Logstash
【10月更文挑战第22天】
429 1
|
存储 监控 数据可视化
日志分析对决:揭示 ELK 与 GrayLog 的优势和差异
日志分析对决:揭示 ELK 与 GrayLog 的优势和差异
3783 0
|
存储 消息中间件 网络协议
日志平台-ELK实操系列(一)
日志平台-ELK实操系列(一)
|
存储 消息中间件 监控
Java日志详解:日志级别,优先级、配置文件、常见日志管理系统ELK、日志收集分析
Java日志详解:日志级别,优先级、配置文件、常见日志管理系统、日志收集分析。日志级别从小到大的关系(优先级从低到高): ALL < TRACE < DEBUG < INFO < WARN < ERROR < FATAL < OFF 低级别的会输出高级别的信息,高级别的不会输出低级别的信息
|
消息中间件 Kafka 开发工具
rsyslog+ELK收集Cisco日志
rsyslog+ELK收集Cisco日志
|
运维 监控 Ubuntu
一键启动日志魔法:揭秘ELK自动安装脚本的神秘面纱!
【8月更文挑战第9天】在数据驱动时代,高效处理日志至关重要。ELK Stack(Elasticsearch、Logstash、Kibana)是强大的日志分析工具,但其复杂的安装配置常让初学者望而却步。本文介绍如何编写ELK自动安装脚本,简化部署流程。脚本适用于Ubuntu系统,自动完成ELK下载、安装及基本配置,包括依赖项安装、服务启动及自启设置,极大降低了使用门槛,助力运维人员和开发者轻松构建日志分析平台。
552 6