1. docker-compose

docker-compose :容器自带的编排工作,可以通过yaml编排文件,将容器要启动的命令写入文件,然后再利用docker-compose run file.yaml文件来直接启动,同时启动多个容器,方便应用服务的移植、共享。

2. 部署zabbix服务

部署zabbix服务,然后利用docker-compose启动。

1> 上传压缩包,解压

[root@node ~]# cd /opt/
[root@node opt]# ls
rh zabbix-agent.tar.gz zabbix-server.tar.gz
[root@node opt]# tar xf zabbix-server.tar.gz
[root@node opt]# ls
cmp_mariadb cmp_zabbix rh zabbix-agent.tar.gz zabbix-server.tar.gz

2> 启动数据库

[root@node cmp_mariadb]# docker load -i  mariadb-latest.tar    #导入镜像
[root@node cmp_mariadb]# docker images
mariadb latest 901583bfdf5a months ago 367MB 启用编排文件文件名必须为docker-compose.ymal
先查看文件内容
[root@node cmp_mariadb]# ls
docker-compose.yml mariadb-latest.tar mysqlconf mysqllib mysqllog
[root@node cmp_mariadb]# vim docker-compose.yml
mysql:
image: mariadb:latest
ports:
- "3306:3306" #端口映射
volumes:
- ./mysqllib:/var/lib/mysql #目录映射
- ./mysqlconf:/etc/mysql
- ./mysqllog:/var/log/mysql
environment: #环境变量
- MYSQL_USER=zabbix
- MYSQL_DATABASE=zabbix
- MYSQL_PASSWORD=zabbix
- MYSQL_ROOT_PASSWORD=
- LANG=en_US.utf8
- TZ=Asia/Shanghai
restart: always #一直重启,开机重启
[root@node cmp_mariadb]# docker-compose up -d #启动编排文件,-d表示放在后台启动
Creating cmpmariadb_mysql_1 ... done
[root@node cmp_mariadb]# docker ps #启动成功
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a4bae322f4f6 mariadb:latest "docker-entrypoint.s…" minutes ago Up minutes 0.0.0.0:->/tcp cmpmariadb_mysql_1

由docker-compose启动的容器无法用命令docker命令控制,必须用docker-compose 在docker-compose所在的目录下执行相关命令。

[root@node cmp_mariadb]# docker-compose ps
Name Command State Ports
-------------------------------------------------------------------------
cmpmariadb_mysql_1 docker-entrypoint.sh Up 0.0.0.0:->/t mysqld cp

3> 启动zabbix

[root@node opt]# \cd cmp_zabbix/
[root@node cmp_zabbix]# ls
docker-compose.yml zabbixconfig zabbix-server-mysql.tar
zabbix-agent.tar zabbix-scripts zabbix-web-nginx-mysql.tar 导入镜像
[root@node cmp_zabbix]# docker load -i zabbix-server-mysql.tar
[root@node cmp_zabbix]# docker load -i zabbix-agent.tar
[root@node cmp_zabbix]# docker load -i zabbix-web-nginx-mysql.tar 编排文件内容
[root@node cmp_zabbix]# vim docker-compose.yml
version: ''
services:
zabbix-server:
container_name: zabbix-server
image: zabbix/zabbix-server-mysql:latest
restart: always
network_mode: host
# ports:
# - "10051:10051"
environment:
- DB_SERVER_HOST=192.168.16.95
- MYSQL_USER=zabbix
- MYSQL_DATABASE=zabbix
- MYSQL_PASSWORD=zabbix
- DB_SERVER_ROOT_USER=root
- DB_SERVER_ROOT_PASS=
- TZ='Asia/Shanghai'
volumes:
- /etc/localtime:/etc/localtime:ro
- ./zabbix-scripts:/usr/lib/zabbix
- ./zabbixconfig:/etc/zabbix
zabbix-web-nginx:
image: zabbix/zabbix-web-nginx-mysql:latest
restart: always
network_mode: bridge
ports:
- "8080:80"
- "8443:443"
environment:
- DB_SERVER_HOST=192.168.16.95
- MYSQL_DATABASE=zabbix
- MYSQL_USER=zabbix
- MYSQL_PASSWORD=zabbix
- MYSQL_ROOT_PASSWORD=
- ZBX_SERVER_HOST=192.168.16.95
- PHP_TZ="Asia/Shanghai"
- TZ='Asia/Shanghai'
zabbix-agent:
image: zabbix/zabbix-agent:latest
environment:
- ZBX_HOSTNAME=Zabbix server
- ZBX_SERVER_HOST=127.0.0.1
- ZBX_SERVER_PORT=
- TZ='Asia/Shanghai'
network_mode: host
# ports:
# - "10050:10050"
restart: always
privileged: true
# links:
# - zabbix-server:zabbixhost 启动
[root@node cmp_zabbix]# docker-compose up -d
Creating cmpzabbix_zabbix-web-nginx_1 ... done
Creating cmpzabbix_zabbix-agent_1 ... done
Creating cmpzabbix_zabbix-agent_1 ...
[root@node cmp_zabbix]# docker-compose ps
Name Command State Ports
-------------------------------------------------------------------------
cmpzabbix_zabbix- docker-entrypoint.sh Up
agent_1
cmpzabbix_zabbix- docker-entrypoint.sh Up 0.0.0.0:->/t
web-nginx_1 cp, 0.0.0.0:->
/tcp
zabbix-server docker-entrypoint.sh Up

容器启动后,在web端查看

若无法进入页面,修改文件/etc/sysctl.conf,加入net.ipv4.ip_forward=1

[root@node cmp_zabbix]# vim /etc/sysctl.conf
# sysctl settings are defined through files in
# /usr/lib/sysctl.d/, /run/sysctl.d/, and /etc/sysctl.d/.
#
# Vendors settings live in /usr/lib/sysctl.d/.
# To override a whole file, create a new file with the same in
# /etc/sysctl.d/ and put new settings there. To override
# only specific settings, add a file with a lexically later
# name in /etc/sysctl.d/ and put new settings there.
#
# For more information, see sysctl.conf() and sysctl.d().
net.ipv4.ip_forward=

用户/密码:Admin/zabbix

4> 监控其他三个节点

将zabbi-agent导入到三个节点

[root@node1 ~]# cd /opt
[root@node1 opt]# ls
rh zabbix-agent.tar.gz
[root@node1 opt]# tar xf zabbix-agent.tar.gz
[root@node1 opt]# ls
cmp_zabbix_agent rh zabbix-agent.tar zabbix-agent.tar.gz 导入zabbix镜像
[root@node1 opt]# docker load -i zabbix-agent.tar 进入编排文件所在目录
[root@node1 opt]# cd cmp_zabbix_agent/
[root@node1 cmp_zabbix_agent]# ls
docker-compose.yml
文件内容
[root@node1 cmp_zabbix_agent]# vim docker-compose.yml
version: ''
services:
zabbix-agent:
image: zabbix/zabbix-agent:latest
container_name: zabbix-agent
environment:
- ZBX_HOSTNAME=node2
- ZBX_SERVER_HOST=192.168.16.95
- ZBX_SERVER_PORT=
- TZ='Asia/Shanghai'
network_mode: bridge
ports:
- "10050:10050"
restart: always
privileged: true 启动
[root@node1 cmp_zabbix_agent]# ls
docker-compose.yml
[root@node1 cmp_zabbix_agent]# docker-compose up -d
Creating zabbix-agent ... done
[root@node1 cmp_zabbix_agent]# docker-compose ps
Name Command State Ports
----------------------------------------------------------------------
zabbix-agent docker-entrypoint.sh Up 0.0.0.0:->/tcp

监控节点已添加,在web界面添加主机进zabbix监控。

Docker版zabbix的更多相关文章

  1. docker版的zabbix部署

    环境准备:一台server端,两台agent端 server端部署zabbix-server和mariadb服务 agent端部署zabbix-agent服务 一.docker容器里下载zabbix和 ...

  2. docker搭建zabbix

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

  3. Docker部署Zabbix+Grafana监控

    Docker部署Zabbix+Grafana监控 环境 centos 7 ; Docker 17.12.0-ce ; docker-compose version 1.20.1 2018-4-1 当前 ...

  4. 安装linux版zabbix客户端

    安装linux版zabbix客户端 一.下载客户端 查看centos系统内核版本 cat /proc/version 如上图,就选择Linux 2.6系统对应的agent版本程序 打开官网:https ...

  5. 美图DPOS以太坊教程(Docker版)

    一.前言 最近,需要接触区块链项目的主链开发,在EOS.BTC.ethereum.超级账本这几种区块链技术当中,相互对比后,最终还是以go-ethereum为解决方案. 以ethereum为基准去找解 ...

  6. .Net Core 自动化部署:使用docker版jenkins部署dotnetcore应用

    安装docker版jenkins 因为jenkins的docker版本本身没有 dotnetcore的环境,所以我们需要先自己动手制作下包含dotnet环境的jenkins Docker Contai ...

  7. Docker安装Zabbix全记录

    零.Zabbix架构设计 一.docker安装mysql 查找Docker Hub上的mysql镜像: [root@10e131e69e15 ~]# docker search mysql INDEX ...

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

    Zabbix 介绍 zabbix(音同 zæbix)是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案. zabbix能监视各种网络参数,保证服务器系统的安全运营:并提供灵 ...

  9. Docker 版rocketmq部署

    rocketmq 部署启动指南-Docker 版   最近学习使用 rocketmq,需要搭建 rocketmq 服务端,本文主要记录 rocketmq 搭建过程以及这个过程踩到的一些坑. 准备工作# ...

随机推荐

  1. 在Proxmox VE上运行OpenWrt/LEDE虚拟机——导入OW/LEDE固件文件到虚拟机中

    PVE的OW/LEDE虚拟机初始化创建完成后,需要将编译好的固件文件上传到PVE主机上,然后转换为更适合KVM使用的磁盘映像格式并导入到OW/LEDE虚拟机中,这样就可以更好地使用基于KVM的OW/L ...

  2. 亿级Web系统搭建 Web负载均衡的几种实现方式(阿里)

    我还写了两篇详细的 参考:六大Web负载均衡原理与实现 参考:LVS(Linus Virtual Server):三种IP负载均衡方式比较+另三种Web负载均衡方式 其中LVS.HAProxy可以工作 ...

  3. Python(一)对 meta class 的理解

    1. 理解  class 对于 class 来说,表示一个代码块规定了实例化后的 object 的属性和方法 但是在 Python 中,class 本身也是对象.定义一个 class,就相当于在内存中 ...

  4. leetcode 111. 二叉树的最小深度

    题目描述: 给定一个二叉树,找出其最小深度. 最小深度是从根节点到最近叶子节点的最短路径上的节点数量. 说明: 叶子节点是指没有子节点的节点. 示例: 给定二叉树 [3,9,20,null,null, ...

  5. 测试效率加倍提升!shell 高阶命令快来 get 下!

    背景 目前大部分的项目都是部署在Linux系统上,作为测试,掌握常用Linux命令是必须的技能.很多的工作了好几年的测试人员可能还只会简单的ls.cd.cat等等这些命令,这些命令是可以应付工作的大部 ...

  6. windows x64安装与测试redis

    说明:安装与测试的系统为windows X64: 1.下载redis:https://github.com/microsoftarchive/redis/releases 2.解压Redis-x64- ...

  7. elasticsearch迁移数据到新索引中

    因为业务原因,需要修改索引的映射的某个字段的类型,比如更改Text为Keyword. 需要如下步骤: 1).先新建索引,映射最新的映射实体 2).迁移老索引的数据到新索引中(数据较大的话,可以分批迁移 ...

  8. SQLServer字符串与数字拼接

    1.使用cast‘’+cast(@ID as varchar) 2.使用LTrim‘’+LTrim(@ID) 感觉第二种方式代码简单,但是可读性不好.

  9. java -jar参数运行方式设置classpath

    转载自:https://www.cnblogs.com/aggavara/archive/2012/11/16/2773246.html 当用java -jar yourJarExe.jar来运行一个 ...

  10. python matplotlib 设置x轴文本间隔显示(数字的话可以转为字符之后处理)

    一个国际友人绘图遇到的问题,查了一手资料.主要参考的是这个老哥的做法(https://blog.csdn.net/wyquin/article/details/80508260) #totalSeed ...