Docker安装grafana数据持久化+配置SMTP

查看grafana镜像源

#选个stars MAX  grafana/grafana
docker search grafana

新建grafana目录

mkdir -p /data/grafana/data
#修改目录权限否则启动后容器中用户无法创建数据文件夹和文件
chmod 777  /data/grafana/data

首次运行grafana

docker run \
-d --name grafana  -p 3000:3000 \
grafana/grafana grafana

注意:后台访问地址:宿主机ip:3000

注意:默认登陆账号密码admin/admin

将配置文件拷贝至宿主机方便修改配置

docker exec -it grafana cat /etc/grafana/grafana.ini > /data/grafana/grafana.ini

注意:默认后台登陆账号密码就是admin/admin,可以自定义取消注释修改,也可以在容器启动的时候使用环境变量进行覆盖

删除grafana容器

docker stop grafana
docker rm grafana

启动Grafana容器时候用环境变量覆盖

环境变量配置的默认路径

环境变量 默认值
GF_PATHS_CONFIG /etc/grafana/grafana.ini
GF_PATHS_DATA /var/lib/grafana
GF_PATHS_HOME /usr/share/grafana
GF_PATHS_LOGS /var/log/grafana
GF_PATHS_PLUGINS /var/lib/grafana/plugins
GF_PATHS_PROVISIONING /etc/grafana/provisioning

启动Grafana容器

注意:

  • 设置服务的默认域名 :-e "GF_SERVER_ROOT_URL=http://grafana.server.name"
  • 设置admin的密码为newpwd-e "GF_SECURITY_ADMIN_PASSWORD=newpwd"
  • 注意:密码若带符号请加\转义
  • -v "/data/grafana/grafana.ini:/etc/grafana/grafana.ini"将宿主机上grafana配置文件挂载至容器中,如果需要修改直接重启即可
  • -v "/data/grafana/data/:/var/lib/grafana" 将容器中的数据存储挂载至宿主机指定路径-数据持久化
  • 将宿主机的hosts映射到容器中
docker run  --restart=always \
-d --name grafana  -p 3000:3000 \
-e "GF_SERVER_ROOT_URL=http://grafana.hibay.cc" \
-e "GF_SECURITY_ADMIN_PASSWORD=pass\!234" \
-v "/data/grafana/grafana.ini:/etc/grafana/grafana.ini" \
-v "/data/grafana/data/:/var/lib/grafana" \
$(cat /etc/hosts |grep -Ev "^$|[#;]" | awk -F ' ' '{if(NR>2){print "--add-host "$2":"$1}}')  \
grafana/grafana grafana

配置SMTP服务器

修改grafana配置文件

注意:

只需要修改宿主机中的/data/grafana/grafana.ini并重启容器即可

[smtp]
# 启用 smtp
enabled = true
# 腾讯企业邮件服务器地址和端口
host = smtp.exmail.qq.com:465
# 账号
user =  XXX@qq.com
# If the password contains # or ; you have to wrap it with triple quotes. Ex """#password;"""
# 密码
password = password
cert_file =
key_file =
# 忽略 SSL 认证
skip_verify = true
from_address = XXX@qq.com
from_name = Grafana
ehlo_identity =

修改完成后重启容器

docker restart grafana

后台邀请新人员测试邮件接收是否正常

在这里插入图片描述

问题记录

Grafana报错mkdir: cannot create directory ‘/var/lib/grafana/plugins’: Permission denied

宿主机中执行修改数据存储文件夹权限

注意:

发现报错,对’/var/lib/grafana/plugins’没有权限创建目录,那么就赋予权限:

chmod 777 /data/grafana/data

重启容器并查看日志

docker restart grafana
docker logs grafana
Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐