docker环境下的Grafana安装
⼀、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
3. 登录web:初始登录参数:admin/admin
⾄此,基本安装完成,但是,考虑到⼀旦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 ~]# chown -R grafana:grafana  grafana
[root@DL ~]# ls -lhat
...
drwxr-xr-x. 5 grafana grafana 41 5⽉ 22 20:59 grafana
[root@DL ~]# ls -lhat grafana
总⽤量 4.0K
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.0K 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添加执⾏权限
chmod +x grafana.sh
9. 运⾏grafana.sh
./grafana.sh
⼆、测试
三、配置邮件
vim /etc/grafana/grafana.ini
#修改⼀下内容
>>>>>>># SMTP / Emailing >>>>>#
[smtp]
# 启⽤ smtp
enabled = true
# 邮件服务器地址和端⼝
host = smtp.189:465
# 发送告警邮件邮箱账号
user = xuewenlong1993@189
# 发送告警邮件邮箱密码
password = xuewenlong
;
cert_file =
;key_file =
;skip_verify = falsedocker重启容器命令
from_address = xuewenlong1993@189
from_name = Grafana
# EHLO identity in SMTP dialog (defaults to instance_name)
ehlo_identity = ample
[emails]
;welcome_email_on_sign_up = false
然后重新stop docker; restart docker
四、⼩结:
1、docker安装grafana虽然⽐较⽅便,但是,有些问题是必须⾼度关注的,如grafana容器内系统本⾝是以grafana⽤户⾝份运⾏的,对应的挂载⽬录的权限也必须调整为grafana
权限。
2、在安装测试过程中⽤到docker⼀些命令配合调试⼯作,⽐较有⽤,这⾥列出如下:
docker stop/start grafana (或者容器ID)  #停⽌/启动 grafana容器,对应有start和restart来启动和重启容器。
docker rm grafana (或者容器ID)  #删除grafana容器,以便后续新建同名容器
docker logs grafana (或者容器ID)  #查看grafana容器log,⽅便debug
docker container prune  #删除运⾏异常的全部容器,运⾏异常就是直接使⽤ docker ps或docker container ls⽆法列出的容器。
docker ps -a 或 docker container ls -a  #列出所有容器,包括运⾏异常的容器。
docker inspect grafana (或者容器ID)  #查看容器grafana的配置详情,包括容器id号,挂载信息,环境
变量、主机名称等等。因为其内容较多,可使⽤管道符到处到⽂件做更细致分析,如 docker inspect grafana > docker exec -it grafana (或者容器ID) /bin/bash  或  docker exec -it grafana /bin/sh      #进⼊容器grafana内的console状态,以便查探容器内的⽂件系统。
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
# in the container you just started:
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

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。

发表评论