Windows服务器重启导致filebeat无法启动

早上6点钟, 收到zabbix的告警, 说一台服务器重启了, 回到公司马上查看系统日志,发现只有这些记录:

这不是坑爹么! 肯定是意外关闭啊, 但是为什么会是意外关闭呀?

这个问题后续需要再跟进, 现在暂不讨论, 因为有个更加急迫的故障需要处理: filebeat无法启动.

既然系统无法启动, 咱们去服务管理那边试下:

运行 - 输入services.msc

找到filebeat的服务后, 手动启动失败, 得到错误:

在谷歌上搜索一番之后, 找到一个解决办法:

我的电脑-->右键-->管理-->本地用户和组; 选择“组”-->双击Administrators-->单击“添加”-->单击“高级”-->单击“立即查找”-->在下面的列表中选择Network Service用户-->两次单击“确定”-->加入

但是并没有什么卵用, 去filebeat的根目录, 尝试手动运行 filebeat.exe, 发现是可以执行的, 这代表程序没有问题, 于是怀疑是机器重启导致服务管理报错了, 于是尝试重装filebeat服务, 但是服务启动还是失败

查看filebeat的日志, 发现有段报错:

Error decoding old state: invalid character '\x00' looking for beginning of value

大意就是: 在解码旧状态时, 有无效的字符'\x00', 这个很像json解析失败的报错! 难道这个跟json有关系么?

这个json肯定是和日志的json无关的, 应该是某些配置的json有关, 但是会改动的配置不多, 那应该就是存放记录文件偏移量的配置: registery.

于是在去根目录的data目录检查下面的registery. old 和 registery, 但是都是很正常的两个json文件, 并没有所谓的 '\x00', 这就尴尬了..

考虑到手动执行没问题, 但是通过服务管理器启动却失败, 难道是启动方式的姿势不对导致? 事不宜迟, 将服务器启动的方式拷贝出来试下: filebeat-右键属性-可执行文件的路径

在黑漆漆的CMD窗口运行下:

虽然得到同样的报错, 不过我们好像发现有点问题了, -path.data "c"\\ProgramData\\filebeat", 这个目录应该就是存放文件偏移位置的目录, 但是为什么不是filebeat的根目录下呢?

难道说这个是服务注册时, 默认的? 那可能出问题的json文件就是在这里了, 于是直接去目录查看, 还真的有registry文件, 用notepadd++ 打开, 终于找到原因了:

文件内容全都是乱码, 原因应该是, 系统异常关闭, 程序没有正常退出, 导致写入了乱码, 使得filbeat重新读取时, 无法解析.

将文件删除后, filebeat启动正常! 这次故障排查暂告一段落,感谢大家.

本文作者:佚名

来源:51CTO

时间: 2024-10-28 14:23:57

Windows服务器重启导致filebeat无法启动的相关文章

windows服务器软件重启后问题

问题描述 windows服务器软件重启后问题 MFC程序作为服务器程序处理网络数据,程序带界面,现在是服务器重启后,必须要远程登录后,程序才能正真的启动,处理网络数据,有没有服务器重启后,不用远程登录界面就可以处理网络数据,现在是写入到了注册表,能自启动,出现上面所说的问题,求大神指点 解决方案 做成windows服务i,计算机只要启动就可以执行.如果需要界面,可以两者分开,界面部分单独做一个程序.

服务器重启后SQL Server Agent由于"The EventLog service has not been started" 启动失败

案例环境:     操作系统   : Microsoft Windows Server 2003 Standard Edtion SP2     数据库版本 : SQL Server 2005 Standard Edition SP4   案例描述:     服务器重启过后,MSSQLSERVER服务自动重启了,但是SQLSERVERAGENT服务启动失败(当然SQL Agent服务的启动类型为自动启动(Automatic)),在这台服务器第二次遇到这种情况,第一次遇到时没太注意,以为只是特殊案

Windows下PHP安装路径配置错误导致Apache无法启动怎么解决?

  这篇文章主要介绍了Windows下PHP安装路径配置错误导致Apache无法启动的解决方法,本文可以说是一个引号引发的悲剧,需要的朋友可以参考下 LoadModule php5_module "C(/D):/Program Files/php5/php5apache2_2.dll" PHP安装路径引起的apache无法启动错误 今天给一同事的PC机安装部署web服务的时候,按同事要求把所有程序文件放到安装目录的program files下,于是我把apache安装到了c:progr

oracle库存储问题导致数据库重启后无法正常启动恢复教程

某客户的核心数据库存储问题导致数据库重启后无法正常启动,根据客户反馈最开始在启动数据库时 报错控制文件IO错误,如下: Sun Mar 15 11:59:37 2015 Errors in file /oracle/app1/oracle/admin/xxxx/bdump/xxxx2_arc1_630876.trc: ORA-00204: error in reading (block 1, # blocks 1) of control file ORA-00202: control file:

简单快速诊断Windows服务器是否中毒或被入侵

本期分享专家:五贤,搞过开发,玩过小机.AIX,目前在阿里云从事云产品技术支持,专注于云计算相关的系统运维.奉行"上天给了人两只手,两只眼,而只有一张嘴.就是要让我们多动手,多观察,少耍嘴皮." 对于云上业务,Windows 服务器中毒或被入侵的案例很多.Windows 系统中毒或被入侵后,可能会导致系统报错.系统进程 CPU 或内存使用异常.无法远程等诸多问题.遇到这类问题后往往都比较急躁,不知如何下手,所以今天技术专家五贤来教大家如何诊断你的服务器是否有病毒? 一张图教你如何理清处

服务器重启前请做完你该做的工作

对于系统管理员来说如何管理自己的服务器已经是再简单不过,但是如何管理好服务器却不是一个简单的事情.对于管理员来说重启服务器可不是一件闹着玩的事情.对于Windows服务器管理员来说经常性重启Windows设备已经成为一种生活常态,但在Unix系统中这种办法却难以奏效--在默认情况下重新启动不会带来任何形式的改善. 我打算借此机会跟大家详细聊聊重启的问题.对于每一位服务器管理员来说这都算得上热门话题,但在Unix极客们眼中它则属于一种层次更深的课题--可能因为Windows管理员们往往把重启当成故

七款免费的Windows服务器管理工具

  市场上有众多的工具可以帮助Windows服务器管理员们进行配置.管理.故障排除和保护Windows服务器与域的安全性.本文我们推荐7款免费又实用的服务器管理工具,供管理员们选择. Active Directory Best Practices Analyzer Active Directory Best Practices Analyzer由微软自Windows Server 2008 R2起提供在Windows服务器内部.它通过分析关键设置和其他活动目录组件来检查它们是否遵循微软的最佳实践

如何查看Windows服务器运行了多长时间

前言:有时候管理.维护Windows服务器需要定期重启服务器(为什么 需要重启,你懂的),但是这个"定期"有时候会受很多因素影响,例如某台服务器忘了重启:某台服务器那个时间段业务繁忙,不能重启:那个时间段你忘了重启 服务器...... 诸如此类.当你的Schedule被打乱了.这个时候,你就需要查看服务器运行了多长时间,下面介绍一下如何查看Windows服务器运行时间的方法 方法一:如果这台Windows服务器是数据库服务器,那么可以通过查看SQL SERVER启动时间来间接判断Win

linux服务器重启后ssh端口总是密码错

问题描述 linux服务器重启后ssh端口总是密码错 putty通过ssh连接azure上的linux, 刚开始都是好的,但是在linux中用shutdown -r 0 重启后,再连上去首先提示"连接证书"改变了,然后就是登录总是说登录失败. 解决方案 找下服务商解决,另外可能需要排除一下是不是被黑了.: 解决方案二: 是不是重启后,进入其他用户了,证书是你当前用户吗 解决方案三: Hi, 我尝试了下你所描述的过程,在使用shutdown -r 0 并重启后还是能够成功的连接上虚拟机,