栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

2021-11-15

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

2021-11-15

docker 部署zabbix -----(上)

上次安装完docker,今天将通过docker来安装部署zabbix

1. 什么是zabbix?

Zabbix是基于web界面的分布式系统监控与网络设备监控系统,能够监控各种网络参数,Zabbix server 端与Zabbix agent组成,可以通过SNMP,Zabbix,Agent,Ping,端口监视等方法实现对远程主机与网络设备的监控。

现在市面上常见的企业使用使用的比较多的服务器监控系统有,如cacti,nagios,ganglia;但是它们都具有一定的优缺点,像cacti①系统,它是基于PHP,MySQL,SNMP及RRDTool开发的网络流量图形分析工具;它相对来说图形界面做的比较好,擅长图形化显示,但是对于添加监控项的操作非常繁琐;nagios②是一款开源的网络监视工具,能够有效监控Windows,linux和主机状态,交换机路由器等网络设备,在系统或者服务器状态异常时,能够发送邮件和短信报警第一时间通知网站的运维人员,在恢复正常时也会通知。但是nagios本身不提供监控功能,所有的监控功能都要靠插件实现,需要在监控机上安装agent插件;nagios添加监控项的操作比较容易,而且还可以自定义自己想要监控的东西,但是它不能图形化。所以一般企业都会把cacti和nagios结合起来使用;ganglia③是一个分布式集群监控系统,适合于上千台大型规模的监控系统,因为它性能成本比较低,消耗资源比较少,对于大规模批量管理比较方便;但是它有一个确定是它不能告警,对于一个监控系统来说,能监控系统,也能批量管理,但是不能告警,这是很头痛的;对于一个监控系统来说,我们最根本希望的是,当系统或者是服务出现问题或者遇到瓶颈时,能够自动化的告警告诉运维人员,避免服务和系统出现问题时相应不及时;所以有的企业使用ganglia时都会对它进行二次开发,调用邮件,短信等接口;
Zabbix是集成了上面三者的所有优势,能够出图,也能够自定义监控项,也能够自定义化的发送告警升级,还可以通过不同的媒介发送告警信息(邮件、短信。钉钉)等。

2.zabbix的原理

这里放张图可以清晰看zabbix的原理

zabbix是一个c/s架构,zabbix客户端从本地获取数据,传输给zabbix服务端,服务端会将这些数据保存到数据库,还有把数据传输到zabbix前端,以图像化的形式展示出来;在需要监控上千主机服务或者集群时,就需要用zabbix-proxy代理;
zabbix也是开源的,这里附上zabbix的官方网站:zabbix官方网站
这里再补充一下上次安装docker测试镜像run命令,docker执行的过程
这里放上一张图

#docker run hello-world 

这一命令docker首先会在本地寻找镜像,有就直接运行,没有的话会远程到docker仓库下载,如果远程仓库也没有就会报错,有的话就下载到本地再运行;

3.docker 部署zabbix
#从docker里面搜索zabbix
#docker search zabbix


这里选择zabbix-appliance,支持mysql,nginx;
可以进入zabbix官网查看描述


或者进入docker官网搜索zabbix-appliance
docker搜索zbbix链接

#下载zbbix-appliance
#docker pull zabbix/zabbix-appliance
下载的直接是最新的

ps:下载镜像和yum时,都需要在网络很好的状态下,许多人下载会出现网络超时的情况,这里可以用阿里云加速器
附上阿里云加速器的链接(支付宝,钉钉都可以扫码绑定)
阿里云加速器链接

下载完查看下载的镜像
#docker image ls
可以看到镜像名字,创建时间,镜像的id和大小
开启zabbix-appliance,
#docker run --name xkdzabbix -p 80:80 -p 10051:10051  -d zabbix/zabbix-appliance
执行该操作前别忘了先打开docker服务,
#systemctl start docker.service
#systemctl status docker.service


我这里操作时,因为安装虚拟机时,磁盘分区给var区内存太小,导致没有正常开启镜像,下篇记录虚拟机怎么扩容分区,以及虚拟机安装时,磁盘应该怎么分区;
ok,执行完命令时,让我们测试一下,有没有成功;
打开新的网页输入我们虚拟机的ip地址;

账号:Admin
密码:zabbix

!!!!!
但是docker只是运行一个镜像,当我们关闭镜像时,数据就会丢失,那数据库保存数据?这时候就要创建卷来长期保存数据?

查看容器
# docker inspect zabbix/zabbix-appliance:latest


可以看到Volumes,下面这段是可以有这些点可以去关联和挂载

那我们怎么去关联它

首先先关闭我们刚刚开启的容器
# docker container stop xkdzabbix
删除刚刚的容器,这里不删除等下要重新换个名字使用镜像,没有必要,所以这里先删除
# docker container rm xkdzabbix
然后进行挂载(将卷挂载到mysql的路径下)
# docker run --name xkdzabbix -p 80:80 -p 10051:10051 -v xkdzabbix-data:/var/lib/mysql -d zabbix/zabbix-appliance
再次查看路径下的数据
# ls /var/lib/docker/volumes/xkdzabbix-data/_data


现在你再去网页那里进行任何操作,数据都会被保存下来,比如网页改为中文,添加一个监控主机,删除容器,再次登录上次添加的内容和数据都还在的;

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/511086.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号