В лог-файле хранится список IP-адресов (их количество меняется каждые несколько минут).Файл журнала содержит только уникальные IP-адреса (sort -u):
IP-Pool.log [Example]:
192.168.1.1
192.168.1.2
10.1.1.0
.
.
Я бы хотел отфильтровать происходящие события соединения с помощью rsyslog и отсортировать их по:
- Событиям, в которых содержится $ msgодин IP-адрес массива [IP-Pool-List]
- События, в которых $ msg не содержит IP-адрес массива [IP-Pool-List]
Поэтому мне придетсяпоместите IP-адреса в массив, чтобы их можно было сравнить, но я не нашел способа сделать это.
if $msg contains 'connection-event-id' then {
if $msg contains 'Array[IP-Pool-List] then {
-/var/log/event_contains_ip.log
STOP
}
else{
-/var/log/event_doesnt_contain_ip.log
STOP
}
}
Мне бы также пришлось перезапустить службу rsyslogd, чтобы обновить массив [IP-Pool-List], так как файл меняется каждые несколько минут?
Есть ли способ решить эту проблему с помощью rsyslog, или есть более простой / лучший способ сделать это?
EDIT
Я использовал crontab и inotifywait для обновления IP-пула-файла.
@reboot inotifywait -q -m -e modify /var/log/client-ips.log |
while read -r filename events; do sort -u /var/log/client-ips.log
-o /var/log/ips-unique.log ;done
Я также задавал этот вопрос по почте в "rsyslog-community"«их контактная почта указана внизу документации rsyslog (https://lists.adiscon.net/mailman/listinfo/rsyslog)) Они дали мне советSE "Lookup-таблицы", чтобы решить эту проблему.Сейчас читаю, как правильно их использовать.Поскольку я учусь медленно, это должно занять некоторое время.
РЕДАКТИРОВАТЬ 2
Новый план начинает формироваться:
- Чтобы запустить Lookup-Table, мне нужно создать JSON-файл, который содержит значения, с которыми я собираюсь построить свой фильтр с
- Обновлять JSON-файл с помощью «reload_lookup_table» или «JQ» всякий раз, когда новыйIP добавлен в список IP-пулов.
- Используйте RSYSLOG Lookup-Table для фильтрации по заданным IP-адресам и разделения результатов на два отдельных файла журнала |Match.log |NoMatch.log
Надеюсь, что так и будет.
С Новым годом миротворец