Publishing Domino statistics to services other than New Relic

Domino is preconfigured to publish Domino statistics to New Relic, but if you want to publish to a different service such as Hosted Graphite, there are several notes.ini settings available that allow you to do so.

Procedure

Use the following notes.ini settings on a Domino server to publish its statistics to a service that is not New Relic. The service must be able to accept time series data via HTTP POST requests.
Table 1. Notes.ini settings used to publish to other services
Setting Description Required? Supported substitution strings1
STATPUB_ENABLE=1 Enables Domino statistics publishing. Required Not applicable
STATPUB_URI=<string> The URI for the metric server Required $Timestamp$
STATPUB_METRIC_FORMAT=<string> The format to use for counter metrics. Required

$Name$ (required)
$Value$ (required)
$Timestamp$
$Newline$

STATPUB_DELTA_METRIC_FORMAT=<string> The format to use for rate metrics Required

$Name$ (required)
$Value$ (required)
$Timestamp$
$Newline$

STATPUB_HEADERS=<string> The HTTP header or headers to send with requests. Optional


$Timestamp$
$Newline$ (Use between headers)

STATPUB_DATA_HEAD=<string> Data to put in the payload before the metric data. Optional


$Timestamp$
$Newline$

STATPUB_DATA_TAIL=<string> Data to put in the payload after the metric data. Optional


$Timestamp$
$Newline$

STATPUB_METRIC_DELIMITER=<string> The delimiter to use to separate metrics. If not specified, comma (,) is used. Optional


$Newline$

1Key to substitution strings:

$Name$ substitutes the Domino statistic name
$Value$ substitutes the Domino statistic value
$Timestamp$ substitutes the current Domino timestamp value (number of seconds relative to Unix Epoch time. )
$Newline$ substitutes a newline character

Example

Publishing statistics to Hosted Graphite

This example demonstrates a simple configuration to report statistics to Hosted Graphite. Hosted Graphite has the following minimum requirements:
  • API key be specified as part of the URI
  • Data payload of one or more metrics specified as a name and value pair separated by a space, with one metric per line.
Example settings in server notes.ini file:
;Enable Domino to publish metrics to Hosted Graphite
STATPUB_ENABLE=1
STATPUB_URI=http://d4692fb0-464f-5adc-8db3-d663c3bc341a@www.hostedgraphite.com/api/v1/sink
STATPUB_METRIC_FORMAT=Domino.mailserver01.$Name$ $Value$
STATPUB_DELTA_METRIC_FORMAT=Domino.mailserver01.Rate.$Name$ $Value$
STATPUB_METRIC_DELIMITER=$Newline$
The following example shows two metrics included in the data payload for the Mail.Delivered statistic. The first indicates 33065 messages delivered since the Domino server started, the second indicates 1017 messages delivered in the last minute.
Domino.mailserver01.Mail.Delivered 33065
Domino.mailserver01.Rate.Mail.Delivered 1017

STATPUB_METRIC_DELIMITER=$Newline$ puts each metric on a separate line.

Publishing statistics to New Relic

The following example illustrates a configuration that Domino uses to publish to New Relic, that you might adapt for another service. It is provided to illustrate a more complex configuration that includes HTTP headers and additional data before and after the statistics.
Note: If you use New Relic, the Domino server has built in knowledge of the API requirements and automatically formats the data as needed when you set the NEWRELIC_LICENSE_KEY value in the notes.ini file.
Note: The following example shows some settings spanning two lines for readability. In the actual notes.ini file, each setting should be on one line.
;Enable Domino to publish to New Relic
STATPUB_ENABLE=1
STATPUB_URI=http://platform-api.newrelic.com/platform/v1/metrics
STATPUB_HEADERS=X-License-Key: f83f53480dbcb06c0a07f62bc96aed05d0739f07$Newline$Content-Type: 
     application/json$Newline$Accept: application/json$Newline$
STATPUB_DATA_HEAD={"agent":{"host":"mailserver01.renovations.com","version":"1.0.0"},"components":
     [{"name":"Mailserver01/Renovations","guid":"com.renovations.MyDominoStats","duration":60,"metrics":{
STATPUB_DATA_TAIL=}}]}
STATPUB_METRIC_FORMAT="Component/$Name$":$Value$
STATPUB_DELTA_METRIC_FORMAT="Component/Delta/$Name$":$Value$
In this example:
  • The New Relic account license key is included in one of three HTTP headers (one per line).
  • The New Relic Plugin API requires that metric data be sent using JSON formatting. Therefore, the STATPUB_DATA_HEAD parameter is used to specify the initial JSON syntax required along with metadata, including the publishing server's host name and instance name (the Domino server name). The STATPUB_DATA_TAIL parameter defines the characters required to close the JSON syntax for the data payload.
  • The STATPUB_METRIC_FORMAT and STATPUB_DELTA_METRIC_FORMAT define the format used for individual metrics sent as part of the payload.
  • The default delimiter, a comma (,) is used between metrics because the STATPUB_METRIC_DELIMITER setting is not used.