Zabbix技术分享compose快速部署zabbix监控系
前面文章有提到过使用docker来快速拉起一个zabbix监控系统(详见:如何使用docker快速部署一个zabbix监控系统),但是要一个个执行docker启动命令去将对应的容器启动。如果要配置参数多,那敲启动命令就是一件让人心累的事情。而且敲完后若没有保存启动命令,后面的管理也是比较麻烦,并且如果容器数量较多,还要一个个手敲启动命令,这就非常的不方便。
所以为了解决这个问题,并且更加高效的启动一个zabbix监控系统。现在使用dockercompose这个容器编排工具来高效的启动zabbix监控系统。1。Dockercompose介绍DockerCompose项目是Docker官方的开源项目,负责实现对Docker容器集群的快速编排,并且提供了scale(服务扩容)的功能。DockerCompose将所管理的容器分为三层,分别是工程(project),服务(service)以及容器(container)。DockerCompose运行目录下的所有文件(dockercompose。yml,extends文件或环境变量文件等)组成一个工程,若无特殊指定工程名即为当前目录名。一个工程当中可包含多个服务,每个服务中定义了容器运行的镜像,参数,依赖。一个服务当中可包括多个容器实例,DockerCompose并没有解决负载均衡的问题,因此需要借助其它工具实现服务发现及负载均衡。DockerCompose的工程配置文件默认为dockercompose。yml,可通过环境变量COMPOSEFILE或f参数自定义配置文件,其定义了多个有依赖关系的服务及每个服务运行的容器。使用一个Dockerfile模板文件,可以让用户很方便的定义一个单独的应用容器。在工作中,经常会碰到需要多个容器相互配合来完成某项任务的情况。例如要实现一个Web项目,除了Web服务容器本身,往往还需要再加上后端的数据库服务容器,甚至还包括负载均衡容器等。Compose允许用户通过一个单独的dockercompose。yml模板文件(YAML格式)来定义一组相关联的应用容器为一个项目(project)。DockerCompose项目由Python编写,调用Docker服务提供的API来对容器进行管理。因此,只要所操作的平台支持DockerAPI,就可以在其上利用Compose来进行编排管理。2。基础语法
Dockercompose就是通过dockercompose。yaml文件所定义的容器作为一个项目,从而进行docker容器的管理。下面就对dockercompose。yaml模板文件的常用基础语法进行一个简单的解释2。1。containername
Compose的容器默认名称格式是:项目名称服务名称序号
虽然可以自定义项目名称、服务名称,但是如果你想完全控制容器的命名,可以使用这个标签指定:
比如我要制定一个mysql容器的名为mysqltest,那么
version:3
services:
mysql:
containername:mysqltest2。2。image
指定服务的镜像名称或镜像ID。如果镜像在本地不存在,Compose将会尝试拉取这个镜像。
比如我要制定一个mysql容器,使用的镜像名为mysql:8。0,那么
version:3
services:
mysql:
image:mysql:8。02。3。dependson
在使用Compose时,最大的好处就是少打启动命令,但是一般项目容器启动的顺序是有要求的,如果直接从上到下启动容器,必然会因为容器依赖问题而启动失败。
例如在没启动数据库容器的时候启动了应用容器,这时候应用容器会因为找不到数据库而退出,为了避免这种情况我们需要加入一个标签,就是dependson,这个标签解决了容器的依赖、启动先后的问题。
比如我要先启动一个MySQL,后启动nginx,那么
version:3
services:
nginx:
image:nginx:1。16。1
dependson:
mysql
mysql:
image:mysql:8。02。4。environment
这是设置镜像的环境变量,直接将变量定义到镜像里面,这样启动容器时会自动读取该环境变量
如启动一个MySQL容器,要设置它的root初始化密码为123456,那
version:3
services:
mysql:
image:mysql:8。0
environment:
MYSQLROOTPASSWORD:1234562。5。ports
该参数是将宿主机的端口映射到容器端口,从而在宿主机访问对应的端口能访问到容器内。
如要讲MySQL容器的3306端口映射到宿主机的33060端口,那
version:3
services:
mysql:
image:mysql:8。0
ports:
33060:33062。6。volumes
挂载一个目录或者一个已存在的数据卷容器,可以直接使用〔HOST:CONTAINER〕这样的格式,或者使用〔HOST:CONTAINER:ro〕这样的格式,后者对于容器来说,数据卷是只读的,这样可以有效保护宿主机的文件系统。
Compose的数据卷指定路径可以是相对路径,使用。或者。。来指定相对目录。
version:3
services:
mysql:
image:mysql:8。0
volumes:
。data:varlibmysql
varlogmysql:varlogmysql3。安装dockercompose
选择对应版本下载安装包
https:github。comdockercomposereleases?after1。28。0
上传到服务器修改名称并授权
mvdockercomposex86dockercompose
chmodxdockercompose
测试
。dockercomposev
安装
mvdockercomposeusrbin
4。编写zabbix监控系统的dockercompose。yaml文件
version:3。7
services:
mysql:
containername:mysql
image:mysql:latest
restart:always
environment:
MYSQLDATABASE:zabbix
MYSQLROOTPASSWORD:zabbix2022
ports:
3306:3306
volumes:
datamysql:varlibmysql
zabbixserver:
containername:zabbixserver
image:zabbixzabbixservermysql:latest
restart:always
dependson:
mysql
environment:
MYSQLDATABASE:zabbix
MYSQLPASSWORD:zabbix2022
MYSQLUSER:root
DBSERVERHOST:192。168。75。31
DBSERVERPORT:3306
ports:
10051:10051
volumes:
datazabbixalertscripts:usrlibzabbixalertscripts
datazabbixexternalscripts:usrlibzabbixexternalscripts
zabbixweb:
containername:zabbixweb
image:zabbixzabbixwebnginxmysql:latest
restart:always
dependson:
mysql
zabbixserver
environment:
MYSQLDATABASE:zabbix
MYSQLPASSWORD:zabbix2022
MYSQLUSER:root
DBSERVERHOST:192。168。75。31
DBSERVERPORT:3306
ZBXSERVERHOST:192。168。75。31
ZBXSERVERPORT:10051
ports:
8080:8080
zabbixagent:
containername:zabbixagent
image:zabbixzabbixagent:latest
restart:always
dependson:
mysql
zabbixserver
environment:
ZBXHOSTNAME:192。168。75。31
ZBXSERVERHOST:172。18。0。1
ports:
10050:10050
5。启动zabbix监控系统
别忘了安装docker!
编写好zabbix监控系统的dockercompose。yaml文件后,就可以启动系统了
Dockercomposeupd
如图所示,已成功启动6。验证监控系统
我这边web端口映射为宿主机的18080,所以访问zabbix界面,那就是IP18080
默认的账号密码:
Admin
zabbix
如图,成功访问。
这一期的Zabbix技术内容到这就结束了。我是乐维IT君,专注运维技术分享,更多Zabbix技术及其他运维内容,还可以查看我的往期内容,zabbix服务,zabbix配置,zabbix部署等zabbix服务解决方案。
离婚4年后,宋仲基官宣再婚!网友双宋这次真的结束了有多少网友被突如其来的消息砸醒了:宋仲基官宣再婚,并透露新婚妻子已经怀孕。很多围观群众都觉得这人生进程有些狂飙,要知道他上个月才刚公开新恋情。经纪公司说他们已……
淘云科技执行总裁王珩她力量开启行业制胜密钥来源:【中安在线】中安在线、中安新闻客户端讯合肥市产业领军人才、清华大学EMBA在读,东南大学管理科学与工程专业硕士,知名人工智能企业执行总裁在淘云科技的大女主王珩身上,……
官方马丁内斯当选FIFA年度最佳门将,生涯首次当选直播吧2月28日讯官方消息,马丁内斯当选FIFA年度最佳门将,在评选中他击败了库尔图瓦和布努。在去年的卡塔尔世界杯上,马丁内斯作为阿根廷队的主力门将,随队捧得大力神杯。他……
意天空穆帅不爽的根源是罗马计划三年争冠,现在遥不可及昨天意大利天空体育罗马跟队记者AngeloMangiante在专栏文章中详细分析了穆里尼奥心中的不爽情绪,根源在于罗马当初制定的三年计划未能实现,基本看不到争夺意甲冠军的希望。……
癌症为何容易扎堆出现?问:癌症为何容易扎堆出现?癌症确实存在遗传的可能性:1。由于继承了家族性的基因缺陷,有些人患上某些癌症的几率会大大增加。2。癌症容易在同一家族内出现,绝大部分……
感恩节感谢生命中的遇见茫茫人海,单单是遇见就已经是一件了不起的事情。因为这份缘分让我们成为爱人、亲人、朋友,成为生命中不可或缺的一部分。当然,也会遇到一些擦肩而过的人,简单的点头之交,而……
从老李到庆子,网红李国庆的新故事作为中国第一代互联网大佬,李国庆有过自己的高光时刻。1999年11月,马云在杭州创立阿里巴巴两个月后,李国庆和海归妻子俞渝在北京创办图书电商平台当当网。彼时,李国庆……
杨紫成为央视新宠儿,新戏刚定档又被点名宣传杨紫成了央视的新宠儿,主演的电影《猎毒》更被官方3度点名宣传。(取自微博)90后四小花旦之一的女星杨紫,有3部戏因有劣迹艺人参演,导致无缘播出,让她从流量霸屏女王变成年度……
保罗加索尔揭示了为什么科比在湖人没有很多朋友科比布莱恩特永远被认为是有史以来最伟大的篮球运动员之一。事实证明,这位洛杉矶湖人队的偶像从来都不是真正的最佳队友至少在球场外建立亲密的个人关系方面是这样。保罗加索尔,湖人……
美白肌肤小秘诀,赶紧收藏随着年龄的增长以及外界灰尘、紫外线等因素的影响,我们的皮肤会出现色斑、肤色暗沉、肤色不均等问题,而白皙细腻的肌肤可以让一个人的气质和形象得到大程度的提升,让大多数爱美人士的自信……
自比KO乔治的苏波邦,秋元皓贵我在不断进化,会终止邱建良连胜12月3日ONE:冬日战神中,中国拳迷最关注的比赛无疑是坦克邱建良对战日本名将秋元皓贵。这场比赛开场铃声还没响起,场外就已经火药味十足。中国拳手只会莽撞进攻,是最容易对付的对手……
台湾没有手抓饼,温州没有大馄饨台湾夜市,士林大香肠。摄影JasrelleSerrano;图unsplash风物君语在台湾,手抓饼是天津的在天津,手抓饼是台湾的不用怀疑,就是这么神奇……