Dieser Commit ist enthalten in:
milkmaker 2021-10-29 19:25:43 +00:00
Ursprung fcf26ad6aa
Commit 35ebd99318
3 geänderte Dateien mit 288 neuen und 32 gelöschten Zeilen

Dateidiff unterdrĂĽckt, weil mindestens eine Zeile zu lang ist

Binäre Datei nicht angezeigt.

Datei anzeigen

@ -65,7 +65,7 @@
<div data-md-component="skip">
<a href="#thresholds-description" class="md-skip">
<a href="#thresholds-descriptions" class="md-skip">
Skip to content
</a>
@ -1716,13 +1716,125 @@
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
<li class="md-nav__item">
<a href="#thresholds-description" class="md-nav__link">
Thresholds description
<a href="#thresholds-descriptions" class="md-nav__link">
Thresholds descriptions
</a>
<nav class="md-nav" aria-label="Thresholds description">
<nav class="md-nav" aria-label="Thresholds descriptions">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#nginx_threshold" class="md-nav__link">
NGINX_THRESHOLD
</a>
</li>
<li class="md-nav__item">
<a href="#unbound_threshold" class="md-nav__link">
UNBOUND_THRESHOLD
</a>
</li>
<li class="md-nav__item">
<a href="#redis_threshold" class="md-nav__link">
REDIS_THRESHOLD
</a>
</li>
<li class="md-nav__item">
<a href="#mysql_threshold" class="md-nav__link">
MYSQL_THRESHOLD
</a>
</li>
<li class="md-nav__item">
<a href="#mysql_replication_threshold" class="md-nav__link">
MYSQL_REPLICATION_THRESHOLD
</a>
</li>
<li class="md-nav__item">
<a href="#sogo_threshold" class="md-nav__link">
SOGO_THRESHOLD
</a>
</li>
<li class="md-nav__item">
<a href="#postfix_threshold" class="md-nav__link">
POSTFIX_THRESHOLD
</a>
</li>
<li class="md-nav__item">
<a href="#clamd_threshold" class="md-nav__link">
CLAMD_THRESHOLD
</a>
</li>
<li class="md-nav__item">
<a href="#dovecot_threshold" class="md-nav__link">
DOVECOT_THRESHOLD
</a>
</li>
<li class="md-nav__item">
<a href="#dovecot_repl_threshold" class="md-nav__link">
DOVECOT_REPL_THRESHOLD
</a>
</li>
<li class="md-nav__item">
<a href="#phpfpm_threshold" class="md-nav__link">
PHPFPM_THRESHOLD
</a>
</li>
<li class="md-nav__item">
<a href="#ratelimit_threshold" class="md-nav__link">
RATELIMIT_THRESHOLD
</a>
</li>
<li class="md-nav__item">
<a href="#fail2ban_threshold" class="md-nav__link">
FAIL2BAN_THRESHOLD
</a>
</li>
<li class="md-nav__item">
<a href="#acme_threshold" class="md-nav__link">
ACME_THRESHOLD
</a>
</li>
<li class="md-nav__item">
<a href="#rspamd_threshold" class="md-nav__link">
RSPAMD_THRESHOLD
</a>
</li>
<li class="md-nav__item">
<a href="#olefy_threshold" class="md-nav__link">
OLEFY_THRESHOLD
</a>
</li>
<li class="md-nav__item">
<a href="#mailq_crit-and-mailq_threshold" class="md-nav__link">
MAILQ_CRIT and MAILQ_THRESHOLD
@ -2304,13 +2416,125 @@
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
<li class="md-nav__item">
<a href="#thresholds-description" class="md-nav__link">
Thresholds description
<a href="#thresholds-descriptions" class="md-nav__link">
Thresholds descriptions
</a>
<nav class="md-nav" aria-label="Thresholds description">
<nav class="md-nav" aria-label="Thresholds descriptions">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#nginx_threshold" class="md-nav__link">
NGINX_THRESHOLD
</a>
</li>
<li class="md-nav__item">
<a href="#unbound_threshold" class="md-nav__link">
UNBOUND_THRESHOLD
</a>
</li>
<li class="md-nav__item">
<a href="#redis_threshold" class="md-nav__link">
REDIS_THRESHOLD
</a>
</li>
<li class="md-nav__item">
<a href="#mysql_threshold" class="md-nav__link">
MYSQL_THRESHOLD
</a>
</li>
<li class="md-nav__item">
<a href="#mysql_replication_threshold" class="md-nav__link">
MYSQL_REPLICATION_THRESHOLD
</a>
</li>
<li class="md-nav__item">
<a href="#sogo_threshold" class="md-nav__link">
SOGO_THRESHOLD
</a>
</li>
<li class="md-nav__item">
<a href="#postfix_threshold" class="md-nav__link">
POSTFIX_THRESHOLD
</a>
</li>
<li class="md-nav__item">
<a href="#clamd_threshold" class="md-nav__link">
CLAMD_THRESHOLD
</a>
</li>
<li class="md-nav__item">
<a href="#dovecot_threshold" class="md-nav__link">
DOVECOT_THRESHOLD
</a>
</li>
<li class="md-nav__item">
<a href="#dovecot_repl_threshold" class="md-nav__link">
DOVECOT_REPL_THRESHOLD
</a>
</li>
<li class="md-nav__item">
<a href="#phpfpm_threshold" class="md-nav__link">
PHPFPM_THRESHOLD
</a>
</li>
<li class="md-nav__item">
<a href="#ratelimit_threshold" class="md-nav__link">
RATELIMIT_THRESHOLD
</a>
</li>
<li class="md-nav__item">
<a href="#fail2ban_threshold" class="md-nav__link">
FAIL2BAN_THRESHOLD
</a>
</li>
<li class="md-nav__item">
<a href="#acme_threshold" class="md-nav__link">
ACME_THRESHOLD
</a>
</li>
<li class="md-nav__item">
<a href="#rspamd_threshold" class="md-nav__link">
RSPAMD_THRESHOLD
</a>
</li>
<li class="md-nav__item">
<a href="#olefy_threshold" class="md-nav__link">
OLEFY_THRESHOLD
</a>
</li>
<li class="md-nav__item">
<a href="#mailq_crit-and-mailq_threshold" class="md-nav__link">
MAILQ_CRIT and MAILQ_THRESHOLD
@ -2343,31 +2567,63 @@
<h1>Thresholds</h1>
<p>Watchdog uses default values for all thresholds defined in <code>docker-compose.yml</code>.</p>
<p>The default values will work for most setups.</p>
<p>Example:</p>
<div class="highlight"><pre><span></span><code> - NGINX_THRESHOLD=${NGINX_THRESHOLD:-5}
- UNBOUND_THRESHOLD=${UNBOUND_THRESHOLD:-5}
- REDIS_THRESHOLD=${REDIS_THRESHOLD:-5}
- MYSQL_THRESHOLD=${MYSQL_THRESHOLD:-5}
- MYSQL_REPLICATION_THRESHOLD=${MYSQL_REPLICATION_THRESHOLD:-1}
- SOGO_THRESHOLD=${SOGO_THRESHOLD:-3}
- POSTFIX_THRESHOLD=${POSTFIX_THRESHOLD:-8}
- CLAMD_THRESHOLD=${CLAMD_THRESHOLD:-15}
- DOVECOT_THRESHOLD=${DOVECOT_THRESHOLD:-12}
- DOVECOT_REPL_THRESHOLD=${DOVECOT_REPL_THRESHOLD:-20}
- PHPFPM_THRESHOLD=${PHPFPM_THRESHOLD:-5}
- RATELIMIT_THRESHOLD=${RATELIMIT_THRESHOLD:-1}
- FAIL2BAN_THRESHOLD=${FAIL2BAN_THRESHOLD:-1}
- ACME_THRESHOLD=${ACME_THRESHOLD:-1}
- RSPAMD_THRESHOLD=${RSPAMD_THRESHOLD:-5}
- OLEFY_THRESHOLD=${OLEFY_THRESHOLD:-5}
- MAILQ_THRESHOLD=${MAILQ_THRESHOLD:-20}
- MAILQ_CRIT=${MAILQ_CRIT:-30}
</code></pre></div>
<p>The default values will work for most setups.
Example:
<div class="highlight"><pre><span></span><code>- NGINX_THRESHOLD=${NGINX_THRESHOLD:-5}
- UNBOUND_THRESHOLD=${UNBOUND_THRESHOLD:-5}
- REDIS_THRESHOLD=${REDIS_THRESHOLD:-5}
- MYSQL_THRESHOLD=${MYSQL_THRESHOLD:-5}
- MYSQL_REPLICATION_THRESHOLD=${MYSQL_REPLICATION_THRESHOLD:-1}
- SOGO_THRESHOLD=${SOGO_THRESHOLD:-3}
- POSTFIX_THRESHOLD=${POSTFIX_THRESHOLD:-8}
- CLAMD_THRESHOLD=${CLAMD_THRESHOLD:-15}
- DOVECOT_THRESHOLD=${DOVECOT_THRESHOLD:-12}
- DOVECOT_REPL_THRESHOLD=${DOVECOT_REPL_THRESHOLD:-20}
- PHPFPM_THRESHOLD=${PHPFPM_THRESHOLD:-5}
- RATELIMIT_THRESHOLD=${RATELIMIT_THRESHOLD:-1}
- FAIL2BAN_THRESHOLD=${FAIL2BAN_THRESHOLD:-1}
- ACME_THRESHOLD=${ACME_THRESHOLD:-1}
- RSPAMD_THRESHOLD=${RSPAMD_THRESHOLD:-5}
- OLEFY_THRESHOLD=${OLEFY_THRESHOLD:-5}
- MAILQ_THRESHOLD=${MAILQ_THRESHOLD:-20}
- MAILQ_CRIT=${MAILQ_CRIT:-30}
</code></pre></div></p>
<p>To adjust them just add necessary threshold variables (e.g. <code>MAILQ_THRESHOLD=10</code>) to <code>mailcow.conf</code> and run <code>docker-compose up -d</code>.</p>
<h2 id="thresholds-description">Thresholds description<a class="headerlink" href="#thresholds-description" title="Permanent link">&para;</a></h2>
<h3 id="mailq_crit-and-mailq_threshold">MAILQ_CRIT and MAILQ_THRESHOLD<a class="headerlink" href="#mailq_crit-and-mailq_threshold" title="Permanent link">&para;</a></h3>
<p>Notificaty administrators if number of emails in the postfix queue is greater then <code>MAILQ_CRIT</code> for periond of <code>MAILQ_THRESHOLD * (60±30)</code> seconds.</p>
<h3 id="thresholds-descriptions">Thresholds descriptions<a class="headerlink" href="#thresholds-descriptions" title="Permanent link">&para;</a></h3>
<h4 id="nginx_threshold">NGINX_THRESHOLD<a class="headerlink" href="#nginx_threshold" title="Permanent link">&para;</a></h4>
<p>Notifies administrators if watchdog can not establish a connection to Nginx on port 8081 and it will restart the container automatically when issues were found and the threshold has been reached.</p>
<h4 id="unbound_threshold">UNBOUND_THRESHOLD<a class="headerlink" href="#unbound_threshold" title="Permanent link">&para;</a></h4>
<p>Notifies administrators if Unbound can not resolve/valide external domains/DNSSEC and it will restart the container automatically when issues were found and the threshold has been reached.</p>
<h4 id="redis_threshold">REDIS_THRESHOLD<a class="headerlink" href="#redis_threshold" title="Permanent link">&para;</a></h4>
<p>Notifies administrators if watchdog can not establish a connection to Redis on port 6379 and it will restart the container automatically when issues were found and the threshold has been reached.</p>
<h4 id="mysql_threshold">MYSQL_THRESHOLD<a class="headerlink" href="#mysql_threshold" title="Permanent link">&para;</a></h4>
<p>Notifies administrators if watchdog can not establish a connection to MySQL or can not query a table and it will restart the container automatically when issues were found and the threshold has been reached.</p>
<h4 id="mysql_replication_threshold">MYSQL_REPLICATION_THRESHOLD<a class="headerlink" href="#mysql_replication_threshold" title="Permanent link">&para;</a></h4>
<p>Notifies administrators if the MySQL replication fails.</p>
<h4 id="sogo_threshold">SOGO_THRESHOLD<a class="headerlink" href="#sogo_threshold" title="Permanent link">&para;</a></h4>
<p>Notifies administrators if watchdog can not establish a connection to SOGo on port 20000 and it will restart the container automatically when issues were found and the threshold has been reached.</p>
<h4 id="postfix_threshold">POSTFIX_THRESHOLD<a class="headerlink" href="#postfix_threshold" title="Permanent link">&para;</a></h4>
<p>Notifies administrators if watchdog can not sent a test mail via port 589 and it will restart the container automatically when issues were found and the threshold has been reached.</p>
<h4 id="clamd_threshold">CLAMD_THRESHOLD<a class="headerlink" href="#clamd_threshold" title="Permanent link">&para;</a></h4>
<p>Notifies administrators if watchdog can not establish a connection to Clamd and it will restart the container automatically when issues were found and the threshold has been reached.</p>
<h4 id="dovecot_threshold">DOVECOT_THRESHOLD<a class="headerlink" href="#dovecot_threshold" title="Permanent link">&para;</a></h4>
<p>Notifies administrators if watchdog fails with various tests with Dovecot container and it will restart the container automatically when issues were found and the threshold has been reached.</p>
<h4 id="dovecot_repl_threshold">DOVECOT_REPL_THRESHOLD<a class="headerlink" href="#dovecot_repl_threshold" title="Permanent link">&para;</a></h4>
<p>Notifies administrators if the Dovecot replication fails.</p>
<h4 id="phpfpm_threshold">PHPFPM_THRESHOLD<a class="headerlink" href="#phpfpm_threshold" title="Permanent link">&para;</a></h4>
<p>Notifies administrators if watchdog can not establish a connection to PHP-FPM on port 9001/9002 and it will restart the container automatically when issues were found and the threshold has been reached.</p>
<h4 id="ratelimit_threshold">RATELIMIT_THRESHOLD<a class="headerlink" href="#ratelimit_threshold" title="Permanent link">&para;</a></h4>
<p>Notifies administrators if a ratelimit got hit.</p>
<h4 id="fail2ban_threshold">FAIL2BAN_THRESHOLD<a class="headerlink" href="#fail2ban_threshold" title="Permanent link">&para;</a></h4>
<p>Notifies administrators if a fail2ban banned an IP.</p>
<h4 id="acme_threshold">ACME_THRESHOLD<a class="headerlink" href="#acme_threshold" title="Permanent link">&para;</a></h4>
<p>Notifies administrators if something is wrong with the acme-mailcow container. You may check its logs.</p>
<h4 id="rspamd_threshold">RSPAMD_THRESHOLD<a class="headerlink" href="#rspamd_threshold" title="Permanent link">&para;</a></h4>
<p>Notifies administrators if watchdog fails with various tests with Rspamd container and it will restart the container automatically when issues were found and the threshold has been reached.</p>
<h4 id="olefy_threshold">OLEFY_THRESHOLD<a class="headerlink" href="#olefy_threshold" title="Permanent link">&para;</a></h4>
<p>Notifies administrators if watchdog can not establish a connection to olefy on port 10005 and it will restart the container automatically when issues were found and the threshold has been reached.</p>
<h4 id="mailq_crit-and-mailq_threshold">MAILQ_CRIT and MAILQ_THRESHOLD<a class="headerlink" href="#mailq_crit-and-mailq_threshold" title="Permanent link">&para;</a></h4>
<p>Notifies administrators if number of emails in the postfix queue is greater then <code>MAILQ_CRIT</code> for period of <code>MAILQ_THRESHOLD * (60±30)</code> seconds.</p>