Discord

Alternative.me’s Discord bot list this week reads like a bot obituary: Rythm gone, Groovy shuttered, Hydra dark, and the survivors (Ticket Tool, Tupperbox, ProBot, MEE6, Carl-bot, Dank Memer, OwO, Nekotina) each running a dozen features in production for tens of millions of servers. Server owners who run more than a couple of these need something the Discord app can’t show them: which bot fired which command, whether a bot is up, and where the noise is coming from.

We tested 7 desktop apps that dashboard Discord bot activity end-to-end. The list covers Discord itself (the built-in audit log tells you more than most people know), the analytics service most large servers install (Statbot), the open-source monitoring stack a self-hosted bot needs (Grafana, Prometheus, InfluxDB, Loki), and the uptime monitor for anyone who’s had a bot die at 2 AM (Uptime Kuma). Everything on the list runs on desktop or in a container you manage from desktop; nothing here is a bot itself.

What to look for in a Discord bot analytics stack

Quick comparison

App Best for OS Type Cost
Discord Built-in audit log and integrations panel Windows, macOS, Linux, Web Built-in Free
Statbot Hosted per-server analytics dashboard Web (any desktop) SaaS Free (Premium around $5/mo)
Grafana Dashboards for self-hosted bot metrics Windows, macOS, Linux, Docker Visualisation Free (open source; Cloud paid)
Prometheus Time-series scraper for bot metrics endpoints Windows, macOS, Linux, Docker Metrics Free (open source)
InfluxDB Alternate metrics store for high-cardinality data Windows, macOS, Linux, Docker Metrics Free (Cloud paid)
Uptime Kuma Uptime monitoring for bot endpoints Docker (primary), Node.js Monitoring Free (open source)
Grafana Loki Log aggregation for self-hosted bots Linux, Docker (primary) Logs Free (open source; Cloud paid)

1. Discord — best built-in first stop

Discord’s Server Settings > Audit Log and Integrations panel show more than most moderators use. The audit log records every bot action that touched a role, a message, a channel, or a member: enough to answer “which bot did this” for the past 45 days without any third-party tooling. Integrations shows every bot’s permissions and command list in one place.

Where it falls short: No per-command counts. 45-day retention is short if you moderate a large server. No latency or uptime data.

Pricing:

Platforms: Windows, macOS, Linux, Web

Download: discord.com/download

Bottom line: Best first stop; open it before installing anything else.

2. Statbot — best hosted analytics

Statbot attaches to a server as a bot and produces dashboards for message volume, channel activity, member joins and leaves, and per-user rankings. Community managers use it to prove engagement (or its absence) after a moderation change. The public leaderboards are optional; private dashboards are the actual product.

Where it falls short: Focuses on server activity rather than bot-by-bot breakdowns. Premium tiers unlock the useful history windows.

Pricing:

Platforms: Web dashboard (any desktop browser)

Download: statbot.net

Bottom line: Best when you want a dashboard without running one.

3. Grafana — best dashboards for self-hosted bots

Grafana is the dashboard layer every self-hosted stack ends up running. Point it at a Prometheus (metrics), Loki (logs), or InfluxDB (time series) backend and build panels for command counts, gateway latency, rate-limit hits, and per-guild activity. Alerting fires to Discord webhooks, email, or PagerDuty when a bot’s error rate spikes.

Where it falls short: Requires a metrics source; Grafana is the front end, not the whole stack. Learning curve on the panel builder.

Pricing:

Platforms: Windows, macOS, Linux, Docker

Download: grafana.com/get

Bottom line: Best if you self-host bots and want dashboards you own.

4. Prometheus — best scraper for bot metrics

Prometheus pulls metrics from any endpoint that exposes them (most bot frameworks have a /metrics route), stores them as time series, and answers PromQL queries. Pair with Grafana for panels. Discord.py, discord.js, and Serenity all have well-maintained Prometheus exporters.

Where it falls short: Runs a scrape model, so bots behind NAT need a push gateway. Doesn’t do logs; that’s Loki’s job.

Pricing:

Platforms: Windows, macOS, Linux, Docker

Download: prometheus.io/download

Bottom line: Best time-series backend for the Grafana stack.

5. InfluxDB — best alternate metrics store

InfluxDB is the alternative to Prometheus for time-series storage, useful when your bot generates high-cardinality metrics (per-guild counters at scale) that Prometheus struggles with. Grafana speaks InfluxDB natively.

Where it falls short: More operational surface than Prometheus for small deployments. The 2.x to 3.x transition changed some query APIs and caught early adopters flat-footed.

Pricing:

Platforms: Windows, macOS, Linux, Docker

Download: influxdata.com/downloads

Bottom line: Best when your bot generates enough metric cardinality to hurt Prometheus.

6. Uptime Kuma — best uptime monitor

Uptime Kuma is the open-source, self-hosted uptime monitor with a dashboard so clean it embarrasses most SaaS. It pings HTTP endpoints, TCP ports, or arbitrary commands on a schedule and posts alerts to Discord webhooks (the poetic loop of monitoring a Discord bot’s uptime by pinging Discord). Free tier is unlimited monitors on your own hardware.

Where it falls short: Docker-first; other installs work but Docker is the maintained path. Not a full observability stack; complements Grafana rather than replaces it.

Pricing:

Platforms: Docker (primary), Windows, macOS, Linux (Node.js)

Download: github.com/louislam/uptime-kuma

Bottom line: Best free uptime monitor for a self-hosted bot.

7. Grafana Loki — best log aggregation

Grafana Loki is Prometheus’s cousin for logs. Ship bot logs from Docker or systemd into Loki with Promtail, query them with LogQL, and see them alongside metrics in Grafana. Retention and cost stay low compared to full ELK because Loki indexes labels, not content.

Where it falls short: LogQL takes some learning. Full-text search across huge volumes is slower than an ELK stack.

Pricing:

Platforms: Linux, Docker (primary)

Download: grafana.com/oss/loki

Bottom line: Best log store for a Grafana-based analytics stack.

How to pick the right one

If you run a public server and use only hosted bots: Discord audit log first, then Statbot for engagement dashboards.

If you self-host any bots: Prometheus scraping your bots’ /metrics, visualised in Grafana, logs in Loki.

If cardinality (per-guild counters at scale) breaks Prometheus for you: swap the metrics backend to InfluxDB.

If bots die overnight without warning: Uptime Kuma, alerting into a private Discord channel.

If you only need the “is my bot up right now” answer: Uptime Kuma on its own.

Skip a full observability stack if the answer to “how many bots do you run” is “one hosted bot with no self-hosting”. The built-in Discord tooling covers that case.

FAQ

Does Discord itself expose a bot metrics API?

Not for third parties. The Discord Developer Portal shows some stats to the bot owner (guild count, member count), but per-command telemetry and latency data come from the bot’s own code.

How do I add Prometheus metrics to my Discord bot?

Every major bot framework has an example: discord.py wraps prometheus_client, discord.js has prom-client, Serenity has a metrics feature flag. Add a small HTTP server that exposes /metrics on a private port; Prometheus scrapes it.

Is Statbot free?

Basic activity dashboards are free with limited retention. Longer history and multiple servers require Premium (around $5/mo).

What is the best free uptime monitor for a bot?

Uptime Kuma, self-hosted on any Docker host. UptimeRobot (SaaS) is free for a small number of monitors if you’d rather not host it.

Can I monitor a bot I don’t run?

You can measure its effect on your server (audit log, message volume, latency of its responses) but not its internal metrics. Ask the bot’s operator for their status page if uptime matters to you.

How long do Discord audit logs stay around?

Discord keeps audit log entries for around 45 days. For longer retention, mirror the audit log into a database via a small logging bot or a webhook receiver.