Mailcow Monitoring via Special Agent

Mailcow Monitoring via Special Agent

Description

Monitors various aspects of a Mailcow instance:
Email domains with quota usage, number of mailboxes, number of aliases
Mailboxes with quota usage, number of messages, last logins via IMAP/POP3/SMTP

Caveats:
Tested only with dockerized versions of Mailcow
Tested with Mailcow version 2022-07a and higher

Please feel free to add other working environments via review.

Upgrade from older MKPs (before 1.2.0):
If you upgrade from a already installed version before 1.2.0, you have to re-create your rules for the "Mailcow Server Information" (reason: massive parameter changes).

Steps to accomplish this without problems:

  1. Take a screenshot of your settings in the above mentioned ruleset
  2. Assure that you have access to the API keys you used within the current rules
  3. Delete all rules for "Mailcow Server Information"
  4. Install and enable the new MKP
  5. Re-create your rules with the previously saved information from steps 1 and 2
  6. Apply your changes

General installation instructions:
1. Upload and enable the MKP
2. Apply changes
3. Click Setup, search for "Mailcow"
4. Click on "Mailcow Server Information" below "Other integrations"
5. Create a new rule and fill in all mandatory information (Hostname, API Key)
6. Adjust all other options to your needs
7. Bind this rule to your Mailcow host object (e.g. via "Explicit hosts")
8. If you have no host object at all, create a dummy host for this (with no IP or something like 127.0.0.2)
9. Assure that your agents settings for this host object are correct (must contain "Configured API integrations")
10. Apply your changes
11. Execute a service discovery on your Mailcow host(s) and accept the newly detected services
12. Feel free to adjust the various parameters for thresholds within the available parameter sections (Setup, "Service monitoring rules" after searching for "Mailcow")

How to create the API Key:
1. Login to your Mailcow instance with an administrative user
2. Got to "System|Configuration"
3. Take a note of the Section "API" and expand it
4. Within the section "Read-Only Access":
4.1 Activate the checkbox "Activate API"
4,2 Take care that the IP your CheckMK server ist listed in the input field "Allow API access from these IPs/CIDR network notations"
5. Save your changes and transfer the show API key to your CheckMK instance

Version history:
2024/01/26 1.2.0 Added password store option for the API key, added version check
2023/09/22: 1.1.4 Bugfix for the last bugfix :-)
2023/09/22: 1.1.3 Bugfix for usage calculation if quota is not set (mailboxes)
2023/09/10: 1.1.2 Checks for Solr status added
2023/08/27: 1.0.0 Section "mailcow_mailboxes" completed
2023/08/26: 0.2.2 Section "mailcow_domains" completed
2023/08/21: 0.1.0 Section "mailcow_info" completed
2023/08/20: 0.0.1 Special agent completed

Latest Version

Version: 1.2.0
Packaged at: 26 Jan 2024
Created on Checkmk version: 2.2.0p18
Minimum Checkmk version required: 2.1.0p31
MKP MD5 hash: 9c8fd1e49d2727f1d223a0fa6665ec43
This version requires Checkmk version 2.0.0 or higher
Agent Based
  • mailcow_info.py
  • mailcow_domains.py
  • mailcow_mailboxes.py
Agents
  • special/agent_mailcow
Check Manuals
  • mailcow_info
  • mailcow_domains
  • mailcow_mailboxes
Check Plugins
  • agent_mailcow
GUI Extensions
  • plugins/metrics/mailcow_metrics.py
  • plugins/perfometer/mailcow_perfometers.py
  • plugins/wato/mailcow_info_rules.py
  • plugins/wato/mailcow_params.py
  • plugins/wato/mailcow_domains_rules.py
  • plugins/wato/mailcow_mailboxes_rules.py
  • Version: 1.2.0
    Packaged at: 26 Jan 2024
    Created on Checkmk version: 2.2.0p18
    Minimum Checkmk version required: 2.1.0p31
    MKP MD5 hash: 9c8fd1e49d2727f1d223a0fa6665ec43
    Description:
    Agent Based
    • mailcow_info.py
    • mailcow_domains.py
    • mailcow_mailboxes.py
    Agents
    • special/agent_mailcow
    Check Manuals
    • mailcow_info
    • mailcow_domains
    • mailcow_mailboxes
    Check Plugins
    • agent_mailcow
    GUI Extensions
    • plugins/metrics/mailcow_metrics.py
    • plugins/perfometer/mailcow_perfometers.py
    • plugins/wato/mailcow_info_rules.py
    • plugins/wato/mailcow_params.py
    • plugins/wato/mailcow_domains_rules.py
    • plugins/wato/mailcow_mailboxes_rules.py
  • Version: 1.1.4
    Packaged at: 22 Sep 2023
    Created on Checkmk version: 2.1.0p31
    Minimum Checkmk version required: 2.1.0p31
    MKP MD5 hash: 0d37aa675604986a7282a60f35ce9805
    Description:
    Agent Based
    • mailcow_info.py
    • mailcow_domains.py
    • mailcow_mailboxes.py
    Agents
    • special/agent_mailcow
    Check Manuals
    • mailcow_info
    • mailcow_domains
    • mailcow_mailboxes
    Check Plugins
    • agent_mailcow
    GUI Extensions
    • plugins/metrics/mailcow_metrics.py
    • plugins/perfometer/mailcow_perfometers.py
    • plugins/wato/mailcow_info_rules.py
    • plugins/wato/mailcow_params.py
    • plugins/wato/mailcow_domains_rules.py
    • plugins/wato/mailcow_mailboxes_rules.py
  • Version: 1.1.3
    Packaged at: 22 Sep 2023
    Created on Checkmk version: 2.1.0p31
    Minimum Checkmk version required: 2.1.0p31
    MKP MD5 hash: e855d59ce30cf116addd244fca1c6737
    Description:
    Agent Based
    • mailcow_info.py
    • mailcow_domains.py
    • mailcow_mailboxes.py
    Agents
    • special/agent_mailcow
    Check Manuals
    • mailcow_info
    • mailcow_domains
    • mailcow_mailboxes
    Check Plugins
    • agent_mailcow
    GUI Extensions
    • plugins/metrics/mailcow_metrics.py
    • plugins/perfometer/mailcow_perfometers.py
    • plugins/wato/mailcow_info_rules.py
    • plugins/wato/mailcow_params.py
    • plugins/wato/mailcow_domains_rules.py
    • plugins/wato/mailcow_mailboxes_rules.py
  • Version: 1.1.2
    Packaged at: 10 Sep 2023
    Created on Checkmk version: 2.1.0p31
    Minimum Checkmk version required: 2.1.0p31
    MKP MD5 hash: c461909496af6e14393c740fc1794112
    Description:
    Agent Based
    • mailcow_info.py
    • mailcow_domains.py
    • mailcow_mailboxes.py
    Agents
    • special/agent_mailcow
    Check Manuals
    • mailcow_info
    • mailcow_domains
    • mailcow_mailboxes
    Check Plugins
    • agent_mailcow
    GUI Extensions
    • plugins/metrics/mailcow_metrics.py
    • plugins/perfometer/mailcow_perfometers.py
    • plugins/wato/mailcow_info_rules.py
    • plugins/wato/mailcow_params.py
    • plugins/wato/mailcow_domains_rules.py
    • plugins/wato/mailcow_mailboxes_rules.py
  • Version: 1.0.0
    Packaged at: 27 Aug 2023
    Created on Checkmk version: 2.1.0p31
    Minimum Checkmk version required: 2.1.0p31
    MKP MD5 hash: 447430d8d5257221be9e614f0df7bce3
    Description:
    Agent Based
    • mailcow_info.py
    • mailcow_domains.py
    • mailcow_mailboxes.py
    Agents
    • special/agent_mailcow
    Check Manuals
    • mailcow_info
    • mailcow_domains
    • mailcow_mailboxes
    Check Plugins
    • agent_mailcow
    GUI Extensions
    • plugins/metrics/mailcow_metrics.py
    • plugins/perfometer/mailcow_perfometers.py
    • plugins/wato/mailcow_info_rules.py
    • plugins/wato/mailcow_params.py
    • plugins/wato/mailcow_domains_rules.py
    • plugins/wato/mailcow_mailboxes_rules.py
  • fladmin 23-09-2023
    works simple and well. After i wrote the author about a bug, he immediately released a new version with a bugfix. Great work, thanks!

By downloading packages from the Checkmk Exchange you agree to our Terms of Use.