docker部署zabbix
我相信大家都已经会再物理机上跑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 : \
-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 : \
-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 : \
-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创建的数据库名字为zabbix
MYSQL_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 ~]# cat docker-compose.yaml
version: '3.3'
services:
mysql-server:
container_name: mariadb-server
image: mariadb:10.2
restart: 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:
- :
links:
- 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:
- :
links:
- 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 Compose file
config Validate and view the Compose file
create Create services
down Stop and remove containers, networks, images, and volumes
events Receive real time events from containers
exec Execute a command in a running container
help Get help on a command
images List images
kill Kill containers
logs View output from containers
pause Pause services
port Print the public port for a port binding
ps List containers
pull Pull service images
push Push service images
restart Restart services
rm Remove stopped containers
run Run a one-off command
scale Set number of containers for a 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
想要查看更多docker-compose文件的语法格式请参照https://docs.docker.com/compose/compose-file/
docker部署zabbix的更多相关文章
- Docker部署Zabbix+Grafana监控
Docker部署Zabbix+Grafana监控 环境 centos 7 ; Docker 17.12.0-ce ; docker-compose version 1.20.1 2018-4-1 当前 ...
- docker部署zabbix并设置自动发现规则
docker部署zabbix比源码安装简单一些,特此记录: 机器准备: zabbix-server: 192.168.0.150 homeserver zabbix-agent: 192.168. ...
- docker 部署 zabbix
docker部署zabbix 我相信大家都已经会再物理机上跑zabbix并且监控了,那么有没有想过在docker中跑zabbix?下面咱们来看看如何在docker中搭建zabbix并且监控 部署环 ...
- Docker部署Zabbix监控MariaDB主从同步(Percona Monitoring Plugins for Zabbix)
一.安装Docker并部署Zabbix 建议先配置清华大学的docker-ce yum源,速度有保障:清华大学repo源 1.Zabbix Server节点配置 部署环境: [root@server0 ...
- 基于docker部署zabbix
基础环境 cat /etc/redhat-release CentOS Linux release (Core) docker安装 配置yum源 # vim /etc/yum.repos.d/dock ...
- 使用docker部署zabbix
1 官方地址 官方写的很详细并且是中文的,一步步按照操作就可以 https://www.zabbix.com/documentation/3.4/zh/manual/installation/cont ...
- 用docker部署zabbix
官方文档 https://www.zabbix.com/documentation/3.4/zh/manual/installation/containers 1 启动一个空的Mysql服务器实例 d ...
- Zabbix-(二) 使用docker部署
Zabbix-(二)使用docker部署 一.前言 前文记录了在服务器上搭建zabbix平台,本文记录使用docker部署zabbix 4.4 准备 Centos7.6 虚拟机,并安装了docker ...
- doeker部署zabbix
docker部署zabbix 我相信大家都已经会再物理机上跑zabbix并且监控了,那么有没有想过在docker中跑zabbix?下面咱们来看看如何在docker中搭建zabbix并且监控 部署环 ...
随机推荐
- 调试经验分享-让自己的电脑充当WI-Fi模块,用来抓取连接Wi-Fi模块APP上的通信数据
需求 手头有了厂家的APP和Wi-Fi模块 在已经知道APP是通过TCP连接Wi-Fi模块(8266), 同时也知道了连接的端口号的 情况下如何知道厂家的APP发送给Wi-Fi模块的数据 打开自己的笔 ...
- CF1194F Crossword Expert(数论,组合数学)
不难的一题.不知道为什么能 $2500$…… 不过场上推错了一直不会优化…… 首先考虑 $f_i$ 表示恰好做完前 $i$ 道题的概率. 这样很难算.修改一下,$f_i$ 表示做完至少 $i$ 道题的 ...
- oracle--CRS-0215 : Could not start resource 'ora.node2.ons'.
01,问题描述 安装10G+RAC集群,在node2进行vipca操作的时候发现这个问题 02,问题解决 原因是少了host的回环地址,当时删除错了 添加进去即可 127.0.0.1 localhos ...
- Javascript 笔记:原型和原型链
一.函数对象和普通对象 凡是通过new Function()创建的都是函数对象,其它的都是普通对象.Function,Object,Array,Number,String,Boolean,Date是J ...
- Java连载9-数据类型&字符编码
一.数据类型注意:(1)计算机最初只支持英文,最先出现的字符编码是:ASII码例如:‘a'对应97,对应01100001(2)编码和解码的时候采用同一套字典/对照表,不会出现乱码.否则会出现乱码.二. ...
- Oracle 自定义函数实现列转行效果
在 Oracle 领域,我相信一说到列转行大部分人都会立马想到 WM_CONCAT 函数,我觉得主要是因为该函数比较实用.但事实上 WM_CONCAT 并非官方公开函数,使用会存在一定的风险:函数返回 ...
- SQL Server 2014:为什么会提示“用户登录失败”?
SQL Server有两种登录方式,Windows身份验证和sql server身份验证,其对应的数据库连接字符串如下: Windows身份验证 ----- @"Data Source=DE ...
- Ansible17:Playbook之tags
目录 简介 为task打tag 使用tag 执行指定tag的task 排除指定tag的task 查看playbook中的所有tag 打tag的几种方式 ansible内置tag 简介 在大型项目当中, ...
- Git的使用--如何安装和使用 github,让小白不在那么白 (一)(超详解)
简介 刚开始写了关于如何将本地代码上传到github上,但是有些小伙伴们不清楚如何安装Git,这一篇就给小伙伴们普及一下Git的安装和使用.适合刚开始用git的小白,大神或者大佬请绕道. 实际项目开发 ...
- MonkeyDev安装--逆向开发
MonkeyDev是原有iOS OpenDev的升级,非越狱插件的开发集成神器! 可以使用Xcode开发CaptainHook Tweak.Logos Tweak 和 Command-line Too ...