mirror of
https://github.com/optim-enterprises-bv/Mailu.git
synced 2025-11-24 18:25:19 +00:00
Merge #2606
2606: Modify the healtchecks to make them disapear from the logs. r=nextgens a=nextgens ## What type of PR? enhancement ## What does this PR do? Modify the healtchecks to make them disapear from the logs. This is not perfect... - dovecot now complains about waitpid/finding a new process - postfix is still regularly pinging rspamd / his milter and that generates a few lines worth of logs each time. ### Related issue(s) ## Prerequisites Before we can consider review and merge, please make sure the following list is done and checked. If an entry in not applicable, you can check it or remove it from the list. - [ ] In case of feature or enhancement: documentation updated accordingly - [x] Unless it's docs or a minor change: add [changelog](https://mailu.io/master/contributors/workflow.html#changelog) entry file. Co-authored-by: Florent Daigniere <nextgens@freenetproject.org>
This commit is contained in:
@@ -23,7 +23,7 @@ RUN set -euxo pipefail \
|
|||||||
RUN echo $VERSION >/version
|
RUN echo $VERSION >/version
|
||||||
|
|
||||||
#EXPOSE 80/tcp
|
#EXPOSE 80/tcp
|
||||||
HEALTHCHECK CMD curl -skfLo /dev/null http://localhost/sso/login?next=ui.index
|
HEALTHCHECK CMD curl -skfLo /dev/null http://localhost/ping
|
||||||
|
|
||||||
VOLUME ["/data","/dkim"]
|
VOLUME ["/data","/dkim"]
|
||||||
|
|
||||||
|
|||||||
@@ -5,9 +5,24 @@ import flask
|
|||||||
import flask_bootstrap
|
import flask_bootstrap
|
||||||
|
|
||||||
from mailu import utils, debug, models, manage, configuration
|
from mailu import utils, debug, models, manage, configuration
|
||||||
|
from gunicorn import glogging
|
||||||
|
import logging
|
||||||
|
|
||||||
import hmac
|
import hmac
|
||||||
|
|
||||||
|
class NoPingFilter(logging.Filter):
|
||||||
|
def filter(self, record):
|
||||||
|
if not (record.args['{host}i'] == 'localhost' and record.args['r'] == 'GET /ping HTTP/1.1'):
|
||||||
|
return True
|
||||||
|
|
||||||
|
class Logger(glogging.Logger):
|
||||||
|
def setup(self, cfg):
|
||||||
|
super().setup(cfg)
|
||||||
|
|
||||||
|
# Add filters to Gunicorn logger
|
||||||
|
logger = logging.getLogger("gunicorn.access")
|
||||||
|
logger.addFilter(NoPingFilter())
|
||||||
|
|
||||||
def create_app_from_config(config):
|
def create_app_from_config(config):
|
||||||
""" Create a new application based on the given configuration
|
""" Create a new application based on the given configuration
|
||||||
"""
|
"""
|
||||||
@@ -69,6 +84,10 @@ def create_app_from_config(config):
|
|||||||
def format_datetime(value):
|
def format_datetime(value):
|
||||||
return utils.flask_babel.format_datetime(value) if value else ''
|
return utils.flask_babel.format_datetime(value) if value else ''
|
||||||
|
|
||||||
|
def ping():
|
||||||
|
return ''
|
||||||
|
app.route('/ping')(ping)
|
||||||
|
|
||||||
# Import views
|
# Import views
|
||||||
from mailu import ui, internal, sso, api
|
from mailu import ui, internal, sso, api
|
||||||
app.register_blueprint(ui.ui, url_prefix=app.config['WEB_ADMIN'])
|
app.register_blueprint(ui.ui, url_prefix=app.config['WEB_ADMIN'])
|
||||||
|
|||||||
@@ -52,12 +52,15 @@ def test_DNS():
|
|||||||
|
|
||||||
test_DNS()
|
test_DNS()
|
||||||
|
|
||||||
start_command="".join([
|
start_command=" ".join([
|
||||||
"gunicorn --threads ", str(os.cpu_count()),
|
"gunicorn",
|
||||||
" -b :80 ",
|
f"--threads {str(os.cpu_count())}",
|
||||||
"--access-logfile - " if (log.root.level<=log.INFO) else "",
|
"-b :80",
|
||||||
"--error-logfile - ",
|
"--logger-class mailu.Logger",
|
||||||
"--preload ",
|
"--worker-tmp-dir /dev/shm",
|
||||||
|
"--access-logfile -" if (log.root.level<=log.INFO) else "",
|
||||||
|
"--error-logfile -",
|
||||||
|
"--preload",
|
||||||
"'mailu:create_app()'"])
|
"'mailu:create_app()'"])
|
||||||
|
|
||||||
os.system(start_command)
|
os.system(start_command)
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ COPY start.py /
|
|||||||
RUN echo $VERSION >/version
|
RUN echo $VERSION >/version
|
||||||
|
|
||||||
EXPOSE 110/tcp 143/tcp 993/tcp 4190/tcp 2525/tcp
|
EXPOSE 110/tcp 143/tcp 993/tcp 4190/tcp 2525/tcp
|
||||||
HEALTHCHECK --start-period=350s CMD echo QUIT|nc localhost 110|grep "Dovecot ready."
|
HEALTHCHECK CMD echo PING|nc -w2 localhost 5001|grep "PONG"
|
||||||
|
|
||||||
VOLUME ["/mail"]
|
VOLUME ["/mail"]
|
||||||
|
|
||||||
|
|||||||
@@ -95,6 +95,13 @@ service auth-worker {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
service health-check {
|
||||||
|
executable = script -p health-check.sh
|
||||||
|
inet_listener health-check {
|
||||||
|
port = 5001
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
###############
|
###############
|
||||||
# IMAP & POP
|
# IMAP & POP
|
||||||
###############
|
###############
|
||||||
|
|||||||
@@ -1,41 +1,43 @@
|
|||||||
# rsyslog configuration file
|
# rsyslog configuration file
|
||||||
#
|
#
|
||||||
# For more information see /usr/share/doc/rsyslog-*/rsyslog_conf.html
|
# For more information see /usr/share/doc/rsyslog-*/rsyslog_conf.html
|
||||||
# or latest version online at http://www.rsyslog.com/doc/rsyslog_conf.html
|
# or latest version online at http://www.rsyslog.com/doc/rsyslog_conf.html
|
||||||
# If you experience problems, see http://www.rsyslog.com/doc/troubleshoot.html
|
# If you experience problems, see http://www.rsyslog.com/doc/troubleshoot.html
|
||||||
|
|
||||||
|
|
||||||
#### Global directives ####
|
#### Global directives ####
|
||||||
|
|
||||||
# Sets the directory that rsyslog uses for work files.
|
# Sets the directory that rsyslog uses for work files.
|
||||||
$WorkDirectory /var/lib/rsyslog
|
$WorkDirectory /var/lib/rsyslog
|
||||||
|
|
||||||
# Sets default permissions for all log files.
|
# Sets default permissions for all log files.
|
||||||
$FileOwner root
|
$FileOwner root
|
||||||
$FileGroup adm
|
$FileGroup adm
|
||||||
$FileCreateMode 0640
|
$FileCreateMode 0640
|
||||||
$DirCreateMode 0755
|
$DirCreateMode 0755
|
||||||
$Umask 0022
|
$Umask 0022
|
||||||
|
|
||||||
# Reduce repeating messages (default off).
|
# Reduce repeating messages (default off).
|
||||||
$RepeatedMsgReduction on
|
$RepeatedMsgReduction on
|
||||||
|
|
||||||
|
|
||||||
#### Modules ####
|
#### Modules ####
|
||||||
|
|
||||||
# Provides support for local system logging (e.g. via logger command).
|
# Provides support for local system logging (e.g. via logger command).
|
||||||
module(load="imuxsock")
|
module(load="imuxsock")
|
||||||
|
|
||||||
#### Rules ####
|
#### Rules ####
|
||||||
|
|
||||||
# Discard messages from local test requests
|
# Discard messages from local test requests
|
||||||
:msg, contains, "connect from localhost[127.0.0.1]" ~
|
:msg, contains, "connect from localhost[127.0.0.1]" ~
|
||||||
:msg, contains, "connect from localhost[::1]" ~
|
:msg, contains, "connect from localhost[::1]" ~
|
||||||
|
:msg, contains, "haproxy read: short protocol header: QUIT" ~
|
||||||
{% if POSTFIX_LOG_FILE %}
|
:msg, contains, "discarding EHLO keywords: PIPELINING" ~
|
||||||
# Log mail logs to file
|
|
||||||
mail.* -{{POSTFIX_LOG_FILE}}
|
{% if POSTFIX_LOG_FILE %}
|
||||||
{% endif %}
|
# Log mail logs to file
|
||||||
|
mail.* -{{POSTFIX_LOG_FILE}}
|
||||||
# Log mail logs to stdout
|
{% endif %}
|
||||||
mail.* -/dev/stdout
|
|
||||||
|
# Log mail logs to stdout
|
||||||
|
mail.* -/dev/stdout
|
||||||
|
|||||||
1
towncrier/newsfragments/2606.misc
Normal file
1
towncrier/newsfragments/2606.misc
Normal file
@@ -0,0 +1 @@
|
|||||||
|
Modify the healtchecks to make them disapear from the logs.
|
||||||
Reference in New Issue
Block a user