Slack Grafana Image Renderer Picker
Pick graph with Slack Slash Command from Grafana Image Renderer and post graph image to Slack.
Dependencies
Deployment
Please read docker-compose.yml
Configuration
Basic
You need register an Slack Application for Slash Command and files:write permission token.
Slash command can be configured as follows:
Command: /graph
Request URL: https://your_server_host/slash
Short Description: Get Grafana Panel by alias
Usage Hint: [cpu|memory|disk] \d+[m|h|d|M]
Configuration file be specified as follows:
slack:
token: xoxb-test
secret: 6e50
addr: ":8080"
grafana:
endpoint: "http://localhost:3000/"
use_client_auth: true
client_auth_p12: "/ssl/key.p12"
dashboards:
- name: disk
dashboardId: "000000012"
dashboardName: alerts-linux-nodes
orgId: 1
panelId: 1
- name: cpu
dashboardId: "000000012"
dashboardName: alerts-linux-nodes
orgId: 1
panelId: 4
- name: memory
dashboardId: "000000012"
dashboardName: alerts-linux-nodes
orgId: 1
panelId: 5
dashboards
specify a graph panel to be upload with Slack slash command. You can get the parameters of the graph panel by selecting the panel in Grafana and clicking on the share button.
name
specifies the alias of a graph. So you can get a graph in Slack like /graph cpu
.
Use Auth Proxy Authentication with Client Certificate
This application needs PKCS12 File (.p12) and password, and you need to enable use_client_auth
and specify p12 file path on client_auth_p12
at config.yaml
.
Run with environment: CONFIG_FILE=config.yaml CLIENT_AUTH_PASSWORD=p12_password
Use API Key
Run with environment: CONFIG_FILE=config.yaml GRAFANA_API_KEY=apikey
Usage
Invoke with /graph <alias> (<from_time_range>)
(No <from_time_range>
with default time range)
Example <from_time_range>
: 15m
3h
1d
1M