我道歉,因为我是相当新的使用堆栈溢出。如果我需要改变我的问题,请告诉我。
我目前正试图为我的工作建立一个日志聚合器。我的计划是使用弹性堆栈和文件拍收集日志并显示它们。我使用本教程设置初始服务器:
我能够使用文件拍系统模块从系统中读取syslog,就像在教程中一样。然后,我禁用了它,这样我就可以尝试从juniper交换机记录syslog,而不需要读取所有的服务器syslog。
现在,我只是想让日志从一个juniper开关进入我的虚拟机。我将交换机设置为将syslog发送到端口9513上的虚拟机的ip。当我使用tcpdump监视端口时,我可以看到日志进入。
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来读取这些输入数据。一个是使用默认的juniper模块,我已经启用了这个模块。我还可以在filebeat.yml配置文件中设置syslog类型输入。我使用端口9513和端口514尝试了这两种方法。
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我猜想在file节拍配置中有一些我不理解的东西,因为file节拍没有向logstash发送任何syslog信息。我还在端口5044和lo接口上使用了tcpdump,这是本教程用来设置filebeat输出和logstash输入的端口。当我运行它并从端口514或9513上的开关接收一个新日志时,不会通过5044发送任何内容,如下所示:
user@logserver:~$ sudo tcpdump -i lo port 5044
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on lo, link-type EN10MB (Ethernet), capture size 262144 bytes
^C
0 packets captured
0 packets received by filter
0 packets dropped by kernel任何帮助理解文件节拍将不胜感激。谢谢你的进阶
发布于 2020-12-28 17:59:12
我不知道我到底做了什么,但现在看来正在起作用。我删除了“syslog主机...”“的juniper配置,并在没有端口分配的情况下重新做了它。这意味着我所有的syslog消息都会转到514端口,所以我在服务器上检查了这个端口。它正在接收所有的日志,因此我将logstash和file打配置文件重置为默认设置,并禁用了文件节拍上的所有模块。我禁用并停止了文件和日志存储,重新启用,然后重新启动。之后,我重新启用了系统和juniper模块。这在某种程度上起了作用,我现在可以看到系统日志从juniper开关进入elasticsearch。
https://stackoverflow.com/questions/65428417
复制相似问题