docker部署zabbix6.2.7+grafana
目录
1、下载docker
2、下载相关镜像文件
3、创建一个供zabbix系统使用的网络环境
4、创建一个供mysql数据库存放文件的目录
5、启动mysql容器
6、为zabbix-server创建一个持久卷
7、启动zabbix-server容器
8、创建语言存放目录
9、启动zabbix-web容器
10、启动zabbix-agent容器
11、访问zabbix web页面(端口8080)
12、docker部署grafana
拉取grafana镜像
准备相关挂载目录及文件
启动grafana容器
访问grafana页面
下载zabbix插件
在grafana页面启用zabbix插件
1、下载docker
yum install -y yum-utilsyum-config-manager \
> --add-repo \
> https://download.docker.com/linux/centos/docker-ce.repoyum install docker-ce docker-ce-cli containerd.io docker-compose-plugin -y
设置开机自启,启动docker
[root@monitor-vm yum.repos.d]# systemctl start docker
[root@monitor-vm yum.repos.d]# systemctl enable docker
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/doce.[root@monitor-vm yum.repos.d]# ps aux | grep docker
root 1663 2.1 4.7 1101972 48320 ? Ssl 04:03 0:00 /usr/bin/dockerd -H fd:// --containerd=/run/ccontainerd.sock
root 1804 0.0 0.0 112808 964 pts/1 S+ 04:03 0:00 grep --color=auto docker
查看docker
[root@monitor-vm yum.repos.d]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
[root@monitor-vm yum.repos.d]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
#################################################################
2、下载相关镜像文件
docker pull zabbix/zabbix-web-nginx-mysql:centos-6.2.7
docker pull zabbix/zabbix-server-mysql:centos-6.2.7
docker pull zabbix/zabbix-agent:centos-6.2.7
docker pull mysql:8.0.32
3、创建一个供zabbix系统使用的网络环境
docker network create -d bridge zbx_net
4、创建一个供mysql数据库存放文件的目录
mkdir -p /data/dockerdata/zabbix/db
5、启动mysql容器
[root@monitor-vm yum.repos.d]# docker run -itd -p 3306:3306 \
> --name zabbix-mysql --network zbx_net \
> --restart always -v /etc/localtime:/etc/localtime -v /data/dockerdata/zabbix/db:/var/lib/mysql -e MYSQL_USER\
> -e MYSQL_PASSWORD="zabbix" -e MYSQL_ROOT_PASSWORD="123qwe" mysql:8.0.32 \
> --default-authentication-plugin=mysql_native_password --character-set-server=utf8 \
> --collation-server=utf8_bin
eb471d309a9dd52f7e5841e6f3152e12c4b5d6c2bd00c503a446bd6995a1660a
6、为zabbix-server创建一个持久卷
docker volume create zbx_vo1
7、启动zabbix-server容器
[root@monitor-vm yum.repos.d]# docker run -itd -p 10051:10051 --mount source=zbx_vo1,target=/etc/zabbix \
> -v /etc/localtime:/etc/localtime -v /usr/lib/zabbix/alertscripts:/usr/lib/zabbix/alertscripts \
> --name=zabbix-server-mysql --restart=always --network zbx_net -e DB_SERVER_HOST="zabbix-mysql" \
> -e MYSQL+DATABASE="zabbix" -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="zabbix" -e MYSQL_ROOT_PASSWORD="123qwe"
> -e ZBX_JAVAGATEWAY="zabbix-java-gateway" -e ZBX_JAVAGATEWAY_ENABLE="true" \
> -e ZBX_JAVAGATEWAYPORT=10052 zabbix/zabbix-server-mysql:centos-6.2.7
1f26df5d326ccaa4f069561f7a6b6983aa2e74e5675d8243a5d66977a42f0236
#################################################################
8、创建语言存放目录
[root@monitor-vm yum.repos.d]# mkdir -p /data/dockerdata/zabbix/db/fonts
[root@monitor-vm yum.repos.d]# cd /data/dockerdata/zabbix/db/fonts/
[root@monitor-vm fonts]# wget https://dl.cactifans.com/zabbix_docker/msty.ttf[root@monitor-vm fonts]# ls
msty.ttf
[root@monitor-vm fonts]# mv msty.ttf DejaVuSans.ttf
[root@monitor-vm fonts]# ls
DejaVuSans.ttf
9、启动zabbix-web容器
[root@monitor-vm fonts]# docker run -itd -p 8080:8080 -v /etc/localtime:/etc/localtime \
> -v /data/dockerdata/zabbix/fonts/DejaVuSans.ttf:/usr/share/zabbix/assets/DejaVuSans.ttf \
> --name zabbix-web-nginx-mysql --restart=always --network zbx_net -e DB_SERVER_HOST="zabbix-mysql" \
> -e MYSQL_DATABASE="zabbix" -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="zabbix" -e MYSQL_ROOT_PASSWORD="123qwe"
> -e ZBX_SERVER_HOST="zabbix-server-mysql" zabbix/zabbix-web-nginx-mysql:centos-6.2.7
c92c56f65c7005e7f67f2a1a77c8d91021834f1360e3ce762684c23796e47ad8
10、启动zabbix-agent容器
[root@monitor-vm fonts]# docker run -itd --name zabbix-agent -p 10050:10050 --network zbx_net -e ZBX_HOSTNAME=rver" \
> -e ZBX_SERVER_HOST="zabbix-server-mysql" -e ZBX_SERVER_PORT=10051 zabbix/zabbix-agent:centos-6.2.7
359d665e8766941d90b4b07bd06ae6afd4ce45a3c2c9f7d3f48dbf8d798f380e
#################################################################
11、访问zabbix web页面(端口8080)

12、docker部署grafana
拉取grafana镜像
# 此方式,即拉取最新的镜像,等同于 docker pull grafana/grafana:lastest
docker pull grafana/grafana# 也可以拉取指定版本的
docker pull grafana/grafana:9.3.2
#################################################################
准备相关挂载目录及文件
# /data/dockerdata/grafana/data 目录,准备用来挂载放置grafana的数据
# /data/dockerdata/grafana/plugins 目录,准备用来放置grafana的插件
# /data/dockerdata/grafana/config 目录,准备用来挂载放置grafana的配置文件[root@monitor-vm dockerdata]# mkdir /data/dockerdata/grafana/{data,plugins,config} -p
#################################################################
准备grafana的配置文件
这里先启动一个临时的grafana容器,然后复制出它的配置文件 ,然后删除临时容器
[root@monitor-vm dockerdata]# docker run --name grafana-tmp -d -p 3000:3000 grafana/grafana
Unable to find image 'grafana/grafana:latest' locally
latest: Pulling from grafana/grafana
895e193edb51: Pull complete
c2be1f0caaf8: Pull complete
3ca3d9c55e02: Pull complete
52780f3d3c6c: Pull complete
aa864f3aa62f: Pull complete
2c572284d613: Pull complete
92772a6ef26e: Pull complete
16eb4b4d6afe: Pull complete
cadcd7e83b1e: Pull complete
Digest: sha256:e4fbf663447ba23f820f44b83b9b2febf9857c12d546497ac25746428c082d2b
Status: Downloaded newer image for grafana/grafana:latest
83a2142fc56dfae88cff605dcf171532f116fec78fcd89c78e87a3c8663287a2
[root@monitor-vm dockerdata]# docker cp grafana-tmp:/etc/grafana/grafana.ini /data/dockerdata/grafana/config/
Successfully copied 55.81kB to /data/dockerdata/grafana/config/
# 移除临时容器
docker stop grafana-tmp
docker rm grafana-tmp
#################################################################
启动grafana容器
[root@monitor-vm grafana]# docker run -d \
> -p 3000:3000 \
> --name=grafana \
> -v /etc/localtime:/etc/localtime:ro \
> -v /data/dockerdata/grafana/data:/var/lib/grafana \
> -v /data/dockerdata/grafana/plugins/:/var/lib/grafana/plugins \
> -v /data/dockerdata/grafana/config/grafana.ini:/etc/grafana/grafana.ini \
> -e "GF_SECURITY_ADMIN_PASSWORD=admin" \
> -e "GF_INSTALL_PLUGINS=grafana-clock-panel,grafana-simple-json-datasource,grafana-piechart-panel" \
> grafana/grafana
96a7b2e2c73694d8446a8aa1bd64096ef185582bc7d5f8141ba9b5b1eb41baeb
#################################################################
访问grafana页面
启动容器的时候创建了一个临时密码admin
登录时候使用 admin/admin登录以后会重置一个密码
默认grafana是没有zabbix数据源的,需要我们自己去下载一个zabbix数据源
#################################################################
下载zabbix插件
进入grafana容器,然后下载插件
[root@monitor-vm dockerdata]# docker exec -it grafana bash
bash-5.1$
bash-5.1$ grafana-cli plugins install alexanderzobnin-zabbix-app
? Downloaded and extracted alexanderzobnin-zabbix-app v4.2.10 zip successfully to /var/lib/grafana/plugins/alexanderzobnin-zabbix-appPlease restart Grafana after installing plugins. Refer to Grafana documentation for instructions if necessary.
重启grafana容器,然后进入grafana的挂载目录,就能看到下载的插件了
[root@monitor-vm plugins]# docker restart grafana
grafana
[root@monitor-vm ~]# cd /data/dockerdata/grafana/
[root@monitor-vm grafana]# ls
config data plugins
[root@monitor-vm grafana]# cd plugins/
[root@monitor-vm plugins]# ls
alexanderzobnin-zabbix-app grafana-clock-panel grafana-piechart-panel grafana-simple-json-datasource
#################################################################
在grafana页面启用zabbix插件


然后添加数据源就可以看到zabbix源了


相关文章:
docker部署zabbix6.2.7+grafana
目录 1、下载docker 2、下载相关镜像文件 3、创建一个供zabbix系统使用的网络环境 4、创建一个供mysql数据库存放文件的目录 5、启动mysql容器 6、为zabbix-server创建一个持久卷 7、启动zabbix-server容器 8、创建语言存放目录 9、启动zabbix-web容器 10、启动zabbix…...
【Java开发】JUC基础 04:Synchronized、死锁、Lock锁
1 概念介绍并发:同一个对象被多个线程同时操作📌 线程同步现实生活中,我们会遇到“同一个资源,多个人都想使用”的问题,比如,食堂排队打饭,每个人都想吃饭,最天然的解决办法就是,排队…...
离散数学---期末复习知识点
一、 数理逻辑 [复习知识点] 1、命题与联结词(否定¬、析取∨、合取∧、蕴涵→、等价↔),命题(非真既假的陈述句),复合命题(由简单命题通过联结词联结而成的命题) 2、命题公式与赋值(成真、成假)&#x…...
在线安装ESP32和ESP8266 Arduino开发环境
esp32和esp8266都是乐鑫科技开发的单片机产品,esp8266价格便宜开发板只需要十多块钱就可以买到,而esp32是esp8266的升级版本,比esp8266的功能和性能更强大,开发板价格大约二十多元就可以买到。 使用Arduino开发esp32和esp8266需要…...
【Python实战】激情澎湃,2023极品劲爆舞曲震撼全场,爬虫一键采集DJ大串烧,一曲醉人女声DJ舞曲,人人都听醉~(排行榜采集,妙啊~)
导语 哈喽!大家好。我是木木子吖~今天给大家带来爬虫的内容哈。 所有文章完整的素材源码都在👇👇 粉丝白嫖源码福利,请移步至CSDN社区或文末公众hao即可免费。 今天教大家Python爬虫实战一键采集大家喜欢的DJ舞曲哦! …...
[SSD综述 1.5] SSD固态硬盘参数图文解析_选购固态硬盘就像买衣服?
版权声明:付费作品,未经许可,不可转载前言SSD (Solid State Drive),即固态硬盘,通常是一种以半导体闪存(NAND Flash)作为介质的存储设备。SSD 以半导体作为介质存储数据&…...
SAP Insurance Analyzer
SAP Insurance Analyzer 是一款用于保险公司财务和风险管理的软件。SAP Insurance analyzer 支持基于 IFRS 17 或 Solvency II 的保险合同估值和计算要求。SAP Insurance Analyzer 于 2013 年 5 月推出,为源数据和结果数据集成了一个预配置的保险数据模型。 源数据…...
自动化测试 ——自动卸载软件
在平常的测试工作中,经常要安装软件,卸载软件, 即繁琐又累。 安装和卸载完全可以做成自动化。 安装软件我们可以通过自动化框架,自动点击Next,来自动安装。 卸载软件我们可以通过msiexec命令行工具自动化卸载软件 用msiexec 命令来卸载软件 …...
05 封装
在对 context 的封装中,我们只是将 request、response 结构直接放入 context 结构体中,对应的方法并没有很好的封装。 函数封装并不是一件很简单、很随意的事情。相反,如何封装出易用、可读性高的函数是非常需要精心考量的,框架中…...
clean
clean code 记得以前写过这题,写的乱七八糟,分析来分析去。 后悔应该早点写代码,leetcode大一就该刷了。 https://leetcode.cn/problems/plus-one/submissions/ class Solution { public:vector<int> plusOne(vector<int>&…...
佛科院计算机软件技术基础——线性表
一、基础知识了解:结构体的理解:我们知道整型是由1位符号位和15位数值位组成,而就可以把结构体理解为我们定义的数据类型,如:typedef struct {int data[2]; //存储顺序表中的元素int len; …...
linux下终端操作mysql数据库
目录 一.检查mysql是否安装 1. 查看文件安装路径 2. 查询运行文件所在路径(文件夹地址) 二.登录mysql 三.列出mysql全部用户 四.常用指令 1.查看全部数据库 2.选择数据库 …...
MySQL参数优化之thread_cache_size
1.thread_cache_size简介 每建立一个连接,都需要一个线程来与之匹配,此参数用来缓存空闲的线程,以至不被销毁,如果线程缓存中有空闲线程,这时候如果建立新连接,MYSQL就会很快的响应连接请求。 show statu…...
gRPC服务健康检查(二):gRPC健康检查协议详解
gRPC健康检查协议健康检查用于检测服务端能否正常处理rpc请求,客户端对服务端的健康检查可以点对点进行,也可以通过某些控制系统(如负载平衡)进行。客户端可以根据服务端返回的状态执行对应的策略。因为GRPC服务可以用于简单的客户…...
Android系统10 RK3399 init进程启动(四十七) Android init 进程整体代码逻辑简述
配套系列教学视频链接:安卓系列教程之ROM系统开发-百问100ask说明系统:Android10.0设备: FireFly RK3399 (ROC-RK3399-PC-PLUS)前言本文简单描述一下android init祖先进程启动的基本执行流程,让大家有一个整…...
CSDN 编程竞赛三十二期题解
竞赛总览 CSDN 编程竞赛三十二期:比赛详情 (csdn.net) 竞赛题解 题目1、传奇霸业 传奇霸业,是兄弟就来干。小春(HP为a)遇到了一只黄金哥布林(HP为x)。小春每次能对哥布林造成b点伤害,哥布林…...
Kubernetes 中的 Pod Hook
Pod Hook 我们知道Pod是Kubernetes集群中的最小单元,而 Pod 是有容器组组成的,所以在讨论 Pod 的生命周期的时候我们可以先来讨论下容器的生命周期。 实际上 Kubernetes 为我们的容器提供了生命周期钩子的,就是我们说的Pod Hook,…...
Linux操作系统安装MySQL(rpm安装)
Linux操作系统安装MySQL(rpm安装)1 背景2 环境说明3 准备工作3.1 端口查看3.2 检查安装3.3 创建MySQL用户和组4 MySQL安装4.1 下载MySQL4.2 解压安装包4.3 安装MySQL4.4 初始化MySQL4.5 启动MySQL4.6 设置MySQL初始密码4.6.1 查看数据库初始密码4.6.2 更…...
MySQL高级第二讲
目录 二、MySQL高级02 2.1 触发器 2.1.1 触发器介绍 2.1.2 创建触发器 2.2 MySQL的体系结构 2.3 存储引擎 2.3.1 存储引擎概述 2.3.2 各种存储引擎特性 2.3.3 InnoDB 2.3.4 MyISAM 2.3.5 MEMORY 2.3.6 MERGE 2.3.7 存储引擎的选择 2.4 优化sql 2.4.1 查看sql执行…...
凸优化专题1
多变量函数的求导与求梯度/矩阵求导 1. 导数 定义: 设f:Rn→Rm,且x∈intdomf,则f在点x的导数(或称Jacobian)记为矩阵Df(x)∈Rmnf:\R^n \rightarrow \R^m, 且x\in \mathbf{int}\ \mathbf{dom} f, 则f 在点x的导\\数(或称Jacobian)记为矩阵 Df(x) \in \R^{m\times n}f:Rn→Rm,且…...
深入剖析AI大模型:大模型时代的 Prompt 工程全解析
今天聊的内容,我认为是AI开发里面非常重要的内容。它在AI开发里无处不在,当你对 AI 助手说 "用李白的风格写一首关于人工智能的诗",或者让翻译模型 "将这段合同翻译成商务日语" 时,输入的这句话就是 Prompt。…...
云计算——弹性云计算器(ECS)
弹性云服务器:ECS 概述 云计算重构了ICT系统,云计算平台厂商推出使得厂家能够主要关注应用管理而非平台管理的云平台,包含如下主要概念。 ECS(Elastic Cloud Server):即弹性云服务器,是云计算…...
Xshell远程连接Kali(默认 | 私钥)Note版
前言:xshell远程连接,私钥连接和常规默认连接 任务一 开启ssh服务 service ssh status //查看ssh服务状态 service ssh start //开启ssh服务 update-rc.d ssh enable //开启自启动ssh服务 任务二 修改配置文件 vi /etc/ssh/ssh_config //第一…...
vue3 定时器-定义全局方法 vue+ts
1.创建ts文件 路径:src/utils/timer.ts 完整代码: import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...
拉力测试cuda pytorch 把 4070显卡拉满
import torch import timedef stress_test_gpu(matrix_size16384, duration300):"""对GPU进行压力测试,通过持续的矩阵乘法来最大化GPU利用率参数:matrix_size: 矩阵维度大小,增大可提高计算复杂度duration: 测试持续时间(秒&…...
涂鸦T5AI手搓语音、emoji、otto机器人从入门到实战
“🤖手搓TuyaAI语音指令 😍秒变表情包大师,让萌系Otto机器人🔥玩出智能新花样!开整!” 🤖 Otto机器人 → 直接点明主体 手搓TuyaAI语音 → 强调 自主编程/自定义 语音控制(TuyaAI…...
MySQL账号权限管理指南:安全创建账户与精细授权技巧
在MySQL数据库管理中,合理创建用户账号并分配精确权限是保障数据安全的核心环节。直接使用root账号进行所有操作不仅危险且难以审计操作行为。今天我们来全面解析MySQL账号创建与权限分配的专业方法。 一、为何需要创建独立账号? 最小权限原则…...
网站指纹识别
网站指纹识别 网站的最基本组成:服务器(操作系统)、中间件(web容器)、脚本语言、数据厍 为什么要了解这些?举个例子:发现了一个文件读取漏洞,我们需要读/etc/passwd,如…...
NPOI操作EXCEL文件 ——CAD C# 二次开发
缺点:dll.版本容易加载错误。CAD加载插件时,没有加载所有类库。插件运行过程中用到某个类库,会从CAD的安装目录找,找不到就报错了。 【方案2】让CAD在加载过程中把类库加载到内存 【方案3】是发现缺少了哪个库,就用插件程序加载进…...
【Linux系统】Linux环境变量:系统配置的隐形指挥官
。# Linux系列 文章目录 前言一、环境变量的概念二、常见的环境变量三、环境变量特点及其相关指令3.1 环境变量的全局性3.2、环境变量的生命周期 四、环境变量的组织方式五、C语言对环境变量的操作5.1 设置环境变量:setenv5.2 删除环境变量:unsetenv5.3 遍历所有环境…...

