Заранее извиняюсь, так как я новичок в использовании переполнения стека. Пожалуйста, дайте мне знать, если мне нужно что-то изменить в моем вопросе.
В настоящее время я пытаюсь настроить агрегатор журналов для своей работы. Я планирую использовать эластичный стек и filebeat для сбора журналов и их отображения. Я использовал этот учебник для настройки начального сервера:
Я смог прочитать системные журналы из системы, используя системный модуль filebeat, как в учебнике. Затем я отключил его, чтобы попытаться регистрировать системные журналы с коммутатора Juniper без необходимости чтения всех системных журналов сервера.
Прямо сейчас я просто пытаюсь получить журналы с коммутатора можжевельника на мою виртуальную машину. У меня настроен коммутатор для отправки системных журналов на IP-адрес виртуальной машины через порт 9513. Я вижу поступающие журналы, когда использую 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 для чтения этих входных данных. Один использует модуль можжевельника по умолчанию, который я включил. Я также мог бы настроить ввод типа системного журнала в конфигурационном файле filebeat.yml. Я пробовал оба этих метода, используя порт 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
Я предполагаю, что в конфигурации filebeat есть что-то, чего я не понимаю, поскольку filebeat не отправляет информацию системного журнала в logstash. Я также использовал tcpdump на порту 5044 и интерфейсе lo, порт, который используется в руководстве для настройки вывода 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
Любая помощь в понимании файла будет очень признательна. Заранее благодарю
Я не уверен, что именно я сделал, но, похоже, теперь это работает. Я удалил конфигурацию можжевельника «установить системный системный журнал ...» и переделал ее без назначения порта. Это означало, что все мои сообщения системного журнала теперь отправлялись на порт 514, поэтому я проверил этот порт на сервере. Он получал все журналы, поэтому я сбросил конфигурационные файлы logstash и filebeat до настроек по умолчанию и отключил все модули в filebeat. Я отключил и остановил оба файла и logstash, снова включил и перезапустил. После этого я повторно включил модули системы и можжевельника в filebeat. Это каким-то образом сработало, и теперь я вижу системные журналы, поступающие в elasticsearch с коммутатора Juniper.