Skip to main content

RavenDB

RavenDB is an open source document-oriented NoSQL designed especially for the .NET/Windows platform. Telegraf is a plug-in driven server agent for collecting and sending metrics and events from databases, systems and IoT sensors.

To send your Prometheus-format RavenDB metrics to Logz.io, you need to add the inputs.ravendb and outputs.http plug-ins to your Telegraf configuration file.

Configure Telegraf to send your metrics data to Logz.io​

Set up Telegraf v1.17 or higher on the Ravendb server​

For Windows

wget https://dl.influxdata.com/telegraf/releases/telegraf-1.27.3_windows_amd64.zip

After downloading the archive, extract its content into C:\Program Files\Logzio\telegraf\.

The configuration file is located at C:\Program Files\Logzio\telegraf\.

For MacOS

brew install telegraf

The configuration file is located at /usr/local/etc/telegraf.conf.

For Linux

Ubuntu & Debian

sudo apt-get update && sudo apt-get install telegraf

The configuration file is located at /etc/telegraf/telegraf.conf.

RedHat and CentOS

sudo yum install telegraf

The configuration file is located at /etc/telegraf/telegraf.conf.

SLES & openSUSE

# add go repository
zypper ar -f obs://devel:languages:go/ go
# install latest telegraf
zypper in telegraf

The configuration file is located at /etc/telegraf/telegraf.conf.

FreeBSD/PC-BSD

sudo pkg install telegraf

The configuration file is located at /etc/telegraf/telegraf.conf.

Add the inputs.Ravendb plug-in​

First you need to configure the input plug-in to enable Telegraf to scrape the RavenDB data from your hosts. To do this, add the following code to the configuration file:

[[inputs.ravendb]]
## Node URL and port that RavenDB is listening on
url = "https://localhost:8080"

## RavenDB X509 client certificate setup
tls_cert = "/etc/telegraf/raven.crt"
tls_key = "/etc/telegraf/raven.key"

## Optional request timeout
##
## Timeout, specifies the amount of time to wait
## for a server's response headers after fully writing the request and
## time limit for requests made by this client
# timeout = "5s"

## List of statistics which are collected
# At least one is required
# Allowed values: server, databases, indexes, collections
#
# stats_include = ["server", "databases", "indexes", "collections"]

## List of db where database stats are collected
## If empty, all db are concerned
# db_stats_dbs = []

## List of db where index status are collected
## If empty, all indexes from all db are concerned
# index_stats_dbs = []

## List of db where collection status are collected
## If empty, all collections from all db are concerned
# collection_stats_dbs = []
note

The full list of data scraping and configuring options can be found here

Add the outputs.http plug-in​

After you create the configuration file, configure the output plug-in to enable Telegraf to send your data to Logz.io in Prometheus-format. To do this, add the following code to the configuration file:

[[outputs.http]]
url = "https://<<LISTENER-HOST>>:8053"
data_format = "prometheusremotewrite"
[outputs.http.headers]
Content-Type = "application/x-protobuf"
Content-Encoding = "snappy"
X-Prometheus-Remote-Write-Version = "0.1.0"
Authorization = "Bearer <<PROMETHEUS-METRICS-SHIPPING-TOKEN>>"

Replace the placeholders to match your specifics. (They are indicated by the double angle brackets << >>):

  • Replace <<LISTENER-HOST>> with the Logz.io Listener URL for your region, configured to use port 8052 for http traffic, or port 8053 for https traffic.
  • Replace <<PROMETHEUS-METRICS-SHIPPING-TOKEN>> with a token for the Metrics account you want to ship to. Look up your Metrics token.

Start Telegraf​

On Windows:​
telegraf.exe --service start
On MacOS:​
telegraf --config telegraf.conf
On Linux:​

Linux (sysvinit and upstart installations)

sudo service telegraf start

Linux (systemd installations)

systemctl start telegraf

Check Logz.io for your metrics​

Give your data some time to get from your system to ours, then log in to your Logz.io Metrics account, and open the Logz.io Metrics tab.