微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何从瞻博网络交换机获取日志消息以使用 filebeat 由 ELK 堆栈进行处理?

如何解决如何从瞻博网络交换机获取日志消息以使用 filebeat 由 ELK 堆栈进行处理?

我很抱歉,因为我对使用堆栈溢出还很陌生。如果我需要更改我的问题,请告诉我。

我目前正在尝试为我的工作设置日志聚合器。我的计划是使用弹性堆栈和 filebeat 来收集日志并显示它们。我使用本教程来设置初始服务器:

https://www.digitalocean.com/community/tutorials/how-to-install-elasticsearch-logstash-and-kibana-elastic-stack-on-ubuntu-18-04

我能够使用 filebeat 系统模块从系统中读取系统日志,就像在教程中一样。然后我将其禁用,以便我可以尝试从瞻博网络交换机记录系统日志,而不必阅读所有服务器系统日志。

现在我只是想让日志从瞻博网络交换机进入我的虚拟机。我已将交换机设置为在端口 9513 上将系统日志发送到虚拟机的 ip。当我使用 tcpdump 监控端口时,我可以看到日志。

select * from posts

我知道有几种不同的方法可以使用 filebeat 来读取此输入数据。一种是使用我已启用的认瞻博网络模块。我还可以在 filebeat.yml 配置文件中设置一个 syslog 类型输入。我已经使用端口 9513 和端口 514 尝试了这两种方法

user@logserver:~$ sudo tcpdump -i ens160 port 9513
tcpdump: verbose output suppressed,use -v or -vv for full protocol decode
listening on ens160,link-type EN10MB (Ethernet),capture size 262144 bytes
16:42:20.558768 IP ***.***.***.***.syslog > logserver.9513: SYSLOG local7.info,length: 124
16:45:00.571980 IP ***.***.***.***.syslog > logserver.9513: SYSLOG cron.info,length: 79
16:45:00.576370 IP ***.***.***.***.syslog > logserver.9513: SYSLOG cron.info,length: 91
16:47:45.944277 IP ***.***.***.***.syslog > logserver.9513: SYSLOG local7.info,length: 124
16:48:20.568840 IP ***.***.***.***.syslog > logserver.9513: SYSLOG local7.info,length: 64
16:50:00.653082 IP ***.***.***.***.syslog > logserver.9513: SYSLOG cron.info,length: 91
16:50:55.769884 IP ***.***.***.***.syslog > logserver.9513: SYSLOG local7.info,length: 106
16:50:55.777058 IP ***.***.***.***.syslog > logserver.9513: SYSLOG local7.notice,length: 112
16:50:57.704914 IP ***.***.***.***.syslog > logserver.9513: SYSLOG local7.info,length: 101
16:50:57.817315 IP ***.***.***.***.syslog > logserver.9513: SYSLOG local7.notice,length: 112
16:55:00.701165 IP ***.***.***.***.syslog > logserver.9513: SYSLOG cron.info,length: 91
17:00:00.766060 IP ***.***.***.***.syslog > logserver.9513: SYSLOG cron.info,length: 91
17:00:00.777780 IP ***.***.***.***.syslog > logserver.9513: SYSLOG cron.info,length: 79

我猜测 filebeat 配置中有一些我不理解的东西,因为 filebeat 没有将任何系统日志信息发送到 logstash。我还在端口 5044 和 lo 接口上使用了 tcpdump,教程使用该端口设置 filebeat 的输出和 logstash 的输入。当我运行它并从端口 514 或 9513 上的交换机接收新日志时,没有任何内容通过 5044 发送,如下所示:

filebeat.inputs:

- type: syslog
  protocol.udp:
    host: "localhost:514"
- type: syslog
  protocol.udp:
    host: "localhost:9513"



- module: juniper
  junos:
    enabled: true

    # Set which input to use between udp (default),tcp or file.
      var.input: udp
      var.syslog_host: localhost
      var.syslog_port: 514
- module: juniper
  junos:
    enabled: true

    # Set which input to use between udp (default),tcp or file.
      var.input: udp
      var.syslog_host: localhost
      var.syslog_port: 9513

对理解 filebeat 的任何帮助将不胜感激。先谢谢你

解决方法

我不确定我到底做了什么,但现在似乎可以正常工作了。我删除了“set system syslog host ...”的瞻博网络配置,并在没有端口分配的情况下重新进行了配置.这意味着我所有的 syslog 消息现在都将发送到 514 端口,因此我检查了服务器上的该端口。它正在接收所有日志,因此我将 logstash 和 filebeat 配置文件重置为默认设置并禁用了 filebeat 上的所有模块。我禁用并停止了 filebeat 和 logstash,重新启用并重新启动。之后,我在 filebeat 中重新启用了系统和瞻博网络模块。这以某种方式起作用了,我现在可以看到系统日志从瞻博网络交换机进入 elasticsearch。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?