news 2026/4/3 3:20:59

Logstash运维故障问题

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Logstash运维故障问题

你需要在openEuler系统中安装Filebeat来采集日志,并实现日志的传输(如发送到Logstash/Elasticsearch),我会为你提供从环境准备到配置、启动、验证的完整步骤,适配openEuler的系统特性(如包管理器、权限机制)。

一、前置条件

  1. 系统环境:openEuler 20.03 LTS/22.03 LTS(x86_64/ARM64架构,本文以x86_64为例)。
  2. 网络要求:服务器能访问外网(用于下载Filebeat安装包或配置Elastic YUM源)。
  3. 权限要求:使用root用户或具有sudo权限的用户执行操作。
  4. 目标准备:若需将日志发送到Logstash/ES,确保目标服务已运行且网络互通。

二、安装Filebeat(两种方式,推荐官方YUM源)

方式1:通过Elastic官方YUM源安装(推荐,便于版本管理)
步骤1:配置Elastic YUM源

创建Elastic官方源配置文件:

vi/etc/yum.repos.d/elastic.repo

添加以下内容(适配7.x版本,与ES/Logstash版本保持一致,如7.17.5):

[elastic-7.x] name=Elastic repository for 7.x packages baseurl=https://artifacts.elastic.co/packages/7.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=1 autorefresh=1 type=rpm-md
步骤2:导入Elastic GPG密钥
rpm--import https://artifacts.elastic.co/GPG-KEY-elasticsearch
步骤3:安装Filebeat
# 安装指定版本(推荐,避免自动升级)dnfinstall-y filebeat-7.17.5# 安装最新版本(不推荐,可能与ES/Logstash版本不兼容)# dnf install -y filebeat

安装完成后,Filebeat的默认路径:

  • 配置文件:/etc/filebeat/filebeat.yml
  • 可执行文件:/usr/share/filebeat/bin/filebeat
  • 日志文件:/var/log/filebeat/filebeat.log
方式2:手动下载RPM包安装(无外网场景)
步骤1:下载对应架构的RPM包
# 切换到临时目录cd/tmp# x86_64架构wgethttps://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.17.5-x86_64.rpm# ARM64架构(openEuler鲲鹏版)# wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.17.5-aarch64.rpm
步骤2:安装RPM包
rpm-ivh filebeat-7.17.5-x86_64.rpm

三、配置Filebeat(核心步骤,采集日志并发送)

Filebeat的核心配置分为日志输入(inputs)数据输出(outputs),以下以采集系统日志并发送到Logstash为例(最常用场景),也可直接发送到ES。

步骤1:编辑Filebeat主配置文件
vi/etc/filebeat/filebeat.yml
步骤2:配置日志输入(采集系统日志/自定义日志)

注释默认的filebeat.inputs配置,添加以下内容(采集/var/log/messages系统日志和/var/log/nginx/access.lognginx访问日志,可根据需求修改):

filebeat.inputs:# 输入1:采集系统日志-type:filestream# openEuler推荐使用filestream(替代旧的log类型)enabled:true# 启用该输入paths:-/var/log/messages# 要采集的日志路径,支持通配符(如/var/log/*.log)tags:["system-log"]# 标记日志类型,便于后续过滤fields:log_source:"openeuler-system"# 自定义字段,标识日志来源# 输入2:采集nginx访问日志(若未安装nginx,可注释该部分)-type:filestreamenabled:truepaths:-/var/log/nginx/access.logtags:["nginx-access-log"]fields:log_source:"openeuler-nginx"# 禁用默认的模块(如system、nginx,若需使用模块可保留)filebeat.config.modules:path:${path.config}/modules.d/*.ymlreload.enabled:false
步骤3:配置数据输出(发送到Logstash,若直接发送到ES可替换为output.elasticsearch)

注释默认的output.elasticsearch,添加以下内容(指向Logstash的5044端口,即Logstash的beats输入端口):

# 输出到Logstashoutput.logstash:hosts:["10.0.0.22:5044"]# 替换为你的Logstash服务器IP和端口# 若直接发送到Elasticsearch,取消以下注释并注释output.logstash# output.elasticsearch:# hosts: ["10.0.0.22:9200"] # 替换为你的ES服务器IP和端口# # 若ES开启认证,添加账号密码# # username: "elastic"# # password: "your-es-password"# 开启控制台输出(调试用,生产环境可注释)# output.console:# pretty: true # 格式化输出
步骤4:配置文件权限(openEuler安全机制要求)

确保Filebeat用户拥有配置文件和日志文件的权限:

# 赋予配置文件读取权限chmod644/etc/filebeat/filebeat.yml# 递归赋予Filebeat目录权限(若出现权限错误时执行)chown-R filebeat:filebeat /etc/filebeat/chown-R filebeat:filebeat /var/log/filebeat/

四、启动Filebeat并设置开机自启

步骤1:启动Filebeat服务
# 启动Filebeatsystemctl start filebeat# 查看服务状态(确保显示active (running))systemctl status filebeat

若启动失败,可查看日志排查问题:

tail-f /var/log/filebeat/filebeat.log
步骤2:设置开机自启
# 配置开机自启systemctlenablefilebeat# 验证自启配置systemctl is-enabled filebeat

五、验证Filebeat采集与传输(关键步骤)

步骤1:验证日志采集

手动向采集的日志文件中写入测试数据,触发Filebeat采集:

# 向系统日志中写入测试数据echo"Test log from Filebeat on openEuler$(date)">>/var/log/messages# 若采集nginx日志,写入测试数据# echo "Test nginx log from Filebeat on openEuler $(date)" >> /var/log/nginx/access.log
步骤2:验证数据传输
场景1:发送到Logstash

在Logstash服务器上查看日志,确认是否接收到数据:

tail-f /var/log/logstash/logstash-plain.log

若能看到来自openEuler的日志数据,说明传输成功。

场景2:直接发送到ES

在ES服务器上查看索引,确认是否生成Filebeat索引:

# 查看所有索引curl-X GET"http://10.0.0.22:9200/_cat/indices?v"# 查看Filebeat索引的文档数量curl-X GET"http://10.0.0.22:9200/filebeat-7.17.5-2025.12.23/_count?pretty"

若索引存在且文档数量大于0,说明传输成功。

六、openEuler特有的问题排查

问题1:dnf安装时提示“无法验证证书”

原因:openEuler系统缺少根证书,导致无法验证Elastic的HTTPS证书。
解决方法:安装ca-certificates包:

dnfinstall-y ca-certificates update-ca-trust extract
问题2:Filebeat无法读取日志文件(权限被拒)

原因:openEuler的SELinux默认开启,或日志文件属于root用户且权限为600。
解决方法:

# 临时关闭SELinux(测试环境)setenforce0# 永久关闭SELinux(编辑/etc/selinux/config,将SELINUX=enforcing改为SELINUX=disabled,重启生效)# 或赋予Filebeat读取日志的权限(推荐)setfacl -m u:filebeat:r /var/log/messages# 为filebeat用户添加读取权限
问题3:网络不通,无法连接Logstash/ES

原因:openEuler的防火墙默认开启,拦截了5044(Logstash)/9200(ES)端口。
解决方法:

# 开放5044端口(Logstash)firewall-cmd --add-port=5044/tcp --permanent# 开放9200端口(ES)# firewall-cmd --add-port=9200/tcp --permanent# 重新加载防火墙规则firewall-cmd --reload

总结

  1. 核心步骤:在openEuler中安装Filebeat的关键是配置Elastic YUM源(或手动下载RPM包),然后配置日志输入和输出,启动服务并验证传输。
  2. openEuler适配:需要处理证书验证、SELinux权限、防火墙端口开放等特有问题,确保Filebeat正常运行。
  3. 关键配置:使用filestream类型采集日志(openEuler推荐),通过tagsfields自定义日志标识,便于后续过滤分析。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/22 15:34:11

新手入门:蜂鸣器驱动电路原理图详细解析

蜂鸣器驱动电路设计全解析:从原理到实战的硬核入门指南你有没有遇到过这样的情况?明明代码写好了,蜂鸣器却“哑火”;或者一响起来,MCU就莫名其妙复位。更离谱的是,换了个蜂鸣器,同样的电路居然烧…

作者头像 李华
网站建设 2026/4/2 2:53:55

创业点子激发:与AI头脑风暴新产品创意

创业点子激发:与AI头脑风暴新产品创意 在今天,一个创业想法从灵感到落地的时间窗口正变得越来越短。过去需要数月开发的MVP(最小可行产品),现在可能只需要几个小时——只要你掌握了正确的工具链。想象一下:…

作者头像 李华
网站建设 2026/3/27 0:09:45

树莓派换源系统学习:基础软件源更换流程

树莓派换源实战:从龟速更新到秒级响应的系统优化之路 你有没有经历过这样的场景?刚刷好树莓派系统,兴冲冲地打开终端准备安装第一个软件,输入 sudo apt update 后——卡住了。 几分钟过去,进度条纹丝不动&#xff…

作者头像 李华
网站建设 2026/3/31 14:28:51

掌握Vitis+FPGA加速通信系统的图解说明

从算法到硬件:用 Vitis 打通 FPGA 加速通信系统的“任督二脉”你有没有遇到过这样的场景?手握一套完美的通信算法,仿真结果漂亮得不行——但一放到真实系统里跑,CPU 瞬间飙到 100%,延迟暴涨,帧率断崖式下跌…

作者头像 李华
网站建设 2026/4/1 2:09:17

2025年甘特图工具测评:项目管理甘特图哪个好用?

本文深度测评 ONES、飞书多维表格、Asana、ClickUp、Microsoft Project 六款项目管理甘特图工具,从项目排期、进度计划、依赖关系到关键路径,给出上手体验、适用场景与选型清单,帮你快速选择适合团队的项目甘特图工具。5 款甘特图工具盘点1. …

作者头像 李华
网站建设 2026/3/14 6:14:34

倒计时8天!2026修订版《网络安全法》实施,企业必做的7项合规准备

随着数字化转型的加速,网络安全已成为企业运营的核心底线。2025年12月23日,距离2026年1月1日修订版《中华人民共和国网络安全法》(以下简称《网络安全法》)正式实施,仅剩8天。这次修订由十四届全国人大常委会第十八次会…

作者头像 李华