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文件,确认日志采集和输出是否正常。
相关推荐
西安光锐软件2 小时前
asp.net core 项目开发部署上线流程
数据库
陌路202 小时前
redis五种数据类型
数据库·redis·缓存
杜子不疼.2 小时前
【Linux】进程控制(三):进程程序替换机制与替换函数详解
android·linux·运维
不如打代码KK2 小时前
MySQL死锁排查指南
数据库·mysql
打不了嗝 ᥬ᭄3 小时前
【MySQL】数据类型以及库和表的操作
数据库·mysql
wanhengidc4 小时前
物理服务器与云服务器的不同之处
运维·服务器·网络·游戏
kaoa0004 小时前
Linux入门攻坚——58、varnish入门
linux·运维·服务器
安当加密4 小时前
通过ASP认证系统作为 RADIUS 认证服务器:解决异地办公登录安全问题的实践方案*
运维·服务器·安全
gaize12134 小时前
服务器的用途:多元化应用与无限可能
运维·服务器