Skip to content

Commit

Permalink
Merge remote-tracking branch 'grafana/master'
Browse files Browse the repository at this point in the history
* grafana/master: (36 commits)
  fix info popover, grafana#10302 (grafana#10377)
  fix move dashboard variables, grafana#10347 (grafana#10375)
  dashfolders: relative links should work when root_path is specified (grafana#10363)
  fix mixed datasource add query button, grafana#10316 (grafana#10361)
  Doc version and schemaVersion properties of dashboards
  prom: fixes broken test
  prom: make $__$interval the first suggested range vector
  fixes log typo
  imguploader: log if the configuration is invalid
  changelog: adds note about closing grafana#8955
  renderer: avoid calling Handle twice
  dashboards as cfg: moves dashcash into its own file
  dashboards as cfg: create dashboard folders if missing
  fixed error
  tests: for skipping with hidden folders
  Implement Azure Blob external image uploader
  migrated datasource to ts
  Fix tooltip unit when legend isn't shown (grafana#10348)
  refactor: minor refactoring of PR grafana#10236
  don't save dashboard on make editable, grafana#10236
  ...
  • Loading branch information
ryantxu committed Jan 1, 2018
2 parents 671f498 + 62df406 commit e88dc2d
Show file tree
Hide file tree
Showing 65 changed files with 1,958 additions and 1,187 deletions.
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@ Dashboard panels and rows are positioned using a gridPos object `{x: 0, y: 0, w:
Config files for provisioning datasources as configuration have changed from `/conf/datasources` to `/conf/provisioning/datasources`.
From `/etc/grafana/datasources` to `/etc/grafana/provisioning/datasources` when installed with deb/rpm packages.

The pagerduty notifier now defaults to not auto resolve incidents. More details at [#10222](https://github.com/grafana/grafana/issues/10222)

## New Features
* **Data Source Proxy**: Add support for whitelisting specified cookies that will be passed through to the data source when proxying data source requests [#5457](https://github.com/grafana/grafana/issues/5457), thanks [@robingustafsson](https://github.com/robingustafsson)
* **Postgres/MySQL**: add __timeGroup macro for mysql [#9596](https://github.com/grafana/grafana/pull/9596), thanks [@svenklemm](https://github.com/svenklemm)
Expand All @@ -46,6 +48,7 @@ From `/etc/grafana/datasources` to `/etc/grafana/provisioning/datasources` when
* **Github**: Use organizations_url provided from github to verify user belongs in org. [#10111](https://github.com/grafana/grafana/issues/10111), thx
[@adiletmaratov](https://github.com/adiletmaratov)
* **Backend**: Fixed bug where Grafana exited before all sub routines where finished [#10131](https://github.com/grafana/grafana/issues/10131)
* **Azure**: Adds support for Azure blob storage as external image stor [#8955](https://github.com/grafana/grafana/issues/8955), thx [@saada](https://github.com/saada)

## Tech
* **RabbitMq**: Remove support for publishing events to RabbitMQ [#9645](https://github.com/grafana/grafana/issues/9645)
Expand All @@ -55,6 +58,7 @@ From `/etc/grafana/datasources` to `/etc/grafana/provisioning/datasources` when
* **Sensu**: Send alert message to sensu output [#9551](https://github.com/grafana/grafana/issues/9551), thx [@cjchand](https://github.com/cjchand)
* **Singlestat**: suppress error when result contains no datapoints [#9636](https://github.com/grafana/grafana/issues/9636), thx [@utkarshcmu](https://github.com/utkarshcmu)
* **Postgres/MySQL**: Control quoting in SQL-queries when using template variables [#9030](https://github.com/grafana/grafana/issues/9030), thanks [@svenklemm](https://github.com/svenklemm)
* **Pagerduty**: Pagerduty dont auto resolve incidents by default anymore. [#10222](https://github.com/grafana/grafana/issues/10222)

# 4.6.3 (2017-12-14)

Expand Down
9 changes: 7 additions & 2 deletions conf/defaults.ini
Original file line number Diff line number Diff line change
Expand Up @@ -473,7 +473,7 @@ sampler_param = 1

#################################### External Image Storage ##############
[external_image_storage]
# You can choose between (s3, webdav, gcs)
# You can choose between (s3, webdav, gcs, azure_blob)
provider =

[external_image_storage.s3]
Expand All @@ -493,4 +493,9 @@ public_url =
[external_image_storage.gcs]
key_file =
bucket =
path =
path =

[external_image_storage.azure_blob]
account_name =
account_key =
container_name =
9 changes: 7 additions & 2 deletions conf/sample.ini
Original file line number Diff line number Diff line change
Expand Up @@ -417,7 +417,7 @@ log_queries =
#################################### External image storage ##########################
[external_image_storage]
# Used for uploading images to public servers so they can be included in slack/email messages.
# you can choose between (s3, webdav, gcs)
# you can choose between (s3, webdav, gcs, azure_blob)
;provider =

[external_image_storage.s3]
Expand All @@ -436,4 +436,9 @@ log_queries =
[external_image_storage.gcs]
;key_file =
;bucket =
;path =
;path =

[external_image_storage.azure_blob]
;account_name =
;account_key =
;container_name =
2 changes: 1 addition & 1 deletion docs/sources/alerting/notifications.md
Original file line number Diff line number Diff line change
Expand Up @@ -150,7 +150,7 @@ Prometheus Alertmanager | `prometheus-alertmanager` | no
# Enable images in notifications {#external-image-store}

Grafana can render the panel associated with the alert rule and include that in the notification. Most Notification Channels require that this image be publicly accessible (Slack and PagerDuty for example). In order to include images in alert notifications, Grafana can upload the image to an image store. It currently supports
Amazon S3 and Webdav for this. So to set that up you need to configure the [external image uploader](/installation/configuration/#external-image-storage) in your grafana-server ini config file.
Amazon S3, Webdav, and Azure Blob Storage for this. So to set that up you need to configure the [external image uploader](/installation/configuration/#external-image-storage) in your grafana-server ini config file.

Currently only the Email Channels attaches images if no external image store is specified. To include images in alert notifications for other channels then you need to set up an external image store.

Expand Down
2 changes: 1 addition & 1 deletion docs/sources/guides/whats-new-in-v4.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ of another alert in your conditions, and `Time Of Day`.
Alerting would not be very useful if there was no way to send notifications when rules trigger and change state. You
can setup notifications of different types. We currently have `Slack`, `PagerDuty`, `Email` and `Webhook` with more in the
pipe that will be added during beta period. The notifications can then be added to your alert rules.
If you have configured an external image store in the grafana.ini config file (s3 and webdav options available)
If you have configured an external image store in the grafana.ini config file (s3, webdav, and azure_blob options available)
you can get very rich notifications with an image of the graph and the metric
values all included in the notification.

Expand Down
13 changes: 12 additions & 1 deletion docs/sources/installation/configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -731,7 +731,7 @@ Time to live for snapshots.
These options control how images should be made public so they can be shared on services like slack.

### provider
You can choose between (s3, webdav, gcs). If left empty Grafana will ignore the upload action.
You can choose between (s3, webdav, gcs, azure_blob). If left empty Grafana will ignore the upload action.

## [external_image_storage.s3]

Expand Down Expand Up @@ -786,6 +786,17 @@ Bucket Name on Google Cloud Storage.
### path
Optional extra path inside bucket

## [external_image_storage.azure_blob]

### account_name
Storage account name

### account_key
Storage account key

### container_name
Container name where to store "Blob" images with random names. Creating the blob container beforehand is required. Only public containers are supported.

## [alerting]

### enabled
Expand Down
4 changes: 2 additions & 2 deletions docs/sources/reference/dashboard.md
Original file line number Diff line number Diff line change
Expand Up @@ -71,8 +71,8 @@ Each field in the dashboard JSON is explained below with its usage:
| **timepicker** | timepicker metadata, see [timepicker section](#timepicker) for details |
| **templating** | templating metadata, see [templating section](#templating) for details |
| **annotations** | annotations metadata, see [annotations section](#annotations) for details |
| **schemaVersion** | TODO |
| **version** | TODO |
| **schemaVersion** | version of the JSON schema (integer), incremented each time a Grafana update brings changes to the said schema |
| **version** | version of the dashboard (integer), incremented each time the dashboard is updated |
| **links** | TODO |

### rows
Expand Down
9 changes: 5 additions & 4 deletions pkg/api/render.go
Original file line number Diff line number Diff line change
Expand Up @@ -31,11 +31,12 @@ func RenderToPng(c *middleware.Context) {

pngPath, err := renderer.RenderToPng(renderOpts)

if err != nil {
if err == renderer.ErrTimeout {
c.Handle(500, err.Error(), err)
}
if err != nil && err == renderer.ErrTimeout {
c.Handle(500, err.Error(), err)
return
}

if err != nil {
c.Handle(500, "Rendering failed.", err)
return
}
Expand Down
Loading

0 comments on commit e88dc2d

Please sign in to comment.