agent docker zabbix_docker 一键安装zabbix server、zabbix agent

基本原理、须知:

1、zabbix 分为zabbix server和zabbix agent,其中zabbix server需要web环境,并且其数据存储在独立的数据库中;

2、docker是一种容器服务,它是基于操作系统的虚拟化,可以减少应用对操作系统环境的依赖,并且它鼓励使用者单个应用使用独立的容器

3、各大应用均制作了官方的docker镜像,保存在docker hub中,地址:hub.docker.com,官方镜像的使用说明也可以在这个地址找

4、本文我们采用lnmp的web环境,并且完全使用官方的docker镜像,分别如下:

web环境:zabbix/zabbix-web-nginx-mysql

zabbix server:zabbix/zabbix-server-mysql

zabbix agent:zabbix/zabbix-agent

mysql:mysql

步骤:

1、docker的安装省略

server docker start

2、安装mysql

docker pull mysql

docker run --name mysql -e MYSQL_ROOT_PASSWORD=secret -d mysql

docker logs ID查看一下日志有无报错,没有的话继续下一步,这时候ps -ef| grep mysql应该已经启动

3、安装web环境

docker pull zabbix-web-nginx-mysql

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

docker logs ID查看一下日志有无报错,没有的话继续下一步,这时候访问IP:80应该能打开zabbix的报错界面,且ps -ef | grep nginx|php-fpm均已启动

4、安装zabbix server

docker pull zabbix/zabbix-server-mysql

docker run --name zabbix-server-mysql --link mysql:mysql -e DB_SERVER_HOST=mysql -e MYSQL_USER=root -e MYSQL_PASSWORD=secret -p 10051:10051 -d zabbix/zabbix-server-mysql

docker logs ID查看一下日志有无报错,没有的话继续下一步,这时候访问IP:80应该能打开zabbix的登录页面,账号密码分别是Admin:zabbix

5、安装zabbix agent

docker pull zabbix/zabbix-agent

docker run --name zabbix-agent -e ZBX_HOSTNAME=zabbix-agent -e ZBX_SERVER_HOST=zabbix-server -d zabbix/zabbix-agent

docker logs ID查看一下日志有无报错,这时候进zabbix server的最近数据里应该有数据(这里的agent是主被动混合模式,zbx的图标不会变绿,并且server中需要手动enable agent)

如果没有数据,可能是server和agent用的不是同一个network

6、一键部署zabbix server

1)安装docker compose

curl -L https://github.com/docker/compose/releases/download/1.17.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

chmod +x /usr/local/bin/docker-compose

docker-compose version

2)配置docker-compose.yml

在任意路径创建docker-compose.yml,内容如下:

version: '2'services:

mysql:

image: mysql

container_name: mysql

environment:- MYSQL_ROOT_PASSWORD=secret

networks:- zbx-net

web:

image: zabbix/zabbix-web-nginx-mysql

container_name: zabbix-web-nginx-mysql

environment:- DB_SERVER_HOST=mysql- MYSQL_USER=root- MYSQL_PASSWORD=secret- ZBX_SERVER_HOST=zabbix-server- PHP_TZ=Asia/Shanghai

ports:- '80:80'links:-mysql- zabbix-server

depends_on:-mysql

networks:- zbx-net

zabbix-server:

image: zabbix/zabbix-server-mysql

container_name: zabbix-server-mysql

environment:- DB_SERVER_HOST=mysql- MYSQL_USER=root- MYSQL_PASSWORD=secret

ports:- '10051:10051'links:-mysql

depends_on:-mysql

networks:- zbx-net

networks:

zbx-net:

启动docker-compose: docker-compose up

启动zabbix agent:

docker run --name zabbix-agent -e ZBX_HOSTNAME='Zabbix server' -e ZBX_SERVER_HOST=zabbix-server --network root_zbx-net -d zabbix/zabbix-agent

PS: 在实际应用的中还需要增加挂载等

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值