diff --git a/docs/server/administration/snmp/snmp-overview.mdx b/docs/server/administration/snmp/snmp-overview.mdx index 60ddff546b..93be4aedf3 100644 --- a/docs/server/administration/snmp/snmp-overview.mdx +++ b/docs/server/administration/snmp/snmp-overview.mdx @@ -6,11 +6,8 @@ sidebar_position: 0 --- import Admonition from '@theme/Admonition'; -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; -import CodeBlock from '@theme/CodeBlock'; -import LanguageSwitcher from "@site/src/components/LanguageSwitcher"; -import LanguageContent from "@site/src/components/LanguageContent"; +import Panel from "@site/src/components/Panel"; +import ContentFrame from "@site/src/components/ContentFrame"; # SNMP Support @@ -31,6 +28,7 @@ SNMP support is available for [Enterprise](../../../licensing/overview.mdx#enter * [Access metrics via monitoring tools](../../../server/administration/snmp/snmp-overview.mdx#access-metrics-via-monitoring-tools) * [Access metrics via SNMP agents](../../../server/administration/snmp/snmp-overview.mdx#access-metrics-via-snmp-agents) * [Access metrics via HTTP](../../../server/administration/snmp/snmp-overview.mdx#access-metrics-via-http) + * [Rate values explained](../../../server/administration/snmp/snmp-overview.mdx#rate-values-explained) * [List of OIDs](../../../server/administration/snmp/snmp-overview.mdx#list-of-oids) * [Server OIDs](../../../server/administration/snmp/snmp-overview.mdx#server-oids) * [Cluster OIDs](../../../server/administration/snmp/snmp-overview.mdx#cluster-oids) @@ -40,7 +38,7 @@ SNMP support is available for [Enterprise](../../../licensing/overview.mdx#enter * [Ongoing tasks OIDs](../../../server/administration/snmp/snmp-overview.mdx#ongoing-tasks-oids) -## Overview + * Simple Network Management Protocol (SNMP) is an Internet-standard protocol for collecting and organizing information about managed devices on IP networks. It is used primarily for monitoring network services. @@ -54,14 +52,14 @@ SNMP support is available for [Enterprise](../../../licensing/overview.mdx#enter the loaded databases, and database-specific metrics like the number of indexed items per second, document writes per second, storage space each database takes, and more. -* You can still monitor what is going on with RavenDB directly from the Studio, or by using one of our +* You can still monitor what is going on with RavenDB directly from Studio, or by using one of our monitoring tools. However, using SNMP might be easier in some cases. As users start running large numbers of RavenDB instances, it becomes impractical to deal with each of them individually, and using a monitoring system that can watch many servers becomes advisable. + - -## Enabling SNMP in RavenDB + * To monitor RavenDB using SNMP you **must** first set the [Monitoring.Snmp.Enabled](../../../server/configuration/monitoring-configuration.mdx#monitoringsnmpenabled) configuration key to _true_. @@ -70,23 +68,20 @@ SNMP support is available for [Enterprise](../../../licensing/overview.mdx#enter * For example, add this key to your _settings.json_ file and restart the server. - - -{`\{ - ... - "Monitoring.Snmp.Enabled": true - ... -\} -`} - - - + ```json + { + ... + "Monitoring.Snmp.Enabled": true + ... + } + ``` + -## SNMP configuration options + There are several configurable SNMP properties in RavenDB: -##### For SNMPv1: +#### For SNMPv1: * [Monitoring.Snmp.Port](../../../server/configuration/monitoring-configuration.mdx#monitoringsnmpport) The SNMP port. @@ -95,14 +90,14 @@ There are several configurable SNMP properties in RavenDB: List of supported SNMP versions. Default: `"V2C;V3"` -##### For SNMPv2c: +#### For SNMPv2c: * [Monitoring.Snmp.Community](../../../server/configuration/monitoring-configuration.mdx#monitoringsnmpcommunity) The community string is used as a password. It is sent with each SNMP `GET` request and allows or denies access to the monitored device. Default: `"ravendb"` -##### For SNMPv3: +#### For SNMPv3: * [Monitoring.Snmp.AuthenticationProtocol](../../../server/configuration/monitoring-configuration.mdx#monitoringsnmpauthenticationprotocol) Authentication protocol. @@ -128,24 +123,26 @@ There are several configurable SNMP properties in RavenDB: which outlines all available options. + + -## The Metrics - - + -#### Access metrics via monitoring tools +### Access metrics via monitoring tools * Querying the exposed metrics using a monitoring tool is typically straightforward (see this [Zabbix example](../../../server/administration/snmp/setup-zabbix.mdx)). * For a simplified setup, we have provided a few templates which can be found [here](https://github.com/ravendb/ravendb/tree/v4.0/src/Raven.Server/Monitoring/Snmp/Templates). These templates include the metrics and their associated OIDs. - - - + -#### Access metrics via SNMP agents +--- + + + +### Access metrics via SNMP agents * The metrics can be accessed directly using any SNMP agent such as [Net-SNMP](http://net-snmp.sourceforge.net/). Each metric has a unique object identifier (OID) and can be accessed individually. @@ -155,41 +152,42 @@ There are several configurable SNMP properties in RavenDB: ##### For SNMPv2c: - - -{`// Request: -snmpget -v 2c -c ravendb live-test.ravendb.net 1.3.6.1.4.1.45751.1.1.1.3 + ```bash + // Request: + snmpget -v 2c -c ravendb live-test.ravendb.net 1.3.6.1.4.1.45751.1.1.1.3 -// Result: -iso.3.6.1.4.1.45751.1.1.1.3 = Timeticks: (29543973) 3 days, 10:03:59.73 -`} - - + // Result: + iso.3.6.1.4.1.45751.1.1.1.3 = Timeticks: (29543973) 3 days, 10:03:59.73 + ``` + +
* `ravendb` is the community string (set via the [Monitoring.Snmp.Community](../../../server/configuration/monitoring-configuration.mdx#monitoringsnmpcommunity) configuration key). * `"live-test.ravendb.net"` is the host. +
+ ##### For SNMPv3: + ```bash + snmpget -v 3 -l authNoPriv -u ravendb -a SHA \ + -A ravendb live-test.ravendb.net 1.3.6.1.4.1.45751.1.1.1.3 + ``` - - -{`snmpget -v 3 -l authNoPriv -u ravendb -a SHA \\ - -A ravendb live-test.ravendb.net 1.3.6.1.4.1.45751.1.1.1.3 -`} - - +
* `-l authNoPriv` - sets the security level to use authentication but no privacy. * `-u ravendb` - sets the user for authentication purposes to "ravendb". * `-a SHA` - sets the authentication protocol to SHA. * `-A ravendb` - sets the authentication password to "ravendb". -
+ - +--- + + -#### Access metrics via HTTP +### Access metrics via HTTP **Access single OID value**: * An individual OID value can be retrieved via HTTP `GET` endpoint: @@ -197,16 +195,16 @@ iso.3.6.1.4.1.45751.1.1.1.3 = Timeticks: (29543973) 3 days, 10:03:59.73 * For example, a cURL request for the server [up-time metric](../../../server/administration/snmp/snmp-overview.mdx#13): - - -{`// Request: -curl -X GET http://live-test.ravendb.net/monitoring/snmp?oid=1.3.6.1.4.1.45751.1.1.1.3 + ```bash + // Request: + curl -X GET http://live-test.ravendb.net/monitoring/snmp?oid=1.3.6.1.4.1.45751.1.1.1.3 + + // Result: + { "Value" : "4.21:32:56.0700000" } + ``` + +
-// Result: -\{ "Value" : "4.21:32:56.0700000" \} -`} -
-
**Access multiple OID values**: * Multiple OID values can be retrieved by making either a `GET` or a `POST` request to the following HTTP endpoint: @@ -214,35 +212,29 @@ curl -X GET http://live-test.ravendb.net/monitoring/snmp?oid=1.3.6.1.4.1.45751.1 * For example, cURL requests for the server [managed memory](../../../server/administration/snmp/snmp-overview.mdx#167) and [unmanaged memory](../../../server/administration/snmp/snmp-overview.mdx#168) metrics: - - -{`curl -X GET "http://live-test.ravendb.net/monitoring/snmp/bulk? \\ - oid=1.3.6.1.4.1.45751.1.1.1.6.7&oid=1.3.6.1.4.1.45751.1.1.1.6.8" -`} - - - - - -{`curl -X POST \\ - -H "Content-Type: application/json" \\ - -d '\{ "OIDs": ["1.3.6.1.4.1.45751.1.1.1.6.7", "1.3.6.1.4.1.45751.1.1.1.6.8"]\}' \\ - http://localhost:8080/monitoring/snmp/bulk -`} - - - - - -{`\{ - "Results": [ - \{ "OID": "1.3.6.1.4.1.45751.1.1.1.6.7", "Value": "410" \}, - \{ "OID": "1.3.6.1.4.1.45751.1.1.1.6.8", "Value": "4" \} - ] -\} -`} - - + ```bash + curl -X GET "http://live-test.ravendb.net/monitoring/snmp/bulk? \ + oid=1.3.6.1.4.1.45751.1.1.1.6.7&oid=1.3.6.1.4.1.45751.1.1.1.6.8" + ``` + + ```bash + curl -X POST \ + -H "Content-Type: application/json" \ + -d '{ "OIDs": ["1.3.6.1.4.1.45751.1.1.1.6.7", "1.3.6.1.4.1.45751.1.1.1.6.8"]}' \ + http://localhost:8080/monitoring/snmp/bulk + ``` + + ```bash + { + "Results": [ + { "OID": "1.3.6.1.4.1.45751.1.1.1.6.7", "Value": "410" }, + { "OID": "1.3.6.1.4.1.45751.1.1.1.6.8", "Value": "4" } + ] + } + ``` + +
+ **Get all OIDs:** * You can get a list of all OIDs along with their description via this HTTP `GET` endpoint: @@ -250,11 +242,36 @@ curl -X GET http://live-test.ravendb.net/monitoring/snmp?oid=1.3.6.1.4.1.45751.1 * For example: [http://live-test.ravendb.net/monitoring/snmp/oids](http://live-test.ravendb.net/monitoring/snmp/oids) -
+ + +--- + + + +### Rate values explained + +Several OIDs below carry a **(one minute rate)** or **(five second rate)** qualifier, +which averages activity over a time window. +The chosen rate changes what the collected data shows: +* **One minute rate** + The number of events per second, averaged over the last 60 seconds. + Short bursts are smoothed out into the average. +* **Five second rate** + The number of events per second, averaged over the last 5 seconds. + Brief spikes stay visible instead of being averaged away. -## List of OIDs +When you monitor a metric, pick the qualifier that matches your goal: + +* Use the **one minute rate** to track sustained load and longer-term trends. +* Use the **five second rate** to catch short bursts and request spikes as they happen. + + + +
+ + @@ -271,7 +288,9 @@ curl -X GET http://live-test.ravendb.net/monitoring/snmp?oid=1.3.6.1.4.1.45751.1 - + + +### Server OIDs | OID | Metric (Server) | |------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| @@ -362,7 +381,13 @@ curl -X GET http://live-test.ravendb.net/monitoring/snmp?oid=1.3.6.1.4.1.45751.1 | 1.17.3 | Value of the '/proc/sys/kernel/threads-max' parameter | | 1.17.4 | Number of current threads | - + + +--- + + + +### Cluster OIDs | OID | Metric (Cluster) | |------------------------|--------------------| @@ -372,7 +397,13 @@ curl -X GET http://live-test.ravendb.net/monitoring/snmp?oid=1.3.6.1.4.1.45751.1 | 3.2.2 | Cluster index | | 3.2.3 | Cluster ID | - + + +--- + + + +### Database OIDs | OID | Metric (Database) | |------------------------------------|--------------------------------------------------------------------------| @@ -418,7 +449,13 @@ curl -X GET http://live-test.ravendb.net/monitoring/snmp?oid=1.3.6.1.4.1.45751.1 | 5.2.`D`.6.1 | Number of writes (documents, attachments, counters, timeseries) | | 5.2.`D`.6.2 | Number of bytes written (documents, attachments, counters, timeseries) | - + + +--- + + + +### Index OIDs | OID | Metric (Index) | |------------------------------------------|------------------------------------------------| @@ -438,7 +475,13 @@ curl -X GET http://live-test.ravendb.net/monitoring/snmp?oid=1.3.6.1.4.1.45751.1 | 5.2.`D`.4.`I`.15 | Number of reduces per second (one minute rate) | | 5.2.`D`.4.`I`.16 | Index type | - + + +--- + + + +### General OIDs | OID | Metric (General) | |----------------------------|--------------------------------------------------------------------------------------------------| @@ -460,7 +503,13 @@ curl -X GET http://live-test.ravendb.net/monitoring/snmp?oid=1.3.6.1.4.1.45751.1 | 5.1.9.2 | Number of bytes written (documents, attachments, counters, timeseries) in all loaded databases | | 5.1.10 | Number of faulted databases | - + + +--- + + + +### Ongoing tasks OIDs | OID | Metric (Ongoing tasks) | |--------------------------------|--------------------------------------------------------------------| @@ -491,5 +540,7 @@ curl -X GET http://live-test.ravendb.net/monitoring/snmp?oid=1.3.6.1.4.1.45751.1 | 5.1.11.25 | Number of enabled Embeddings Generation tasks for all databases | | 5.1.11.26 | Number of active Embeddings Generation tasks for all databases | + + diff --git a/versioned_docs/version-6.2/server/administration/snmp/snmp-overview.mdx b/versioned_docs/version-6.2/server/administration/snmp/snmp-overview.mdx index 6b3fdfeea0..a349721265 100644 --- a/versioned_docs/version-6.2/server/administration/snmp/snmp-overview.mdx +++ b/versioned_docs/version-6.2/server/administration/snmp/snmp-overview.mdx @@ -5,11 +5,8 @@ sidebar_position: 0 --- import Admonition from '@theme/Admonition'; -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; -import CodeBlock from '@theme/CodeBlock'; -import LanguageSwitcher from "@site/src/components/LanguageSwitcher"; -import LanguageContent from "@site/src/components/LanguageContent"; +import Panel from "@site/src/components/Panel"; +import ContentFrame from "@site/src/components/ContentFrame"; # SNMP Support @@ -30,10 +27,17 @@ SNMP support is available for [Enterprise](../../../start/licensing/licensing-ov * [Access metrics via monitoring tools](../../../server/administration/snmp/snmp-overview.mdx#access-metrics-via-monitoring-tools) * [Access metrics via SNMP agents](../../../server/administration/snmp/snmp-overview.mdx#access-metrics-via-snmp-agents) * [Access metrics via HTTP](../../../server/administration/snmp/snmp-overview.mdx#access-metrics-via-http) + * [Rate values explained](../../../server/administration/snmp/snmp-overview.mdx#rate-values-explained) * [List of OIDs](../../../server/administration/snmp/snmp-overview.mdx#list-of-oids) + * [Server OIDs](../../../server/administration/snmp/snmp-overview.mdx#server-oids) + * [Cluster OIDs](../../../server/administration/snmp/snmp-overview.mdx#cluster-oids) + * [Database OIDs](../../../server/administration/snmp/snmp-overview.mdx#database-oids) + * [Index OIDs](../../../server/administration/snmp/snmp-overview.mdx#index-oids) + * [General OIDs](../../../server/administration/snmp/snmp-overview.mdx#general-oids) + * [Ongoing tasks OIDs](../../../server/administration/snmp/snmp-overview.mdx#ongoing-tasks-oids) -## Overview + * Simple Network Management Protocol (SNMP) is an Internet-standard protocol for collecting and organizing information about managed devices on IP networks. It is used primarily for monitoring network services. @@ -47,14 +51,14 @@ SNMP support is available for [Enterprise](../../../start/licensing/licensing-ov the loaded databases, and database-specific metrics like the number of indexed items per second, document writes per second, storage space each database takes, and more. -* You can still monitor what is going on with RavenDB directly from the Studio, or by using one of our +* You can still monitor what is going on with RavenDB directly from Studio, or by using one of our monitoring tools. However, using SNMP might be easier in some cases. As users start running large numbers of RavenDB instances, it becomes impractical to deal with each of them individually, and using a monitoring system that can watch many servers becomes advisable. + - -## Enabling SNMP in RavenDB + * To monitor RavenDB using SNMP you **must** first set the [Monitoring.Snmp.Enabled](../../../server/configuration/monitoring-configuration.mdx#monitoringsnmpenabled) configuration key to _true_. @@ -63,23 +67,20 @@ SNMP support is available for [Enterprise](../../../start/licensing/licensing-ov * For example, add this key to your _settings.json_ file and restart the server. - - -{`\{ - ... - "Monitoring.Snmp.Enabled": true - ... -\} -`} - - - + ```json + { + ... + "Monitoring.Snmp.Enabled": true + ... + } + ``` + -## SNMP configuration options + There are several configurable SNMP properties in RavenDB: -##### For SNMPv1: +#### For SNMPv1: * [Monitoring.Snmp.Port](../../../server/configuration/monitoring-configuration.mdx#monitoringsnmpport) The SNMP port. @@ -88,14 +89,14 @@ There are several configurable SNMP properties in RavenDB: List of supported SNMP versions. Default: `"V2C;V3"` -##### For SNMPv2c: +#### For SNMPv2c: * [Monitoring.Snmp.Community](../../../server/configuration/monitoring-configuration.mdx#monitoringsnmpcommunity) The community string is used as a password. It is sent with each SNMP `GET` request and allows or denies access to the monitored device. Default: `"ravendb"` -##### For SNMPv3: +#### For SNMPv3: * [Monitoring.Snmp.AuthenticationProtocol](../../../server/configuration/monitoring-configuration.mdx#monitoringsnmpauthenticationprotocol) Authentication protocol. @@ -121,24 +122,26 @@ There are several configurable SNMP properties in RavenDB: which outlines all available options. + + -## The Metrics - - + -#### Access metrics via monitoring tools +### Access metrics via monitoring tools * Querying the exposed metrics using a monitoring tool is typically straightforward (see this [Zabbix example](../../../server/administration/snmp/setup-zabbix.mdx)). * For a simplified setup, we have provided a few templates which can be found [here](https://github.com/ravendb/ravendb/tree/v4.0/src/Raven.Server/Monitoring/Snmp/Templates). These templates include the metrics and their associated OIDs. - - - + -#### Access metrics via SNMP agents +--- + + + +### Access metrics via SNMP agents * The metrics can be accessed directly using any SNMP agent such as [Net-SNMP](http://net-snmp.sourceforge.net/). Each metric has a unique object identifier (OID) and can be accessed individually. @@ -148,41 +151,42 @@ There are several configurable SNMP properties in RavenDB: ##### For SNMPv2c: - - -{`// Request: -snmpget -v 2c -c ravendb live-test.ravendb.net 1.3.6.1.4.1.45751.1.1.1.3 + ```bash + // Request: + snmpget -v 2c -c ravendb live-test.ravendb.net 1.3.6.1.4.1.45751.1.1.1.3 + + // Result: + iso.3.6.1.4.1.45751.1.1.1.3 = Timeticks: (29543973) 3 days, 10:03:59.73 + ``` -// Result: -iso.3.6.1.4.1.45751.1.1.1.3 = Timeticks: (29543973) 3 days, 10:03:59.73 -`} - - +
* `ravendb` is the community string (set via the [Monitoring.Snmp.Community](../../../server/configuration/monitoring-configuration.mdx#monitoringsnmpcommunity) configuration key). * `"live-test.ravendb.net"` is the host. +
+ ##### For SNMPv3: + ```bash + snmpget -v 3 -l authNoPriv -u ravendb -a SHA \ + -A ravendb live-test.ravendb.net 1.3.6.1.4.1.45751.1.1.1.3 + ``` - - -{`snmpget -v 3 -l authNoPriv -u ravendb -a SHA \\ - -A ravendb live-test.ravendb.net 1.3.6.1.4.1.45751.1.1.1.3 -`} - - +
* `-l authNoPriv` - sets the security level to use authentication but no privacy. * `-u ravendb` - sets the user for authentication purposes to "ravendb". * `-a SHA` - sets the authentication protocol to SHA. * `-A ravendb` - sets the authentication password to "ravendb". -
+ - +--- + + -#### Access metrics via HTTP +### Access metrics via HTTP **Access single OID value**: * An individual OID value can be retrieved via HTTP `GET` endpoint: @@ -190,16 +194,16 @@ iso.3.6.1.4.1.45751.1.1.1.3 = Timeticks: (29543973) 3 days, 10:03:59.73 * For example, a cURL request for the server [up-time metric](../../../server/administration/snmp/snmp-overview.mdx#13): - - -{`// Request: -curl -X GET http://live-test.ravendb.net/monitoring/snmp?oid=1.3.6.1.4.1.45751.1.1.1.3 + ```bash + // Request: + curl -X GET http://live-test.ravendb.net/monitoring/snmp?oid=1.3.6.1.4.1.45751.1.1.1.3 + + // Result: + { "Value" : "4.21:32:56.0700000" } + ``` + +
-// Result: -\{ "Value" : "4.21:32:56.0700000" \} -`} -
-
**Access multiple OID values**: * Multiple OID values can be retrieved by making either a `GET` or a `POST` request to the following HTTP endpoint: @@ -207,35 +211,29 @@ curl -X GET http://live-test.ravendb.net/monitoring/snmp?oid=1.3.6.1.4.1.45751.1 * For example, cURL requests for the server [managed memory](../../../server/administration/snmp/snmp-overview.mdx#167) and [unmanaged memory](../../../server/administration/snmp/snmp-overview.mdx#168) metrics: - - -{`curl -X GET "http://live-test.ravendb.net/monitoring/snmp/bulk? \\ - oid=1.3.6.1.4.1.45751.1.1.1.6.7&oid=1.3.6.1.4.1.45751.1.1.1.6.8" -`} - - - - - -{`curl -X POST \\ - -H "Content-Type: application/json" \\ - -d '\{ "OIDs": ["1.3.6.1.4.1.45751.1.1.1.6.7", "1.3.6.1.4.1.45751.1.1.1.6.8"]\}' \\ - http://localhost:8080/monitoring/snmp/bulk -`} - - - - - -{`\{ - "Results": [ - \{ "OID": "1.3.6.1.4.1.45751.1.1.1.6.7", "Value": "410" \}, - \{ "OID": "1.3.6.1.4.1.45751.1.1.1.6.8", "Value": "4" \} - ] -\} -`} - - + ```bash + curl -X GET "http://live-test.ravendb.net/monitoring/snmp/bulk? \ + oid=1.3.6.1.4.1.45751.1.1.1.6.7&oid=1.3.6.1.4.1.45751.1.1.1.6.8" + ``` + + ```bash + curl -X POST \ + -H "Content-Type: application/json" \ + -d '{ "OIDs": ["1.3.6.1.4.1.45751.1.1.1.6.7", "1.3.6.1.4.1.45751.1.1.1.6.8"]}' \ + http://localhost:8080/monitoring/snmp/bulk + ``` + + ```bash + { + "Results": [ + { "OID": "1.3.6.1.4.1.45751.1.1.1.6.7", "Value": "410" }, + { "OID": "1.3.6.1.4.1.45751.1.1.1.6.8", "Value": "4" } + ] + } + ``` + +
+
**Get all OIDs:** * You can get a list of all OIDs along with their description via this HTTP `GET` endpoint: @@ -243,11 +241,36 @@ curl -X GET http://live-test.ravendb.net/monitoring/snmp?oid=1.3.6.1.4.1.45751.1 * For example: [http://live-test.ravendb.net/monitoring/snmp/oids](http://live-test.ravendb.net/monitoring/snmp/oids) - + + +--- + + + +### Rate values explained + +Several OIDs below carry a **(one minute rate)** or **(five second rate)** qualifier, +which averages activity over a time window. +The chosen rate changes what the collected data shows: + +* **One minute rate** + The number of events per second, averaged over the last 60 seconds. + Short bursts are smoothed out into the average. + +* **Five second rate** + The number of events per second, averaged over the last 5 seconds. + Brief spikes stay visible instead of being averaged away. + +When you monitor a metric, pick the qualifier that matches your goal: +* Use the **one minute rate** to track sustained load and longer-term trends. +* Use the **five second rate** to catch short bursts and request spikes as they happen. + -## List of OIDs + + + @@ -264,6 +287,10 @@ curl -X GET http://live-test.ravendb.net/monitoring/snmp?oid=1.3.6.1.4.1.45751.1 + + +### Server OIDs + | OID | Metric (Server) | |------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | 1.1.1 | Server URL | @@ -353,6 +380,14 @@ curl -X GET http://live-test.ravendb.net/monitoring/snmp?oid=1.3.6.1.4.1.45751.1 | 1.17.3 | Value of the '/proc/sys/kernel/threads-max' parameter | | 1.17.4 | Number of current threads | + + +--- + + + +### Cluster OIDs + | OID | Metric (Cluster) | |------------------------|--------------------| | 3.1.1 | Current node tag | @@ -361,6 +396,14 @@ curl -X GET http://live-test.ravendb.net/monitoring/snmp?oid=1.3.6.1.4.1.45751.1 | 3.2.2 | Cluster index | | 3.2.3 | Cluster ID | + + +--- + + + +### Database OIDs + | OID | Metric (Database) | |------------------------------------|--------------------------------------------------------------------------| | 5.2.`D`.1.1 | Database name | @@ -405,6 +448,14 @@ curl -X GET http://live-test.ravendb.net/monitoring/snmp?oid=1.3.6.1.4.1.45751.1 | 5.2.`D`.6.1 | Number of writes (documents, attachments, counters, timeseries) | | 5.2.`D`.6.2 | Number of bytes written (documents, attachments, counters, timeseries) | + + +--- + + + +### Index OIDs + | OID | Metric (Index) | |------------------------------------------|------------------------------------------------| | 5.2.`D`.4.`I`.1 | Indicates if index exists | @@ -423,6 +474,14 @@ curl -X GET http://live-test.ravendb.net/monitoring/snmp?oid=1.3.6.1.4.1.45751.1 | 5.2.`D`.4.`I`.15 | Number of reduces per second (one minute rate) | | 5.2.`D`.4.`I`.16 | Index type | + + +--- + + + +### General OIDs + | OID | Metric (General) | |----------------------------|--------------------------------------------------------------------------------------------------| | 5.1.1 | Number of all databases | @@ -443,6 +502,14 @@ curl -X GET http://live-test.ravendb.net/monitoring/snmp?oid=1.3.6.1.4.1.45751.1 | 5.1.9.2 | Number of bytes written (documents, attachments, counters, timeseries) in all loaded databases | | 5.1.10 | Number of faulted databases | + + +--- + + + +### Ongoing tasks OIDs + | OID | Metric (Ongoing tasks) | |--------------------------------|--------------------------------------------------------------------| | 5.1.11.1 | Number of enabled ongoing tasks for all databases | @@ -466,5 +533,7 @@ curl -X GET http://live-test.ravendb.net/monitoring/snmp?oid=1.3.6.1.4.1.45751.1 | 5.1.11.19 | Number of enabled Pull Replication As Sink tasks for all databases | | 5.1.11.20 | Number of active Pull Replication As Sink tasks for all databases | + + diff --git a/versioned_docs/version-7.0/server/administration/snmp/snmp-overview.mdx b/versioned_docs/version-7.0/server/administration/snmp/snmp-overview.mdx index 00849f2b38..5458bade25 100644 --- a/versioned_docs/version-7.0/server/administration/snmp/snmp-overview.mdx +++ b/versioned_docs/version-7.0/server/administration/snmp/snmp-overview.mdx @@ -5,11 +5,8 @@ sidebar_position: 0 --- import Admonition from '@theme/Admonition'; -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; -import CodeBlock from '@theme/CodeBlock'; -import LanguageSwitcher from "@site/src/components/LanguageSwitcher"; -import LanguageContent from "@site/src/components/LanguageContent"; +import Panel from "@site/src/components/Panel"; +import ContentFrame from "@site/src/components/ContentFrame"; # SNMP Support @@ -30,6 +27,7 @@ SNMP support is available for [Enterprise](../../../start/licensing/licensing-ov * [Access metrics via monitoring tools](../../../server/administration/snmp/snmp-overview.mdx#access-metrics-via-monitoring-tools) * [Access metrics via SNMP agents](../../../server/administration/snmp/snmp-overview.mdx#access-metrics-via-snmp-agents) * [Access metrics via HTTP](../../../server/administration/snmp/snmp-overview.mdx#access-metrics-via-http) + * [Rate values explained](../../../server/administration/snmp/snmp-overview.mdx#rate-values-explained) * [List of OIDs](../../../server/administration/snmp/snmp-overview.mdx#list-of-oids) * [Server OIDs](../../../server/administration/snmp/snmp-overview.mdx#server-oids) * [Cluster OIDs](../../../server/administration/snmp/snmp-overview.mdx#cluster-oids) @@ -39,7 +37,7 @@ SNMP support is available for [Enterprise](../../../start/licensing/licensing-ov * [Ongoing tasks OIDs](../../../server/administration/snmp/snmp-overview.mdx#ongoing-tasks-oids) -## Overview + * Simple Network Management Protocol (SNMP) is an Internet-standard protocol for collecting and organizing information about managed devices on IP networks. It is used primarily for monitoring network services. @@ -53,14 +51,14 @@ SNMP support is available for [Enterprise](../../../start/licensing/licensing-ov the loaded databases, and database-specific metrics like the number of indexed items per second, document writes per second, storage space each database takes, and more. -* You can still monitor what is going on with RavenDB directly from the Studio, or by using one of our +* You can still monitor what is going on with RavenDB directly from Studio, or by using one of our monitoring tools. However, using SNMP might be easier in some cases. As users start running large numbers of RavenDB instances, it becomes impractical to deal with each of them individually, and using a monitoring system that can watch many servers becomes advisable. + - -## Enabling SNMP in RavenDB + * To monitor RavenDB using SNMP you **must** first set the [Monitoring.Snmp.Enabled](../../../server/configuration/monitoring-configuration.mdx#monitoringsnmpenabled) configuration key to _true_. @@ -69,23 +67,20 @@ SNMP support is available for [Enterprise](../../../start/licensing/licensing-ov * For example, add this key to your _settings.json_ file and restart the server. - - -{`\{ - ... - "Monitoring.Snmp.Enabled": true - ... -\} -`} - - - + ```json + { + ... + "Monitoring.Snmp.Enabled": true + ... + } + ``` + -## SNMP configuration options + There are several configurable SNMP properties in RavenDB: -##### For SNMPv1: +#### For SNMPv1: * [Monitoring.Snmp.Port](../../../server/configuration/monitoring-configuration.mdx#monitoringsnmpport) The SNMP port. @@ -94,14 +89,14 @@ There are several configurable SNMP properties in RavenDB: List of supported SNMP versions. Default: `"V2C;V3"` -##### For SNMPv2c: +#### For SNMPv2c: * [Monitoring.Snmp.Community](../../../server/configuration/monitoring-configuration.mdx#monitoringsnmpcommunity) The community string is used as a password. It is sent with each SNMP `GET` request and allows or denies access to the monitored device. Default: `"ravendb"` -##### For SNMPv3: +#### For SNMPv3: * [Monitoring.Snmp.AuthenticationProtocol](../../../server/configuration/monitoring-configuration.mdx#monitoringsnmpauthenticationprotocol) Authentication protocol. @@ -127,24 +122,26 @@ There are several configurable SNMP properties in RavenDB: which outlines all available options. + + -## The Metrics - - + -#### Access metrics via monitoring tools +### Access metrics via monitoring tools * Querying the exposed metrics using a monitoring tool is typically straightforward (see this [Zabbix example](../../../server/administration/snmp/setup-zabbix.mdx)). * For a simplified setup, we have provided a few templates which can be found [here](https://github.com/ravendb/ravendb/tree/v4.0/src/Raven.Server/Monitoring/Snmp/Templates). These templates include the metrics and their associated OIDs. - - - + -#### Access metrics via SNMP agents +--- + + + +### Access metrics via SNMP agents * The metrics can be accessed directly using any SNMP agent such as [Net-SNMP](http://net-snmp.sourceforge.net/). Each metric has a unique object identifier (OID) and can be accessed individually. @@ -154,41 +151,42 @@ There are several configurable SNMP properties in RavenDB: ##### For SNMPv2c: - - -{`// Request: -snmpget -v 2c -c ravendb live-test.ravendb.net 1.3.6.1.4.1.45751.1.1.1.3 + ```bash + // Request: + snmpget -v 2c -c ravendb live-test.ravendb.net 1.3.6.1.4.1.45751.1.1.1.3 -// Result: -iso.3.6.1.4.1.45751.1.1.1.3 = Timeticks: (29543973) 3 days, 10:03:59.73 -`} - - + // Result: + iso.3.6.1.4.1.45751.1.1.1.3 = Timeticks: (29543973) 3 days, 10:03:59.73 + ``` + +
* `ravendb` is the community string (set via the [Monitoring.Snmp.Community](../../../server/configuration/monitoring-configuration.mdx#monitoringsnmpcommunity) configuration key). * `"live-test.ravendb.net"` is the host. +
+ ##### For SNMPv3: + ```bash + snmpget -v 3 -l authNoPriv -u ravendb -a SHA \ + -A ravendb live-test.ravendb.net 1.3.6.1.4.1.45751.1.1.1.3 + ``` - - -{`snmpget -v 3 -l authNoPriv -u ravendb -a SHA \\ - -A ravendb live-test.ravendb.net 1.3.6.1.4.1.45751.1.1.1.3 -`} - - +
* `-l authNoPriv` - sets the security level to use authentication but no privacy. * `-u ravendb` - sets the user for authentication purposes to "ravendb". * `-a SHA` - sets the authentication protocol to SHA. * `-A ravendb` - sets the authentication password to "ravendb". -
+ - +--- + + -#### Access metrics via HTTP +### Access metrics via HTTP **Access single OID value**: * An individual OID value can be retrieved via HTTP `GET` endpoint: @@ -196,16 +194,16 @@ iso.3.6.1.4.1.45751.1.1.1.3 = Timeticks: (29543973) 3 days, 10:03:59.73 * For example, a cURL request for the server [up-time metric](../../../server/administration/snmp/snmp-overview.mdx#13): - - -{`// Request: -curl -X GET http://live-test.ravendb.net/monitoring/snmp?oid=1.3.6.1.4.1.45751.1.1.1.3 + ```bash + // Request: + curl -X GET http://live-test.ravendb.net/monitoring/snmp?oid=1.3.6.1.4.1.45751.1.1.1.3 + + // Result: + { "Value" : "4.21:32:56.0700000" } + ``` + +
-// Result: -\{ "Value" : "4.21:32:56.0700000" \} -`} -
-
**Access multiple OID values**: * Multiple OID values can be retrieved by making either a `GET` or a `POST` request to the following HTTP endpoint: @@ -213,35 +211,29 @@ curl -X GET http://live-test.ravendb.net/monitoring/snmp?oid=1.3.6.1.4.1.45751.1 * For example, cURL requests for the server [managed memory](../../../server/administration/snmp/snmp-overview.mdx#167) and [unmanaged memory](../../../server/administration/snmp/snmp-overview.mdx#168) metrics: - - -{`curl -X GET "http://live-test.ravendb.net/monitoring/snmp/bulk? \\ - oid=1.3.6.1.4.1.45751.1.1.1.6.7&oid=1.3.6.1.4.1.45751.1.1.1.6.8" -`} - - - - - -{`curl -X POST \\ - -H "Content-Type: application/json" \\ - -d '\{ "OIDs": ["1.3.6.1.4.1.45751.1.1.1.6.7", "1.3.6.1.4.1.45751.1.1.1.6.8"]\}' \\ - http://localhost:8080/monitoring/snmp/bulk -`} - - - - - -{`\{ - "Results": [ - \{ "OID": "1.3.6.1.4.1.45751.1.1.1.6.7", "Value": "410" \}, - \{ "OID": "1.3.6.1.4.1.45751.1.1.1.6.8", "Value": "4" \} - ] -\} -`} - - + ```bash + curl -X GET "http://live-test.ravendb.net/monitoring/snmp/bulk? \ + oid=1.3.6.1.4.1.45751.1.1.1.6.7&oid=1.3.6.1.4.1.45751.1.1.1.6.8" + ``` + + ```bash + curl -X POST \ + -H "Content-Type: application/json" \ + -d '{ "OIDs": ["1.3.6.1.4.1.45751.1.1.1.6.7", "1.3.6.1.4.1.45751.1.1.1.6.8"]}' \ + http://localhost:8080/monitoring/snmp/bulk + ``` + + ```bash + { + "Results": [ + { "OID": "1.3.6.1.4.1.45751.1.1.1.6.7", "Value": "410" }, + { "OID": "1.3.6.1.4.1.45751.1.1.1.6.8", "Value": "4" } + ] + } + ``` + +
+
**Get all OIDs:** * You can get a list of all OIDs along with their description via this HTTP `GET` endpoint: @@ -249,11 +241,36 @@ curl -X GET http://live-test.ravendb.net/monitoring/snmp?oid=1.3.6.1.4.1.45751.1 * For example: [http://live-test.ravendb.net/monitoring/snmp/oids](http://live-test.ravendb.net/monitoring/snmp/oids) - + + +--- + + + +### Rate values explained + +Several OIDs below carry a **(one minute rate)** or **(five second rate)** qualifier, +which averages activity over a time window. +The chosen rate changes what the collected data shows: +* **One minute rate** + The number of events per second, averaged over the last 60 seconds. + Short bursts are smoothed out into the average. +* **Five second rate** + The number of events per second, averaged over the last 5 seconds. + Brief spikes stay visible instead of being averaged away. -## List of OIDs +When you monitor a metric, pick the qualifier that matches your goal: + +* Use the **one minute rate** to track sustained load and longer-term trends. +* Use the **five second rate** to catch short bursts and request spikes as they happen. + + + + + + @@ -270,7 +287,9 @@ curl -X GET http://live-test.ravendb.net/monitoring/snmp?oid=1.3.6.1.4.1.45751.1 - + + +### Server OIDs | OID | Metric (Server) | |------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| @@ -361,7 +380,13 @@ curl -X GET http://live-test.ravendb.net/monitoring/snmp?oid=1.3.6.1.4.1.45751.1 | 1.17.3 | Value of the '/proc/sys/kernel/threads-max' parameter | | 1.17.4 | Number of current threads | - + + +--- + + + +### Cluster OIDs | OID | Metric (Cluster) | |------------------------|--------------------| @@ -371,7 +396,13 @@ curl -X GET http://live-test.ravendb.net/monitoring/snmp?oid=1.3.6.1.4.1.45751.1 | 3.2.2 | Cluster index | | 3.2.3 | Cluster ID | - + + +--- + + + +### Database OIDs | OID | Metric (Database) | |------------------------------------|--------------------------------------------------------------------------| @@ -417,7 +448,13 @@ curl -X GET http://live-test.ravendb.net/monitoring/snmp?oid=1.3.6.1.4.1.45751.1 | 5.2.`D`.6.1 | Number of writes (documents, attachments, counters, timeseries) | | 5.2.`D`.6.2 | Number of bytes written (documents, attachments, counters, timeseries) | - + + +--- + + + +### Index OIDs | OID | Metric (Index) | |------------------------------------------|------------------------------------------------| @@ -437,7 +474,13 @@ curl -X GET http://live-test.ravendb.net/monitoring/snmp?oid=1.3.6.1.4.1.45751.1 | 5.2.`D`.4.`I`.15 | Number of reduces per second (one minute rate) | | 5.2.`D`.4.`I`.16 | Index type | - + + +--- + + + +### General OIDs | OID | Metric (General) | |----------------------------|--------------------------------------------------------------------------------------------------| @@ -459,7 +502,13 @@ curl -X GET http://live-test.ravendb.net/monitoring/snmp?oid=1.3.6.1.4.1.45751.1 | 5.1.9.2 | Number of bytes written (documents, attachments, counters, timeseries) in all loaded databases | | 5.1.10 | Number of faulted databases | - + + +--- + + + +### Ongoing tasks OIDs | OID | Metric (Ongoing tasks) | |--------------------------------|--------------------------------------------------------------------| @@ -490,5 +539,7 @@ curl -X GET http://live-test.ravendb.net/monitoring/snmp?oid=1.3.6.1.4.1.45751.1 | 5.1.11.25 | Number of enabled Embeddings Generation tasks for all databases | | 5.1.11.26 | Number of active Embeddings Generation tasks for all databases | + + diff --git a/versioned_docs/version-7.1/server/administration/snmp/snmp-overview.mdx b/versioned_docs/version-7.1/server/administration/snmp/snmp-overview.mdx index 00849f2b38..5458bade25 100644 --- a/versioned_docs/version-7.1/server/administration/snmp/snmp-overview.mdx +++ b/versioned_docs/version-7.1/server/administration/snmp/snmp-overview.mdx @@ -5,11 +5,8 @@ sidebar_position: 0 --- import Admonition from '@theme/Admonition'; -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; -import CodeBlock from '@theme/CodeBlock'; -import LanguageSwitcher from "@site/src/components/LanguageSwitcher"; -import LanguageContent from "@site/src/components/LanguageContent"; +import Panel from "@site/src/components/Panel"; +import ContentFrame from "@site/src/components/ContentFrame"; # SNMP Support @@ -30,6 +27,7 @@ SNMP support is available for [Enterprise](../../../start/licensing/licensing-ov * [Access metrics via monitoring tools](../../../server/administration/snmp/snmp-overview.mdx#access-metrics-via-monitoring-tools) * [Access metrics via SNMP agents](../../../server/administration/snmp/snmp-overview.mdx#access-metrics-via-snmp-agents) * [Access metrics via HTTP](../../../server/administration/snmp/snmp-overview.mdx#access-metrics-via-http) + * [Rate values explained](../../../server/administration/snmp/snmp-overview.mdx#rate-values-explained) * [List of OIDs](../../../server/administration/snmp/snmp-overview.mdx#list-of-oids) * [Server OIDs](../../../server/administration/snmp/snmp-overview.mdx#server-oids) * [Cluster OIDs](../../../server/administration/snmp/snmp-overview.mdx#cluster-oids) @@ -39,7 +37,7 @@ SNMP support is available for [Enterprise](../../../start/licensing/licensing-ov * [Ongoing tasks OIDs](../../../server/administration/snmp/snmp-overview.mdx#ongoing-tasks-oids) -## Overview + * Simple Network Management Protocol (SNMP) is an Internet-standard protocol for collecting and organizing information about managed devices on IP networks. It is used primarily for monitoring network services. @@ -53,14 +51,14 @@ SNMP support is available for [Enterprise](../../../start/licensing/licensing-ov the loaded databases, and database-specific metrics like the number of indexed items per second, document writes per second, storage space each database takes, and more. -* You can still monitor what is going on with RavenDB directly from the Studio, or by using one of our +* You can still monitor what is going on with RavenDB directly from Studio, or by using one of our monitoring tools. However, using SNMP might be easier in some cases. As users start running large numbers of RavenDB instances, it becomes impractical to deal with each of them individually, and using a monitoring system that can watch many servers becomes advisable. + - -## Enabling SNMP in RavenDB + * To monitor RavenDB using SNMP you **must** first set the [Monitoring.Snmp.Enabled](../../../server/configuration/monitoring-configuration.mdx#monitoringsnmpenabled) configuration key to _true_. @@ -69,23 +67,20 @@ SNMP support is available for [Enterprise](../../../start/licensing/licensing-ov * For example, add this key to your _settings.json_ file and restart the server. - - -{`\{ - ... - "Monitoring.Snmp.Enabled": true - ... -\} -`} - - - + ```json + { + ... + "Monitoring.Snmp.Enabled": true + ... + } + ``` + -## SNMP configuration options + There are several configurable SNMP properties in RavenDB: -##### For SNMPv1: +#### For SNMPv1: * [Monitoring.Snmp.Port](../../../server/configuration/monitoring-configuration.mdx#monitoringsnmpport) The SNMP port. @@ -94,14 +89,14 @@ There are several configurable SNMP properties in RavenDB: List of supported SNMP versions. Default: `"V2C;V3"` -##### For SNMPv2c: +#### For SNMPv2c: * [Monitoring.Snmp.Community](../../../server/configuration/monitoring-configuration.mdx#monitoringsnmpcommunity) The community string is used as a password. It is sent with each SNMP `GET` request and allows or denies access to the monitored device. Default: `"ravendb"` -##### For SNMPv3: +#### For SNMPv3: * [Monitoring.Snmp.AuthenticationProtocol](../../../server/configuration/monitoring-configuration.mdx#monitoringsnmpauthenticationprotocol) Authentication protocol. @@ -127,24 +122,26 @@ There are several configurable SNMP properties in RavenDB: which outlines all available options. + + -## The Metrics - - + -#### Access metrics via monitoring tools +### Access metrics via monitoring tools * Querying the exposed metrics using a monitoring tool is typically straightforward (see this [Zabbix example](../../../server/administration/snmp/setup-zabbix.mdx)). * For a simplified setup, we have provided a few templates which can be found [here](https://github.com/ravendb/ravendb/tree/v4.0/src/Raven.Server/Monitoring/Snmp/Templates). These templates include the metrics and their associated OIDs. - - - + -#### Access metrics via SNMP agents +--- + + + +### Access metrics via SNMP agents * The metrics can be accessed directly using any SNMP agent such as [Net-SNMP](http://net-snmp.sourceforge.net/). Each metric has a unique object identifier (OID) and can be accessed individually. @@ -154,41 +151,42 @@ There are several configurable SNMP properties in RavenDB: ##### For SNMPv2c: - - -{`// Request: -snmpget -v 2c -c ravendb live-test.ravendb.net 1.3.6.1.4.1.45751.1.1.1.3 + ```bash + // Request: + snmpget -v 2c -c ravendb live-test.ravendb.net 1.3.6.1.4.1.45751.1.1.1.3 -// Result: -iso.3.6.1.4.1.45751.1.1.1.3 = Timeticks: (29543973) 3 days, 10:03:59.73 -`} - - + // Result: + iso.3.6.1.4.1.45751.1.1.1.3 = Timeticks: (29543973) 3 days, 10:03:59.73 + ``` + +
* `ravendb` is the community string (set via the [Monitoring.Snmp.Community](../../../server/configuration/monitoring-configuration.mdx#monitoringsnmpcommunity) configuration key). * `"live-test.ravendb.net"` is the host. +
+ ##### For SNMPv3: + ```bash + snmpget -v 3 -l authNoPriv -u ravendb -a SHA \ + -A ravendb live-test.ravendb.net 1.3.6.1.4.1.45751.1.1.1.3 + ``` - - -{`snmpget -v 3 -l authNoPriv -u ravendb -a SHA \\ - -A ravendb live-test.ravendb.net 1.3.6.1.4.1.45751.1.1.1.3 -`} - - +
* `-l authNoPriv` - sets the security level to use authentication but no privacy. * `-u ravendb` - sets the user for authentication purposes to "ravendb". * `-a SHA` - sets the authentication protocol to SHA. * `-A ravendb` - sets the authentication password to "ravendb". -
+ - +--- + + -#### Access metrics via HTTP +### Access metrics via HTTP **Access single OID value**: * An individual OID value can be retrieved via HTTP `GET` endpoint: @@ -196,16 +194,16 @@ iso.3.6.1.4.1.45751.1.1.1.3 = Timeticks: (29543973) 3 days, 10:03:59.73 * For example, a cURL request for the server [up-time metric](../../../server/administration/snmp/snmp-overview.mdx#13): - - -{`// Request: -curl -X GET http://live-test.ravendb.net/monitoring/snmp?oid=1.3.6.1.4.1.45751.1.1.1.3 + ```bash + // Request: + curl -X GET http://live-test.ravendb.net/monitoring/snmp?oid=1.3.6.1.4.1.45751.1.1.1.3 + + // Result: + { "Value" : "4.21:32:56.0700000" } + ``` + +
-// Result: -\{ "Value" : "4.21:32:56.0700000" \} -`} -
-
**Access multiple OID values**: * Multiple OID values can be retrieved by making either a `GET` or a `POST` request to the following HTTP endpoint: @@ -213,35 +211,29 @@ curl -X GET http://live-test.ravendb.net/monitoring/snmp?oid=1.3.6.1.4.1.45751.1 * For example, cURL requests for the server [managed memory](../../../server/administration/snmp/snmp-overview.mdx#167) and [unmanaged memory](../../../server/administration/snmp/snmp-overview.mdx#168) metrics: - - -{`curl -X GET "http://live-test.ravendb.net/monitoring/snmp/bulk? \\ - oid=1.3.6.1.4.1.45751.1.1.1.6.7&oid=1.3.6.1.4.1.45751.1.1.1.6.8" -`} - - - - - -{`curl -X POST \\ - -H "Content-Type: application/json" \\ - -d '\{ "OIDs": ["1.3.6.1.4.1.45751.1.1.1.6.7", "1.3.6.1.4.1.45751.1.1.1.6.8"]\}' \\ - http://localhost:8080/monitoring/snmp/bulk -`} - - - - - -{`\{ - "Results": [ - \{ "OID": "1.3.6.1.4.1.45751.1.1.1.6.7", "Value": "410" \}, - \{ "OID": "1.3.6.1.4.1.45751.1.1.1.6.8", "Value": "4" \} - ] -\} -`} - - + ```bash + curl -X GET "http://live-test.ravendb.net/monitoring/snmp/bulk? \ + oid=1.3.6.1.4.1.45751.1.1.1.6.7&oid=1.3.6.1.4.1.45751.1.1.1.6.8" + ``` + + ```bash + curl -X POST \ + -H "Content-Type: application/json" \ + -d '{ "OIDs": ["1.3.6.1.4.1.45751.1.1.1.6.7", "1.3.6.1.4.1.45751.1.1.1.6.8"]}' \ + http://localhost:8080/monitoring/snmp/bulk + ``` + + ```bash + { + "Results": [ + { "OID": "1.3.6.1.4.1.45751.1.1.1.6.7", "Value": "410" }, + { "OID": "1.3.6.1.4.1.45751.1.1.1.6.8", "Value": "4" } + ] + } + ``` + +
+
**Get all OIDs:** * You can get a list of all OIDs along with their description via this HTTP `GET` endpoint: @@ -249,11 +241,36 @@ curl -X GET http://live-test.ravendb.net/monitoring/snmp?oid=1.3.6.1.4.1.45751.1 * For example: [http://live-test.ravendb.net/monitoring/snmp/oids](http://live-test.ravendb.net/monitoring/snmp/oids) - + + +--- + + + +### Rate values explained + +Several OIDs below carry a **(one minute rate)** or **(five second rate)** qualifier, +which averages activity over a time window. +The chosen rate changes what the collected data shows: +* **One minute rate** + The number of events per second, averaged over the last 60 seconds. + Short bursts are smoothed out into the average. +* **Five second rate** + The number of events per second, averaged over the last 5 seconds. + Brief spikes stay visible instead of being averaged away. -## List of OIDs +When you monitor a metric, pick the qualifier that matches your goal: + +* Use the **one minute rate** to track sustained load and longer-term trends. +* Use the **five second rate** to catch short bursts and request spikes as they happen. + + + + + + @@ -270,7 +287,9 @@ curl -X GET http://live-test.ravendb.net/monitoring/snmp?oid=1.3.6.1.4.1.45751.1 - + + +### Server OIDs | OID | Metric (Server) | |------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| @@ -361,7 +380,13 @@ curl -X GET http://live-test.ravendb.net/monitoring/snmp?oid=1.3.6.1.4.1.45751.1 | 1.17.3 | Value of the '/proc/sys/kernel/threads-max' parameter | | 1.17.4 | Number of current threads | - + + +--- + + + +### Cluster OIDs | OID | Metric (Cluster) | |------------------------|--------------------| @@ -371,7 +396,13 @@ curl -X GET http://live-test.ravendb.net/monitoring/snmp?oid=1.3.6.1.4.1.45751.1 | 3.2.2 | Cluster index | | 3.2.3 | Cluster ID | - + + +--- + + + +### Database OIDs | OID | Metric (Database) | |------------------------------------|--------------------------------------------------------------------------| @@ -417,7 +448,13 @@ curl -X GET http://live-test.ravendb.net/monitoring/snmp?oid=1.3.6.1.4.1.45751.1 | 5.2.`D`.6.1 | Number of writes (documents, attachments, counters, timeseries) | | 5.2.`D`.6.2 | Number of bytes written (documents, attachments, counters, timeseries) | - + + +--- + + + +### Index OIDs | OID | Metric (Index) | |------------------------------------------|------------------------------------------------| @@ -437,7 +474,13 @@ curl -X GET http://live-test.ravendb.net/monitoring/snmp?oid=1.3.6.1.4.1.45751.1 | 5.2.`D`.4.`I`.15 | Number of reduces per second (one minute rate) | | 5.2.`D`.4.`I`.16 | Index type | - + + +--- + + + +### General OIDs | OID | Metric (General) | |----------------------------|--------------------------------------------------------------------------------------------------| @@ -459,7 +502,13 @@ curl -X GET http://live-test.ravendb.net/monitoring/snmp?oid=1.3.6.1.4.1.45751.1 | 5.1.9.2 | Number of bytes written (documents, attachments, counters, timeseries) in all loaded databases | | 5.1.10 | Number of faulted databases | - + + +--- + + + +### Ongoing tasks OIDs | OID | Metric (Ongoing tasks) | |--------------------------------|--------------------------------------------------------------------| @@ -490,5 +539,7 @@ curl -X GET http://live-test.ravendb.net/monitoring/snmp?oid=1.3.6.1.4.1.45751.1 | 5.1.11.25 | Number of enabled Embeddings Generation tasks for all databases | | 5.1.11.26 | Number of active Embeddings Generation tasks for all databases | + +