利用Dock快速部署zabbix

2019/08/19 17:08
阅读数 29
OS
RHEL 7.3
Docker版本
18.09
Zabbix版本
4.0

 

一、安装docker

1、以rpm包方式安装docker

下载rpm包并使用yum localinstall安装,以18.09为例,需安装以下rpm包

containerd.io-1.2.5-3.1.el7.x86_64.rpm 
docker-ce-18.09.6-3.el7.x86_64.rpm 
docker-ce-cli-18.09.6-3.el7.x86_64.rpm

下载地址:https://download.docker.com/linux/centos/7/x86_64/stable/Packages

 

2、YUM方式安装docker(参考https://cloud.tencent.com/developer/labs/lab/10054

a、首先安装 Docker 必要依赖包 :

yum install -y yum-utils device-mapper-persistent-data lvm2

 

b、由于自带 yum 没有 Docker-CE 所以我们需要先增加 docker repo:

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

 

c、用 yum 安装 Docker:

yum install -y docker-ce
 

二、镜像下载、导出、导入

国内连接docker.io速度不稳定,用稳定的方式获取镜像再导入本地比较稳妥。

镜像拉取

docker pull zabbix/zabbix-java-gateway:alpine-4.0-latest
docker pull zabbix/zabbix-server-mysql:alpine-4.0-latest
docker pull zabbix/zabbix-web-nginx-mysql:alpine-4.0-latest

镜像导出

docker save  docker.io/zabbix/zabbix-java-gateway:alpine-4.0-latest -o /tmp/zabbix-java-gateway-4.0.tar
docker save  docker.io/zabbix/zabbix-server-mysql:alpine-4.0-latest -o /tmp/zabbix-server-4.0.tar
docker save  docker.io/zabbix/zabbix-web-nginx-mysql:alpine-4.0-latest -o /tmp/zabbix-web-4.0.tar

镜像导入

docker load -i zabbix-java-gateway-4.0.tar
docker load -i zabbix-server-4.0.tar
docker load -i zabbix-web-4.0.tar

 

三、容器安装及运行

1、安装mysql

##先创建持久化存储目录
mkdir -p /data/mysql/date
##部署mysql容器
docker run --name mysql \ -v /data/mysql/date:/var/lib/mysql \ -e MYSQL_ROOT_PASSWORD=password \ -v /etc/localtime:/etc/localtime:ro \ -p 3306:3306 \
-d mysql:latest

 

 

2、如需接入jmx监控,要先安装zabbix-java-gateway

docker run --name zabbix-java-gateway \
    -p 10052:10052 \
    -v /etc/localtime:/etc/localtime:ro \
    -d zabbix/zabbix-java-gateway:alpine-4.0-latest

 

3、再运行zabbix-server

docker run --name zabbix-server -t \
      -e DB_SERVER_HOST="mysql_ip" \
      -e MYSQL_DATABASE="zabbix" \
      -e MYSQL_USER="root" \
      -e MYSQL_PASSWORD="password" \
      -e MYSQL_ROOT_PASSWORD="password" \
      -e ZBX_JAVAGATEWAY="zabbix-java-gateway" \
      -e ZBX_DEBUGLEVEL="3" \
      -e ZBX_JAVAGATEWAY_ENABLE="true" \
      -v /etc/localtime:/etc/localtime:ro \
      -p 10051:10051 \
      --link zabbix-java-gateway \
      -d zabbix/zabbix-server-mysql:alpine-4.0-latest

 

4、最后运行zabbix-web

docker run --name zabbix-web -t \
      -e DB_SERVER_HOST="mysql_ip" \
      -e MYSQL_DATABASE="zabbix" \
      -e MYSQL_USER="root" \
      -e MYSQL_PASSWORD="password" \
      -e MYSQL_ROOT_PASSWORD="password" \
      -e PHP_TZ="Asia/Shanghai" \
      -v /etc/localtime:/etc/localtime:ro \
      --link zabbix-server \
      -p 80:80 \
      -d zabbix/zabbix-web-nginx-mysql:alpine-4.0-latest
PHP_TZ务必设置,因为在容器里面更改的时区是无效的,无论是改了php.ini的date.timezone,还是改nginx的autoindex_localtime为on都没用

四、验证
访问宿主机80端口即可访问zabbix
初始账号:Admin
初始密码:zabbix

五、zabbix-agent配置
#zabbix服务端IP(必改)
Server=192.168.1.1 
#客户端监听地址(默认10050)
ListenPort=10050
#主动获取模式zabbix服务端IP
ServerActive=192.168.1.1
#客户端所在主机名称,必须与web中配置的名称(Name)一致(必改)
Hostname=agent-name 

 


                                     
展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
在线直播报名
返回顶部
顶部