Docker安装zabbix

1、zabbix组件提供了Ubuntu和Alpine Linux的基础镜像

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

2、拉取镜像

mysql:docker pull mysql

zabbix-server:docker pull zabbix/zabbix-server-mysql

zabbix-web-nginx-mysql:docker pull zabbix/zabbix-web-nginx-mysql

zabbix-agent:docker pull zabbix/zabbix-agent

3、部署服务,此处要注意顺序,mysql;zabbix-server;zabbig-web-nginx

部署mysql

docker run --name mysql-server -t  -e MYSQL_DATABASE="zabbix"  -e MYSQL_USER="zabbix"  -e MYSQL_PASSWORD="zabbix"  -e MYSQL_ROOT_PASSWORD="root"  -p 3306:3306 -d mysql:5.7

查看mysql容器的ip

docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' mysql-server

172.18.0.2

或者docker inspect mysql-server|grep IPAddress

部署zabbix-server

docker run --name zabbix-server-mysql -t -e DB_SERVER_HOST="172.18.0.2" -e MYSQL_DATABASE="zabbix" -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="zabbix"      -e MYSQL_ROOT_PASSWORD="root" --link mysql-server:mysql -p 10051:10051 -d zabbix/zabbix-server-mysql:latest

(突然想到DB_SERVER_HOST和--link的关系,猜测同一宿主机的话二存一,不同宿主机的话需配DB_SERVER_HOST,待验证;其次Docker集群中如何配置还需要再学习)

查看zabbix-server的IP

docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' zabbix-server-mysql

172.18.0.3

部署zabbix-web-nginx

docker run --name zabbix-web-nginx-mysql -e DB_SERVER_HOST="172.18.0.2" -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="zabbix" -e ZBX_SERVER_HOST="172.18.0.3" -e PHP_TZ="Asia/Shanghai" --link zabbix-server-mysql:zabbix-server --link mysql-server:mysql -p 80:80 -d zabbix/zabbix-web-nginx-mysql:latest

(DB_SERVER_HOST,ZBX_SERVER_HOST与--link关系需再学习)

4、浏览器输入宿主机,登录zabbix

期间遇到过无法链接数据库的情况,提示不能链接作为proxy的数据库

此时需要重新导入zabbix数据库文件schema.sql、images.sql、data.sql

drop database zabbix;

mysql -h172.18.0.2 -uzabbix -pzabbix zabbix < schema.sql

mysql -h172.18.0.2 -uzabbix -pzabbix zabbix < images.sql

mysql -h172.18.0.2 -uzabbix -pzabbix zabbix < data.sql

此时应该可以成功登录zabbix,部署完成

你可能感兴趣的:(Docker安装zabbix)