是否可以配置我的fail2ban jail.conf来检查docker日志,而不是将日志安装在主机中。例如,将logpath设置为容器日志的路径。
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 ,请求:“GET /Blog/wp-login.php HTTP / 1.1”,上游:“http://172.17.0.3:8001/Blog/wp-login.php”,主机: “的 @MY_IP:80” @ATTACKER_IP - [23 / Mar / 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 ,server: @MY_DNS ,请求:\“GET /Blog/wp-login.php HTTP / 1.1 \”,上游:\“http://172.17.0.3:8001/Blog/wp-login.php \”,主机:\“ @MY_IP :80 \ “\ n”, “流”: “标准输出”, “时间”: “2016-03-23T12:39:52.219982304Z”} {“log”:“ @ATTACKER_IP - - [23 / Mar / 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“}
我准确地将日志文件挂载到主机中,我知道这是愚蠢的,所以我的问题是:
谢谢!
答案 0 :(得分:0)
您可以配置容器以将日志发送到syslog,请参阅https://docs.docker.com/engine/admin/logging/overview/
答案 1 :(得分:0)
您还可以更改 nginx-http-auth 守护程序的fail2ban正则表达式规则。 正则表达式规则在此文件夹中:
/etc/fail2ban/filter.d