All Projects β†’ stephenyeargin β†’ Hubot Grafana

stephenyeargin / Hubot Grafana

Licence: mit
πŸ“ˆπŸ€– Query Grafana dashboards

Programming Languages

coffeescript
4710 projects

Projects that are alternatives of or similar to Hubot Grafana

Grafterm
Metrics dashboards on terminal (a grafana inspired terminal version)
Stars: ✭ 613 (+334.75%)
Mutual labels:  grafana, graphs
Druid Exporter
A Golang based exporter captures druid API related metrics and receives druid-emitting HTTP JSON data.
Stars: ✭ 54 (-61.7%)
Mutual labels:  hacktoberfest, grafana
Aws Sdk Js V3
Modularized AWS SDK for JavaScript.
Stars: ✭ 737 (+422.7%)
Mutual labels:  s3, hacktoberfest
Stonks
Stonks is a terminal based stock visualizer and tracker that displays realtime stocks in graph format in a terminal. See how fast your stonks will crash.
Stars: ✭ 405 (+187.23%)
Mutual labels:  hacktoberfest, graphs
Slo Generator
Easy setup a service level objective using prometheus
Stars: ✭ 91 (-35.46%)
Mutual labels:  hacktoberfest, grafana
Cortx
CORTX Community Object Storage is 100% open source object storage uniquely optimized for mass capacity storage devices.
Stars: ✭ 426 (+202.13%)
Mutual labels:  s3, hacktoberfest
Promcord
πŸ“Š Analyze your entire discord guild in grafana using prometheus. Message, User, Game and Voice statistics...
Stars: ✭ 39 (-72.34%)
Mutual labels:  hacktoberfest, grafana
Minefana
Bungee/Spigot plugin to send stats to a InfluxDB to be displayed by a Grafana instance.
Stars: ✭ 23 (-83.69%)
Mutual labels:  graphs, grafana
Dataengineeringproject
Example end to end data engineering project.
Stars: ✭ 82 (-41.84%)
Mutual labels:  s3, hacktoberfest
Grafana
Development repository for the grafana cookbook
Stars: ✭ 69 (-51.06%)
Mutual labels:  hacktoberfest, grafana
S3cmd
Official s3cmd repo -- Command line tool for managing Amazon S3 and CloudFront services
Stars: ✭ 3,767 (+2571.63%)
Mutual labels:  s3, hacktoberfest
Competitive Programming
Hello Programmers πŸ’» , A one-stop Destination✏️✏️ for all your Competitive Programming Resources.πŸ“—πŸ“• Refer CONTRIBUTING.md for contributions
Stars: ✭ 113 (-19.86%)
Mutual labels:  hacktoberfest, graphs
Devops Guide
DevOps Guide - Development to Production all configurations with basic notes to debug efficiently.
Stars: ✭ 4,119 (+2821.28%)
Mutual labels:  hacktoberfest, grafana
Cluster Monitoring
Cluster monitoring stack for clusters based on Prometheus Operator
Stars: ✭ 453 (+221.28%)
Mutual labels:  hacktoberfest, grafana
Grabana
User-friendly Go library for building Grafana dashboards
Stars: ✭ 313 (+121.99%)
Mutual labels:  hacktoberfest, grafana
Aws Toolkit Vscode
AWS Toolkit for Visual Studio Code, an extension for working with AWS services including AWS Lambda.
Stars: ✭ 823 (+483.69%)
Mutual labels:  s3, hacktoberfest
Slurp
Evaluate the security of S3 buckets
Stars: ✭ 183 (+29.79%)
Mutual labels:  s3, hacktoberfest
Drone Cache
A Drone plugin for caching current workspace files between builds to reduce your build times
Stars: ✭ 194 (+37.59%)
Mutual labels:  s3, hacktoberfest
Thanos
Highly available Prometheus setup with long term storage capabilities. A CNCF Incubating project.
Stars: ✭ 9,820 (+6864.54%)
Mutual labels:  s3, hacktoberfest
Grafana
The open and composable observability and data visualization platform. Visualize metrics, logs, and traces from multiple sources like Prometheus, Loki, Elasticsearch, InfluxDB, Postgres and many more.
Stars: ✭ 45,930 (+32474.47%)
Mutual labels:  hacktoberfest, grafana

Grafana for Hubot

npm version Build Status

Screenshot

Use Hubot to query Grafana dashboards. Inspired by the work of hubot-graphite and hubot-graphme. Check out the HOWTO to get started with the bot.

Note: This package requires Grafana 2.0.2 or higher.

Installation

In the Hubot project repo, run:

npm install hubot-grafana --save

Then add hubot-grafana to your external-scripts.json:

[
  "hubot-grafana"
]

Configuration Variables

General Settings

Configuration Variable Required Description
HUBOT_GRAFANA_HOST Yes^ Host for your Grafana 2.x install, e.g. http://play.grafana.org
HUBOT_GRAFANA_API_KEY Yes^^ Grafana API key (This can be "Viewer" role.)
HUBOT_GRAFANA_PER_ROOM No Allow per room Grafana Host & API key configuration
HUBOT_GRAFANA_QUERY_TIME_RANGE No Default time range for queries (defaults to 6h)
HUBOT_GRAFANA_DEFAULT_WIDTH No Default width for rendered images (defaults to 1000)
HUBOT_GRAFANA_DEFAULT_HEIGHT No Default height for rendered images (defaults to 500)
HUBOT_GRAFANA_DEFAULT_TIME_ZONE No Default time zone for rendered images (defaults to "")
HUBOT_GRAFANA_ORG_ID No Default organization id, need for image rendering in new versions of grafana (defaults to "")
HUBOT_GRAFANA_API_ENDPOINT No Default rendering api endpoint, need for image rendering in new versions of grafana (defaults to "dashboard-solo")
HUBOT_GRAFANA_USE_UID No Allow use of dashboard uid instead of db, need for image rendering in new versions of grafana (defaults to "")

^ Not required when HUBOT_GRAFANA_PER_ROOM is set to 1.

^^ Not required for auth.anonymous Grafana configurations. All other authentication models will require a user-specific API key.

Image Hosting Configuration

By default, hubot-grafana will assume you intend to render the image, unauthenticated, directly from your Grafana instance. The limitation is that you will only receive a link to those images, but they won't appear as images in most circumstances in your chat client.

You can use one of the following strategies to host the generated images from Grafana.

Example Configuration

export HUBOT_GRAFANA_HOST=http://play.grafana.org
export HUBOT_GRAFANA_API_KEY=abcd01234deadbeef01234
export HUBOT_GRAFANA_QUERY_TIME_RANGE=1h
export HUBOT_GRAFANA_S3_BUCKET=mybucket
export HUBOT_GRAFANA_S3_ACCESS_KEY_ID=ABCDEF123456XYZ
export HUBOT_GRAFANA_S3_SECRET_ACCESS_KEY=aBcD01234dEaDbEef01234
export HUBOT_GRAFANA_S3_PREFIX=graphs

Sample Interaction

user1>> hubot graf db graphite-carbon-metrics
hubot>> Graphite Carbon Metrics: http://play.grafana.org/render/dashboard/solo/graphite-carbon-metrics/?panelId=1&width=1000&height=500&from=now-6h - http://play.grafana.org/dashboard/db/graphite-carbon-metrics/?panelId=1&fullscreen&from=now-6h

Grafana Commands

Retrieve a Dashboard

Get all panels in a dashboard. In this example, graphite-carbon-metrics is the slug for the given dashboard.

hubot graf db graphite-carbon-metrics

Retrieve Specific Panels

Get a single panel of a dashboard. In this example, only the third panel would be returned. Note that this is the visual panel ID, counted from top to bottom, left to right, rather than the unique identifier stored with the panel itself.

hubot graf db graphite-carbon-metrics:3

If you want to refer to the API Panel ID, use the :panel-<identifier> format to retrieve it. These will not change when the dashboard is re-arranged.

hubot graf db graphite-carbon-metrics:panel-8

Get all panels matching a particular title (case insensitive) in a dashboard. In this case, only panels containing cpu would be returned.

hubot graf db graphite-carbon-metrics:cpu

Retrieve Dashboards in a Time Window

Specify a time range for the dashboard. In this example, the dashboard would be set to display data from 12 hours ago to now.

hubot graf db graphite-carbon-metrics now-12hr

If you don't want to show the dashboard uptil now, you can add an extra time specification, which will be the to time slot. In this example, the dashboard would be set to display data from 24 hours ago to 12 hours ago.

hubot graf db graphite-carbon-metrics now-24hr now-12hr

You can combine multiple commands in this format as well. In this example, retrieve only the third panel of the graphite-carbon-metrics dashboard with a window of eight days ago to yesterday.

hubot graf db graphite-carbon-metrics:3 now-8d now-1d

Templated Dashboards

Grafana allows dashboards to be set up as templates and accept arguments to generate them through the API. In this example, we get a templated dashboard with the $host parameter set to carbon-a

hubot graf db graphite-carbon-metrics host=carbon-a

Utility Commands

This command retrieves all dashboards and their slugs so they can be used in other commands.

hubot graf list

Dashboards can be tagged for easier reference. In this example, return all dashboards tagged with production.

hubot graf list production

Similarly, you can search the list of dashboards. In this example, return all dashboards that contain the word elb.

hubot graf search elb

Per room configuration

When HUBOT_GRAFANA_PER_ROOM is set to '1' the following commands configure the Grafana Host and API key for the room in which the commands are issued.

hubot graf set host http://play.grafana.org
hubot graf set api_key abcd01234deadbeef01234
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].