К сожалению, вы не опубликовали свой системный журнал -ng config,так что я просто предполагаю, основываясь на своем собственном опыте с этим типом ошибок.
Сообщение об ошибке немного вводит в заблуждение. Текущий профиль apparmor запрещает syslog-ng
доступ к нескольким файлам. Распространенной проблемой является /dev/kmsg
, которая необходима при использовании источника, подобного этому:
source kernsrc {
file("/proc/kmsg");
};
Несмотря на то, что доступ к файлу должен осуществляться через /proc/kmsg
, syslog -ng проверяет некоторые условия в /dev/kmsg
перед продолжением (проверяется с помощьюstrace
). Поскольку этот файл не может быть прочитан syslog -ng, он не запускается.
Я уже отправил эту ошибку в багтрекер -профилей здесь .
Тем временем вы можете исправить это, вручную отредактировав профиль, чтобы разрешить syslog-ng
читать /dev/kmsg
. Добавьте эту строку разрешений где-нибудь в список в профиле apparmor для syslog-ng
, возможно/etc/apparmor.d/sbin.syslog-ng
:
/dev/kmsg r,
Фильтр ipv4 не является фильтром разрешения имен. Он просто проверяет, является ли переданная строка действительным адресом IPv4.
Если вы хотите разрешить DNS-адрес, вам, вероятно, следует использовать плагин поиска «dig».
https://docs.ansible.com/ansible/latest/plugins/lookup/dig.html
Пример
$ ansible localhost -m debug \
-a 'msg={{lookup("dig","www.google.com/a",wantlist=true)|first}}'
localhost | SUCCESS => {
"msg": "172.217.14.196"
}