Zabbix5系列-接入Grafana面板 (十七)

一、参考

  • Zabbix5系列

二、环境

参考以下三篇安装docker和docker-compose

docker版本:20.10.*
docker-compose版本:2.2.2
grafana版本:8.4.7

三、拉取镜像

3.1 从互联网拉取镜像
# 拉取grafana/grafana:8.4.7镜像
docker pull grafana/grafana:8.4.7
# 查看镜像
docker images
3.2 (可选)使用Dockerfile构造含插件的离线镜像并导出

! 经过测试本地构建包含image-renderer插件渲染出的图片不支持中文 image-renderer请使用远程方式

Dockerfile内容:

ARG GRAFANA_VERSION="latest"

FROM grafana/grafana:${GRAFANA_VERSION}

USER root

ARG GF_INSTALL_IMAGE_RENDERER_PLUGIN="false"

ARG GF_GID="0"
ENV GF_PATHS_PLUGINS="/var/lib/grafana-plugins"

RUN mkdir -p "$GF_PATHS_PLUGINS" && \
    chown -R grafana:${GF_GID} "$GF_PATHS_PLUGINS"

RUN if [ $GF_INSTALL_IMAGE_RENDERER_PLUGIN = "true" ]; then \
    echo "https://mirrors.aliyun.com/alpine/v3.15/main" > /etc/apk/repositories && \
    echo "https://mirrors.aliyun.com/alpine/v3.15/community" >> /etc/apk/repositories && \
    echo "https://mirrors.aliyun.com/alpine/edge/community" >> /etc/apk/repositories && \
    echo "https://mirrors.aliyun.com/alpine/edge/main" >> /etc/apk/repositories && \
    echo "https://mirrors.aliyun.com/alpine/edge/testing" >> /etc/apk/repositories && \
    apk --no-cache  upgrade && \
    apk add --no-cache udev ttf-opensans chromium && \
    rm -rf /tmp/* && \
    rm -rf /usr/share/grafana/tools/phantomjs; \
fi

USER grafana

ENV GF_PLUGIN_RENDERING_CHROME_BIN="/usr/bin/chromium-browser"

RUN if [ $GF_INSTALL_IMAGE_RENDERER_PLUGIN = "true" ]; then \
    grafana-cli \
        --pluginsDir "$GF_PATHS_PLUGINS" \
        --pluginUrl https://github.com/grafana/grafana-image-renderer/releases/latest/download/plugin-linux-x64-glibc-no-chromium.zip \
        plugins install grafana-image-renderer; \
fi

ARG GF_INSTALL_PLUGINS=""

RUN if [ ! -z "${GF_INSTALL_PLUGINS}" ]; then \
    OLDIFS=$IFS; \
    IFS=','; \
    for plugin in ${GF_INSTALL_PLUGINS}; do \
        IFS=$OLDIFS; \
        if expr match "$plugin" '.*\;.*'; then \
            pluginUrl=$(echo "$plugin" | cut -d';' -f 1); \
            pluginInstallFolder=$(echo "$plugin" | cut -d';' -f 2); \
            grafana-cli --pluginUrl ${pluginUrl} --pluginsDir "${GF_PATHS_PLUGINS}" plugins install "${pluginInstallFolder}"; \
        else \
            grafana-cli --pluginsDir "${GF_PATHS_PLUGINS}" plugins install ${plugin}; \
        fi \
    done \
fi
# 创建Dockerfile文件
vi Dockerfile
# 构建一个含插件的镜像
# GRAFANA_VERSION : 版本
# GF_INSTALL_PLUGINS : 插件列表
# -t 目标镜像名称
docker build \
--build-arg "GRAFANA_VERSION=8.4.7" \
--build-arg "GF_INSTALL_PLUGINS=alexanderzobnin-zabbix-app,grafana-clock-panel,grafana-simple-json-datasource" \
-t grafana-zabbix:8.4.7 -f Dockerfile .
# 导出构建的镜像
docker save grafana-zabbix:8.4.7 -o grafana-zabbix-8.4.7.tar

四、容器编排

4.1 配置目录
# 创建程序目录
mkdir -p /opt/grafana
# 进入目录
cd /opt/grafana
# 创建数据目录
mkdir data
# 创建日志目录
mkdir log
# 修改目录权限
chown -R 472 data
chown -R 472 log
# 创建并编辑docker-compose.yml配置文件
vi docker-compose.yml
4.2 docker-compose.yml配置文件内容

Grafana配置参考
Grafana配置转环境变量前面加GF所有节用下划线分割 原下划线保留 全转大写
Renderer渲染插件配置参考
参考文档传入环境变量

version: '3'
services:
  grafana:
    image: grafana/grafana:8.4.7
    #image: grafana-zabbix:8.4.7
    container_name: grafana
    volumes:
      - /etc/localtime:/etc/localtime
      # 挂载数据目录
      - ./data:/var/lib/grafana
      # 挂载日志目录
      - ./log:/var/log/grafana
    restart: always
    privileged: true
    environment:
      # 默认用户名密码
      - GF_SECURITY_ADMIN_USER=admin
      - GF_SECURITY_ADMIN_PASSWORD=admin
      # 远程渲染地址
      - GF_RENDERING_SERVER_URL=http://renderer:8081/render
      # 远程渲染回调地址
      - GF_RENDERING_CALLBACK_URL=http://grafana:3000/
      # 安装zabbix clock json插件 <如使用本地构建注释此变量>
      - GF_INSTALL_PLUGINS=alexanderzobnin-zabbix-app,grafana-clock-panel,grafana-simple-json-datasource
    ports:
      - "3000:3000"
    networks:
      grafana-net:
  # 图形渲染插件
  renderer:
    image: grafana/grafana-image-renderer:3.4.0
    container_name: renderer
    volumes:
      - /etc/localtime:/etc/localtime
    restart: always
    privileged: true
    environment:
      # 默认时区
      - BROWSER_TZ=Asia/Shanghai
      # 忽略https错误
      - IGNORE_HTTPS_ERRORS=true
    expose:
      - "8081"
    networks:
      grafana-net:
networks:
  grafana-net:
    driver: bridge
    ipam:
      config:
        # 配置容器网段
        - subnet: 172.23.0.0/24
          gateway: 172.23.0.1
4.3 启动容器
# 放行端口
firewall-cmd --zone=public --add-port=3000/tcp --permanent
# 重载防火墙
firewall-cmd --reload
# 进入目录
cd /opt/grafana
# 启动
docker-compose up -d
# 查看日志
docker logs grafana
docker logs renderer

五、配置Grafana

5.1 浏览器访问http://IP地址:3000
默认用户名密码:admin/admin
在这里插入图片描述
5.2 设置 - Plugins - 搜索zabbix - 点击Zabbix进入插件
在这里插入图片描述
5.3 Config - Enable 启用插件
在这里插入图片描述
5.4 设置 - Data sources - Add data source 添加数据源

在这里插入图片描述
5.5 搜索zabbix 点击Zabbix上的Select
在这里插入图片描述
5.6 输入Zabbix jsonrpc地址和用户名密码后点 save&test

http://host/api_jsonrpc.php

在这里插入图片描述
5.7 添加 - Dashboard - Add a new panel
在这里插入图片描述

5.8 选择主机组 主机 标签 监控项目 添加图形
在这里插入图片描述

5.9 查看图形
在这里插入图片描述

六、汉化版

WangHL0927制作的6.7.3汉化版

6.1 拉取镜像并参考第四章进行容器编排

# 拉取w958660278/grafana-cn:6.7.3.0001-dev镜像
docker pull w958660278/grafana-cn:6.7.3.0001-dev
# 查看镜像
docker images

6.2 docker-compose.yml配置文件内容

version: '3'
services:
  grafana-cn:
    image: w958660278/grafana-cn:6.7.3.0001-dev
    container_name: grafana-cn
    volumes:
      - /etc/localtime:/etc/localtime
      - ./data:/var/lib/grafana
      - ./log:/var/log/grafana
    restart: always
    privileged: true
    environment:
      # 安装zabbix clock json插件
      # 注意grafana6.X不支持Zabbix插件4.X版本
      - GF_INSTALL_PLUGINS=alexanderzobnin-zabbix-app 3.12.4,grafana-clock-panel,grafana-simple-json-datasource
    ports:
      - "3000:3000"

6.3 启动容器

# 
firewall-cmd --zone=public --add-port=3000/tcp --permanent
#
firewall-cmd --reload
# 进入目录
cd /opt/grafana
# 创建数据目录
mkdir data
# 创建日志目录
mkdir log
# 修改目录权限
chown -R 472 data
chown -R 472 log
# 启动
docker-compose up -d
# 查看日志
docker logs grafana-cn

6.4 参考第五章配置grafana

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Halyace

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值