Docker 安装 Zabbix分布式系统监视

Zabbix百科简述

  • zabbix(zæbiks)是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
  • zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。
  • zabbix由2部分构成,zabbix server与可选组件zabbix agent。
  • zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X等平台上。

1、安装参数说明

参数 描述
DB_SERVER_HOST 此变量是MySQL或PostgreSQL服务器的IP或DNS名称。默认情况下,MySQL和PostgreSQL的值分别是MySQL -server和PostgreSQL -server
DB_SERVER_PORT 104/5000 此变量是MySQL或PostgreSQL服务器的端口。默认值分别为'3306'或'5432'。
MYSQL_USER MySQL默认用户,默认为 'zabbix'.
MYSQL_PASSWORD MySQL数据库密码,默认为zabbix
MYSQL_DATABASE MySQL数据库的名称,默认为zabbix
POSTGRES_USER PostgreSQL 数据库用户. 默认值为'zabbix'
POSTGRES_PASSWORD PostgreSQL数据库密码,默认为zabbix
POSTGRES_DB PostgreSQL数据库的名称,默认为zabbix
PHP_TZ PHP格式的时区。支持的时区的完整列表可在php.net上获得。默认值是'Europe/Riga'。
ZBX_SERVER_NAME 在web界面的右上角可见Zabbix安装名,默认值是'Zabbix Docker'
ZBX_JAVAGATEWAY_ENABLE 启用与Zabbix Java网关的通信来收集Java相关检查。默认值为“false”
ZBX_ENABLE_SNMP_TRAPS 启用SNMP陷阱特性。它需要Zabbix-snmptraps实例和共享卷/var/lib/zabbix/snmptraps到Zabbix服务器或Zabbix代理。
restart always 总是要重启zabbix,docker或Linux服务挂了,然后服务重启了会跟着启动服务

2 案例一、MySQL

2.1 启动一个空MySQL实例

docker run --name mysql-server --restart always -t  \
  -e MYSQL_DATABASE="zabbix" \
  -e MYSQL_USER="zabbix" \
  -e MYSQL_PASSWORD="zabbix_pwd" \
  -e MYSQL_ROOT_PASSWORD="root_pwd" \
  -d mysql:5.7 \
  --character-set-server=utf8 --collation-server=utf8_bin

2.3、启动一个 Zabbix Java 网关实例

docker run --name zabbix-java-gateway -t -d zabbix/zabbix-java-gateway:latest

2.4、启动Zabbix服务器实例,并将该实例与创建的MySQL服务器实例链接

docker run --name zabbix-server-mysql --restart always -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

2.5、启动Zabbix web接口,并将实例与创建的MySQL服务器和Zabbix服务器实例链接起来

docker run --name zabbix-web-nginx-mysql --restart always -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

3 案例一、PostgreSQL

3.1 启动一个空PostgreSQL 实例

docker run --name postgres-server --restart always -t \
    -e POSTGRES_USER="zabbix" \
    -e POSTGRES_PASSWORD="zabbix" \
    -e POSTGRES_DB="zabbix_pwd" \
    -d postgres:latest

3.2 启动Zabbix snmptraps实例

docker run --name zabbix-snmptraps --restart always -t \
   -v /zbx_instance/snmptraps:/var/lib/zabbix/snmptraps:rw \
   -v /var/lib/zabbix/mibs:/usr/share/snmp/mibs:ro \
   -p 162:162/udp \
   -d zabbix/zabbix-snmptraps:latest

3.3 启动Zabbix服务器实例,并将该实例与创建的PostgreSQL服务器实例链接

docker run --name zabbix-server-pgsql --restart always -t \
    -e DB_SERVER_HOST="postgres-server" \
    -e POSTGRES_USER="zabbix" \
    -e POSTGRES_PASSWORD="zabbix" \
    -e POSTGRES_DB="zabbix_pwd" \
    -e ZBX_ENABLE_SNMP_TRAPS="true" \
    --link postgres-server:postgres \
    -p 10051:10051 \
    --volumes-from zabbix-snmptraps \
    -d zabbix/zabbix-server-pgsql:latest

3.4 启动Zabbix web接口,并将实例与创建的PostgreSQL服务器和Zabbix服务器实例链接起来

docker run --name zabbix-web-nginx-pgsql --restart always -t \
   -e DB_SERVER_HOST="postgres-server" \
   -e POSTGRES_USER="zabbix" \
   -e POSTGRES_PASSWORD="zabbix" \
   -e POSTGRES_DB="zabbix_pwd" \
   --link postgres-server:postgres \
   --link zabbix-server-pgsql:zabbix-server \
   -p 443:443 \
   -v /etc/ssl/nginx:/etc/ssl/nginx:ro \
   -d zabbix/zabbix-web-nginx-pgsql:latest

4、docker-compose安装

4.1 案例一

docker-compose -f ./docker-compose_v2_alpine_mysql_latest.yaml up -d

4.2 案例二

docker-compose -f ./docker-compose_v2_ubuntu_mysql_local.yaml up -d

5、参考文档

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Zabbix简介 Zabbix官方网站Zabbix中文文档 本文系统环境是CentOS7x86_64, Zabbi...
    Zhang21阅读 12,493评论 0 37
  • 一、选择你的平台ZABBIX-4.2OS分布-CentOS7.6数据库-MySQL二、为您的平台安装和配置Zabb...
    zwb_jianshu阅读 11,081评论 0 1
  • 服务端安装 mkdir -p /home/docker_data/mysql mkdir -p /home/doc...
    那个_夏天阅读 4,571评论 0 1
  • zabbix(音同 zæbix)是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。 ...
    Chris_Zheng阅读 9,303评论 0 15
  • 一、zabbix简介 zabbix(音同 zæbix)是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企...
    JokerW阅读 9,781评论 2 29

友情链接更多精彩内容