项目作者: acornies

项目描述 :
An OpenFaaS function to create annotations in Grafana (>= v4.6).
高级语言: Go
项目地址: git://github.com/acornies/faas-grafana-annotate.git
创建时间: 2018-09-28T17:56:53Z
项目社区:https://github.com/acornies/faas-grafana-annotate

开源协议:

下载


faas-grafana-annotate

An OpenFaaS function to create annotations in Grafana (>= v4.6).

Install faas-cli

  1. curl -sSL https://cli.openfaas.com | sudo sh

Supported Request Parameters

  • body (string, text/plain)
  • query string
    • tag (string, multiple, optional)
    • panelId (int, optional)
    • dashboardId (int, optional)

By default, if no tags are provided, the tag “global” is used for your annotation. In your dashboard, make sure Annotations & Alerts is enabled and filtered by the appropriate tag.

Function Configuration

  • environment
    • grafana_url
  • secrets
    • grafana-api-token
    • grafana-username
    • grafana-password

This function prioritizes grafana-api-token first, then falls back to basic authentication provided by grafana-username and grafana-password.

Grafana Configuration

1) Add new API key (User icon -> API Keys) w/ Editor role
2) In your dashboard, click gear icon -> Annotations -> enable

In your dashboard, make sure Annotations & Alerts is enabled and and filtered by the appropriate tag.

Deployment Examples

faas-cli (from Docker)

  1. faas-cli deploy --image acornies/grafana-annotate --env grafana_url=http://example:3000

faas-cli (from source)

  1. faas-cli deploy -f ./grafana-annotate.yml --env grafana_url=http://example:3000

Invoke Examples

faas-cli

  1. faas-cli invoke grafana-annotate --query tag=global --query tag=faas --query dashboardId=1 --query panelId=1 --gateway http://localhost:8080

curl

  1. curl -XPOST -d 'test annotation' "http://localhost:8080/function/grafana-annotate?tag=global&tag=faas&tag=application"

Screenshot Example

faas grafana screenshot