首页> 云计算&大数据> Docker简介—Zabbix容器安装篇

[文章]Docker简介—Zabbix容器安装篇

收藏
0 1367 0

【摘要】

Docker是开发人员和系统管理员使用容器开发,部署和运行应用程序的平台。使用容器部署应用程序称为容器化。容器具有以下特点:

l  灵活:复杂的应用也可以容器化;

l  轻量:容器是利用和共享主机内核,启动快、资源占用少、体积小;

l  持续部署:即时部署更新和升级应用;

l  便携式:可在本地构建;云端部署。在任何地方可运行;

l  易扩展:可增加并自动分发容器副本;

l  可堆叠:可以纵向的堆叠服务。

【正文】

在众多企业IT运维中,都部署有一套监控系统,用以监控系统状态、应用状态、Web状态、网络等等。其中较常用的为Zabbix监控系统。Zabbix是一套基于Web界面的分布式系统监控的企业级开源软件,通过 C/S 模式采集数据,通过 B/S 模式在 web 端展示和配置。Zabbix支持部署包、源代码、容器安装,此处介绍的是容器安装方式。

   环境准备

l  安装一部Centos操作系统机器;系统版本Centos 7.X以上,内核版本高于3.1064位机器;并安装最新版本Docker


l  因测试环境,关闭防火墙、Selinux

二   安装过程

l  确定Docker正常配置以及运行;


l  输入以下命令,启动一个空的mysql实例容器;

# docker run --name mysql-server -t \  #--name指定容器名称为mysql-server

      -e MYSQL_DATABASE="zabbix" \  #-e为设置环境变量,此处设置数据库实例名为zabbix

      -e MYSQL_USER="zabbix" \  #设置数据库用户名为zabbix

      -e MYSQL_PASSWORD="1qaz@WSX" \  #设置用户密码为1qaz@WSX;

      -e MYSQL_ROOT_PASSWORD="1qaz@WSX" \  #设置root用户密码为1qaz@WSX;

      -d mysql:5.7  # -d为后台运行容器,返回容器ID值;指定mysql版本为5.7


l  输入命令docker run --name zabbix-java-gateway -d zabbix/zabbix-java-gateway:latest。启动Zabbix Java gateway容器;


l  输入以下命令启动一个Zabbix Server容器,并关联MySQL数据库、Java GateWay容器;

# docker run --name zabbix-server-mysql -t \

      -e DB_SERVER_HOST="mysql-server" \

      -e MYSQL_DATABASE="zabbix" \

      -e MYSQL_USER="zabbix" \

      -e MYSQL_PASSWORD="1qaz@WSX" \

      -e MYSQL_ROOT_PASSWORD="1qaz@WSX" \

      -e ZBX_JAVAGATEWAY="zabbix-java-gateway" \

      --link mysql-server:mysql \  #--link添加链接到另外一个容器

      --link zabbix-java-gateway:zabbix-java-gateway \

      -p 10051:10051 \  #-p映射端口,格式为主机(宿主)端口:容器端口;

      -d zabbix/zabbix-server-mysql:latest


l  输入以下命令,启动Zabbix Web接口容器;

# docker run --name zabbix-web-nginx-mysql -t \

      -e DB_SERVER_HOST="mysql-server" \

      -e MYSQL_DATABASE="zabbix" \

      -e MYSQL_USER="zabbix" \

      -e MYSQL_PASSWORD="1qaz@WSX" \

      -e MYSQL_ROOT_PASSWORD="1qaz@WSX" \

      --link mysql-server:mysql \

      --link zabbix-server-mysql:zabbix-server \

      -p 80:80 \

      -d zabbix/zabbix-web-nginx-mysql:latest


三   测试配置

l  使用命令docker ps可查看容器运行状态;


l  使用浏览器输入宿主机IP地址加/zabbix测试是否正常打开页面;初始账号密码为Adminzabbix


l  由告警我们可查看到提示Zabbix Agent无法访问,实际上为未安装Agent。而在Docker中,Agent也是作为一个容器,需启动并链接Zabbix-Server容器才能正常使用。我们可使用命令docker run --name zabbix-agent --link zabbix-server-mysql:zabbix-server -d zabbix/zabbix-agent:latest 启动该容器;


l  使用命令docker inspect 97866d564ac2查看Agent容器的IP地址;


l  在主机中,将Agent代理接口IP更换为Zabbix-agent容器的IP地址;


l  等待一段时间,再次查看仪表板即可看到正常数据,无告警项目;


四   小结

l  在上面的过程中,我们主要是测试了使用Docker安装Zabbix的过程,其中包含了安装MySQL数据库,Zabbix Java gateway,以及Zabbix Web。部署过程简单,也比包安装,源代码安装迅速,且应用占用的资源也大大减少。如下图:


因此我们也可多考虑使用Docker部署企业应用,以便节约更多的资源,方便IT运维部署、更新应用等。


云计算&大数据
最近热帖
{{item.Title}} {{item.ViewCount}}
近期热议
{{item.Title}} {{item.PostCount}}