欢迎光临,赤鹿小组
记录过程,分享经验

使用Docker搭建Zabbix服务

前言

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

谢谢浏览,祝您生活愉快。

赞(5)

评论 1

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #1
    头像

    为什么进不去呀。。
    按照你的方式来的呀

    张伟 5个月前 (05-22) 来自天朝的朋友 火狐浏览器 Windows 10 回复