前言
Zabbix官方提供有Docker镜像,本文结合资料记录一次使用Docker搭建Zabbix的过程,Docker、Zabbix的使用及介绍不再赘述。
##Docker源文件##
所有Zabbix组件都下列Docker源码库中提供:
- Zabbix agent :
zabbix/zabbix-agent
-
Zabbix server:
Zabbix server(支持MySQL数据库)
zabbix/zabbix-server-mysql
Zabbix server(支持PostgreSQL数据库):
zabbix/zabbix-server-pgsql
-
Zabbix web接口:
基于Apache2 web服务器及支持MySQL数据库的Zabbix web接口
zabbix/zabbix-web-apache-mysql
基于Nginx web服务器及支持MySQL数据库的Zabbix web接口
zabbix/zabbix-web-nginx-mysql
基于Nginx web服务器及支持PostgreSQL数据库的Zabbix web接口
zabbix/zabbix-web-nginx-pgsql
-
Zabbix proxy:
Zabbix proxy(支持SQLite3数据库)
zabbix/zabbix-proxy-sqlite3
Zabbix proxy(支持MySQL数据库)
zabbix/zabbix-proxy-mysql
Zabbix Java Gateway - zabbix/zabbix-java-gateway
另外,对于SNMP trap的支持,这里只基于Ubuntu Trusty提供额外的源代码库(zabbix/zabbix-snmptraps)。 这可以关联Zabbix server和Zabbix proxy使用。
本文作者使用的镜像有:
mysql:5.7
zabbix/zabbix-java-gateway:latest
zabbix/zabbix-server-mysql:latest
zabbix/zabbix-web-nginx-mysql:latest
##过程##
1、安装Docker镜像
➜ ~ docker pull mysql:5.7
➜ ~ docker pull zabbix/zabbix-java-gateway:latest
➜ ~ docker pull zabbix/zabbix-server-mysql:latest
➜ ~ docker pull zabbix/zabbix-web-nginx-mysql:latest
2、启动一个空的MySQL服务器实例
➜ ~ docker run --name mysql-server -t \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zabbix_pwd" \
-e MYSQL_ROOT_PASSWORD="root_pwd" \
-d mysql:5.7
3、启动Zabbix Java gateway实例
➜ ~ docker run --name zabbix-java-gateway -t \
-d zabbix/zabbix-java-gateway:latest
4、启动Zabbix server实例,并关联这个实例到已创建的MySQL服务器实例
➜ ~ docker run --name zabbix-server-mysql -t \
-e DB_SERVER_HOST="mysql-server" \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zabbix_pwd" \
-e MYSQL_ROOT_PASSWORD="root_pwd" \
-e ZBX_JAVAGATEWAY="zabbix-java-gateway" \
--link mysql-server:mysql \
--link zabbix-java-gateway:zabbix-java-gateway \
-p 10051:10051 \
-d zabbix/zabbix-server-mysql:latest
5、启动Zabbix web 接口,并将它与MySQL服务器实例和Zabbix server实例关联
➜ ~ 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="zabbix_pwd" \
-e MYSQL_ROOT_PASSWORD="root_pwd" \
--link mysql-server:mysql \
--link zabbix-server-mysql:zabbix-server \
-p 80:80 \
-d zabbix/zabbix-web-nginx-mysql:latest
在使用上面命令运行容器时注意容器之间是相关联的,数据库密码要与之对应,不然会连接不了数据库。
7、浏览器访问http://127.0.0.1
,进入Zabbix服务web界面,刚进入是会显示一个Database Error:
稍等一会,初始化完成就会自动进入登录界面:
键入初始帐号Admin密码zabbix,即可登录进去监控页面:
至此,使用Docker搭建Zabbix服务完成,实现「秒起」Zabbix服务。
结尾
对此虽已实现Docker启动Zabbix服务,但对于Zabbix镜像的一些使用还处在一知半解的水平,如对Zabbix镜像zabbix-agent、数据持久化、以及镜像允许使用的挂载点的相关操作等,在日后的学习使用中继续对相关博文进行更新。
感兴趣的朋友可以查看官方文件进行深入的学习和使用。
中文文档地址:
https://www.zabbix.com/documentation/3.4/zh/manual
谢谢浏览,祝您生活愉快。
为什么进不去呀。。
按照你的方式来的呀