Можно ли настроить мой fail2ban jail.conf для проверки журналов докеров вместо монтирования журнала на хосте. например, чтобы установить путь журнала к пути журнала контейнера.
Jail.conf:
...
#example
[nginx-http-auth]
enabled = true
filter = nginx-http-auth
port = http,https
logpath = /var/lib/docker/containers/819564257d4*/*e0923e-json.log
...
но это мало что значит, потому что есть небольшая разница между командой docker logs и файлом журнала:
# docker logs @nginx_container_name
2016/03/23 12:39:52 [ошибка] 6 # 6: * 350 восходящее соединение преждевременно закрыто при чтении заголовка ответа от восходящего потока, клиент: @ATTACKER_IP, сервер: @MY_DNS < / strong>, запрос: "GET /Blog/wp-login.php HTTP / 1.1", восходящий поток: "http://172.17.0.3:8001/Blog/wp-login.php", хост: "@MY_IP: 80" @ATTACKER_IP - - [23 марта / 2016: 12: 39: 52 +0000] "GET /Blog/wp-login.php HTTP / 1.1" 502 173 "-" "Python-urllib / 2.7"
# cat /var/lib/docker/containers/819564257d4*/*e0923e-json.log
{"log": "2016/03/23 12:39:52 [ошибка] 6 # 6: * 350 восходящее соединение преждевременно закрыто при чтении заголовка ответа от восходящего потока, клиент: @ATTACKER_IP, сервер: @MY_DNS, запрос: \ "GET /Blog/wp-login.php HTTP / 1.1 \", восходящий поток: \ "http://172.17.0.3:8001/Blog/wp-login.php \", хост: \ "@MY_IP: 80 \ "\ n", "stream": "stdout", "time": "2016-03-23T12: 39: 52.219982304Z"} {"log": "@ATTACKER_IP - - [ 23 / Март / 2016: 12: 39: 52 +0000] \ "GET /Blog/wp-login.php HTTP / 1.1 \" 502 173 \ "- \" \ "Python-urllib / 2.7 \" \ n ", "stream": "stdout", "time": "2016-03-23T12: 39: 52.421767592Z"}
Я постоянно монтирую файл журнала на хост, и я знаю, что это глупо, поэтому мой вопрос:
- есть ли способ заставить rsyslog читать файл журнала json контейнера docker nginx
- если нет, как настроить докер для создания формата журнала системного журнала
- если нет, как настроить системный журнал на контейнере, чтобы передать журнал моему хосту?
Спасибо !