我相信大家都已经会再物理机上跑zabbix并且监控了,那么有没有想过在docker中跑zabbix?下面咱们来看看如何在docker中搭建zabbix并且监控

部署环境

2台物理机机器:

zabbix-server:192.168.254.13

zabbix-agent:192.168.254.17

docker版本:Server Version: 19.03.1

zabbix版本:4.0

docker的镜像网站(清华大学):https://mirrors.tuna.tsinghua.edu.cn/

安装docker

cd /etc/yum.repos.d/

wget https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo

yum install docker-ce -y

部署zabbix

1.部署mysql数据库

docker run --name mysql-server -t \

-e MYSQL_DATABASE="zabbix" \

-e MYSQL_USER="zabbix" \

-e MYSQL_PASSWORD="zabbix" \

-e MYSQL_ROOT_PASSWORD="root" \

-v /mysql/data/:/var/lib/mysql -v /mysql/conf/:/etc/my.cnf.d/ \

-d mariadb:10.2

2.部署zabbix-server

docker run --name zabbix-server-mysql -t \-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 \-p 10051:10051\-d zabbix/zabbix-server-mysql:latest

3.部署apache web

docker run --name zabbix-web-apache-mysql -t \-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-mysql:zabbix-server \-p 80:80\-d zabbix/zabbix-web-apache-mysql:latest

4.打开浏览器

用户名为Admin,密码为zabbix

5.安装zabbix客户端agent

docker run --name zabbix-agent \-e ZBX_HOSTNAME="self"\-e ZBX_SERVER_HOST="192.168.254.13"\-e ZBX_METADATA="client"\-p 10050:10050\-d zabbix/zabbix-agent:latest

6.在zabbix server端开启自动注册规则

过一会我们就可以看到宿主机192.168.254.17上的容器已经被注册进来了

最后说明一下上面用到的命令和参数解释

说明一下各个参数的意义:--name:代表容器的名字,或者标签-e:代表要执行的环境变量-p:代表映射的端口,:前面为宿主机,:后面代表容器的端口-d:代表后台运行-v:代表映射卷--character-set-server:字符集--collation-server:大小写是否敏感

MYSQL_USER:代表zabbix用户名

MYSQL_PASSWORD:代表zabbix的密码

MYSQL_DATABASE:zabbix创建的数据库名字为zabbixMYSQL_ROOT_PASSWORD:代表数据库root密码,没有指定USER是因为默认就是root

更多参数详情请参照以下网站:

mariadb10.2参考手册:https://hub.docker.com/_/mariadb

zabbix-server参考手册:https://hub.docker.com/r/zabbix/zabbix-server-mysql

zabbix-web-apache-mysql参考手册:https://hub.docker.com/r/zabbix/zabbix-web-apache-mysql

zabbix-agent参考手册:https://hub.docker.com/r/zabbix/zabbix-agent

用docker-compose部署zabbix

编辑docker-compose.yaml文件

[root@master ~]# catdocker-compose.yaml

version:'3.3'services:

mysql-server:

container_name: mariadb-server

image: mariadb:10.2restart: always

environment:

MYSQL_DATABASE: zabbix

MYSQL_USER: zabbix

MYSQL_PASSWORD: zabbix

MYSQL_ROOT_PASSWORD: root

volumes:- /data/mysql/data/:/var/lib/mysql- /data/mysql/conf/:/etc/my.cnf.d/server.cnf

zabbix-server:

container_name: zabbix-server

image: zabbix/zabbix-server-mysql

restart: always

environment:

DB_SERVER_HOST:"mysql-server"MYSQL_DATABASE:"zabbix"MYSQL_USER:"zabbix"MYSQL_PASSWORD:"zabbix"MYSQL_ROOT_PASSWORD:"root"ports:- 10051:10051links:- mysql-server

zabbix-web:

container_name: zabbix-web

image: zabbix/zabbix-web-apache-mysql

restart: always

depends_on:- mysql-server- zabbix-server

environment:

DB_SERVER_HOST:"mysql-server"MYSQL_DATABASE:"zabbix"MYSQL_USER:"zabbix"MYSQL_PASSWORD:"zabbix"MYSQL_ROOT_PASSWORD:"root"ports:- 80:80links:- mysql-server- zabbix-server

用docker-compose执行创建容器

#启动docker-compose.yaml文件中定义的容器,并且是后台运行

[root@master~]# docker-compose up -d

说明

docker-compose命令的用法

Commands:

build Build or rebuild services

bundle Generate a Docker bundle from the Composefileconfig Validate and view the Composefilecreate Create services

down Stop and remove containers, networks, images, and volumes

events Receive realtimeevents from containers

exec Execute a commandina running container

help Get help on a command

images List imageskillKill containers

logs View output from containers

pause Pause services

port Print the public portfora port bindingpsList containers

pull Pull service images

push Push service images

restart Restart servicesrmRemove stopped containers

run Run a one-off command

scale Set number of containersfora service

start Start services

stop Stop services

top Display the running processes

unpause Unpause services

up Create and start containers

version Show the Docker-Compose version information

build 构建或重建服务

help 命令帮助

pause 暂停服务

exec 进入到一个docker容器的交互界面kill杀死容器

logs 显示docker-compose.yaml文件中容器的输出内容ps显示启动的容器

pull 拉取服务镜像

restart 重启服务rm删除停止的容器

run 运行容器

scale 设置服务的容器数目

start 开启服务

stop 停止服务

up 创建并启动容器config 测试docker-comose.yaml文件的语法是否ok

docker-compose.yaml文件中的语法参数说明

一个docker-compose.yaml文件大致分为:version,services,network

version

version可以是1,2,3这是大版本,还有小版本,比如1.0,2.2,3.3等,在定义yaml文件时必须制定version版本,每个版本的语法可能不太相同,可以参照文章下方给的官方文档了解详情

service

1.service中定义服务名称,service的下一级定义服务名称

version: '3.3'services:

服务名称:

2.在服务名称下一级标签有container_name,image,restart,privileged,environment,volumes,ports,links等

container_name:定义容器名称

image:镜像名称

restart

restart:"no"#不重启

restart: always #总是重启

restart: on-failure #失败时才重启

restart: unless-stopped #除非停止

privileged:获取最高权限

environment:设置系统环境变量

KEY1:VALUE1

KEY2:VALUE2

volumes 映射容器卷-HOST_PATH:CONTAINER_PATH-HOST_PATH:CONTAINER_PATH

ports: 映射容器端口-HOST_PORT: CONTAINER_PORT

links: 连接容器-SERVICE_NAME

depends_on:定义容器的先后顺序- zabbix-server- zabbix-web- mysql-server

agent docker zabbix_docker部署zabbix相关推荐

  1. 基于Docker快速部署Zabbix

    1.Zabbix基础监控架构图: 2.Zabbix的架构信息: 1. zabbix-server zabbix 的server 端,负责接收agent发送过来的监控数据,并且提供zabbix的所有核心 ...

  2. 基于docker安装部署Zabbix及使用,自动发现、日志监控报警及参照官方文档遇到的问题(图文)

    目录 一.相关原理 (1)概述 (2)Zabbix 功能 (3)Zabbix 概述 (4)zabbix监控架构详解 二.主要步骤 (一)工具/环境准备 (二)docker安装及测试 (三)docker ...

  3. docker部署zabbix

    docker部署zabbix 1.zabbix入门: Zabbix 是一款能够监控各种网络参数以及服务器健康性和完整性的软件. Zabbix 使用灵活的通知机制,允许用户为几乎任何事件配置基于邮件的告 ...

  4. Zabbix agent批量自动部署

    废话:系统大批量上线时,我们一个个去装agent,有点枯燥,这里分享个expect结合上一篇<zabbix自动发现>,可以省不少工时. 准备工作: 1.下载客户端去吧https://www ...

  5. 使用docker部署zabbix,自定义微信报警

    docker部署zabbix #使用的相关镜像:docker pull mysql:5.7docker pull zabbix/zabbix-server-mysql:centos-latest # ...

  6. 分布式部署Zabbix监控平台

    Zabbix监控的优点 Zabbix是一个基于WEB界面的提供分布式系统监控的企业级的开源解决方案,Zabbix能监视各种网络参数,保证服务器系统的安全稳定的运行,并提供灵活的通知机制以让SA快速定位 ...

  7. 基于docker 如何部署surging分布式微服务引擎

    1.前言 转眼间surging 开源已经有1年了,经过1年的打磨,surging已从最初在window 部署的分布式微服务框架,到现在的可以在docker部署利用rancher 进行服务编排的分布式微 ...

  8. Docker 容器部署 Consul 集群

    Docker 容器部署 Consul 集群 Consul 介绍 Consul 提供了分布式系统的服务发现和配置的解决方案.基于go语言实现.并且在git上开放了源码consul-git.consul还 ...

  9. 请求zabbix_快速部署zabbix

    使用1台Linux虚拟机,安装部署LNMP环境.Zabbix及相关的依赖包,配置数据库并对Zabbix监控平台进行初始化操作.使用2台Linux被监控端,源码安装Zabbix Agent.完成Zabb ...

最新文章

  1. pythonturtle是标准库_Python中turtle库的使用
  2. drbd配置文件_Linux数据安全工具:数据镜像软件DRBD的安装与配置
  3. 以脚本方式直接执行修改密码的passwd命令
  4. iscroll.js 触屏手机web-kit浏览器滚动效果代码库
  5. 开源软件那么多,我们该如何选择?|洞见
  6. 将iOS默认上下文坐标系改变为Quartz通常坐标系
  7. clistctrl获取选中行数据_Power Query基础6:筛选、排序、删重复行
  8. 美赛整理之带参数的常微分方程拟合问题研究
  9. 精选|2018年8月R新包推荐
  10. 网络运维经验分享01
  11. 中文核心期刊目录 
  12. 计算机专业考研好还是就业好?
  13. Meta标签中 http-equiv属性详解
  14. 最新中国省市区SQL
  15. 微信公众平台开发--入门了解
  16. Apache ECharts 官网布局排版错乱的解决办法
  17. MySQL语法笔记(自用)
  18. 异常信息:test02FlexController”不存在,wufa
  19. MDCC王戈点爆全场:Smule乐器王是怎样炼成的
  20. 5分钟带你快速了解:SEO到底是什么?

热门文章

  1. python基础教程:两个list之间移动元素
  2. python if条件判断和while循环 练习题
  3. Python中strip()、lstrip()、rstrip()用法详解
  4. python重要函数eval
  5. Python 中的匿名函数,你会用吗
  6. argb888与rgb888转换程序_通过相机获取bayer 图像数据转换成RGB888数据并保存
  7. python绘制柱状图,如何改变柱状柱间距,如何设置横纵轴标签(绘制Intel Realsense D435深度误差柱状图)
  8. python 如何将虚拟环境的项目的所有.py文件的import导包汇总到requirements.txt文件 (pipreqs)
  9. python 多层感知器 sklearn.neural_network MLPClassifier.predict()函数
  10. 黑马程序员pink老师前端入门教程,零基础必看的JavaScript基础语法视频教程(二)