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,且…...
利用最小二乘法找圆心和半径
#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …...
Python爬虫实战:研究MechanicalSoup库相关技术
一、MechanicalSoup 库概述 1.1 库简介 MechanicalSoup 是一个 Python 库,专为自动化交互网站而设计。它结合了 requests 的 HTTP 请求能力和 BeautifulSoup 的 HTML 解析能力,提供了直观的 API,让我们可以像人类用户一样浏览网页、填写表单和提交请求。 1.2 主要功能特点…...
【kafka】Golang实现分布式Masscan任务调度系统
要求: 输出两个程序,一个命令行程序(命令行参数用flag)和一个服务端程序。 命令行程序支持通过命令行参数配置下发IP或IP段、端口、扫描带宽,然后将消息推送到kafka里面。 服务端程序: 从kafka消费者接收…...
<6>-MySQL表的增删查改
目录 一,create(创建表) 二,retrieve(查询表) 1,select列 2,where条件 三,update(更新表) 四,delete(删除表…...
mongodb源码分析session执行handleRequest命令find过程
mongo/transport/service_state_machine.cpp已经分析startSession创建ASIOSession过程,并且验证connection是否超过限制ASIOSession和connection是循环接受客户端命令,把数据流转换成Message,状态转变流程是:State::Created 》 St…...
Linux相关概念和易错知识点(42)(TCP的连接管理、可靠性、面临复杂网络的处理)
目录 1.TCP的连接管理机制(1)三次握手①握手过程②对握手过程的理解 (2)四次挥手(3)握手和挥手的触发(4)状态切换①挥手过程中状态的切换②握手过程中状态的切换 2.TCP的可靠性&…...
聊聊 Pulsar:Producer 源码解析
一、前言 Apache Pulsar 是一个企业级的开源分布式消息传递平台,以其高性能、可扩展性和存储计算分离架构在消息队列和流处理领域独树一帜。在 Pulsar 的核心架构中,Producer(生产者) 是连接客户端应用与消息队列的第一步。生产者…...
ffmpeg(四):滤镜命令
FFmpeg 的滤镜命令是用于音视频处理中的强大工具,可以完成剪裁、缩放、加水印、调色、合成、旋转、模糊、叠加字幕等复杂的操作。其核心语法格式一般如下: ffmpeg -i input.mp4 -vf "滤镜参数" output.mp4或者带音频滤镜: ffmpeg…...
Pinocchio 库详解及其在足式机器人上的应用
Pinocchio 库详解及其在足式机器人上的应用 Pinocchio (Pinocchio is not only a nose) 是一个开源的 C 库,专门用于快速计算机器人模型的正向运动学、逆向运动学、雅可比矩阵、动力学和动力学导数。它主要关注效率和准确性,并提供了一个通用的框架&…...
适应性Java用于现代 API:REST、GraphQL 和事件驱动
在快速发展的软件开发领域,REST、GraphQL 和事件驱动架构等新的 API 标准对于构建可扩展、高效的系统至关重要。Java 在现代 API 方面以其在企业应用中的稳定性而闻名,不断适应这些现代范式的需求。随着不断发展的生态系统,Java 在现代 API 方…...

