16
GrafanaCon LA Nikki Attea Software Engineer Sensu Inc. Sensu Check Output Metric Extraction with InfluxDB and Grafana

Metric Extraction with Sensu Check Output InfluxDB and Grafana · Time-series database InfluxDB Record Data visualization Grafana Visualize Monitoring event pipeline Sensu Collect

  • Upload
    others

  • View
    16

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Metric Extraction with Sensu Check Output InfluxDB and Grafana · Time-series database InfluxDB Record Data visualization Grafana Visualize Monitoring event pipeline Sensu Collect

GrafanaCon LA

Nikki AtteaSoftware EngineerSensu Inc.

Sensu Check Output Metric Extraction with InfluxDB and Grafana

Page 2: Metric Extraction with Sensu Check Output InfluxDB and Grafana · Time-series database InfluxDB Record Data visualization Grafana Visualize Monitoring event pipeline Sensu Collect

Shameless self-promo

Nikki AtteaSoftware Engineer at Sensu

thenikkiki thenikkiki github.com/nikkiki

Page 3: Metric Extraction with Sensu Check Output InfluxDB and Grafana · Time-series database InfluxDB Record Data visualization Grafana Visualize Monitoring event pipeline Sensu Collect

Time-series database

InfluxDBRecord

Data visualization

GrafanaVisualize

Monitoring event pipeline

SensuCollect

Collect, record, & visualize your metrics with open source tools

Your monitoring stack shouldn’t cost you stacks

Page 4: Metric Extraction with Sensu Check Output InfluxDB and Grafana · Time-series database InfluxDB Record Data visualization Grafana Visualize Monitoring event pipeline Sensu Collect

Sensu is a monitoring event pipeline.

Wat is Sensu?

Page 5: Metric Extraction with Sensu Check Output InfluxDB and Grafana · Time-series database InfluxDB Record Data visualization Grafana Visualize Monitoring event pipeline Sensu Collect

wat

Page 6: Metric Extraction with Sensu Check Output InfluxDB and Grafana · Time-series database InfluxDB Record Data visualization Grafana Visualize Monitoring event pipeline Sensu Collect

Why not both?

ApplicationPerformanceMonitoring

Metric Aggregation Service Checks

Network& Infrastructure

Monitoring

blog.sensu.io

Page 7: Metric Extraction with Sensu Check Output InfluxDB and Grafana · Time-series database InfluxDB Record Data visualization Grafana Visualize Monitoring event pipeline Sensu Collect

Why not both?

Page 8: Metric Extraction with Sensu Check Output InfluxDB and Grafana · Time-series database InfluxDB Record Data visualization Grafana Visualize Monitoring event pipeline Sensu Collect

kube-apiserver-node-01 cpu=16.4 1550625843

InfluxDBinfluxdb_line

Supported metric formats: output_metric_format

CPU ok - CPU = 16.4 | kube-apiserver-node-01.cpu=16.4

Nagiosnagios_perfdata

kube-apiserver-node-01.cpu 16.4 1550625843

Graphitegraphite_plaintext

kube-apiserver-node-01.cpu 1550625843 16.4

OpenTSDBopentsdb_line

docs.sensu.io

Page 9: Metric Extraction with Sensu Check Output InfluxDB and Grafana · Time-series database InfluxDB Record Data visualization Grafana Visualize Monitoring event pipeline Sensu Collect

---

type: CheckConfig

api_version: core/v2

metadata:

name: check-cpu-influxdb

namespace: default

spec:

command: check-cpu.sh

interval: 10

subscriptions:

- metrics

output_metric_format: influxdb_line

output_metric_handlers:

- influxdb

Sensu Check Configuration and Event Data

---

type: Event

api_version: core/v2

spec:

check:

metadata:

name: check-cpu-influxdb

output: kube-apiserver-node-01 cpu=16.4 1550625843

metrics:

handlers:

- influxdb

points:

- name: kube-apiserver-node-01.cpu

value: 16.4

timestamp: 1550625843

docs.sensu.io echo $(hostname) cpu=$(ps -A -o %cpu | awk '{s+=$1} END {print s}') $(date +%s)

check-cpu.sh

Page 10: Metric Extraction with Sensu Check Output InfluxDB and Grafana · Time-series database InfluxDB Record Data visualization Grafana Visualize Monitoring event pipeline Sensu Collect

Configuration isn’t magic.. Or is it?

Page 11: Metric Extraction with Sensu Check Output InfluxDB and Grafana · Time-series database InfluxDB Record Data visualization Grafana Visualize Monitoring event pipeline Sensu Collect

---

type: Handler

api_version: core/v2

metadata:

namespace: default

name: influxdb

spec:

type: pipe

command: sensu-influxdb-handler -d sensu

env_vars:

- INFLUXDB_ADDR=http://influxdb.default.local:8086

- INFLUXDB_USER=sensu

- INFLUXDB_PASS=password

filters:

- has_metrics

Insert time series-database here, seriously

github.com/sensu/sensu-influxdb-handler

---

type: Event

api_version: core/v2

spec:

check:

metadata:

name: check-cpu-influxdb

output: kube-apiserver-node-01 cpu=16.4 1550625843

metrics:

handlers:

- influxdb

points:

- name: kube-apiserver-node-01.cpu

value: 16.4

timestamp: 1550625843

Page 12: Metric Extraction with Sensu Check Output InfluxDB and Grafana · Time-series database InfluxDB Record Data visualization Grafana Visualize Monitoring event pipeline Sensu Collect

The Monitoring Event Pipeline

Page 13: Metric Extraction with Sensu Check Output InfluxDB and Grafana · Time-series database InfluxDB Record Data visualization Grafana Visualize Monitoring event pipeline Sensu Collect

Raise the roof, cause your monitoring is all under one roof

Page 14: Metric Extraction with Sensu Check Output InfluxDB and Grafana · Time-series database InfluxDB Record Data visualization Grafana Visualize Monitoring event pipeline Sensu Collect
Page 15: Metric Extraction with Sensu Check Output InfluxDB and Grafana · Time-series database InfluxDB Record Data visualization Grafana Visualize Monitoring event pipeline Sensu Collect

Enter Grafana!

Sensu Checks

Sensu StatsD Server

Page 16: Metric Extraction with Sensu Check Output InfluxDB and Grafana · Time-series database InfluxDB Record Data visualization Grafana Visualize Monitoring event pipeline Sensu Collect

● sensu.io● github.com/sensu/sensu-go● github.com/sensu/sensu-influxdb-handler● blog.sensu.io● docs.sensu.io● discourse.sensu.io

Come chat at the Sensu booth!

Resources