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文件,确认日志采集和输出是否正常。
相关推荐
senijusene2 分钟前
Linux软件编程:IO编程,标准IO(1)
linux·运维·服务器
忧郁的橙子.10 分钟前
02-本地部署Ollama、Python
linux·运维·服务器
醇氧19 分钟前
【linux】查看发行版信息
linux·运维·服务器
No8g攻城狮1 小时前
【Linux】Windows11 安装 WSL2 并运行 Ubuntu 22.04 详细操作步骤
linux·运维·ubuntu
酷酷的崽7981 小时前
CANN 生态可维护性与可观测性:构建生产级边缘 AI 系统的运维体系
运维·人工智能
做人不要太理性1 小时前
CANN Runtime 运行时组件深度解析:任务调度机制、存储管理策略与维测体系构建逻辑
android·运维·魔珐星云
souyuanzhanvip1 小时前
ServerBox v1.0.1316 跨平台 Linux 服务器管理工具
linux·运维·服务器
山岚的运维笔记1 小时前
SQL Server笔记 -- 第18章:Views
数据库·笔记·sql·microsoft·sqlserver
文静小土豆2 小时前
Docker 与 containerd 代理配置详解:镜像拉取速度慢的终极解决方案
运维·docker·容器
roman_日积跬步-终至千里2 小时前
【LangGraph4j】LangGraph4j 核心概念与图编排原理
java·服务器·数据库