docker环境下的Grafana安装

一、参考资源:https://grafana.com/docs/grafana/latest/installation/docker/
本文章来源:https://www.cnblogs.com/sfccl/p/12936282.html

二、过程

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:http://192.168.0.202:3000/login #初始登录参数: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❌472:472::/home/grafana:/bin/bash

vi /etc/group

grafana❌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

三、测试

web登录:http://192.168.0.202:3000/

四、小结:

1、docker安装grafana虽然比较方便,但是,有些问题是必须高度关注的,如grafana容器内系统本身是以grafana用户身份运行的,对应的挂载目录的权限也必须调整为grafana权限。

2、在安装测试过程中用到docker一些命令配合调试工作,比较有用,这里列出如下:

docker stop grafana #停止grafana容器,对应有start和restart来启动和重启容器。

docker rm grafana #删除grafana容器,以便后续新建同名容器

docker container prune #删除运行异常的全部容器,运行异常就是直接使用 docker ps或docker container ls无法列出的容器。

docker ps -a 或 docker container ls -a #列出所有容器,包括运行异常的容器。

docker inspect grafana #查看容器grafana的配置详情,包括容器id号,挂载信息,环境变量、主机名称等等。因为其内容较多,可使用管道符到处到文件做更细致分析,如 docker inspect grafana > grafana.txt

docker exec -it grafana /bin/bash 或 docker exec -it grafana /bin/sh #进入容器grafana内的console状态,以便查探容器内的文件系统。

3、关于显示时区问题,grafana的web界面已提供本地时间显示功能(可选),因此,不用调整docker容器的时区。

五、待验证的运行方法:

https://grafana.com/docs/grafana/latest/installation/configure-docker/

If you do not designate a location for information storage, then all your Grafana data disappears as soon as you stop your image. To save your data, you need to set up persistent storage or bind mounts for your container.

(1)Run Grafana container with persistent storage (recommended)

create a persistent volume for your data in /var/lib/grafana (database and plugins)

docker volume create grafana-storage

上述命令可生成一个docker volume,使用命令docker volume inspect grafana-storage 或 docker inspect grafana-storage查看详情,如存储位置:

“Mountpoint”: “/var/lib/docker/volumes/grafana-storage/_data”

start grafana

docker run -d -p 3000:3000 --name=grafana -v grafana-storage:/var/lib/grafana grafana/grafana

(2)Run Grafana container using bind mounts
You may want to run Grafana in Docker but use folders on your host for the database or configuration. When doing so, it becomes important to start the container with a user that is able to access and write to the folder you map into the container.

mkdir data # creates a folder for your data
ID=$(id -u) # saves your user id in the ID variable

starts grafana with your user id and using the data folder

docker run -d --user I D − − v o l u m e " ID --volume " IDvolume"PWD/data:/var/lib/grafana" -p 3000:3000 grafana/grafana:5.1.0

  • 5
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Docker Loki Grafana是一种开源的日志聚合与可视化解决方案。它结合了Docker容器化技术、Loki日志收集工具和Grafana数据可视化平台,为用户提供了一种简单且高效的方法来收集、存储、查询和可视化日志数据。 首先,Docker是一种容器化技术,它可以将应用程序及其依赖项打包成一个独立的可执行容器,使应用程序可以在不同的环境中运行。Loki是一个轻量级的日志聚合工具,它可以在Docker容器中收集和存储大量的日志数据。Grafana是一个流行的数据可视化平台,它可以将Loki收集的日志数据以图形化的方式展示出来。 使用Docker Loki Grafana,用户可以轻松地构建一个高度可扩展的日志分析平台。首先,用户可以使用Docker容器化技术将Loki与Grafana部署在不同的服务器上,实现高可用和负载均衡。然后,在应用程序中配置Loki代理,使其将日志数据发送到Loki服务器进行集中存储。最后,用户可以使用Grafana创建仪表板,通过图表、指标和警报等方式,对收集到的日志数据进行可视化分析。 使用Docker Loki Grafana的好处是多方面的。首先,它可以大大简化日志收集和存储的过程,无需手动部署和配置复杂的日志收集工具。其次,Loki具有高度可扩展性和效率,可以处理大量的日志数据。此外,Grafana提供了强大的数据可视化功能,用户可以根据自己的需求自定义仪表板,轻松地监控和分析日志数据。 总之,Docker Loki Grafana是一种简便、高效且强大的日志聚合与可视化解决方案。它利用Docker容器化技术、Loki日志收集工具和Grafana数据可视化平台,为用户提供了一种简单且高效的方法来收集、存储、查询和可视化日志数据。无论是个人开发者还是企业用户,都可以从中受益,并更好地理解和优化自己的应用程序。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值