5 Commits

Author SHA1 Message Date
Kevin Carter
969a30c6c7
Add grafana
This change introduces grafana into the stack which gives us a great
way to visualize the data. The grafana role from cloudalchemy is being
used for the bulk of the deployment.

Because the grafana deployment playbook is now standalone the mentions
of grafana in the other ops directories have been removed.

Change-Id: I23e1c96cd1fda7ece9b86a69f9f0326913de714d
Signed-off-by: Kevin Carter <kevin.carter@rackspace.com>
2018-04-13 10:31:34 -05:00
Melvin Hillsman
9e706b13a3 Add prometheus_client as optional output
Currently the only outputs plugin used is influxdb. This adds
prometheus_client outputs plugin and its directives as options.
The telegraf.conf.j2 template has been updated to check for the
outputs_prometheus_client variable and two other related variables.
New variable names and default values are shown in vars.yml.

Change-Id: I8d9380a4cc2ea58b4ad98b9fc964d45ff82090ed
Signed-off-by: Melvin Hillsman <mrhillsman@gmail.com>
2017-06-12 11:24:20 -05:00
Nish Patwa
17450f35f3 Adding influx relay to make the existing monitoring stack highly available
Added Influxdb relay to make the existing monitoring stack highly
available. Relay replicates the data to multiple database instances.
Also added configutation in HAProxy that load balances the read queries
to influxdb instances and write queries to influxdb relays

        ┌─────────────────┐
        │writes & queries │
        └─────────────────┘
                 │
                 ▼
         ┌───────────────┐
         │               │
┌────────│ Load Balancer │─────────┐
│        │               │         │
│        └──────┬─┬──────┘         │
│               │ │                │
│               │ │                │
│        ┌──────┘ └────────┐       │
│        │ ┌─────────────┐ │       │┌──────┐
│        │ │/write or UDP│ │       ││/query│
│        ▼ └─────────────┘ ▼       │└──────┘
│  ┌──────────┐      ┌──────────┐  │
│  │ InfluxDB │      │ InfluxDB │  │
│  │ Relay    │      │ Relay    │  │
│  └──┬────┬──┘      └────┬──┬──┘  │
│     │    |              |  │     │
│     |  ┌─┼──────────────┘  |     │
│     │  │ └──────────────┐  │     │
│     ▼  ▼                ▼  ▼     │
│  ┌──────────┐      ┌──────────┐  │
│  │          │      │          │  │
└─▶│ InfluxDB │      │ InfluxDB │◀─┘
   │          │      │          │
   └──────────┘      └──────────┘

This patch is dependent on this patch:
https://review.openstack.org/#/c/392328/

Change-Id: I05bdaa0e2fb251b48df1d26d09ad63942872293a
2016-11-10 15:54:56 +00:00
Nish Patwa
c1f7a5b2fb Added playbook to deploy Kapacitor
Added a playbook to deploy an alerting tool, Kapacitor that can work
with influxdb. Updated readme to demonstrate how to deploy Kapacitor.

Kapacitor can be used to trigger alerts based on some uncertain
events. It subscribes to influxdb to collect data.

General Flow:
Telegraf -> InfluxDb -> Grafana
Telegraf -> InfluxDb -> Kapacitor

Change-Id: I5c400cf9efbda43bb5cb7a9bbd890435e74127f3
2016-09-20 22:03:56 +00:00
Kevin Carter
19255fd1a8
implement minimal metric collection
This change implements metric collection system using influxdata
(influxdb and telegraf) with visulization using grafana. No
Dashboard automation is provided at this time however a template
dashboard can be used by importing the JSON files from the
dashboards directory.

Change-Id: I5445b01170054393a31afc2a20ffb3ea4eda1209
Signed-off-by: Kevin Carter <kevin.carter@rackspace.com>
2016-09-09 13:08:38 -05:00