ELK Logstash解析Syslog主机名错误
介绍
Logstash解析系统日志错误:
如果大家使用Logstash自带的解析规则,在某些情况下会出现解析系统日志失败的情况,原因是因为:系统主机名包含下划线时会解析失败,造成无法识别主机名字段。
主要是生产环境有些网络设备的主机名有带下划线_ ,而合法在主机名是没有不允许下划线的。
使用环境:Rocky Linux 8 、ELK 8.x
HostName主要规则
- 主机名只允许包含ascii字符里的数字0-9,字母a-zA-Z,连字符-。其他都不允许。例如,不允许出现其他标点符号,不允许空格,不允许下划线,不允许中文字符。
- 主机名的开头和结尾字符不允许是连字符。
- 主机名强烈建议不要用数字开头,尽管这一条不是强制的。甚至不要使用只包含可解释为16进制字符的字符串,例如”beef”。
- 建议不要使用计算机领域的特殊的词汇,例如,up。
- 给主机命名通常不考虑字母大小写问题,并且只用小写字母而不用大写字母。
- 给主机命名,建议使用合法的单词,这样方便记忆。因为主机名是在一个domain的范围内唯一即可,通常不必担心重复问题。
修改
1 | find /usr/share/logstash/vendor/ -name grok-patterns |
1 | # 使用vim编辑,注意版本不一样,路径会更改。 |
PS:如果使用Filebeat的模块,也会出现这个问题。
1 | systemctl restart logstash.service |
PS:如果Logstash 更新了,也需要再次修改。
参考
https://github.com/logstash-plugins/logstash-output-elasticsearch/issues/400
https://zhuanlan.zhihu.com/p/101154203
https://blog.csdn.net/wanghuiict/article/details/70038140
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 网工格物 - Blog!