• Zabbix 介绍
  zabbix(音同 zæbix)是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
  zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。
  Zabbix 作为企业级分布式监控系统,具有很多优点,如:分布式监控,支持 node 和 proxy 分布式模式;自动化注册,根据规则,自动注册主机到监控平台,自动添加监控模板;支持 agentd、snmp、ipmi 和 jmx 等很多通信方式。然而部署一套完整的zabbix,需要安装数据库、web服务器、zabbix-server和zabbix-agent,这几样服务,过程都比较复杂,一不留心就可能出错,所以今天我使用docker容器搭建了一套zabbix服务,不仅搭建快,而且不易出错。本文适合了解docker的朋友。
 
  • 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终端使用

docker pull mysql:5.7 

下载MySQL镜像。再通过

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有下面这些版本

Zabbix server 3.0 (tags: alpine-3.0-latest, ubuntu-3.0-latest, centos-3.0-latest)
Zabbix server 3.0.* (tags: alpine-3.0.*, ubuntu-3.0.*, centos-3.0.*)
Zabbix server 3.2 (tags: alpine-3.2-latest, ubuntu-3.2-latest, centos-3.2-latest)
Zabbix server 3.2.* (tags: alpine-3.2.*, ubuntu-3.2.*, centos-3.2.*)
Zabbix server 3.4 (tags: alpine-3.4-latest, ubuntu-3.4-latest, centos-3.4-latest, alpine-latest, ubuntu-latest, centos-latest, latest)
Zabbix server 3.4.* (tags: alpine-3.4.*, ubuntu-3.4.*, centos-3.4.*)
Zabbix server 4.0 (tags: alpine-trunk, ubuntu-trunk)

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

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

下载zabbix-server的镜像。再通过

docker image ls

查看下载的镜像。如下图:

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

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

下载web镜像。再通过 

docker image ls

查看下载的镜像。如下图: 

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

docker pull zabbix/zabbix-java-gateway:latest

下载zabbix-java-gateway镜像。再通过 

docker image ls

查看下载的镜像。如下图:

  • 镜像运行

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

docker network create -d bridge zabbix_net

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

docker network ls

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

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="zabbix_pwd" -e MYSQL_ROOT_PASSWORD="root_pwd" mysql:5.7

其中-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容器。

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,通过命令

docker volume create zabbix-server-vol

启动zabbix-server-mysql容器。 

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="zabbix_pwd" -e MYSQL_ROOT_PASSWORD="root_pwd" -e ZBX_JAVAGATEWAY="zabbix-java-gateway" zabbix/zabbix-server-mysql:centos-latest

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

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="zabbix_pwd" -e MYSQL_ROOT_PASSWORD="root_pwd" -e ZBX_SERVER_HOST="zabbix-server-mysql" zabbix/zabbix-web-nginx-mysql:latest

zabbix所需容器已经全部启动,可以通docker ps 查看容器状态,如下图:

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

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

版权所有,欢迎转载,转载请注明出处:http://www.cnblogs.com/hustar0102/

 

  
 
 
 
 
  
 

docker+zabbix,使用docker搭建zabbix服务的更多相关文章

  1. zabbix环境安装搭建

    一.Zabbix简介 zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案.zabbix由zabbix server与可选组件zabbix agent两部分组成. ...

  2. Docker搭建zabbix+grafana监控系统

    一.准备工作 1.mysql数据库:192.168.1.5 2.nginx服务:192.168.1.10 3.docker服务器:192.168.1.20 4.zabbix客户端若干 二.docker ...

  3. docker搭建zabbix

    本次使用docker搭建zabbix的组合是mysql+docker+zabix-server 1 先安装数据库mysql docker run --name zabbix-mysql-server ...

  4. docker搭建zabbix收集windows计数器性能数据

    1 docker服务的安装 1)在线安装docker服务 在线安装可以参考下面的安装步骤 a 安装相关依赖组件 yum install -y yum-utils device-mapper-persi ...

  5. zabbix基于docker安装

    centos的版本 # cat /etc/redhat-release CentOS Linux release (Core) docker的安装 配置yum源 # vim /etc/yum.repo ...

  6. Zabbix在Docker中的应用和监控

    目录 Zabbix在Docker中的应用和监控 一.如何使Zabbix跑在Docker里 1.Docker基础环境配置 2.Docker-compose安装配置 3.启动zabbix server 4 ...

  7. 【译文】用Spring Cloud和Docker搭建微服务平台

    by Kenny Bastani Sunday, July 12, 2015 转自:http://www.kennybastani.com/2015/07/spring-cloud-docker-mi ...

  8. zabbix监控docker

    [toc] 1.下载模版 然后把模版放到/usr/local/lib/zabbix/agent下 github地址内含监控模版 2.修改 zabbix-agentd 配置文件 vim /usr/loc ...

  9. docker swarm 搭建与服务更新

    一,docker swarm 是什么 Docker Swarm.Docker Machine与Docker Compose号称Docker三剑客Docker Swarm 和 Docker Compos ...

随机推荐

  1. windows SDK创建一个窗体

    #include <windows.h> /* Declare Windows procedure */ LRESULT CALLBACK WindowProcedure (HWND, U ...

  2. 使用nsight调试caffe

    首先你需要下载caffe源码,然后先编译好,注意一定要将Makefile.config里的DEBUG := 1注释掉 可以看到注释掉debug后编译会生成的.build_debug目录,调试过程中需要 ...

  3. 除了上万的月薪之外,还有什么理由让我们必须学Python?

    虽然目前的编程语言有很多,但是基础语法上的概念,本质上都是相通的.可以做到一通百通.所以没有必要为了学哪门语言纠结太多. python是目前市面上,我个人认为是最简洁&&最优雅& ...

  4. Getting start with dbus in systemd (02) - How to create a private dbus-daemon

    Getting start with dbus in systemd (02) 创建一个私有的dbus-daemon (session) 环境 这里我们会有两个app: app1(client),ap ...

  5. 第2节 mapreduce深入学习:8、手机流量汇总求和

    第2节 mapreduce深入学习:8.手机流量汇总求和 例子:MapReduce综合练习之上网流量统计. 数据格式参见资料夹 需求一:统计求和 统计每个手机号的上行流量总和,下行流量总和,上行总流量 ...

  6. zay大爷的神仙题目 D1T3-膜你抄

    依旧是外链 锦鲤抄 [题目背景] 你在尘世中辗转了千百年 却只让我看你最后一眼 火光描摹容颜燃尽了时间 别留我一人,孑然一身 凋零在梦境里面. ——银临&云の泣<锦鲤抄> [问题描 ...

  7. iOS Development Sites

    iOS Development Sites   学习iOS开发有一段时间了,虽然还处于迷茫期,但相比以前的小白痴状态,现在还是蛮有改观的.期间接触了一些很好的网站和博客,现在摘录下来,就当建个索引,没 ...

  8. Bootstrap 12 栅格系统

    栅格系统简介 Bootstrap 提供了一套响应式.移动设备优先的流式栅格系统,随着屏幕或视口(viewport)尺寸的增加,系统会自动分为最多 12 列.它包含了易于使用的预定义类,还有强大的mix ...

  9. redis 的安装及常用的命令

    前言: redis是一个key-value的存储系统,value支持string.list.set.zset.hash五种类型,且支持数据的本地存储 一.安装redis 前提:linux下需要安装了m ...

  10. Quartz --Scheduler