filebeat 后端运行,自动退出解决

1. 问题描述

通过nohub方式启动filebeat,运行一段时间后filebeat自动退出,原因是filebeat默认会定期检测文件是否有新的内容,如果超过一定时间检测的文件没有任务新日志写入,那么filebeat会自动退出,解决办法就是将filebeat通过系统后台的方式长期运行。

2. 解决

  1. 在linux操作系统 /etc/systemd/system目录下创建一个filebeat.service文件,写入如下内容:
powershell 复制代码
[Unit]
Description=Filebeat is a lightweight shipper for metrics.
Documentation=https://www.elastic.co/products/beats/filebeat
Wants=network-online.target
After=network-online.target

[Service]
Environment="LOG_OPTS=-e"
Environment="CONFIG_OPTS=-c /home/soft/filebeat-7.15.2-linux-x86_64/filebeat.yml"
Environment="PATH_OPTS=-path.home /home/soft/filebeat-7.15.2-linux-x86_64/filebeat -path.config /home/soft/filebeat-7.15.2-linux-x86_64 -path.data /home/soft/filebeat-7.15.2-linux-x86_64/data -path.logs /home/soft/filebeat-7.15.2-linux-x86_64/logs"
ExecStart=/home/soft/filebeat-7.15.2-linux-x86_64/filebeat $LOG_OPTS $CONFIG_OPTS $PATH_OPTS
Restart=always

[Install]
WantedBy=multi-user.target
  1. 给该文件给予可执行的权限:
powershell 复制代码
chmod +x /etc/systemd/system/filebeat.service
  1. 系统后台服务方式启动:
powershell 复制代码
# 依次执行下列命令
systemctl daemon-reload
systemctl enable filebeat
systemctl start filebeat

这三个命令是在Linux系统中用于管理服务的命令,它们的作用分别是:

  1. systemctl daemon-reload: 这个命令告诉 systemd 对其配置文件进行重新加载,以应用新的服务配置。当修改了 systemd 的服务配置文件后,需要运行这个命令来让 systemd 重新加载配置。
  2. systemctl enable filebeat: 这个命令是用来启用一个服务的,具体来说,是启用名为 filebeat 的服务。在 systemd 的管理下,一些服务在默认情况下是禁用的,需要手动启用才能使用。这个命令就是用来做这个的。
  3. systemctl start filebeat: 这个命令是用来启动一个已经启用的服务,具体来说,是启动名为 filebeat 的服务。如果一个服务已经被启用,但是并没有运行,那么可以用这个命令来启动它。
相关推荐
Lyyaoo.27 分钟前
【JAVA基础面经】JVM的内存模型
java·开发语言·jvm
杨凯凡28 分钟前
【017】泛型与通配符:API 设计里怎么用省心
java·开发语言
IT利刃出鞘35 分钟前
Spring工具类--ObjectUtils的使用
java·后端·spring
MY_TEUCK7 小时前
Sealos 平台部署实战指南:结合 Cursor 与版本发布流程
java·人工智能·学习·aigc
桌面运维家7 小时前
IDV云桌面vDisk机房网络管控访问限制部署方案
运维·服务器·网络
我爱cope7 小时前
【从0开始学设计模式-10| 装饰模式】
java·开发语言·设计模式
ShineWinsu8 小时前
对于Linux:动静态库的制作与原理的解析—下
linux·运维·服务器·进程·链接·虚拟地址空间·
朝新_8 小时前
【Spring AI 】图像与语音模型实战
java·人工智能·spring
RH2312118 小时前
2026.4.16Linux 管道
java·linux·服务器
zmsofts9 小时前
java面试必问13:MyBatis 一级缓存、二级缓存:从原理到脏数据,一篇讲透
java·面试·mybatis