TGViewer
ServerAdmin.ru ServerAdmin.ru @srv_admin · 32.6K subscribers
Post #5471 10.1K
Завершу тему с Loki и Mikrotik окончательным и максимально удобным решением, к которому я пришёл, и которое можно сохранить себе. Я в итоге применил Vector, про который я уже не раз упоминал и которым я пользуюсь для других задач. Мне этот сборщик, обработчик и отправитель логов нравится больше всего. На примере настройки ниже вы сами убедитесь в его удобстве.

Ставим Vector любым удобным для вас способом. Я выбираю пакеты:

# bash -c "$(curl -L https://setup.vector.dev)"
# apt install vector

Приводим конфигурацию /etc/vector/vector.yaml к следующему виду:

sources:
 syslog_udp:
  type: syslog
  address: 0.0.0.0:3514
  mode: udp

sinks:
 syslog_to_loki:
  type: loki
  inputs:
   - syslog_udp
  compression: none
  encoding:
   codec: json
  endpoint: http://192.168.137.30:3100
  labels:
   job: mikrotik


Перезапускаем Vector:

# systemctl restart vector

Сравните это с конфигурациями Alloy. Небо и земля по читаемости. Здесь я на вход принимаю syslog любых форматов. А на выходе выпускаю json. Хотя у Vector в документации на выходе есть формат syslog. Я сначала с ним пробовал, так как это выглядит логично. Но на практике итоговый результат с json лучше.

Теперь идём в Mikrotik в раздел SystemLoggingActions и добавляем новое действие. Я назвал его Loki, указал адрес и порт сервера, где установлен Vector, в качестве Remote Log Format выбрал BSD Syslog. После этого в разделе Rules добавил новое правило для логов System действие - Loki. Всё, в Микротике больше ничего делать не надо.

Можно идти в Loki и смотреть логи. Не нужно специально настраивать парсинг логов, добавлять дополнительные метки и т.д. Всё, что надо, уже есть. При такой настройке Vector вы получите в логах следующие поля:

▪️hostname
▪️source_ip
▪️message

Ну и некоторые другие, которые уже не так нужны. Главное, что есть эти. Теперь можно легко различать логи из единого потока по устройствам. И не нужно настраивать разные приёмники или как-то насыщать логи дополнительной информацией об отправителях. При других настройках, в том числе в Alloy, я не смог добиться автоматического парсинга этих полей. А в Vector заработало сразу, благодаря его внутреннему преобразованию syslog в json.

Рекомендую познакомиться с Vector, если ещё не доводилось пользоваться. Он берёт логи из любых источников, например из обычного файла, docker logs, journald, kafka, kubernetes logs, logstash и ещё 40 различных программ и кладёт их в кучу разных источников: loki, elasticsearch, prometheus, clickhouse, postgres, текстовый файл и ещё около 50-ти различных типов. То есть он может взять практически всё что угодно, отправлять куда угодно, попутно преобразовывая. И при этом у него отличная документация с примерами.

❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.

———
ServerAdmin: 📱 Telegram | 🌐 Сайт | 📲 MAX 😩

#loki #mikrotik
  • 👍 122
  • 👎 1
More from @srv_admin
  1. Sep 24, 2026Траблшутинг - мастхэв компетенция для инженера В Rebrain траблшутинги проводят уже несколь…
  2. Sep 23, 2026Очередная подборка статей авторов, которые согласились в ней участвовать. Кто не понимает,…
  3. Sep 23, 2026Контейнеры в одном инструменте, виртуалки — в другом, частное облако — вообще отдельная ис…
  4. Sep 23, 2026Расскажу тем, кто не знает, и напомню тем, кто забыл, как я. Не надо в Proxmox в LXC конте…
  5. Sep 22, 2026Недавно случайно заметил любопытную информацию на тему Proxmox VE и новой функциональности…
  6. Sep 22, 2026✔️ Сети для всех — сообщество для тех, кто развивается в сетевом и системном администриров…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →