一 、docker环境下的Grafana安装
1. 安装grafana
查看可用image
[root@DL ~ ]# docker search grafana
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
grafana/grafana The official Grafana docker container 1484
拉取grafana镜像:
[root@DL ~ ]# docker pull grafana/grafana
2. 运行grafana:
[root@DL ~ ]# docker run -d -p 3000:3000 --name=grafana grafana/grafana
至此,基本安装完成,但是,考虑到一旦docker容器停止,其存储的数据就会丢失,因此还需要进行数据的持久化工作。
使用“docker inspect grafana”(其中的grafana是容器名称)命令查看grafana容器内的配置,可以看到如下环境变量信息:
"Env" : [
"PATH=/usr/share/grafana/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" ,
"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"
分析上述环境变量信息得知,需要把容器内的/etc/grafana、/var/lib/grafana、/var/log/grafana三个目录挂载到宿主机上以确保数据不随容器的停止而消失。
4. 宿主机新建3个目录
mkdir -p /root/grafana/conf
mkdir -p /root/grafana/data
mkdir -p /root/grafana/log
5. 在前述运行的grafana系统中,把上述三个目录内的文件和目录全部拷贝到宿主机中。
[root@DL ~ ]# docker cp grafana:/etc/grafana/. /root/grafana/conf
[root@DL ~ ]# docker cp grafana:/var/lib/grafana/. /root/grafana/data
[root@DL ~ ]# docker cp grafana:/var/log/grafana/. /root/grafana/log
6. 修改宿主机新建目录的所有者为grafana(这一步很重要,若缺乏所有者权限配合,grafana页面在登录时就会出错,无法登录)
(1)宿主机新增用户grafana,并修改UID和GID都为472(因为容器内的运行用户也是grafana,且UID和GID都是472)
useradd grafana
vi /etc/passwd
...
grafana: x: 472 : 472 : :/home/grafana :/bin/bash
vi /etc/group
...
grafana:x:472:
(2)修改grafana目录所有者为grafana
[root@DL ~]
[root@DL ~]
...
drwxr-xr-x. 5 grafana grafana 41 5 月 22 20 :59 grafana
[root@DL ~]
总用量 4.0 K
drwxr-xr-x. 5 grafana grafana 41 5 月 22 20 :59 .
drwxr-xr-x. 2 grafana grafana 6 5 月 22 20 :59 log
drwxr-xr-x. 4 grafana grafana 50 5 月 22 20 :55 data
dr-xr-x ---. 18 root root 4.0 K 5 月 22 20 :06 ..
drwxr-xr-x. 2 grafana grafana 45 5 月 22 19 :57 conf
7. 编制docker运行命令
vi grafana.sh
内容如下:
docker run -d --name grafana -p 3000:3000 -v /root/grafana/conf:/etc/grafana -v /root/grafana/data:/var/lib/grafana -v /root/grafana/log:/var/log/grafana grafana/grafana
8. 为grafana.sh添加执行权限
9. 运行grafana.sh
二、测试
web登录:http://192.168.0.202:3000/
三、配置邮件
vim /etc/grafana/grafana.ini
[smtp]
enabled = true
host = smtp.189 .cn:465
user = xuewenlong1993@189 .cn
password = xuewenlong
from_address = xuewenlong1993@189 .cn
from_name = Grafana
ehlo_identity = dashboard.example.com
[emails]
然后重新stop docker; restart docker
四、小结:
1、docker安装grafana虽然比较方便,但是,有些问题是必须高度关注的,如grafana容器内系统本身是以grafana用户身份运行的,对应的挂载目录的权限也必须调整为grafana权限。
2、在安装测试过程中用到docker一些命令配合调试工作,比较有用,这里列出如下:
docker stop/start grafana (或者容器ID)
docker rm grafana (或者容器ID)
docker logs grafana (或者容器ID)
docker container prune
docker ps -a 或 docker container ls -a
docker inspect grafana (或者容器ID)
docker exec -it grafana (或者容器ID) /bin/bash 或 docker exec -it grafana /bin/sh
3、Modify permissions
The commands below run bash inside the Grafana container with your volume mapped in. This makes it possible to modify the file ownership to match the new container. Always be careful when modifying permissions.
$ docker run -ti --user root --volume "<your volume mapping here>" --entrypoint bash grafana/grafana-enterprise:8.2.0
chown -R root:root /etc/grafana && \
chmod -R a+r /etc/grafana && \
chown -R grafana:grafana /var/lib/grafana && \
chown -R grafana:grafana /usr/share/grafana
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY