Skip to content

Created MIB-generation monitoring page #2033

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 3 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ SNMP support is available for [Enterprise](../../../start/licensing/licensing-ov

{PANEL: Enabling SNMP in RavenDB}

* To monitor RavenDB using SNMP you __must__ first set the [Monitoring.Snmp.Enabled](../../../server/configuration/monitoring-configuration#monitoring.snmp.enabled) configuration key to _true_.
* To monitor RavenDB using SNMP you **must** first set the [Monitoring.Snmp.Enabled](../../../server/configuration/monitoring-configuration#monitoring.snmp.enabled) configuration key to _true_.

* To learn how to modify a configuration key, refer to the [Configuration Overview](../../../server/configuration/configuration-options) article,
which outlines all available options.
Expand Down Expand Up @@ -111,7 +111,7 @@ There are several configurable SNMP properties in RavenDB:

{INFO: }

* See article [Monitoring Options](../../../server/configuration/monitoring-configuration) for the full list of __SNMP configuration keys__.
* See article [Monitoring Options](../../../server/configuration/monitoring-configuration) for the full list of **SNMP configuration keys**.

* To learn how to modify a configuration key, refer to the [Configuration Overview](../../../server/configuration/configuration-options) article,
which outlines all available options.
Expand Down Expand Up @@ -176,7 +176,7 @@ snmpget -v 3 -l authNoPriv -u ravendb -a SHA \

---

__Access single OID value__:
**Access single OID value**:

* An individual OID value can be retrieved via HTTP `GET` endpoint:
`<serverUrl>/monitoring/snmp?oid=<oid>`
Expand All @@ -194,7 +194,7 @@ curl -X GET http://live-test.ravendb.net/monitoring/snmp?oid=1.3.6.1.4.1.45751.1

---

__Access multiple OID values__:
**Access multiple OID values**:

* Multiple OID values can be retrieved by making either a `GET` or a `POST` request to the following HTTP endpoint:
`<serverUrl>/monitoring/snmp/bulk`
Expand Down Expand Up @@ -224,7 +224,7 @@ curl -X POST \

---

<a id="getAllOids" /> __Get all OIDs:__
<a id="getAllOids" /> **Get all OIDs:**

* You can get a list of all OIDs along with their description via this HTTP `GET` endpoint:
`<serverUrl>/monitoring/snmp/oids`
Expand All @@ -239,7 +239,7 @@ curl -X POST \

{NOTE: }

* RavenDB's **root OID** is: __1.3.6.1.4.1.45751.1.1.__
* RavenDB's **root OID** is: **1.3.6.1.4.1.45751.1.1.**

* Values represented by `X`, `D`, or `I` in the OIDs list below will be:
* `X`:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ SNMP support is available for [Enterprise](../../../start/licensing/licensing-ov

{PANEL: Enabling SNMP in RavenDB}

* To monitor RavenDB using SNMP you __must__ first set the [Monitoring.Snmp.Enabled](../../../server/configuration/monitoring-configuration#monitoring.snmp.enabled) configuration key to _true_.
* To monitor RavenDB using SNMP you **must** first set the [Monitoring.Snmp.Enabled](../../../server/configuration/monitoring-configuration#monitoring.snmp.enabled) configuration key to _true_.

* To learn how to modify a configuration key, refer to the [Configuration Overview](../../../server/configuration/configuration-options) article,
which outlines all available options.
Expand Down Expand Up @@ -111,7 +111,7 @@ There are several configurable SNMP properties in RavenDB:

{INFO: }

* See article [Monitoring Options](../../../server/configuration/monitoring-configuration) for the full list of __SNMP configuration keys__.
* See article [Monitoring Options](../../../server/configuration/monitoring-configuration) for the full list of **SNMP configuration keys**.

* To learn how to modify a configuration key, refer to the [Configuration Overview](../../../server/configuration/configuration-options) article,
which outlines all available options.
Expand Down Expand Up @@ -176,7 +176,7 @@ snmpget -v 3 -l authNoPriv -u ravendb -a SHA \

---

__Access single OID value__:
**Access single OID value**:

* An individual OID value can be retrieved via HTTP `GET` endpoint:
`<serverUrl>/monitoring/snmp?oid=<oid>`
Expand All @@ -194,7 +194,7 @@ curl -X GET http://live-test.ravendb.net/monitoring/snmp?oid=1.3.6.1.4.1.45751.1

---

__Access multiple OID values__:
**Access multiple OID values**:

* Multiple OID values can be retrieved by making either a `GET` or a `POST` request to the following HTTP endpoint:
`<serverUrl>/monitoring/snmp/bulk`
Expand Down Expand Up @@ -224,7 +224,7 @@ curl -X POST \

---

<a id="getAllOids" /> __Get all OIDs:__
<a id="getAllOids" /> **Get all OIDs:**

* You can get a list of all OIDs along with their description via this HTTP `GET` endpoint:
`<serverUrl>/monitoring/snmp/oids`
Expand All @@ -239,7 +239,7 @@ curl -X POST \

{NOTE: }

* RavenDB's **root OID** is: __1.3.6.1.4.1.45751.1.1.__
* RavenDB's **root OID** is: **1.3.6.1.4.1.45751.1.1.**

* Values represented by `X`, `D`, or `I` in the OIDs list below will be:
* `X`:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,20 @@
[
{
"Path": "telegraf.markdown",
"Name": "Telegraf Plugin",
"DiscussionId": "625d14af-842b-454e-967d-846214f43357",
"Mappings": []
},
{
"Path": "prometheus.markdown",
"Name": "Prometheus",
"DiscussionId": "01febf2d-8e60-4238-a227-cc706d036b14",
"Mappings": []
}
]
{
"Path": "telegraf.markdown",
"Name": "Telegraf Plugin",
"DiscussionId": "625d14af-842b-454e-967d-846214f43357",
"Mappings": []
},
{
"Path": "prometheus.markdown",
"Name": "Prometheus",
"DiscussionId": "01febf2d-8e60-4238-a227-cc706d036b14",
"Mappings": []
},
{
"Path": "mib-generation.markdown",
"Name": "MIB generation",
"DiscussionId": "01febf2d-8e60-4238-a227-cc706d036b14",
"Mappings": []
}
]
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
# Monitoring: MIB generation and usage

---

{NOTE: }

* RavenDB allows you to generate a MIB (Management Information Base) file that contains
a structured collection of SNMP OIDs.

* The MIB can be generated through RavenDB's `/monitoring/snmp/mib` endpoint,
and fine-tuned using flags.

* The created MIB can be used by monitoring tools to extract RavenDB metrics via SNMP.

* In this page:
* [Generating a MIB](../../../server/administration/monitoring/mib-generation#generating-a-mib)
* [MIB generation endpoint](../../../server/administration/monitoring/mib-generation#mib-generation-endpoint)
* [Fine-tune the OIDs list](../../../server/administration/monitoring/mib-generation#fine-tune-the-oids-list)

{NOTE/}

---

{PANEL: Generating a MIB}

### MIB generation endpoint

To generate a MIB, use RavenDB's HTTP `/monitoring/snmp/mib` GET endpoint.
You can inspect this endpoint using your browser to download a text file with
RavenDB's OIDs, or connect it with a monitoring tool to utilize these OIDs.

To use the endpoint, add its path to RavenDB's address (including RavenDB's port number).

- To generate a MIB for RavenDB's live test server, for example. use:
[http://live-test.ravendb.net/monitoring/snmp/mib](http://live-test.ravendb.net/monitoring/snmp/mib)

---

### Fine-tune the OIDs list

By default, the generated MIB includes **server** metrics OIDs. You can fine-tune
it to include the OIDs range your are interested in. Available options are:

* `includeServer` - Include or exclude OIDs with **server** metrics.
* `includeCluster` - Include or exclude OIDs with **cluster** metrics.
* `includeDatabases` - Include or exclude OIDs with **databases** metrics.

#### Examples:
To include **databases** metrics OIDs, for example, you can use the `includeDatabases` flag this way:
[http://live-test.ravendb.net/monitoring/snmp/mib?includeDatabases=true](http://live-test.ravendb.net/monitoring/snmp/mib?includeDatabases=true)
Or to exclude **server** metrics OIDs use the **includeServer** flag like so:
[http://live-test.ravendb.net/monitoring/snmp/mib?includeServer=false](http://live-test.ravendb.net/monitoring/snmp/mib?includeServer=false)

{PANEL/}

## Related Articles

### Monitoring
- [Prometheus](../../../server/administration/monitoring/prometheus)
- [Telegraf Plugin](../../../server/administration/monitoring/telegraf)

### Administration
- [SNMP Administration](../../../server/administration/SNMP/snmp)
- [Zabbix](../../../server/administration/SNMP/setup-zabbix)

### Integrations
- [PostgreSQL Overview](../../../integrations/postgresql-protocol/overview)
- [Power BI](../../../integrations/postgresql-protocol/power-bi)
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@
<ItemGroup>
<PackageReference Include="AWSXRayRecorder.Handlers.System.Net" Version="2.11.0" />
<PackageReference Include="NodaTime" Version="3.1.10" />
<PackageReference Include="RavenDB.Client" Version="6.0.105" />
<PackageReference Include="RavenDB.Embedded" Version="6.0.105" />
<PackageReference Include="RavenDB.TestDriver" Version="6.0.105" />
<PackageReference Include="RavenDB.Client" Version="6.0.110" />
<PackageReference Include="RavenDB.Embedded" Version="6.0.110" />
<PackageReference Include="RavenDB.TestDriver" Version="6.0.110" />
<PackageReference Include="System.Net.Http" Version="4.3.4" />
<PackageReference Include="System.Reactive.Core" Version="6.0.0" />
<PackageReference Include="System.Text.Encodings.Web" Version="8.0.0" />
Expand Down
Original file line number Diff line number Diff line change
@@ -1,20 +1,26 @@
[
{
"Path": "telegraf.markdown",
"Name": "Telegraf Plugin",
"DiscussionId": "625d14af-842b-454e-967d-846214f43357",
"Mappings": []
},
{
"Path": "prometheus.markdown",
"Name": "Prometheus",
"DiscussionId": "01febf2d-8e60-4238-a227-cc706d036b14",
"Mappings": []
},
{
"Path": "open-telemetry.markdown",
"Name": "OpenTelemetry",
"DiscussionId": "a38d5253-cb11-4e46-8942-8c694c23ffd4",
"Mappings": []
}
]
{
"Path": "telegraf.markdown",
"Name": "Telegraf Plugin",
"DiscussionId": "625d14af-842b-454e-967d-846214f43357",
"Mappings": []
},
{
"Path": "prometheus.markdown",
"Name": "Prometheus",
"DiscussionId": "01febf2d-8e60-4238-a227-cc706d036b14",
"Mappings": []
},
{
"Path": "open-telemetry.markdown",
"Name": "OpenTelemetry",
"DiscussionId": "a38d5253-cb11-4e46-8942-8c694c23ffd4",
"Mappings": []
},
{
"Path": "mib-generation.markdown",
"Name": "MIB generation",
"DiscussionId": "01febf2d-8e60-4238-a227-cc706d036b14",
"Mappings": []
}
]
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ SNMP support is available for [Enterprise](../../../start/licensing/licensing-ov

{PANEL: Enabling SNMP in RavenDB}

* To monitor RavenDB using SNMP you __must__ first set the [Monitoring.Snmp.Enabled](../../../server/configuration/monitoring-configuration#monitoring.snmp.enabled) configuration key to _true_.
* To monitor RavenDB using SNMP you **must** first set the [Monitoring.Snmp.Enabled](../../../server/configuration/monitoring-configuration#monitoring.snmp.enabled) configuration key to _true_.

* To learn how to modify a configuration key, refer to the [Configuration Overview](../../../server/configuration/configuration-options) article,
which outlines all available options.
Expand Down Expand Up @@ -117,7 +117,7 @@ There are several configurable SNMP properties in RavenDB:

{INFO: }

* See article [Monitoring Options](../../../server/configuration/monitoring-configuration) for the full list of __SNMP configuration keys__.
* See article [Monitoring Options](../../../server/configuration/monitoring-configuration) for the full list of **SNMP configuration keys**.

* To learn how to modify a configuration key, refer to the [Configuration Overview](../../../server/configuration/configuration-options) article,
which outlines all available options.
Expand Down Expand Up @@ -182,7 +182,7 @@ snmpget -v 3 -l authNoPriv -u ravendb -a SHA \

---

__Access single OID value__:
**Access single OID value**:

* An individual OID value can be retrieved via HTTP `GET` endpoint:
`<serverUrl>/monitoring/snmp?oid=<oid>`
Expand All @@ -200,7 +200,7 @@ curl -X GET http://live-test.ravendb.net/monitoring/snmp?oid=1.3.6.1.4.1.45751.1

---

__Access multiple OID values__:
**Access multiple OID values**:

* Multiple OID values can be retrieved by making either a `GET` or a `POST` request to the following HTTP endpoint:
`<serverUrl>/monitoring/snmp/bulk`
Expand Down Expand Up @@ -230,7 +230,7 @@ curl -X POST \

---

<a id="getAllOids" /> __Get all OIDs:__
<a id="getAllOids" /> **Get all OIDs:**

* You can get a list of all OIDs along with their description via this HTTP `GET` endpoint:
`<serverUrl>/monitoring/snmp/oids`
Expand All @@ -245,7 +245,7 @@ curl -X POST \

{NOTE: }

* RavenDB's **root OID** is: __1.3.6.1.4.1.45751.1.1.__
* RavenDB's **root OID** is: **1.3.6.1.4.1.45751.1.1.**

* Values represented by `X`, `D`, or `I` in the OIDs list below will be:
* `X`:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,20 +1,26 @@
[
{
"Path": "telegraf.markdown",
"Name": "Telegraf Plugin",
"DiscussionId": "625d14af-842b-454e-967d-846214f43357",
"Mappings": []
},
{
"Path": "prometheus.markdown",
"Name": "Prometheus",
"DiscussionId": "01febf2d-8e60-4238-a227-cc706d036b14",
"Mappings": []
},
{
"Path": "open-telemetry.markdown",
"Name": "OpenTelemetry",
"DiscussionId": "a38d5253-cb11-4e46-8942-8c694c23ffd4",
"Mappings": []
}
]
{
"Path": "telegraf.markdown",
"Name": "Telegraf Plugin",
"DiscussionId": "625d14af-842b-454e-967d-846214f43357",
"Mappings": []
},
{
"Path": "prometheus.markdown",
"Name": "Prometheus",
"DiscussionId": "01febf2d-8e60-4238-a227-cc706d036b14",
"Mappings": []
},
{
"Path": "open-telemetry.markdown",
"Name": "OpenTelemetry",
"DiscussionId": "a38d5253-cb11-4e46-8942-8c694c23ffd4",
"Mappings": []
},
{
"Path": "mib-generation.markdown",
"Name": "MIB generation",
"DiscussionId": "01febf2d-8e60-4238-a227-cc706d036b14",
"Mappings": []
}
]
Loading