基于 Docker 安装 zabbix

docker+zabbix,使用docker搭建zabbix服务

  • Zabbix 介绍

  zabbix(音同 z?bix)是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。

  zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。

  Zabbix 作为企业级分布式监控系统,具有很多优点,如:分布式监控,支持 node 和 proxy 分布式模式;自动化注册,根据规则,自动注册主机到监控平台,自动添加监控模板;支持 agentd、snmp、ipmi 和 jmx 等很多通信方式。然而部署一套完整的zabbix,需要安装数据库、web服务器、zabbix-server和zabbix-agent,这几样服务,过程都比较复杂,一不留心就可能出错,所以今天我使用docker容器搭建了一套zabbix服务,不仅搭建快,而且不易出错。本文适合了解docker的朋友。

  zabbix中文文档https://www.zabbix.com/documentation/3.4/zh/start

  • Zabbix 相关镜像下载

1. 下载载MySQL镜像mysql:5.7。在docker hub上有以下版本

8.0.11,8.0,latest

5.7.22,5.7,5

5.6.40, 5.6

5.5.60, 5.5

这里使用5.7版本,在linux终端拉取mysql5.7镜像

  1 docker pull mysql:5.7

查看下载的镜像

  1 docker image ls

2. 下载zabbix-server镜像,zabbix-server镜像分两种,支持MySQL数据库zabbix-server-mysql,支持支持PostgreSQL数据库zabbix/zabbix-server-pgsql。下面安装的是支持MySQL数据库的Server镜像。

打开zabbix-server-mysql的docker hub,大家会发现,zabbix-server-mysql有下面这些版本

  1 Zabbix server 3.0 (tags: alpine-3.0-latest, ubuntu-3.0-latest, centos-3.0-latest)
  2 Zabbix server 3.0.* (tags: alpine-3.0.*, ubuntu-3.0.*, centos-3.0.*)
  3 Zabbix server 3.2 (tags: alpine-3.2-latest, ubuntu-3.2-latest, centos-3.2-latest)
  4 Zabbix server 3.2.* (tags: alpine-3.2.*, ubuntu-3.2.*, centos-3.2.*)
  5 Zabbix server 3.4 (tags: alpine-3.4-latest, ubuntu-3.4-latest, centos-3.4-latest, alpine-latest, ubuntu-latest, centos-latest, latest)
  6 Zabbix server 3.4.* (tags: alpine-3.4.*, ubuntu-3.4.*, centos-3.4.*)
  7 Zabbix server 4.0 (tags: alpine-trunk, ubuntu-trunk)

因为我的服务器是centos7版本,所以选择的是centos-latest版本。还有后面如果想自己重做镜像的话,选择centos版本,用着会更简单一点。在linux终端使用

  1 docker pull zabbix/zabbix-server-mysql:centos-latest

下载zabbix-server的镜像。查看下载的镜像

  1 docker image ls

3. 下载Zabbix web镜像,这里使用的是基于Nginx web服务器及支持MySQL数据库的Zabbix web接口zabbix/zabbix-web-nginx-mysql。这里是用的是latest版本,在linux终端使用

  1 docker pull zabbix/zabbix-web-nginx-mysql:latest

下载web镜像。查看下载到的镜像

4. 下载zabbix-java-gateway镜像, Zabbix本身不支持直接监控Java,而是使用zabbix-java-gateway监控jvm/tomcat性能。这里我们使用latest版本,在linux终端使用

  1 docker pull zabbix/zabbix-java-gateway:latest

下载zabbix-java-gateway镜像。查看下载镜像

  1 docker image ls

  • 镜像运行

1.  启动zabbix等镜像之前,需要先创建一个新的 Docker 网络。需要将后面的zabbix-server、mysql、web等容器都加入到此网络中,方便互相访问。在终端使用下面命令创建。

  1 docker network create -d bridge zabbix_net

创建后,可以查看是否创建成功。

  1 docker network ls

2. 运行mysql 镜像,创建mysql容器。

  1 docker run -dit -p 3306:3306 --name zabbix-mysql --network zabbix_net --restart always -v /etc/localtime:/etc/localtime -e MYSQL_DATABASE="zabbix" -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="zabbix123" -e MYSQL_ROOT_PASSWORD="root123" mysql:5.7

MYSQL_DATABASE="zabbix"                 在msql中创建的数据库的名

MYSQL_USER="zabbix"              创建msql的登录账户名

MYSQL_PASSWORD="zabbix123"      设置创建msql的登录账户的密码

MYSQL_ROOT_PASSWORD="root123"   设置msql数据库root 的密码

其中-p 是将容器中的3306端口映射到服务器的3306端口,

--network zabbix_net是将容器加入到zabbix_net网络中,

-v /etc/localtime:/etc/localtime是同步服务器和容器内部的时区,

--restart always设置自启动,

-e MYSQL_DATABASE="zabbix",创建环境变量。

--name zabbix-mysql,给容器命名。

3. 运行zabbix-java-gateway镜像,创建zabbix-java-gateway容器。

  1 docker run -v /etc/localtime:/etc/localtime -dit --restart=always --name=zabbix-java-gateway --network zabbix_net zabbix/zabbix-java-gateway:latest

4. 运行zabbix-server-mysql镜像,创建zabbix-server-mysql容器。

首先创建数据卷zabbix-server-vol,通过命令

  1 docker volume create zabbix-server-vol

启动zabbix-server-mysql容器。

此处的以下内容与 运行mysql 镜像,创建mysql容器设置的内容要一致

MYSQL_DATABASE="zabbix"

MYSQL_USER="zabbix"

MYSQL_PASSWORD="zabbix123"

MYSQL_ROOT_PASSWORD="root123"

  1 docker run -dit -p 10051:10051 --mount source=zabbix-server-vol,target=/etc/zabbix -v /etc/localtime:/etc/localtime -v /usr/lib/zabbix/alertscripts:/usr/lib/zabbix/alertscripts --name=zabbix-server-mysql --restart=always --network zabbix_net -e DB_SERVER_HOST="zabbix-mysql" -e MYSQL_DATABASE="zabbix" -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="zabbix123" -e MYSQL_ROOT_PASSWORD="root123" -e ZBX_JAVAGATEWAY="zabbix-java-gateway" zabbix/zabbix-server-mysql:centos-latest

需要悉知各个配置

5. 运行zabbix-web-nginx-mysql镜像,创建zabbix-web-nginx-mysql容器。

此处的以下内容与 运行mysql 镜像,创建mysql容器设置的内容要一致

MYSQL_DATABASE="zabbix"

MYSQL_USER="zabbix"

MYSQL_PASSWORD="zabbix123"

MYSQL_ROOT_PASSWORD="root123"

  1 docker run -dit -p 80:80 -v /etc/localtime:/etc/localtime --name zabbix-web-nginx-mysql --restart=always --network zabbix_net -e DB_SERVER_HOST="zabbix-mysql" -e MYSQL_DATABASE="zabbix" -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="zabbix123" -e MYSQL_ROOT_PASSWORD="root123" -e ZBX_SERVER_HOST="zabbix-server-mysql" zabbix/zabbix-web-nginx-mysql:latest

zabbix所需容器已经全部启动

  1 docker ps

6. 在浏览器中输入http://IP/zabbix,打开zabbix首页,其中用户名密码分别是admin/zabbix。

出现下面页面,zabbix搭建成功。是不是比自己创建数据库,搭建zabbix-server简单很多。

归类 :自动化运维

原文地址:https://www.cnblogs.com/lz1996/p/12625349.html

时间: 2024-10-30 01:32:35

基于 Docker 安装 zabbix的相关文章

基于docker安装pxc集群

基于docker安装pxc集群 一.PXC 集群的安装 PXC集群比较特殊,需要安装在 linux 或 Docker 之上.这里使用 Docker进行安装! Docker的镜像仓库中包含了 PXC数据库的官方镜像, 地址:https://hub.docker.com/r/percona/percona-xtradb-cluster/ 如下图所示: 一,镜像的安装 安装镜像的两种方式: docker pull percona/percona-xtradb-cluster docker load <

CentOS7.X环境下基于docker安装部署RabbitMQ集群

1.IP地址规划(将信息配置到/etc/hosts中)主机名 IP地址RabbitMQ01 192.168.8.131RabbitMQ02 192.168.8.132RabbitMQ03 192.168.8.133RabbitMQ04 192.168.8.1342.RabbitMQ集群安装(1)四个节点同时运行,下载RabbitMQ镜像[[email protected]~]# docker pull rabbitmq:3-management(2)四个节点分别运行,启动RabbitMQ容器 [

Windows 7中的VirtualBox中的Ubuntu 14.04中基于Docker安装Hadoop

1. 在VirtualBox中安装Ubuntu 14.04 2. 在Ubuntu 14.04中安装Docker 3. 安装基于Docker的Hadoop 下载image docker pull sequenceiq/hadoop-docker:2.6.0   运行container docker run -i -t sequenceiq/hadoop-docker:2.6.0 /etc/bootstrap.sh –bash   测试Hadoop(将ubuntu的内存调到2G,即2048MB,否则

基于docker的zabbix服务搭建

docker run --network host --name zabbix-agent -d  -e ZBX_HOSTNAME="zabbix-agent" -e ZBX_SERVER_HOST="192.168.0.132" -e ZBX_UNSAFEUSERPARAMETERS='1'  docker.io/zabbix/zabbix-agent https://blog.51cto.com/passed/2321191 原文地址:https://www.c

docker安装Zabbix

1. 先安装数据库mysqldocker run --name zabbix-mysql-server --hostname zabbix-mysql-server \-e MYSQL_ROOT_PASSWORD="123456" \-e MYSQL_USER="zabbix" \-e MYSQL_PASSWORD="123456" \-e MYSQL_DATABASE="zabbix" \-p 3306:3306 \-d \

docker安装zabbix 4.0.1版本

容器化zabbix. 容器部署zabbix更简单 准备两台机器:192.168.22.200 zabbix-server192.168.22.8 zabbix-agent 软件版本:docker: 18.06.1-cezabbix: 4.0.1 安装docker可以使用阿里镜像源的repo安装:https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 开始部署zabbix:192.168.22.200上操作: [[email

基于Oracle安装Zabbix

软件版本 Oracle Enterprise Linux 7.1 64bit Oracle Enterprise Edition 12.1.0.2 64bit Zabbix 3.2.1 准备工作 上传软件 我们选用Zabbix 3.2.1 解压路径为/u01/stage/zabbix-3.2.1 准备需要的软件 安装Oracle 12.1.0.2 安装和创建数据库过程略,数据库字符集注意一定要是UTF8或AL32UTF8. Apache Zabbix的frontend需要apache ,我们使用

基于docker安装superset

安装Docker遇到的问题及解决方法 1.Docker Quickstart Terminal 快捷方式绑定的git的bash.exe位置不对,导致找不到bash.exe-------右键,属性,修改快捷方式 把本地安装的git地址替换快捷键中git的地址 E:\anzhuang\Git\bin\bash.exe --login -i "C:\Program Files\Docker Toolbox\start.sh" 2.找不到boot2docker.iso文件.--------将

docker离线安装zabbix

第一部分:下载安装zabbix所须的镜像 所须镜像包为:mysql.zabbix-server.zabbix-web-nginx.zabbbix-agent 1.搜索镜像 docker search [想要搜索的镜像名] [[email protected] ~]# docker search mysql INDEX NAME DESCRIPTION STARS OFFICIAL AUTOMATED docker.io docker.io/mysql MySQL is a widely used