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文件,确认日志采集和输出是否正常。
相关推荐
德育处主任Pro4 分钟前
『NAS』用SSH的方式连上NAS
运维·ssh
人道领域4 分钟前
javaWeb从入门到进阶(SpringBoot事务管理及AOP)
java·数据库·mysql
Meaauf8 分钟前
VMware安装中科方德服务器操作系统
运维·服务器·中科方德
煎蛋学姐9 分钟前
SSM音乐播放软件的开发与实现7g5j0(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
数据库·ssm 框架·javaweb 开发·前后端开发
南宫码农10 分钟前
神马影视8.5版本如意伪静态+视频教程
linux·运维·centos
2301_8213696112 分钟前
使用Python进行图像识别:CNN卷积神经网络实战
jvm·数据库·python
星空露珠15 分钟前
速算24点所有题库公式
开发语言·数据库·算法·游戏·lua
m0_5613596716 分钟前
使用Kivy开发跨平台的移动应用
jvm·数据库·python
sheji526125 分钟前
JSP基于信息安全的读书网站79f9s--程序+源码+数据库+调试部署+开发环境
java·开发语言·数据库·算法
j_xxx404_30 分钟前
Linux:命令行参数与环境变量
linux·运维·服务器