如何准备 yaml 文件来修改 grafana 中的 SMTP/Emailing 部分?
How can I prepare yaml files to modify the SMTP/Emailing section in grafana?
我将 grafana/grafana:6.1.3
与 prom/alertmanager:v0.16.2
结合使用(以及其他一些我认为不相关的图片)。
我将 alertmanager 配置为通过 SMTP 发送电子邮件如果发生特定事件。
但是我的收件箱里什么都没有,这就是为什么我查看了grafana docker log:
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" }
相反,我在 运行 grafana 容器中找到了一个 "default.ini" 和一个 "sample.ini" 文件. "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 = admin@grafana.localhost
;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 主机和其他信息。
有两种方法:最常见的一种是 volume-mounting 将您已配置的 .ini
文件放入容器中,另一种是使用 GF_SMTP_HOST=whatever
形式的环境变量,如所述通过 the fine manual
我在我的 docker-compose 中使用了以下环境变量,它的工作非常棒!
grafana:
image: grafana/grafana
environment:
- 'GF_SMTP_ENABLED=true'
- 'GF_SMTP_HOST=smtp.gmail.com:587'
- 'GF_SMTP_USER=user1@gmail.com'
- 'GF_SMTP_PASSWORD=mysamplePassword'
- 'GF_SMTP_FROM_ADDRESS=user1@gmail.com'
我将 grafana/grafana:6.1.3
与 prom/alertmanager:v0.16.2
结合使用(以及其他一些我认为不相关的图片)。
我将 alertmanager 配置为通过 SMTP 发送电子邮件如果发生特定事件。
但是我的收件箱里什么都没有,这就是为什么我查看了grafana docker log:
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" }
相反,我在 运行 grafana 容器中找到了一个 "default.ini" 和一个 "sample.ini" 文件. "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 = admin@grafana.localhost
;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 主机和其他信息。
有两种方法:最常见的一种是 volume-mounting 将您已配置的 .ini
文件放入容器中,另一种是使用 GF_SMTP_HOST=whatever
形式的环境变量,如所述通过 the fine manual
我在我的 docker-compose 中使用了以下环境变量,它的工作非常棒!
grafana:
image: grafana/grafana
environment:
- 'GF_SMTP_ENABLED=true'
- 'GF_SMTP_HOST=smtp.gmail.com:587'
- 'GF_SMTP_USER=user1@gmail.com'
- 'GF_SMTP_PASSWORD=mysamplePassword'
- 'GF_SMTP_FROM_ADDRESS=user1@gmail.com'