HCL Domino: Publish Domino Statistics to Elasticsearch and create a Dashboard with Kibana: Difference between revisions
(5 intermediate revisions by the same user not shown) | |||
Line 29: | Line 29: | ||
== Create Index == | == Create Index == | ||
curl -X PUT "http://<HOSTNAME_ELASTICSEARCH>:9200/domino" -d @index_creation.json | curl -X PUT "http://<HOSTNAME_ELASTICSEARCH>:9200/domino" -H 'Content-type: application/json' -d @index_creation.json | ||
= Configure Domino to send posts = | = Configure Domino to send posts = | ||
Line 42: | Line 42: | ||
STATPUB_DELTA_METRIC_FORMAT="$Name$.Delta":$Value$ | STATPUB_DELTA_METRIC_FORMAT="$Name$.Delta":$Value$ | ||
STATPUB_HEADERS=X-My-Domino-Srv:'''<DOMINO_SERVER_NAME>'''$Newline$Content-Type: application/json$Newline$Accept: application/json$Newline$ | STATPUB_HEADERS=X-My-Domino-Srv:'''<DOMINO_SERVER_NAME>'''$Newline$Content-Type: application/json$Newline$Accept: application/json$Newline$ | ||
* Tip: [[HCL Domino: STATPUB_URI send metrics to a url or a file]] | |||
The result is a single post to the target containing all the statistics in json format | The result is a single post to the target containing all the statistics in json format | ||
Line 58: | Line 60: | ||
When i have a Dashboard, i will share on Github. | When i have a Dashboard, i will share on Github. | ||
== Tips for authenticated Elasticsearch == | |||
In my environemnt, the elasticsearch has the following username and password: | |||
elastic:changeme | |||
To set password you can define in url: | |||
STATPUB_URI='''<nowiki>http://elastic:changeme@<HOSTNAME of Elasticsearh:9200>/domino/dstats</nowiki>''' | |||
Or encode using https://www.base64encode.org/ and define on header | |||
STATPUB_HEADERS=X-My-Domino-Srv:'''<DOMINO_SERVER_NAME>'''$Newline$Content-Type: application/json$Newline$Accept: application/json$Newline$Authorization: Basic ZWxhc3RpYzpjaGFuZ2VtZQ==$Newline$ | |||
= Create Kibana Dashboard = | = Create Kibana Dashboard = | ||
Line 64: | Line 80: | ||
* [[Lotus Domino: Redirect Console Output to file and run a shell]] | * [[Lotus Domino: Redirect Console Output to file and run a shell]] | ||
* [[HCL Domino: STATPUB URI send metrics to a url or a file]] | |||
* [[Lotus Domino e Notes| More articles about IBM Domino e Notes]] | * [[Lotus Domino e Notes| More articles about IBM Domino e Notes]] |
Latest revision as of 12:27, 11 August 2020
Important: This is document is in Draft, i still working on this.
In Domino 10 has a new functionality that pushes the server statistics to a defined target via HTTP Post.
See this link for details:
- Publishing Domino statistics to New Relic
- Publishing Domino statistics to services other than New Relic
In this article, i will explain how to do this using Domino, Elasticsearch and Kibana
Configure Elasticsearch and Kibana
Install Elasticsearch and Kibana using Docker
Create file index_creation.json
{ "mappings": { "properties": { "host": { "type": "text" }, "s_timestamp": { "type": "date", "format": "epoch_millis" } } } }
Create Index
curl -X PUT "http://<HOSTNAME_ELASTICSEARCH>:9200/domino" -H 'Content-type: application/json' -d @index_creation.json
Configure Domino to send posts
You must define the following notes.ini variables:
STATPUB_ENABLE=1 STATPUB_DATA_HEAD={"host":"<DOMINO_SERVER_NAME>","s_timestamp":"$Timestamp$","metrics":{ STATPUB_URI=http://<HOSTNAME of Elasticsearh:9200>/domino/dstats STATPUB_DATA_TAIL=}} STATPUB_METRIC_FORMAT="$Name$":$Value$ STATPUB_DELTA_METRIC_FORMAT="$Name$.Delta":$Value$ STATPUB_HEADERS=X-My-Domino-Srv:<DOMINO_SERVER_NAME>$Newline$Content-Type: application/json$Newline$Accept: application/json$Newline$
The result is a single post to the target containing all the statistics in json format
{ "host": "myserver", "timestamp": "1581518363", "metrics": { "ADMINP.DirectoryDocumentsModified": 1, "ADMINP.RelativeResponsesAdded": 6, "ADMINP.RelativeResponsesAdded.Delta":0, "ADMINP.ReplicasCreated": 4, ..... } }
When i have a Dashboard, i will share on Github.
Tips for authenticated Elasticsearch
In my environemnt, the elasticsearch has the following username and password:
elastic:changeme
To set password you can define in url:
STATPUB_URI=http://elastic:changeme@<HOSTNAME of Elasticsearh:9200>/domino/dstats
Or encode using https://www.base64encode.org/ and define on header
STATPUB_HEADERS=X-My-Domino-Srv:<DOMINO_SERVER_NAME>$Newline$Content-Type: application/json$Newline$Accept: application/json$Newline$Authorization: Basic ZWxhc3RpYzpjaGFuZ2VtZQ==$Newline$