当前位置 博文首页 > Stefan的博客:部署安装 Zabbix 详解 --- 分别使用 Docker 和 rp
docker hub
运维离不开系统监控,鱼儿哭了大海知道,服务器崩了,监控知道。一款强大的监控系统可以有力保证设备和业务的稳定。作为老牌的监控系统,Zabbix 的架构包括了被监控设备和 Zabbix 监控服务器两大部分。
Zabbix Agent 运行在被监控设备上,负责和 Zabbix Server 通信获取和控制被监控设备,它有主动和被动两种工作模式。
Zabbix Server 作为监控核心,可以直接与 Zabbix Agent 连接也可以通过 Zabbix Proxy 进行连接,再由 Zabbix Proxy 连接 Zabbix Agent。后面这种方式用在分布式监控的场景。
Zabbix Server 获取的数据存放到 Zabbix Server 的数据库中,Zabbix UI(Web)可以读取服务器中的数据,通过图表的方式展示出来。
Zabbix 构建过程,分为安装 Zabbix Agent/Server/UI,Host 配置,Item 配置,Trigger 配置,Action 配置。
这个配置过程完美地回答了,“监控谁?监控什么?出现异常以后如何处理?”的问题。
最后,针对不同应用场景,Zabbix 还支持多种监控方式,有 Zabbix Agent,SNMP,IPMI 以及 JMX。
从容器安装 Zabbix Documentation 3.4
Download and install Zabbix
docker run --name mysql-server -t \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zabbix" \
-e MYSQL_ROOT_PASSWORD="zabbix" \
-d mysql:5.7 \
--character-set-server=utf8 --collation-server=utf8_bin
docker run --name zabbix-java-gateway -t \
-d zabbix/zabbix-java-gateway:latest
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
docker run --name zabbix-server-mysql -t \
**-e DB_SERVER_HOST="119.18.193.26" \**
-e DB_SERVER_PORT="3306" \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="root" \
-e MYSQL_ROOT_PASSWORD="123456" \
-e ZBX_JAVAGATEWAY="zabbix-java-gateway" \
--link zabbix-java-gateway:zabbix-java-gateway \
-v /home/zabbix/alertscripts:/usr/lib/zabbix/alertscripts \
-v /home/zabbix/externalscripts:/usr/lib/zabbix/externalscripts \
-p 10051:10051 \
-d zabbix/zabbix-server-mysql:alpine-4.2.6
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 10050:80 \
-d zabbix/zabbix-web-nginx-mysql:latest
docker run --name zabbix-web -t \
-p 10050:80 \
--hostname zabbix-web \
-e PHP_TZ="Asia/Shanghai" \
-e DB_SERVER_HOST="119.18.193.26" \
-e DB_SERVER_PORT="3306" \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zabbix" \
-e MYSQL_ROOT_PASSWORD="123456" \
**--link zabbix-server-mysql:zabbix-server \**
-d zabbix/zabbix-web-nginx-mysql:alpine-4.2.6
[root@ken ~]# ss -tnl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 127.0.0.1:9000 *:*
LISTEN 0 50 *:3306 *:*
LISTEN 0 50 *:139 *:*
LISTEN 0 128 *:80 *:*
LISTEN 0 128 *:22 *:*
LISTEN 0 50 *:445 *:*
LISTEN 0 50 :::139 :::*
LISTEN 0 128 :::80 :::*
LISTEN 0 128 :::10050 :::*
LISTEN 0 50 :::445 :::*
LISTEN 0 128 :::10051 :::*
[root@zabbix_server ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
98cbe8d8a6bd zabbix/zabbix-web-nginx-mysql:latest "docker-entrypoint.sh" 6 seconds ago Up 5 seconds 443/tcp, 0.0.0.0:8080->80/tcp zabbix-web-nginx-mysql
de040d43d60f zabbix/zabbix-server-mysql:latest "docker-entrypoint.sh" 59 seconds ago Up 59 seconds 0.0.0.0:10051->10051/tcp zabbix-server-mysql
3276f18def8d mysql:5.7 "docker-entrypoint.s…" About a minute ago Up About a minute 3306/tcp mysql-server
[root@zabbix_server ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
zabbix/zabbix-web-nginx-mysql latest 4db891b4393a 10 hours ago 177MB
zabbix/zabbix-server-mysql latest f5e58dafe9ac 10 hours ago 62.2MB
mysql 5.7 f0f3956a9dd8 7 days ago 409MB
docker run --name gitlab -d --link postgresql:postgresql -e ‘REDIS_HOST=119.18.193.26’ -e ‘REDIS_PORT=6379’ -p 10022:22 -p 9099:80 -e ‘GITLAB_PORT=9099’ -e ‘GITLAB_SSH_PORT=10022’ -e ‘GITLAB_SECRETS_DB_KEY_BASE=long-and-random-alpha-numeric-string’ -e ‘GITLAB_SECRETS_SECRET_KEY_BASE=long-and-random-alpha-numeric-string’ -e ‘GITLAB_SECRETS_OTP_KEY_BASE=long-and-random-alpha-numeric-string’ -e ‘GITLAB_HOST=119.18.193.26’ -e ‘GITLAB_EMAIL=15509853198@sina.com’ -e ‘SMTP_ENABLED=true’ -e ‘SMTP_DOMAIN=www.sina.com’ -e ‘SMTP_HOST=smtp.sina.com’ -e ‘SMTP_STARTTLS=false’ -e ‘SMTP_USER=stefan_muriel’ -e ‘SMTP_PASS=59d554225a0c52fb’ -e ‘SMTP_AUTHENTICATION=login’ -e ‘GITLAB_BACKUP_SCHEDULE=week’ -e ‘GITLAB_BACKUP_TIME=0’ -v /data/gitlab/data:/home/git/data sameersbn/gitlab
3.4版本
[root@localhost ~]# rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm
3.0版本
[root@localhost ~]# rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm
[root@localhost ~]# wget http://www.zabbix.com/downloads/3.0/zabbix_agents_3.0.linux2_6.x64.tar.gz
[root@localhost ~]# yum install