Xitoring Document
Home
FAQ
Support
Register
Home
FAQ
Support
Register
  • Xitoring

    • Introduction
    • Release Notes
    • Xitoring Release Notes
    • Linux Xitogent Release Notes
    • Windows Xitogent Release Notes
    • Xitoring Mobile App Release Notes
    • Account Management
    • API Access & Automation
    • Team Management & Collaboration
    • Billing & Subscription Management
  • Getting Started

    • Getting Started with Xitoring
    • Workflows & Guides
    • Monitor Your First Server
    • Import / Migration
    • Migrate from UptimeRobot to Xitoring
    • Migrate from Pingdom to Xitoring
    • Migrate from Uptime.com to Xitoring
    • Migrate from BetterStack to Xitoring
  • Help & Support

    • FAQ & Troubleshooting
    • Glossary
  • Server Monitoring

    • Server Monitoring
    • Graphs
    • Live Statistics
    • Monitor Services
    • Auto-Triggers
  • Xitogent on Linux

    • Install Xitogent on Linux
    • Update Xitogent on Linux
    • Uninstall Xitogent on Linux
  • Xitogent on Windows

    • Install Xitogent on Windows
    • Uninstall Xitogent on Windows
    • Xitogent Service
    • Update Xitogent on Windows
    • Disk Performance (I/O)
  • Xitogent on Azure

    • Xitogent on Azure
    • Monitor Azure Linux VM
    • Monitor Azure Windows VM
  • Xitogent CLI

    • Xitogent CLI
    • Xitogent Pause/Unpause
    • Xitogent Status
    • Xitogent debug
    • Xitogent Diagnosis
    • Which data we collect
  • Xitoring CLI

    • Xitoring CLI
  • Uptime Monitoring

    • What is Uptime Monitoring
    • Monitoring Nodes (Geographic Locations)
    • What is Check
    • Auto-Discovery
    • Auto Fault Tolerance
    • Heartbeat Check
    • Ping Check
    • HTTP(S) Check
    • DNS Check
    • FTP Check
    • SMTP Check
    • IMAP Check
    • POP3 Check
    • TCP Check
    • UDP Check
  • SSL Monitoring

    • SSL Monitoring
  • Incidents

    • Incidents
    • Incident's Root Cause
    • Incidents Notification
    • Incident Notes
    • Resolving Incidents Manually
    • Incident Policy
  • Maintenance Schedule

    • Maintenance Schedule
  • Email Reports

    • Email Reports
  • Integrations

    • Integrations
    • Apache Integration
    • CoreDNS Integration
    • CouchDB Integration
    • Disk Health Integration
    • Docker Integration
    • Dovecot Integration
    • Exim Integration
    • HAProxy Integration
    • IIS Integration
    • InfluxDB Integration
    • Kafka Integration
    • KeyDB Integration
    • LiteSpeed Integration
    • MongoDB Integration
    • MySQL Integration
    • Netstat Integration
    • Nginx Integration
    • OpenLiteSpeed Integration
    • OpenVPN Integration
    • PHP-FPM Integration
    • Postfix Integration
    • PostgreSQL Integration
    • RabbitMQ integration
    • Redis Integration
    • MS SQL Server Integration
    • Supervisor Integration
    • Varnish Integration
    • Wireguard Integration
  • Notifications

    • Notifications
    • Creating Notification Roles
    • Email Integration
    • Mobile Push Notifications
    • SMS Integration
    • Phone call Integration
    • Webhook Integration
    • Integration for Slack
    • Telegram Integration
    • WhatsApp Integration
    • Mattermost Integration
    • Discord Integration
    • Google Chat Integration
    • Microsoft Teams Integration
    • Atlassian Opsgenie Integration
    • Splunk On-Call Integration
    • Pushover Integration
    • Pushbullet Integration
    • Gotify Integration
    • Ntfy Integration
    • Spike.sh Integration
    • PagerDuty Integration
    • Zapier Integration
    • AlertOps Integration
  • Status Page

    • Status page
  • 3rd Party Status Pages

    • Using 3rd party Status Pages
    • Atlassian Status Page Integration with Xitoring
    • Status.io Integration with Xitoring
    • Statuspal Integration with Xitoring
    • Instatus Integration with Xitoring
  • Dashboards

    • Main Dashboard
    • Custom Dashboards
  • Metrics

    • Metrics
  • MCP Server

    • Setup & Tool Reference

Dovecot Integration

Dovecot is a popular open‑source IMAP, POP3, and LMTP server. Xitoring’s Dovecot integration taps into the built‑in stats service and exposes key metrics inside the Xitoring app, so administrators can diagnose authentication spikes, cache efficiency drops, and I/O bottlenecks before users complain.

Supported platforms

Verified on Linux distributions where Dovecot > 2.3.11 is compiled with the stats plugin (enabled by default on most vendor packages).

1. Prepare Dovecot for metrics collection

Before enabling the integration in Xitogent, configure Dovecot to publish the required metrics.

1.1 Create /etc/dovecot/conf.d/10-metrics.conf

# ────────────────────────── 1. Sessions ──────────────────────────
metric sessions_total {
  filter = event=client_connection_connected
}

# ────────────────────────── 2. Successful logins ─────────────────
metric logins_total {
  filter = event=user_login_finished AND success=yes
}

# ────────────────────────── 3. Auth attempts (OK + FAIL) ─────────
metric auth_attempts_total {
  filter = event=auth_request_finished
}

# ────────────────────────── 4. Completed commands ────────────────
metric imap_commands_total {
  filter = event=imap_command_finished
}

metric pop3_commands_total {
  filter = event=pop3_command_finished
}

metric lmtp_commands_total {
  filter = event=lmtp_command_finished
}

# ────────────────────────── 5. Mailbox switches ──────────────────
metric switches_total {
  filter = event=mailbox_switch
}

# ────────────────────────── 6. I/O events (per txn) ──────────────
metric io_total {
  filter = event=mail_transaction_finished
}

# ────────────────────────── 7‑8. Network byte counters ───────────
metric net_input_bytes_total {
  filter = event=tcp_connection_finished
  fields = bytes_in          # yields dovecot_net_input_bytes_total
}

metric net_output_bytes_total {
  filter = event=tcp_connection_finished
  fields = bytes_out         # yields dovecot_net_output_bytes_total
}

# ────────────────────────── 9. Syscalls ──────────────────────────
metric syscalls_total {
  filter = event=process_syscall
}

# ────────────────────────── 10. Dict / map look‑ups ──────────────
metric lookups_total {
  filter = event=dict_lookup_finished
}

# ────────────────────────── 11‑12. Index‑cache use  ──────────────
metric cache_hits_total {
  filter = event=index_cache_hit
}

metric cache_requests_hit {
  filter = event=index_cache_hit
}

metric cache_requests_miss {
  filter = event=index_cache_miss
}

# ────────────────────────── 13. Auth‑cache requests ──────────────
metric auth_cache_requests_total {
  filter = event=auth_cache_request
}

service stats {
  inet_listener http {
    port = 9900
  }
}

1.2 Append to /etc/dovecot/conf.d/10-master.conf

service stats {
    unix_listener stats-reader {
        user = dovecot
        group = dovecot
        mode = 0660
    }

    unix_listener stats-writer {
        user = dovecot
        group = dovecot
        mode = 0660
    }
}

1.3 Reload Dovecot

sudo systemctl reload dovecot

After reload, validate the HTTP endpoint:

curl http://localhost:9900/metrics

You should see Prometheus‑style metrics beginning with dovecot_….

2. Enable Dovecot integration in Xitogent

Once metrics are confirmed available, run:

xitogent integrate

Select Dovecot. Xitogent will create /etc/xitogent/integrations/dovecot_integration.conf and start scraping http://localhost:9900/metrics every 60 seconds.

Note  If you expose the stats listener on another host or port, edit the generated configuration file and set it accordingly.

4. Setup Triggers for Dovecot integration

Example high‑value Triggers:

Use‑caseConditionSeverity
Authentication flooddovecot auth attempts increases > 500 in 5 minMAJOR
Poor cache efficiencydovecot cache hit percentage < 80 for 10 minWARNING
High network outputdovecot net output bytes rate > 50 MB/minWARNING
Surge in IMAP commandsdovecot imap commands rate > 1000/minINFO

5. Troubleshooting

SymptomResolution
No metrics in XitogentEnsure the HTTP stats listener is reachable (curl the endpoint) and that the Xitogent configuration points to the correct URL.
Permissions deniedConfirm the dovecot user owns the stats sockets (stats-reader, stats-writer) and that the stats service is enabled in both metric and master configs.
Cache hit percentage stuck at 0Ensure mail_cache_stats=yes is set in dovecot.conf for the relevant protocols.

6. Next steps

  • Combine Dovecot metrics with SMTP/IMAP checks to build comprehensive mail‑stack dashboards.
Last Updated: 9/12/25, 3:58 PM
Prev
Docker Integration
Next
Exim Integration