Domino Grafana & Loki
Grafana is a powerful widely used open source solution for visualizing statics and logs.
This repository is intended to provide the basic functionality to collect statistics and logs from HCL Domino.
The current development focus is Domino on Linux including containers.
But the servertask is also available on Windows and there is an exporter project for Windows as well.
There are multiple components involved on the Grafana stack side in an integration.
On first glance it looks like a lot of moving parts.
But this project contains all the scripts and glue to make them work together in an easy to setup stack.
- Grafana itself is the visual representation and dashboarding component
- Prometheus stores statistics data from servers providing a data source for Grafana
- Prometheus Node Exporter for Linux presents stats in a Prometheus compatible format to be collected by Prometheus on a defined endpoint
- Windows Exporter presents Windows stats and is a Prometheus community project
- Grafana Loki stores log data from servers providing data source for Grafana
- Promtail is the data collecting component sending logs to Loki
In contrast to the existing Domino Stats Publishing functionality based on a push model (initially introduced for New Relic integration in Domino 10) Prometheus expects data being collected from a server using a pull model.
In addition the statistics names have to be in a specific Prometheus format.
Basically only alphanumeric chars and the underscore can be used.
This leads to a small add-on component available for Linux and Windows.
domprom is a small C-API based servertask, collecting all LONG and NUMBER statistics from the Domino server to present them in a file on disk with Prometheus compatible metrics names.
Specially the dots in the names of Domino statistics need to be converted to underscores.
The exported stats are written to a file on disk, which can be included in an existing log collection.
The Node Exporter on Linux allows to include additional *.prom
files.
Those log files could be also presented via Domino HTTP directory on Windows or leveraging any other solution like NGINX.
Prometheus Node Exporter for Linux is a native for Linux OS level metrics. It is a single binary available on GitHub, which should run on the host level to collect all relevant Linux statistics.
The node_exporter can be configured to send additional log files, which is the best choice for Domino metrics collection on Linux to ensure metrics are in-line between the OS and Domino. The file generated by domprom can just be included and is send along with the Linux level stats.
See the setup and systemd scripts in /exporter for details.
Windows Exporter is a native for Linux OS level metrics. It is a single binary available on GitHub, which should run on the host level to collect all relevant Windows statistics.
The Windows Exporter can be configured to send additional log files, which is the best choice for Domino metrics collection on Windows to ensure metrics are in-line between the OS and Domino.
promtail is available for Linux and Windows to send logs to Loki over via push functionality.
Prodmail is also a single binary available on GitHub.
See the setup and systemd scripts in /exporter for details.
The primary goal of this project is to provide the tooling to collect the metrics and logs from Domino.
But of course it would make sense to also provide components to reuse in dashboards
It would also make sense to provide a basic Domino dashboard in the official Grafana Dashboard catalog
The best starting point for a Domino on Linux dashboard would be begin with the Node Exporter Full Dashboard. A good way is to copied the dashboard and added Domino statistics to it from the same data source.
The dashboard is also an excellent example to learn building dashboards.
There is also a Windows Node Exporter Dashboard which is using the Windows Exporter in a similar way.