导航
1概述
1 概述
Zabbix是一个基于WEB界面的跨平台系统资源监控开源平台,目标监控系统支持Linux、Windows NT4.0、 Windows (2000/2003/XP/Vista)、Free BSD、Open BSD、Solaris、HP-UX、AIX、 OS X、Tru64/OSF1等。
官网:https://www.zabbix.com/ 来源:https://www.wubayue.com
组件 | 用途 |
---|---|
Zabbix Server | 收集 Agent 发送的数据,完成数据操作、数据统计等核心任务 |
Zabbix Database | 数据库,存储收集的数据及配置信息 |
Zabbix Web | Web界面,通常和 Zabbix Server 运行在用一台主机上 |
Zabbix Agent | 被监控端,负责数据采集 |
Zabbix Proxy | 可选组件,常用于分布式监控架构;相当于是一个代理的 Server,收集 Agent 数据,缓解集中采集数据服务器的压力 |
2 使用Docker部署Zabbix
如果在Windows中使用Docker,请参考:《在Windows中使用Docker》
2.1 在Docker中部署MySQL
拉取MySQL 8.0镜像:
docker pull mysql:8.0
创建持久化数据卷:
docker volume create -d local mysql_data
docker volume create -d local mysql_conf
docker volume create -d local mysql_logs
启动MySQL容器:
docker run --name mysql-server -t \
-p 3306:3306 \
-v mysql_data:/var/lib/mysql \
-v mysql_conf:/etc/mysql \
-v mysql_logs:/var/log/mysql \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zabbix" \
-e MYSQL_ROOT_PASSWORD="root" \
--restart=unless-stopped \
-d mysql:8.0 \
--character-set-server=utf8 --collation-server=utf8_bin \
--default-authentication-plugin=mysql_native_password
2.2 在Docker中部署Zabbix Server
拉取基于MySQL的Zabbix Server镜像:
docker pull zabbix/zabbix-server-mysql
创建持久化数据卷:
docker volume create -d local zabbix_server
启动Zabbix Server容器:
docker run --name zabbix-server -t \
-p 10051:10051 \
-v zabbix_server:/etc/zabbix \
-e DB_SERVER_HOST="mysql-server" \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zabbix" \
-e MYSQL_ROOT_PASSWORD="root" \
--link mysql-server:mysql \
--restart=unless-stopped \
-d zabbix/zabbix-server-mysql:latest
2.3 在Docker中部署Zabbix Web
拉取Nginx与MySQL的Zabbix Web镜像:
docker pull zabbix/zabbix-web-nginx-mysql
启动Zabbix Web容器:来源:https://www.wubayue.com
docker run --name zabbix-web -t \
-p 8080:8080 \
-e PHP_TZ="Asia/Shanghai" \
-e ZBX_SERVER_HOST="zabbix-server" \
-e DB_SERVER_HOST="mysql-server" \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zabbix" \
-e MYSQL_ROOT_PASSWORD="root" \
--link mysql-server:mysql \
--link zabbix-server:zabbix-server \
-d zabbix/zabbix-web-nginx-mysql:latest
3 部署Zabbix Agent
通常Zabbix Agent根据不同的目标平台,需要使用源代码进行不同的编译。本文以Linux Arm的交叉编译为例,首先从官网下载Zabbix的源代码:
安装需要的工具链:
sudo apt-get install automake
sudo apt-get install make
sudo apt-get install libpcre3 libpcre3-dev
sudo apt-get install libpthread-stubs0-2 libpthread-stubs0-dev
sudo apt-get install libresolv libresolv-dev
执行交叉编译(注意--prefix指定的安装路径最好与实际路径一致):
./configure --prefix=/mydir/zabbix-agent --host=arm-linux-gnueabihf --target=arm-linux-gnueabihf CC=/linux-tool-chain/arm-arago-linux-gnueabi-gcc CXX=/linux-tool-chain/arm-arago-linux-gnueabi-g++ CFLAGS="-fPIC" CXXFLAGS="-fPIC" --enable-agent
make
make install
修改zabbix-agent/ect/zabbix_agentd.conf配置:
AllowRoot=1
Server=<对应Zabbix Server的IP>
ServerActive=<对应Zabbix Server的IP>
Hostname=<对应Zabbix Web中配置的主机名>
手动运行Zabbix Agent(注:运行过程中如果出现缺少库的提示,则需要将缺少的库文件拷贝至zabbix-agent/sbin目录中):来源:https://www.wubayue.com
zabbix-agent/sbin/zabbix-agentd
4 Zabbix Web使用配置
通过 http://127.0.0.1:8080 访问Zabbix Web,默认账号/密码为:Admin/zabbix
如果Agent监控参数相同,则可以使用相同的模板,统一配置监控项,并且可以在模板中直接新增主机,减少配置工作量:来源:https://www.wubayue.com
<全文完>