背景
- 在部署实施zabbix代理的时候,最怕遇到客户有多个版本的Linux操作系统,比如有Redhat,Centos,Ubuntu或者Suse。不同的发行版本又有不同的版本,如redhat 6,redhat7,Suse11,Suse12等等,针对不同发行版的不同版本,我们需要根据源代码,在该操作系统版本进行编译后,生成可执行程序,然后分发到各自的大版本相同的操作系统上面去,进行实施监控。
- 方法步骤其实不难,无非就是准备一个同操作系统环境,安装gcc和相应的库文件,然后开始编译安装生成可执行程序。这种太枯燥了,不符合SRE理念,再者,如果哪天zabbix代理出现严重漏洞或者大功能升级,我们又需要将这些繁琐的工作再进行一遍,实在是费时费力,同时还得维护多个操作系统模版,非常低效率。
解决思路
- Docker是一项非常好玩的技术,他可以在一台机器上面虚拟出多个Linux操作系统环境,目前支持Centos,Ubuntu以及Suse这些操作系统,其他的可以移步到docker的镜像官网进行查看
- 我们可以在docker下面,利用Dockerfile来生成我们的代理程序,具体实现思路如下:
- 选取镜像
- 将zabbix源代码添加到镜像中
- 准备编译环境
- 编译并清理环境
- 将编译后的程序打包
- 执行容器时将打包好的代理放到宿主机指定目录

最低0.47元/天 解锁文章
2295

被折叠的 条评论
为什么被折叠?



