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. 创建java类中类出现is not an enclosing class

    public class A { public class B { } }; 需要实例B类时,按照正逻辑是,A.B ab = new A.B(); 那么编译器就会出现一个错误--"is no ...

  2. 【BigData】Java基础_HashSet

    HashSet简介 HashSet是一个集合数据类型,具有以下三个特性: (1)可以存储过个数据对象 (2)HashSet中的数据不能重复 (3)HashSet的数据存储是无序的 HashSet的几个 ...

  3. matlab 彩色图像转化成灰度图像,灰度图像降低灰度级

    灰度级数k,k=2^b,称该图像为b比特图像. 降低灰度级数是靠2的幂次方 网上代码:https://blog.csdn.net/silence2015/article/details/6892736 ...

  4. K8S之traefik高级特性

    Traefik Traefik是一个用Golang开发的轻量级的Http反向代理和负载均衡器.由于可以自动配置和刷新backend节点,目前可以被绝大部分容器平台支持,例如Kubernetes,Swa ...

  5. ASP.NET Core WebApi基于JWT实现接口授权验证

    一.ASP.Net Core WebApi JWT课程前言 我们知道,http协议本身是一种无状态的协议,而这就意味着如果用户向我们的应用提供了用户名和密码来进行用户认证,那么下一次请求时,用户还要再 ...

  6. 关于JavaSE程序的小总结(不分先后顺序 后续继续补充)

    统计字符串中某个字符串出现的次数 package com.jiang.demo01; public class Demo01 { public static void main(String[] ar ...

  7. PatchMatch Stereo - Stereo Matching with Slanted Support Windows

    Tips MVS: Multi-View Stereo Abstract 思路:一般的局部立体方法是一个具有整形数值视察(disparity)的支持镜头进行匹配,其中有一个隐藏的假设:再支持区域的像素 ...

  8. JavaSE 面试题: 类初始化和实例初始化等

    JavaSE 面试题 类初始化和实例初始化等 class Father { private int i = test(); private static int j = method(); stati ...

  9. 查看电脑已保存的wifi及密码

    1. 查看以保存的wifi名称  打开cmd(win+r) #查看已保存WiFi名称 netsh wlan show profiles 2. 查看已保存的wifi的密码 netsh wlan show ...

  10. Ubiq:A Scalable and Fault-tolerant Log Processing Infrastructure

    Abstract 互联网应用通常会产生大量的时间日志需要进行分析和处理.本文介绍Ubiq的架构,它是一个分布式系统,用于处理不断增长的日志文件,具有可扩展性.高可用.低延迟的特性.Ubiq框架容忍基础 ...