ArangoDB v3.9 reached End of Life (EOL) and is no longer supported.
This documentation is outdated. Please see the most recent version at docs.arangodb.com
Monitoring Datacenter-to-Datacenter Replication
Datacenter-to-Datacenter Replication is only available in the Enterprise Edition.
This section includes information related to the monitoring of the Datacenter-to-Datacenter Replication.
For a general introduction to the Datacenter-to-Datacenter Replication, please refer to the Datacenter-to-Datacenter Replication chapter.
Metrics
ArangoSync (master & worker) provide metrics that can be used for monitoring the Datacenter-to-Datacenter Replication solution. These metrics are available using the following HTTPS endpoints:
- GET /metrics: Provides metrics in a format supported by Prometheus.
- GET /metrics.json: Provides the same metrics in JSON format.
Both endpoints include help information per metrics.
Note: Both endpoints require authentication. Besides the usual authentication methods
these endpoints are also accessible using a special bearer token specified using the --monitoring.token
command line option.
The Prometheus output (/metrics) looks like this:
...
# HELP arangosync_master_worker_registrations Total number of registrations
# TYPE arangosync_master_worker_registrations counter
arangosync_master_worker_registrations 2
# HELP arangosync_master_worker_storage Number of times worker info is stored, loaded
# TYPE arangosync_master_worker_storage counter
arangosync_master_worker_storage{kind="",op="save",result="success"} 20
arangosync_master_worker_storage{kind="empty",op="load",result="success"} 1
...
The JSON output (/metrics.json) looks like this:
{
  ...
  "arangosync_master_worker_registrations": {
    "help": "Total number of registrations",
    "type": "counter",
    "samples": [
      {
        "value": 2
      }
    ]
  },
  "arangosync_master_worker_storage": {
    "help": "Number of times worker info is stored, loaded",
    "type": "counter",
    "samples": [
      {
        "value": 8,
        "labels": {
          "kind": "",
          "op": "save",
          "result": "success"
        }
      },
      {
        "value": 1,
        "labels": {
          "kind": "empty",
          "op": "load",
          "result": "success"
        }
      }
    ]
  }
  ...
}
Hint: To get a list of a metrics and their help information, run:
alias jq='docker run --rm -i realguess/jq jq'
curl -sk -u "<user>:<password>" https://<syncmaster-IP>:8629/metrics.json | \
  jq 'with_entries({key: .key, value:.value.help})'
 
     
    