solution: docs for monitoring with Prometheus

This commit is contained in:
Igor Artamonov
2021-07-20 21:57:15 -04:00
parent bc6d4c0c80
commit 5490e44caa
2 changed files with 89 additions and 1 deletions

View File

@@ -71,4 +71,24 @@ The access log contains the JSON lines similar to:
** `id` request id provided in the original request
** `payloadSizeBytes` size of the original _individual_ request (for JSON RPC it's size of the `params` value)
== Prometheus Metrics
By default, Dshackle provides Prometheus metrics on `http://127.0.0.1:8081/metrics`.
To configure the metrics use:
[source,yaml]
----
monitoring:
enabled: true
jvm: false
extended: false
prometheus:
enabled: true
bind: 192.168.0.1
port: 8000
path: /status/prometheus
----
Where `jvm` options enabled monitoring of the JVM internals, such as memory, GC, threads, etc.
And `extended` enables additional metrics for query selectors, etc.

View File

@@ -21,6 +21,16 @@ tls:
require: true
ca: "/path/ca.dshackle.test.crt"
monitoring:
enabled: true
jvm: false
extended: false
prometheus:
enabled: true
bind: 127.0.0.1
port: 8081
path: /metrics
cache:
redis:
enabled: true
@@ -149,6 +159,11 @@ cluster:
| Setup TLS configuration for the gRPC server.
See <<tls>> section
| `monitoring`
|
| Setup Prometheus monitoring.
See <<monitoring>> section
| `proxy`
|
| Setup HTTP proxy that emulates all standard JSON RPC requests.
@@ -205,7 +220,7 @@ a| `true` if any value is set
| `server.key`
|
| Path to a private key to the certificate. The key _MUST BE_ in PKCS 8 format
| Path to a private key to the certificate.The key _MUST BE_ in PKCS 8 format
| `client.require`
|
@@ -217,6 +232,59 @@ a| `true` if any value is set
|===
[#monitoring]
== Monitoring
Configure Prometheus monitoring
[source,yaml]
----
monitoring:
enabled: true
jvm: false
extended: false
prometheus:
enabled: true
bind: 127.0.0.1
port: 8081
path: /metrics
----
[cols="2a,2a,5"]
|===
| Option | Default Value | Description
| `enabled`
| `true`
| Enable/Disable monitoring endpoint
| `jvm`
| `false`
| Enable/Disable JVM metrics (threads, GC, memory, etc)
| `extended`
| `false`
| Enable/Disable additional metrics (query selectors, etc)
| `prometheus.enabled`
| `true`
| Enable/Disable monitoring endpoint.
_Reserved for future use_, in case of multiple different types of endpoints.
| `prometheus.bind`
| `127.0.0.1`
| Host to bind the server
| `prometheus.port`
| `8081`
| Port to bind the server
| `prometheus.path`
| `/metrics`
| HTTP path to bind the server
|===
[#proxy]
== Proxy config