🔎lndmon: A drop-in monitoring solution for your lnd node using Prometheus+Grafana
  • Go 92.3%
  • Shell 4.3%
  • Dockerfile 1.8%
  • Makefile 1.6%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2025-09-18 18:03:33 +02:00
.github/workflows build: update to testnet4 compatible lndclient dependency 2025-04-24 10:53:34 -04:00
cmd/lndmon cmd: run make fmt 2022-07-25 11:41:31 -05:00
collectors collectors: add channel fee metrics 2025-09-18 18:03:33 +02:00
grafana collectors: add channel fee metrics 2025-09-18 18:03:33 +02:00
nginx nginx.conf: increase header+body limits 2019-07-17 21:44:59 -07:00
post_start add quotes to properly handle spaces in user/pass 2024-02-05 16:46:04 +02:00
tools build: update to testnet4 compatible lndclient dependency 2025-04-24 10:53:34 -04:00
.env .env: specify that readonly mac is needed 2019-07-22 18:11:11 -07:00
.gitignore collectors: add inbound fee metric 2020-07-09 10:10:46 +02:00
.golangci.yml build: update to testnet4 compatible lndclient dependency 2025-04-24 10:53:34 -04:00
config.go config: add support for testnet4 2025-04-23 10:18:16 -04:00
dashboard.png README: fold lines, add dashboard pic 2019-07-23 17:25:45 -07:00
docker-compose.nginx.yml docker-compose: add limits to prom memory usage to prevent OOMs 2019-07-08 18:14:18 -07:00
docker-compose.yml multi: update collectors to exit on failure, rather than log 2020-11-17 13:41:36 +02:00
Dockerfile build: update to testnet4 compatible lndclient dependency 2025-04-24 10:53:34 -04:00
go.mod mod: upgrade lnd and lndclient dependencies 2025-09-12 09:22:13 +02:00
go.sum mod: upgrade lnd and lndclient dependencies 2025-09-12 09:22:13 +02:00
INSTALL.md docs: add default grafana password to install instructions 2019-08-07 11:19:44 +02:00
LICENSE Initial commit 2019-03-20 11:04:07 -07:00
lndmon.go collectors: collect payment and attempt counts 2025-04-08 10:05:12 -05:00
Makefile linter+tools: use dockerized tools 2022-07-25 11:41:31 -05:00
metrics.md Added synced_to_graph metric, modified metrics.md to also added synced_to_chain documentation 2023-01-31 20:12:37 +01:00
prometheus.yml prom.yml: raise scrape interval to 20s to prevent OOMs 2019-06-17 23:06:21 -07:00
README.md Add link to INSTALL.md 2021-06-14 09:55:55 +05:30

lndmon

A drop-in monitoring solution for your lnd node using Prometheus and Grafana.

What is this?

lndmon is a drop-in, dockerized monitoring/metric collection solution for your individual lnd nodes connected to bitcoin. With this system, you'll be able to closely monitor the health and status of your lnd node.

There are three primary components of the lndmon system:

  1. lnd built with the monitoring tag, which enables lnd to export metrics about its gRPC performance and usage. These metrics provide insights such as how many bytes lnd is transmitting over gRPC, whether any calls are taking a long time to complete, and other related statistics.

  2. lndmon: while lnd provides some information, lndmon by far does the heavy lifting with regards to metrics. With lndmon's data, you can track routing fees over time, track how the channel graph evolves, and have a highly configurable "crystal ball" to forecast and de-escalate potential issues as the network changes over time. There is also a strong set of metrics for users who want to keep track of their own node and channels, or just explore and create their own lightning data visualizations.

  3. Last but not least, lndmon uses Grafana as its primary dashboard to display all its collected metrics. Grafana is highly configurable and can create beautiful and detailed graphs organized by category (i.e., chain-related graphs, fee-related graphs, etc). Users have the option of making their Grafana dashboards remotely accessible over TLS with passwords to ensure their data is kept private.

Why would I want to use this?

Monitoring can provide crucial insights into the health of large-scale distributed systems. Without monitoring systems like lndmon, the only view into the health of your lnd node and the overall network is (1) fragmented logs, and (2) individually-dispatched getinfo and similar commands. By exporting and graphing interesting metrics, one can get a real-time transparent view of the behavior of your lnd node and the network. It's also cool to see how this view changes over time and how it's affected by events in the larger bitcoin ecosystem (i.e., "wow, the day Lightning App was released coincides with the addition of 3000 channels to the network!").

How do I install this?

Head over to INSTALL.md. It also includes instructions to set up, access, and password-protect the dashboard that comes with Prometheus, called the Prometheus expression browser, for those interested in using it.