Как я могу подготовить файлы yaml для изменения раздела SMTP/Emailing в grafana?

Я использую grafana/grafana:6.1.3 в сочетании с prom/alertmanager:v0.16.2 (и некоторыми другими, на мой взгляд, не относящимися к делу изображениями).
Я настроил менеджер предупреждений на отправку электронных писем через SMTP, если происходит определенное событие.
Но в моем почтовом ящике ничего не было, поэтому я проверил журнал докера grafana:

root@PRIVATE_INFORMATION:~# docker logs grafana | grep -n "alert"
162:t=2019-05-20T11:42:26+0000 lvl=info msg = "Executing migration" logger=migrator id = "create alert table v1"
[...]
197:t=2019-05-20T11:42:28+0000 lvl=info msg = "Executing migration" logger=migrator id = "Update alert annotations and set TEXT to empty"
292:t=2019-05-20T11:44:28+0000 lvl=info msg = "Request Completed" logger=context userId=0 orgId=0 uname= method=GET path=/api/alerts/states-for-dashboard status=401 remote_addr=PRIVATE_INFORMATION time_ms=0 size=26 referer = "PRIVATE_INFORMATION"
297:t=2019-05-20T11:48:01+0000 lvl=info msg = "New state change" logger=alerting.resultHandler alertId=1 newState=ok prev state=unknown
298:t=2019-05-20T11:48:33+0000 lvl=info msg = "Sending alert notification to" logger=alerting.notifier.email addresses=[PRIVATE@INFORMATION]
299:t=2019-05-20T11:48:33+0000 lvl=eror msg = "Failed to send alert notification email" logger=alerting.notifier.email error = "SMTP not configured, check your grafana.ini config file's [smtp] section."
300:t=2019-05-20T11:48:33+0000 lvl=eror msg = "failed to send notification" logger=alerting.notifier uid= error = "SMTP not configured, check your grafana.ini config file's [smtp] section."
[...]

Я не смог найти "grafana.ini" на своем сервере.

{ Обновлено: я нашел два. Один в "/var/lib/docker/overlay2/fe7[...]db3/diff/etc/grafana/grafana.ini", другой в "/var/lib/docker/overlay2/079[...]26d /merged/etc/grafana/grafana.ini". Оба содержат ту же информацию, что и «sample-ini» }

Вместо этого я нашел файлы «default.ini» и «sample.ini» внутри работающего контейнера grafana. «default.ini» не содержал ничего, связанного с SMTP, но «sample.ini» содержал следующий раздел:

#################################### SMTP / Emailing ##########################
[smtp]
;enabled = false
;host = localhost:25
;user =
# If the password contains # or ; you have to wrap it with trippel quotes. Ex """#password;"""
;password =
;cert_file =
;key_file =
;skip_verify = false
;from_address = [email protected]
;from_name = Grafana
# EHLO identity in SMTP dialog (defaults to instance_name)
;ehlo_identity = dashboard.example.com

[emails]
;welcome_email_on_sign_up = false

Теперь, я думаю, это то место, где я должен был настроить SMTP. Кто-нибудь знает, как сообщить docker-compose.yml / ansible, что я хочу настроить этот раздел во время установки контейнера?
Я уже определил хост SMTP и другую информацию внутри контейнера предупреждений.

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
0
2 014
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Существует два подхода: наиболее распространенный — это монтирование вашего уже настроенного .ini файла в контейнер, а другой — использование переменных среды в форме GF_SMTP_HOST=whatever, как описано в прекрасное руководство.

Я использовал приведенные ниже переменные среды в своем docker-compose, и он работает как шарм!

grafana:
image: grafana/grafana    
environment:
  - 'GF_SMTP_ENABLED=true'
  - 'GF_SMTP_HOST=smtp.gmail.com:587'
  - '[email protected]'
  - 'GF_SMTP_PASSWORD=mysamplePassword'
  - '[email protected]'

Другие вопросы по теме