Ошибка визуализации. Невозможно отправить изображение предупреждения Grafana на AWS S3 для рендеринга для использования в предупреждениях Slack - PullRequest
1 голос
/ 08 мая 2020

Запуск 2 docker контейнеров - Grafana и Grafana Image Renderer

Моя конфигурация Grafana в Dockers:

 GF_RENDERING_SERVER_URL: http://render:8081/render
 GF_RENDERING_CALLBACK_URL: http://grafana:3000/
 GF_SERVER_ROOT_URL: http://grafana:3000/
 GF_INSTALL_PLUGINS: "grafana-image renderer
 GF_INSTALL_IMAGE_RENDERER_PLUGIN: "true"
 GF_LOG_FILTERS: rendering:debug
 GF_EXTERNAL_IMAGE_STORAGE_PROVIDER: "s3"
 GF_EXTERNAL_IMAGE_STORAGE_S3_BUCKET_URL: https://*bucketname*.s3.*region*.amazonaws.com
 GF_EXTERNAL_IMAGE_STORAGE_S3_REGION: "*region*"
 GF_EXTERNAL_IMAGE_STORAGE_S3_ACCESS_KEY: *access key*
 GF_EXTERNAL_IMAGE_STORAGE_S3_SECRET_KEY: *secret key*

Политика в S3 Bucket:

{
  "Id": "*Policy*",
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "*Sid*",
      "Action": [
        "s3:DeleteObject",
        "s3:GetObject",
        "s3:PutObject",
        "s3:PutObjectAcl"
      ],
      "Effect": "Allow",
      "Resource": "arn:aws:s3:::bucketname/*",
      "Principal": "*"
    }
  ]
}

Ошибка визуализации - это сообщение, которое я получаю на панели инструментов Grafana

1 Ответ

0 голосов
/ 16 июня 2020

Ваши журналы контейнеров, вероятно, укажут вам причину.

Я подозреваю, что контейнеры не могут взаимодействовать друг с другом - т.е. разрешаются ли имена хостов render и grafana? Можете ли вы, например, от curl до http://render: 8081 из контейнера графана (используя docker exec -it <container id> /bin/sh)?

Кроме того, вам не нужны эти переменные env:

  • GF_INSTALL_PLUGINS: "grafana-image renderer (опечатка?), Поскольку функциональность плагина обеспечивается контейнером рендеринга
  • GF_INSTALL_IMAGE_RENDERER_PLUGIN: "true", так как вы используете внешний рендерер и не должны создать собственный контейнер, используя отдельный файл Dockerfile, который они предоставляют.
...