2016-03-23 7 views
2

Ist es möglich, meine fail2ban jail.conf zu konfigurieren, um die Docker-Logs zu untersuchen, anstatt das Log im Host zu mounten. um beispielsweise den Protokollpfad auf den Pfad des Protokolls des Containers zu setzen.wie man fail2ban lesen kann json docker logs

Jail.conf:

... 
#example 
[nginx-http-auth] 
    enabled = true 
    filter = nginx-http-auth 
    port = http,https 
    logpath = /var/lib/docker/containers/819564257d4*/*e0923e-json.log 
... 

aber nicht viel tun, denn es gibt einen kleinen Unterschied zwischen dem Befehl Docker Protokolle und die Protokolldatei:

# docker logs @nginx_container_name 

2016/03/23 12:39:52 [Fehler] 6 # 6: * 350 Upstream vorzeitig geschlossen Verbindung beim Lesen Antwort Header aus dem Upstream, Client: @ATTACKER_IP, se RVer: @MY_DNS, Anfrage: "GET /Blog/wp-login.php HTTP/1.1" stromaufwärts "http://172.17.0.3:8001/Blog/wp-login.php" host: "@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 [Fehler] 6 # 6: * 350 Upstream vorzeitig geschlossen Verbindung beim Lesen Antwort Header aus Upstream, Client: @ATTACKER_IP, Server: @MY_DNS, Anforderung: \ "GET /Blog/wp-login.php HTTP/1.1 \", Upstream: \ "http://172.17.0.3:8001/Blog/wp-login.php \", Host: \ "@MY_IP: 80 \" \ n "," stream ":" stdout "," zeit ":" 2016-03-23T12: 39: 52.219982304Z "} {" log ":" @ATTACKER_IP - - [23/Mär/2016: 12: 39 : 52 +0000] \ "GET /Blog/wp-login.php HTTP/1.1 \" 502 173 \ "- \" \ "Python-urllib/2.7 \" \ n "," stream ":" stdout "," Zeit ":" 2016-03-23T12: 39: 52.421767592Z "}

I accually bin die Protokolldatei in den Wirt Montag und ich weiß, dass dies dumm ist, so meine Frage ist:

  • ist es eine Möglichkeit, die rsyslog lesen Sie die json Protokolldatei des Docker nginx Behälter
  • wenn nicht zu machen, wie Docker zu konfigurieren, dass ein Syslog-Protokollformat auf der
  • wenn nicht, wie konfigurieren syslog machen Container, um das Protokoll an meinen Host zu übergeben?

Vielen Dank!

Antwort

0

Sie auch die fail2ban regex Regeln für die ändern kann nginx-http-auth Daemon. Die regex Regeln sind in diesem Ordner:

/etc/fail2ban/filter.d