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. SNMP exposes management
data in the form of variables (metrics) which describe the system status and configuration. These metrics can then be
remotely queried (and, in some circumstances, manipulated) by managing applications.
In RavenDB we have support for SNMP which allows monitoring tools like Zabbix, PRTG
and Datadog direct access to the internal details of RavenDB. We expose a long list of metrics: CPU and memory usage,
server total requests, the loaded databases, and also database specific metrics like the number of indexed items per
second, document writes per second, storage space each database takes, and so on.
You can still monitor what is going on with RavenDB directly from the 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 unpractical to deal with each of them individually and using a monitoring system that can watch many servers is advisable.
SNMP support is available for enterprise licenses only.
Enabling SNMP in RavenDB
RavenDB is already configured to support SNMP. All you have to do is enable it and restart the server.
This is done by adding the following key to your settings.json file:
There are two configurable SNMP properties in RavenDB: the SNMP port and the community string.
The default community string is "ravendb" and the default port is 161.
You can change those with the following configuration keys: