WHERE DO I START?
You are here:Integrations > Riemann

Riemann

Summary

Riemann is a powerful network monitoring tool that aggregates events from your servers and applications using streams to process them in a format that makes them easy to manipulate or summarize. You can forward your events collected by Riemann streams to Netuitive. The Riemann integration is very different from most of the other integrations: the integration is configured in Riemann to send data to Netuitive using our API.

Configuration

Collector Configuration

  1. Download the Netuitive Riemann library.
  2. At the top of your riemann.config file (typically found at /etc/riemann/riemann.config), add:
    (include "/root/netuitive.clj")
  3. At the bottom of the riemann.config file, add the following:
    (def netuitive-forwarder
      (batch 100 1/10
        (async-queue!
          :netuitive-forwarder  ; A name for the forwarder
            {:queue-size     1e4  ; 10,000 events max
            :core-pool-size 5    ; Minimum 5 threads
            :max-pools-size 100} ; Maximum 100 threads
            (riemann.netuitive/netuitive {:api-key "netuitive-api-key" :type "Riemann"}))))
  4. Update the :type setting as necessary. This setting controls the element display name in Netuitive.
    Tip   The :type setting will help provide a useful descriptor to your metrics. For example, if you're using Riemann to pull in a group of metrics from your Elasticsearch instance, you could set the :type to "myElasticsearchInstance".
  5. Replace the sample API key ( "netuitive-api-key" ) with the API key from the Custom integration in your Netuitive account. To find this API key, point to the user account menu in the top right-hand corner of Netuitive and select Integrations. Your Custom integration API key is found next to the integration listed as CUSTOM.
  6. Below the new netuitive-forwarder code, add:
    (streams
      netuitive-forwarder
    
    )

    This will start pushing events using the netuitive-forwarder definition.

Additional Configuration Options

Printing Events and Sending to the Log file

In a new or existing stream, add the following to print all events to STDOUT and send events to the log.

(streams
  prn
  #(info %)
)

Filtering Events

You can add additional qualifiers to the beginning of a stream to filter the events that are getting sent to Netuitive.

Below is an example of filtering events that contain any of the listed tags for the service "web server":

(streams
  (where (and (service "web server")
  (state "exception"))
    (tagged "controller"
      (email "5551234567@txt.att.net"))

    (tagged "view"
      (email "delacroix@trioptimum.com" "bronson@trioptimum.com"))

    (tagged "model"
      (email "staff@vonbraun.mil"))))

Below is an example of usgin a regex to find all metrics that start with "riemann server" and forwards only the matching metrics.

(streams
  (where (service #"riemann\sserver.*")
    netuitive-forwarder
))

Dependencies

None.