sudo cscli collections install crowdsecurity/nginx-proxy-managerInstalls 2 parsers and 47 scenarios.
View Nginx Proxy Manager →sudo cscli parsers install crowdsecurity/nginx-proxy-manager-logsThen reload CrowdSec: sudo systemctl reload crowdsec
Sign in to see which of your engines run it →Hover a line or a note to see what each field does.
#filter: "evt.Parsed.program startsWith 'nginx-proxy-manager'"onsuccess: next_stagename: crowdsecurity/nginx-proxy-manager-logsdescription: "Parse Nginx Proxy Manager access and error logs"pattern_syntax:NGCACHESTATUS: 'HIT|MISS|BYPASS|EXPIRED|STALE|UPDATING|REVALIDATED|-'NUM_OR_DASH: '-|\d*'NO_DOUBLE_QUOTE: '[^"]+'USER_NOT_FOUND: 'user "%{NO_DOUBLE_QUOTE:username}" was not found in "%{NO_DOUBLE_QUOTE}"'PASSWORD_MISMATCH: 'user "%{NO_DOUBLE_QUOTE:username}": password mismatch'nodes:# For Proxy hosts logs (handles both new and legacy formats with optional upstream status)- grok:pattern: '\[%{HTTPDATE:time_local}\]( %{NGCACHESTATUS:upstream_cache_status} %{NUM_OR_DASH:upstream_status})? %{NUMBER:status} - %{WORD:verb} %{WORD:scheme} %{IPORHOST:target_fqdn} \"%{NOTDQUOTE:request}\" \[Client %{IPORHOST:remote_addr}\] \[Length %{NUMBER:body_bytes_sent}\] \[Gzip %{DATA:gzip_ratio}\]( \[Sent-to %{DATA:target_server}\])? \"%{NOTDQUOTE:http_user_agent}\" \"%{NOTDQUOTE:http_referer}\"'apply_on: messagestatics:- meta: log_typevalue: http_access-log- target: evt.StrTimeexpression: evt.Parsed.time_local# For Default host logs- grok:pattern: '(%{IPORHOST:target_fqdn} )?%{IPORHOST:remote_addr} - (%{NGUSER:remote_user})? \[%{HTTPDATE:time_local}\] "%{WORD:verb} %{DATA:request} HTTP/%{NUMBER:http_version}" %{NUMBER:status} %{NUMBER:body_bytes_sent} "%{NOTDQUOTE:http_referer}" "%{NOTDQUOTE:http_user_agent}"( %{NUMBER:request_length} %{NUMBER:request_time} \[%{DATA:proxy_upstream_name}\] \[%{DATA:proxy_alternative_upstream_name}\])?'apply_on: messagestatics:- meta: log_typevalue: http_access-log- target: evt.StrTimeexpression: evt.Parsed.time_local# and this one the error log- grok:pattern: '(%{IPORHOST:target_fqdn} )?%{NGINXERRTIME:time} \[%{LOGLEVEL:loglevel}\] %{NONNEGINT:pid}#%{NONNEGINT:tid}: (\*%{NONNEGINT:cid} )?%{GREEDYDATA:message}, client: %{IPORHOST:remote_addr}, server: %{IPORHOST:target_fqdn}, request: "%{WORD:verb} %{URIPATHPARAM:request} HTTP/%{NUMBER:http_version}", host: "%{IPORHOST}"'apply_on: messagestatics:- meta: log_typevalue: http_error-log- target: evt.StrTimeexpression: evt.Parsed.timeonsuccess: next_stage
Sign in to see the Security Engines that run this log parser, the version they run and whether it was modified locally.
A generic parser for Nginx Proxy Manager, support both access and error logs.