Docker 部署 Zabbix6.4

news2024/9/23 0:48:40

一、安装docker

1.1.离线安装docker

  • docker网址:https://download.docker.com/linux/static/stable/x86_64/
[root@VM-16-15-centos ~]# mkdir docker_install
[root@VM-16-15-centos ~]# cd docker_install/
[root@VM-16-15-centos docker_install]# vim docker.service 
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target

[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
# Uncomment TasksMax if your systemd version supports it.
# Only systemd 226 and above support this version.
#TasksMax=infinity
TimeoutStartSec=0
# set delegate yes so that systemd does not reset the cgroups of docker containers
Delegate=yes
# kill only the docker process, not all processes in the cgroup
KillMode=process
# restart the docker process if it exits prematurely
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s

[Install]
WantedBy=multi-user.target
[root@VM-16-15-centos docker_install]# vim install.sh
#!/bin/sh
tar -xvf ./$1
cp ./docker/* /usr/bin/
cp ./docker.service /usr/lib/systemd/system/
chmod +x /usr/lib/systemd/system/docker.service
systemctl daemon-reload
systemctl start docker
systemctl enable docker.service
docker -v

1.2 安装docker

[root@VM-16-15-centos docker_install]# ls
docker-23.0.3.tgz  docker.service   install.sh
[root@VM-16-15-centos docker_install]# ./install.sh docker-23.0.3.tgz
Docker version 23.0.3, build 3e7cbfd

1.3 更改数据默认存储位置

[root@VM-16-15-centos ~]# cat /etc/docker/daemon.json 
{
  "registry-mirrors": ["http://hub-mirror.c.163.com"],
  "data-root": "/home/docker"
}
  • data-root /graph:取决于具体的系统版本或者kernel版本决定要用data-root还是graph

1.4 查看更改信息

#更改前:
[root@VM-16-15-centos ~]# docker info  | grep "Docker Root Dir"
 Docker Root Dir: /var/lib/docker
#更改后:
[root@VM-16-15-centos ~]# docker info  | grep "Docker Root Dir"
  Docker Root Dir: /home/docker

二、部署docker-zabbix

2.1 拉取镜像

[root@VM-16-15-centos ~]# docker pull zabbix/zabbix-web-nginx-mysql:alpine-6.4-latest
[root@VM-16-15-centos ~]# docker pull zabbix/zabbix-server-mysql:alpine-6.4-latest
[root@VM-16-15-centos ~]# docker pull mysql:8.0

2.2 启动容器

PS:默认情况下,容器的网卡都是经过 NAT 的,为了保证相关服务可以正常被外部访问,容器都使用主机模式的网络(--network=host),即端口连接、端口监听都使用物理机的地址。

#docker网络
[root@VM-16-15-centos ~]# docker network create --subnet 172.20.0.0/16 --ip-range 172.20.240.0/20 zabbix-net
#zb-mysql
[root@VM-16-15-centos ~]# mkdir -p /u01/zabbix_mount/mysql/data   /u01/zabbix_mount/mysql/conf 
[root@VM-16-15-centos ~]# cd /u01/zabbix_mount/mysql/conf
#提前创建my.cnf配置文件
[root@VM-16-15-centos ~]# vim my.cnf
[mysqld]
skip-host-cache
skip-name-resolve
datadir=/var/lib/mysql
socket=/var/run/mysqld/mysqld.sock
secure-file-priv=/var/lib/mysql-files
user=mysql
max_connections=40960

character-set-server = utf8mb4
collation-server = utf8mb4_general_ci
init_connect='SET NAMES utf8mb4'
#lower_case_table_names = 1
explicit_defaults_for_timestamp = true
max_connect_errors = 600
back_log = 110
table_open_cache = 600
table_definition_cache = 700
table_open_cache_instances = 64
thread_stack = 512K
external-locking = FALSE
thread_cache_size = 20
interactive_timeout = 1800
#wait_timeout = 1800
#lock_wait_timeout = 3600
skip-log-bin


pid-file=/var/run/mysqld/mysqld.pid
[client]
socket=/var/run/mysqld/mysqld.sock

!includedir /etc/mysql/conf.d/

[root@VM-16-15-centos ~]#  docker run --name mysql-server -itd \
--restart always  \
-p 10001:3306 \
-v /u01/zabbix_mount/mysql/data:/var/lib/mysql   \
-v /u01/zabbix_mount/mysql/conf/my.cnf:/etc/my.cnf
-e MYSQL_DATABASE="zabbix"      \
-e MYSQL_USER="zabbix"      \
-e MYSQL_PASSWORD="zabbix_pwd"    \
-e MYSQL_ROOT_PASSWORD="root_pwd"   \
--network=zabbix-net   \
mysql:8.0    \
--character-set-server=utf8 \
--collation-server=utf8_bin \
--default-authentication-plugin=mysql_native_password

#server
#创建一个zabbix—server容器把配置文件cp出来用于挂载
[root@VM-16-15-centos ~]# mkdir -p /u01/zabbix_mount/zabbix/conf
[root@VM-16-15-centos ~]# cd /u01/zabbix_mount/zabbix/conf
[root@VM-16-15-centos conf]# docker run -itd --name test-zabbix zabbix/zabbix-server-mysql:alpine-6.4-latest 
d22596ab51f3d9cbec758b97f5b22dd64ab1660491bb58580e59f32c02a0574b
[root@VM-16-15-centos conf]# docker cp test-zabbix:/etc/zabbix/zabbix_server.conf ./
[root@VM-16-15-centos conf]# ls
zabbix_server.conf
#cp之后就可以删除了
[root@VM-16-15-centos conf]#  docker rm -f test-zabbix 
test-zabbix
[root@VM-16-15-centos conf]# docker run --name zabbix-server -itd  \
--restart always  \
-e DB_SERVER_HOST="mysql-server"   \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix"  \
-e MYSQL_PASSWORD="zabbix_pwd" \
-e MYSQL_ROOT_PASSWORD="root_pwd" \
--network=zabbix-net   \
-v /u01/zabbix_mount/zabbix/conf/zabbix_server.conf:/etc/zabbix/zabbix_server.conf \
-p 10051:10051  \
zabbix/zabbix-server-mysql:alpine-6.4-latest

#web
#如上把nginx的配置文件cp出来
[root@VM-16-15-centos ~]# mkdir -p /u01/zabbix_mount/nginx/conf
[root@VM-16-15-centos ~]# cd /u01/zabbix_mount/nginx/conf
[root@VM-16-15-centos conf]# docker run -itd --name test-nginx zabbix/zabbix-web-nginx-mysql:alpine-6.4-latest
d22596ab51f3d9cbec758b97f5b22dd64ab1660491bb5812359f32c02a01234
[root@VM-16-15-centos conf]# docker cp test-nginx:/etc/zabbix/nginx.conf ./
[root@VM-16-15-centos conf]# ls
nginx.conf 
[root@VM-16-15-centos conf]#  docker rm -f test-nginx 
test-nginx
[root@VM-16-15-centos ~]# docker run --name zabbix-web-nginx-mysql -itd \
--restart always  \
-e ZBX_SERVER_HOST="zabbix-server-mysql"  \
-e DB_SERVER_HOST="mysql-server"  \
-e MYSQL_DATABASE="zabbix"  \
-e MYSQL_USER="zabbix"   \
-e MYSQL_PASSWORD="zabbix_pwd" \
-e ZBX_SERVER_NAME="运维系统平台" \
-e MYSQL_ROOT_PASSWORD="root_pwd"  \
--network=zabbix-net \
-p 10002:8080 \
-v /u01/zabbix_mount/nginx/conf/nginx.conf:/etc/zabbix/nginx.conf
zabbix/zabbix-web-nginx-mysql:alpine-6.4-latest
  • ZBX_SERVER_NAME:启动web设置前端页面名称只能设置一次,目前没有找到修改方法;
  • 启动容器后需修改每个容器内时间,否则页面数据展示时间不正常;

2.3 查看

[root@VM-16-15-centos ~]# docker ps -a
CONTAINER ID   IMAGE                                             COMMAND                   CREATED       STATUS        PORTS                                                    NAMES
7c219dc4c4d5   zabbix/zabbix-server-mysql:alpine-6.4-latest      "/sbin/tini -- /usr/…"   3 weeks ago   Up 21 hours   0.0.0.0:10051->10051/tcp, :::10051->10051/tcp            zabbix-server-mysql
9f2b9810914b   zabbix/zabbix-web-nginx-mysql:alpine-6.4-latest   "docker-entrypoint.sh"    3 weeks ago   Up 12 days    8443/tcp, 0.0.0.0:10002->8080/tcp, :::10002->8080/tcp    zabbix-web-nginx-mysql
043bc2106096   mysql:8.0                                         "docker-entrypoint.s…"   3 weeks ago   Up 11 days    33060/tcp, 0.0.0.0:10001->3306/tcp, :::10001->3306/tcp   mysql-server

2.4 访问

  • IP+10002

  • 默认用户名/密码是:Admin/zabbix

在这里插入图片描述
PS:目前版本是官网最新版本;部署过程如有错误请指出。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/506002.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

使用proc文件系统

使用proc文件系统 文章目录 使用proc文件系统1.meminfo文件2. free命令3、创建 /proc 节点4、使用 file_operations 实现 proc 文件读写 导向内核信息5、使用 seq_file 实现 proc 文件的读取 在Linux系统中, “/proc”文件系统十分有用, 它被内核用于向用…

vue3学习四 watch

在vue3中使用watch 来监听某个数据的变化&#xff0c; 因为我们定义数据的时候有 ref 和 reactive 两种方法&#xff0c; 所以watch 也会分出不同的五种情况 当使用 watch 来监听 ref 定义的数据时 <template><div> sum: {{sum}}</div><button click&qu…

java非静态代码块和静态代码块介绍

代码块 SE.10.0…02.28 非静态普通代码块&#xff1a;定义在方法内部的代码块&#xff0c;不用任何关键字修饰&#xff0c;又名构造代码块、实例代码块 静态代码块&#xff1a;用static修饰的代码块 非静态代码块 public class Test {public static void main(String[] args…

【EKF】卡尔曼滤波的一维应用实例

前言 推导了卡尔曼滤波的原理之后&#xff0c;使用一个简单的一维应用实例来训练一下&#xff0c;加深印象。使用一个温度测量的实例来说明&#xff0c;系统的状态方程为&#xff1a; X(k) A*X(k-1) B*u(k-1) w(k-1) Z(k) H*X(k) v(k) 其中 w 为过程噪声&#xff0c;方…

方言翻译APP小程序开发具备哪些功能?

我国语言文华博大精深&#xff0c;很多地方都有着民族特色方言&#xff0c;在当地很盛行但是外地人听不懂也不会说&#xff0c;这就給沟通造成了一定的困扰。方言翻译APP软件是专门针对地方性方言开发的一款系统软件&#xff0c;提供全国各地方言翻译功能&#xff0c;一键在线就…

Android中如何使用GPS

目录 GPS简介 GPS的常用API locationProvider 使用GPS获取位置信息 室内WIFI定位 近距离警报 GPS简介 Gobal Positioning System&#xff0c;全球定位系统&#xff0c;是美国在20世纪70年代研制的一种以人造地球卫星为基础的高精度无线电导航的定位系统&#xff0c;它在全…

【手机摄影】--全集

算了&#xff0c;摄像机太贵了&#xff0c;玩不起&#xff0c;还是看看手机摄影吧。 学习链接 &#xff1a;https://www.bilibili.com/video/BV14e411T7md 1. 认识手机摄影 1.1 局限性 手机的摄像头能够满足大部分场景&#xff0c;但以下场景会受到掣肘&#xff0c;最好还是用…

面试这么简单,阿里原来这么容易就能进去…...

最近和阿里的一个老朋友闲聊&#xff0c;感触颇深&#xff0c;据他说公司近期招聘的测试工程师&#xff0c;大多数候选人都有一个“通病”&#xff1a;在工作2-3年的时候遇到瓶颈&#xff0c;而且是一道很难跨越的坎。 为什么会遇到这种情况&#xff1f;因为大部分测试工程师在…

项目管理基础(第五版)读书笔记

项目管理基础&#xff08;第五版&#xff09;读书笔记 章节概要前言第一章&#xff1a;项目管理概述 日期&#xff1a;2023年3月23日 章节概要 前言 项目管理协会 Project Management Institute。简称PMI。项目管理知识体系指南 Project Management Body Of Knowledge。简称P…

4.QT应用程序主窗口

本章代码见文末链接 主窗口框架 新建Qt Wisgets项目mymainwindow&#xff0c;类名默认MainWindow&#xff0c;基类默认QMainWindow 更改文字如图&#xff0c;如果中文无法直接输入&#xff0c;可以试试复制粘贴 “动作编辑器”中&#xff08;默认在右下角&#xff09;&…

关于IRIG-B码对时的理解和分析

一、IRIG-B是什么&#xff1f; IRIG-B&#xff08;简称B码&#xff09;是一种应用于靶场的串行时间交换码。由美国靶场司令部委员会下属“靶场仪器组”提出的一种时间信息编码标准&#xff08;IRIG是英文InterRange Instrumentation Group的缩写。它是美国靶场司令委员会的下属…

一百零八、Kettle采集Kafka数据到HDFS(踩坑,亲测有效)

Kafka到HDFS&#xff0c;除了用Kafka API和flume之外&#xff0c;还可以用kettle&#xff0c;最大优点是不用写代码&#xff01; 版本&#xff1a;Kettle版本&#xff1a;8.2、Hadoop版本&#xff1a;3.1.3 前提&#xff1a; 详情请看鄙人的一百零一、Kettle8.2.0连接Hive…

pip安装配置清华镜像源scrapy框架,并进行框架的案例演示

文章目录 运行cmd终端后直接输入安装成功scrapy框架安装成功 为什么使用此命令安装scrapy框架成功后创建scrapy项目建议在pycharm终端创建项目打开项目 用scrapy框架实现案例——从新浪网爬取热点并把数据输入到excel表中编辑setting.py文件创建脚本、写入脚本在终端运行脚本文…

长三角生物医药产业加速跑,飞桨螺旋桨为创新药企、医药技术伙伴装上AI大模型引擎...

生物医药是国家“十四五”规划中明确的战略性新兴产业之一。长三角地区是中国生物医药产业的排头兵&#xff0c;也是《“十四五”生物经济发展规划》的“生物经济先导区”之一。据《上海市生物医药产业投资指南》显示&#xff0c;2022 年上海市生物医药产业在 I 类国产创新药数…

新手如何学习挖漏洞?【网络安全】

新手如何学习挖漏洞&#xff1f;看这篇就够了 前言 有不少阅读过我文章的伙伴都知道&#xff0c;我从事网络安全行业已经好几年&#xff0c;积累了丰富的经验和技能。在这段时间里&#xff0c;我参与了多个实际项目的规划和实施&#xff0c;成功防范了各种网络攻击和漏洞利用&…

Cron表达式X分钟执行一次的设计缺陷。SQL JOIN的设计缺陷。在线Cron表达式网站的缺陷。Spring 定时任务的年问题。

Cron Cron表达式 定时任务计划任务 Chronological英 /ˌkrɒnəˈlɒdʒɪk(ə)l/adj. 按发生时间顺序排列的&#xff1b;&#xff08;年龄&#xff09;按时间计算的1. 月 周设计精妙吗&#xff1f; 学习 0/5 * * * * ? * 秒 分 时 日 月 周 年1. 年一般省略。为&#xf…

Live800:服务经济时代,企业如何满足客户需求?

在互联网与市场经济的催化下&#xff0c;我们正在从产品经济时代过渡到服务经济时代。在产品经济时代&#xff0c;企业关注的核心是质量和成本&#xff1b;而在服务经济时代&#xff0c;如何面向客户&#xff0c;满足客户需求则成为企业建立核心竞争力的关键。 具体来说&#x…

【精选】关于洪涝灾害智慧水利和人工智能大模型的解决方案2023版

本资料来源公开网络&#xff0c;仅供个人学习&#xff0c;请勿商用&#xff0c;如有侵权请联系删除 智慧水利平台 实现“全局一盘棋”的智慧水利综合管理&#xff0c;通过“一图、一库、一平台”结合水利大数据、数字孪生与人工智能&#xff0c;为水利工作提供有力的管理抓手&…

SingleR --细胞注释

文章目录 briefExample使用内置的 references使用其他注释好的数据集作为 reference singleR还提供了注释诊断的方法 brief Example The celldex package provides access to several reference datasets (mostly derived from bulk RNA-seq or microarray data)。 The Human…

《狂飙》原著来了,邀你重新见证

2023年的开篇十分精彩且丰富&#xff0c;经历过生活的不幸&#xff0c;新的一年万物复兴&#xff0c;每个人心底那颗躁动的心又重新释放&#xff0c;希望新的开始不负所望&#xff0c;年末复盘时所得皆所愿&#xff01; 开篇 开年影视第一炮&#xff0c;炸出了所有人被压抑的内…