elk日志运维工程师技术之故障处理

你现在看到的是Logstash启动后的日志输出,核心信息是Logstash已经成功启动并正常运行,同时存在几个可忽略的警告和需要了解的关键日志信息,我会帮你逐一解读。

一、日志信息逐段解读

1. 前期警告(不影响运行)
  • JAVA_HOME弃用警告 :和之前一样,只是提醒你后续版本会移除JAVA_HOME的支持,改用LS_JAVA_HOME,当前不影响功能。
  • Ignoring the 'pipelines.yml' file :因为你通过命令行-f指定了单个配置文件,所以Logstash忽略了默认的pipelines.yml(多管道配置文件),这是正常现象。
2. 核心成功日志(重点关注)
日志内容 含义
Successfully started Logstash API endpoint {:port=>9600} Logstash的API端口9600已启动,可通过该端口监控Logstash状态
New Elasticsearch output {:hosts=>["//10.0.0.22:9200"]} Logstash已配置输出到Elasticsearch(地址10.0.0.22:9200)
Restored connection to ES instance Logstash成功连接到Elasticsearch
Pipeline started {"pipeline.id"=>"main"} 主管道已启动,配置文件test2.conf生效
Pipelines running {:count=>1, :running_pipelines=>[:main]} Logstash的管道正常运行,没有异常
filewatch.observingtail ... START 文件监控模块已启动,开始监听指定的日志文件(这里是/var/log/messages
3. 关于Elasticsearch的警告(正常)
  • Detected a 6.x and above cluster: the type event field won't be used:Elasticsearch 7.x及以上版本已经移除了文档类型(_type),Logstash提醒你type字段不再用于确定文档类型,这是适配ES版本的正常提示,无需处理。
  • Config is not compliant with data streams:你的配置没有启用ES的数据流(Data Streams),使用的是传统索引模式,这是默认行为,对新手来说完全没问题。

二、验证Logstash是否正常采集日志

你可以通过以下方式确认日志采集和输出是否正常:

1. 查看Elasticsearch中的索引

登录到Elasticsearch所在的主机(10.0.0.22),执行命令查看是否生成了对应的索引:

bash 复制代码
# 查看所有索引
curl -X GET "http://10.0.0.22:9200/_cat/indices?v"

如果能看到以nginx-access(或你配置的索引名)开头的索引,说明数据已经成功写入ES。

2. 查看Logstash的控制台输出(如果配置了stdout)

如果你的配置文件中保留了stdout { codec => rubydebug },可以在启动Logstash的终端看到结构化的日志数据输出,这是最直观的验证方式。

3. 检查文件监控状态

Logstash会记录读取日志文件的位置(sincedb),你可以查看对应的sincedb文件确认是否在监控文件:

bash 复制代码
# 日志中显示的sincedb路径(示例)
cat /var/lib/logstash/plugins/inputs/file/.sincedb_452905a167cf4509fd08acb964fdb20c

该文件会记录日志文件的inode、大小、读取位置等信息,说明文件监控正常。

三、如果后续采集不到日志的排查方向

  1. 检查日志文件路径 :确认配置的/var/log/messages(或Nginx日志路径)是否正确,Logstash进程是否有读取该文件的权限。

    bash 复制代码
    # 赋予Logstash读取日志的权限(示例)
    chmod o+r /var/log/messages
    # 或修改文件所属组
    chgrp logstash /var/log/messages
  2. 检查日志文件是否有新内容:如果日志文件长时间没有新日志写入,Logstash也不会有数据输出,可以手动触发日志生成(比如访问Nginx页面)。

  3. 检查Elasticsearch连接:如果ES宕机或网络不通,Logstash会在日志中输出连接错误,此时需要重启ES或检查网络。

总结

  1. 核心状态 :Logstash已成功启动并正常运行,管道、ES连接、文件监控模块均已正常工作。
  2. 警告处理:当前的警告(JAVA_HOME、ES type字段、data streams)均为正常提示,无需修改配置,不影响功能使用。
  3. 验证方法:可通过查看ES索引、控制台输出或sincedb文件,确认日志采集和输出是否正常。
相关推荐
j_xxx404_12 小时前
MySQL表操作硬核解析:从 CREATE TABLE 到磁盘文件、ALTER TABLE 与 DDL 风险
运维·服务器·数据库·c++·mysql·adb·ai
数据库小学妹12 小时前
PostgreSQL迁移到国产数据库怎么做?评估、改造、上线全流程实操指南
数据库·经验分享·postgresql·dba
前端程序猿i12 小时前
Nginx 教程:从入门到能上线
运维·nginx
木雷坞12 小时前
Qdrant Docker 部署教程:数据卷、API Key 和集合初始化
运维·docker·容器·知识图谱
团象科技12 小时前
外贸站选海外服务器 拆解跨境运营中常被忽略的核心性能细节
运维·服务器
x***r15112 小时前
Redis Desktop Manager 0.8.8 安装教程(Windows redis-desktop-manager-0.8.8.384详细步骤)
数据库·windows·redis
initialize130612 小时前
Postgresql(Oracle兼容) 到Oracle19.9字符语义
数据库·oracle
Lv_沐曦13 小时前
银河麒麟桌面版安装、多屏配置、触摸校准
运维·docker·samba·vsftpd·银河麒麟·触控校准·多屏配置
稷下元歌13 小时前
七天学会plc 加机器视觉完整笔记:S7-1200 数据类型、存储区与寻址方式(I/Q/M/DB 详解)。
网络·数据库·笔记
潮起鲸落入海13 小时前
mysql 5.x源码安装
数据库·mysql