Capturing grafana dashboard and post it to LINE group using LINE Notify
I want to post a screenshot of the Grafana dashboard to LINE Notify.
Grafana distribution includes PhantomJS( Alerting feature uses PhantomJS. https://github.com/grafana/grafana/blob/master/pkg/services/alerting/notifier.go#L96 ).
Then, you can take a snapshot using curl command.
You need to rewrite Grafana dashboard URL. Insert /render
prefix for your dashboard URL.
For example, when your dashboard URL is http://grafana.example.com/dashboard/db/my-service, PhantomJS URL is http://grafana.example.com/render/dashboard/db/my-service.
If you want to hide a header, add ?kiosk
query parameter for the URL.
Grafana supports API keys and Basic Auth. With curl, you can call it like e.g. curl -u 'YOUR_EMAIL:YOUR_PASSWORD' GRAFANA_URL
.
It's summarized as follows:
curl -u 'YOUR_EMAIL:YOUR_PASSWORD' http://grafana.example.com/render/dashboard/db/my-service?kiosk -o img.png
Post to LINE Notify
You can upload dashboard image to LINE Notify using curl command.
curl -X POST https://notify-api.line.me/api/notify
-H 'Authorization: Bearer YOUR_PERSONAL_ACCESS_TOKEN'
-F 'message=test'
-F '[email protected]'
See https://engineering.linecorp.com/ja/blog/detail/94 for more details.