---
title: Sortdb
description: Datadog support for sortdb monitoring
breadcrumbs: Docs > Integrations > Sortdb
---

# Sortdb
Supported OS Integration version1.0.0
## Overview{% #overview %}

Get metrics from [Sortdb](https://github.com/jehiah/sortdb) service in real time to:

- Visualize and monitor Sortdb stats.
- Be notified about Sortdb failovers.
- Check health of and get stats from multiple instances

## Setup{% #setup %}

The Sortdb check is not included in the [Datadog Agent](https://app.datadoghq.com/account/settings/agent/latest) package, so you need to install it.

### Installation{% #installation %}

For Agent v7.21+ / v6.21+, follow the instructions below to install the Sortdb check on your host. See [Use Community Integrations](https://docs.datadoghq.com/agent/guide/use-community-integrations.md) to install with the Docker Agent or earlier versions of the Agent.

1. Run the following command to install the Agent integration:

   ```shell
   datadog-agent integration install -t datadog-sortdb==<INTEGRATION_VERSION>
   ```

1. Configure your integration similar to core [integrations](https://docs.datadoghq.com/getting_started/integrations.md).

### Configuration{% #configuration %}

1. Edit the `sortdb.d/conf.yaml` file in the `conf.d/` folder at the root of your [Agent's configuration directory](https://docs.datadoghq.com/agent/faq/agent-configuration-files.md#agent-configuration-directory) to start collecting your Sortdb metrics. See the [sample sortdb.d/conf.yaml](https://github.com/DataDog/integrations-extras/blob/master/sortdb/datadog_checks/sortdb/data/conf.yaml.example) for all available configuration options.

1. [Restart the Agent](https://docs.datadoghq.com/agent/faq/agent-commands.md#start-stop-restart-the-agent).

### Validation{% #validation %}

[Run the Agent's status subcommand](https://docs.datadoghq.com/agent/guide/agent-commands.md#service-status) and look for `sortdb` under the Checks section.

## Compatibility{% #compatibility %}

The SortDB check is compatible with all major platforms.

## Data Collected{% #data-collected %}

### Metrics{% #metrics %}

|  |
|  |
| **sortdb.stats.total\_requests**(gauge)                | Total number of requests*Shown as task*                        |
| **sortdb.stats.total\_seeks**(gauge)                   | Total number of seeks*Shown as task*                           |
| **sortdb.stats.get\_requests**(gauge)                  | Total number of get requests*Shown as task*                    |
| **sortdb.stats.get\_hits**(gauge)                      | Total number of get hits*Shown as task*                        |
| **sortdb.stats.get\_misses**(gauge)                    | Total number of get misses*Shown as task*                      |
| **sortdb.stats.get\_requests.avg**(gauge)              | Average get requests received*Shown as microsecond*            |
| **sortdb.stats.get\_requests.95percentile**(gauge)     | 95th percentile of get requests received*Shown as microsecond* |
| **sortdb.stats.get\_requests.99percentile**(gauge)     | 99th percentile of get requests*Shown as microsecond*          |
| **sortdb.stats.mget\_requests**(gauge)                 | Total number of mget requests*Shown as task*                   |
| **sortdb.stats.mget\_hits**(gauge)                     | Total number of mget hits*Shown as task*                       |
| **sortdb.stats.mget\_misses**(gauge)                   | Total number of mget misses*Shown as task*                     |
| **sortdb.stats.mget\_requests.avg**(gauge)             | Average mget requests*Shown as microsecond*                    |
| **sortdb.stats.mget\_requests.95percentile**(gauge)    | 95th percentile of mget requests*Shown as microsecond*         |
| **sortdb.stats.mget\_requests.99percentile**(gauge)    | 99th percentile of mget requests*Shown as microsecond*         |
| **sortdb.stats.fwmatch\_requests**(gauge)              | Total number of fwmatch requests*Shown as task*                |
| **sortdb.stats.fwmatch\_hits**(gauge)                  | Total number of fwmatch hits*Shown as task*                    |
| **sortdb.stats.fwmatch\_misses**(gauge)                | Total number of fwmatch misses*Shown as task*                  |
| **sortdb.stats.fwmatch\_requests.avg**(gauge)          | Average fwmatch requests*Shown as task*                        |
| **sortdb.stats.fwmatch\_requests.95percentile**(gauge) | 95th percentile of fwmatch requests*Shown as task*             |
| **sortdb.stats.fwmatch\_requests.99percentile**(gauge) | 99th percentile of fwmatch requests*Shown as task*             |
| **sortdb.stats.range\_requests**(gauge)                | Total number of range requests*Shown as task*                  |
| **sortdb.stats.range\_hits**(gauge)                    | Total number of range hits*Shown as task*                      |
| **sortdb.stats.range\_misses**(gauge)                  | Total number of range misses*Shown as task*                    |
| **sortdb.stats.range\_requests.avg**(gauge)            | Average range requests*Shown as microsecond*                   |
| **sortdb.stats.range\_requests.95percentile**(gauge)   | 95th percentile of range requests*Shown as microsecond*        |
| **sortdb.stats.range\_requests.99percentile**(gauge)   | 99th percentile of range requests*Shown as microsecond*        |
| **sortdb.stats.db\_size.bytes**(gauge)                 | db size in bytes*Shown as byte*                                |
| **sortdb.stats.db\_mtime**(gauge)                      | db up time in ms*Shown as time*                                |

### Service Checks{% #service-checks %}

**sortdb.http.can\_connect**

Returns `CRITICAL` if the check cannot connect to Sortdb, returns `OK` otherwise.

*Statuses: ok, critical*

## Troubleshooting{% #troubleshooting %}

The SortDB check does not include any events.
