zabbix容器化部署实践
声明:
本博客欢迎转发,但请保留原作者信息!
博客地址:http://t.51gocloud.com
新浪微博:@线超博
内容系本人学习、研究和总结,如有雷同,实属荣幸!
zabbix是一个开源分布式监控解决方案,数据采集监控通过agent、ipmi、snmp等方式,最终采集结果通过WEB页面呈现。本文主要介绍通过容器方式安装部署zabbix(3.0版本)。
环境:两台ubuntu14.04,一台用于zabbix server;一台用于安装zabbix agent(被监控的节点)
1、部署zabbix server
(1)安装数据容器
数据容器提供数据库数据的持久化,采用busybox,将本地目录通给这个容器,目的是为了将数据库容器的数据和Host解耦,将耦合点都集中在此容器中。
docker run -d -v /var/lib/mysql --name zabbix-db-storage busybox:latest
(2)安装数据库容器
docker run \ -d \ --name zabbix-db \ -v /backups:/backups \ -v /etc/localtime:/etc/localtime:ro \ --volumes-from zabbix-db-storage \ --env="MARIADB_USER=zabbix" \ --env="MARIADB_PASS=my_password" \ zabbix/zabbix-db-mariadb
(3)安装zabbix server
docker run \ -d \ --name zabbix \ -p 80:80 \ -p 10051:10051 \ -v /etc/localtime:/etc/localtime:ro \ --link zabbix-db:zabbix.db \ --env="ZS_DBHost=zabbix.db" \ --env="ZS_DBUser=zabbix" \ --env="ZS_DBPassword=my_password" \ zabbix/zabbix-3.0:latest
关于zabbix server容器的更多环境变量参数,可以参考https://hub.docker.com/r/zabbix/zabbix-3.0/
(4)检查是否正常
如果正常,等待60秒时间,然后访问zabbix WEB(HostIP:80),可以看到登录页面,默认用户名密码为admin/zabbix
zabbix-3.0容器中包含了一个默认的agent,但默认是disable状态,可以将其enable,然后就可以看到zabbix server监控信息。
2、部署agent
zabbix agent本文采用apt方式安装,当然docker hub上也有一些zabbix agent容器,这些容器都是为了监控特定信息定制化的,比如monitoringartist/zabbix-agent-xxl,主要用来监控docker
(1)安装zabbix agent
$aptitude install zabbix-agent
(2)配置zabbix agent
修改配置文件/etc/zabbix/zabbix_agentd.conf,相关配置项有:
Server=10.229.51.250 (Server IP) ServerActive=10.229.51.250 (Server IP) Hostname=Host250 (这个名字很重要,下面在Server中增加agent会使用到这个name)
(3)zabbix server增加这个agent