1、基础介绍
grafana是用于可视化大型测量数据的开源程序,他提供了强大和优雅的方式去创建、共享、浏览数据。dashboard中显示了你不同metric数据源中的数据。grafana最常用于因特网基础设施和应用分析,但在其他领域也有机会用到,比如:工业传感器、家庭自动化、过程控制等等。grafana有热插拔控制面板和可扩展的数据源,目前已经支持Graphite、InfluxDB、OpenTSDB、Elasticsearch。
Grafana 官网:https://grafana.com/
Grafana 插件:https://grafana.com/grafana/plugins/
Grafana Dashboards:https://grafana.com/grafana/dashboards/
Grafana 下载:https://grafana.com/grafana/download
2、版本选择
主要应用于日志采集 loki
和 prometheus
的数据展示。
3、Docker部署
1、下载镜像
docker pull grafana/grafana:10.4.10
2、持久化目录规划与常见
mkdir -p /data/grafana/{data,config,logs}
# /data/grafana/data目录,准备用来挂载放置grafana的数据(包含插件数据)
# /data/grafana/logs目录,准备用来放置grafana的日志
# /data/grafana/config目录,准备用来挂载放置grafana的配置文件
3、授权相关文件夹权限
chmod -R 777 /data/grafana/data
chmod -R 777 /data/grafana/logs
chmod -R 777 /data/grafana/config
4、临时启动一个容器复制配置文件
docker run --name grafana-tmp -d -p 3000:3000 grafana/grafana:10.4.10
5、将容器中默认的配置文件拷贝到宿主机上
docker cp grafana-tmp:/etc/grafana/ /data/grafana/config
grafana.ini ldap.toml provisioning # 三个文件移动到 config 目录下
6、移除临时容器
docker stop grafana-tmp
docker rm grafana-tmp
7、修改配置文件(需要的话)
# vim /opt/grafana/config/grafana.ini
allow_sign_up = false
[log]
# 日志模式:console, file, syslog
mode = file
# 日志级别:debug, info, warn, error, critical
level = info
# 日志文件路径
logfile = /var/log/grafana/grafana.log
4、docker启动容器
docker run -d \
-p 3000:3000 \
--name=grafana \
-v /etc/localtime:/etc/localtime:ro \
-v /data/grafana/data:/var/lib/grafana \
-v /data/grafana/config:/etc/grafana \
-v /data/grafana/logs:/var/log/grafana \
-e "GF_SECURITY_ADMIN_PASSWORD=admin" \
-e "GF_INSTALL_PLUGINS=grafana-clock-panel,grafana-simple-json-datasource,grafana-piechart-panel" \
grafana/grafana:10.4.10
prometheus相关
1、环境变量GF_SECURITY_ADMIN_PASSWORD # 指定admin的密码
2、环境变量GF_INSTALL_PLUGINS # 指定启动时需要安装得插件
3、grafana-clock-panel # 代表时间插件
4、grafana-simple-json-datasource # 代表json数据源插件
5、grafana-piechart-panel # 代表饼图插件
docker create network grafana_net
# cat docker-compose.yaml
version: '3.8'
services:
grafana:
image: grafana/grafana:10.4.10
container_name: grafana
restart: on-failure:3
privileged: true
ports:
- "3000:3000"
volumes:
- /etc/localtime:/etc/localtime:ro
- /data/grafana/data:/var/lib/grafana
- /data/grafana/config:/etc/grafana
- /data/grafana/logs:/var/log/grafana
environment:
- GF_SECURITY_ADMIN_PASSWORD=admin
network_mode: "host" # 共享宿主机hosts解析,网络建议选择仅主机模式
networks:
- grafana_net
networks:
grafana_net:
driver: bridge