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. C函数之genv

    函数原型: include<stdlib.h> char *getenv(char *envvar); 函数说明: getenv()用来取得参数envvar环境变量的内容.参数envvar ...

  2. 根据IP查询所在城市接口(查询用户所在城市)

    转自:https://blog.csdn.net/liona_koukou/article/details/75646313 最近项目有用到定位用户客户端打开页面时所在的城市的需求,找到如下接口,做个 ...

  3. 在centos系统的/etc/hosts添加了 当前主机的 ‘ NAT分配的IP controller’,RabbitMQ添加用户报错。

    在centos系统的/etc/hosts添加了 当前主机的 ' NAT分配的IP controller',RabbitMQ添加用户报错. rabbitMq添加用户 报错信息如下 [root@contr ...

  4. 监听浏览器tab选项卡选中事件,点击浏览器tab标签页回调事件,浏览器tab切换监听事件

    js事件注册代码: <script> document.addEventListener('visibilitychange',function(){ //浏览器tab切换监听事件 if( ...

  5. 【RS】:论文《Neural Collaborative Filtering》的思路及模型框架

    [论文的思路] NCF 框架如上: 1.输入层:首先将输入的user.item表示为二值化的稀疏向量(用one-hot encoding) 2.嵌入层(embedding):将稀疏表示映射为稠密向量( ...

  6. docker 学习操作记录 2

    记录2 [BEGIN] // :: Connecting to ... Connection established. To escape to local shell, press Ctrl+Alt ...

  7. Atlassian JIRA 插件开发之二 安装和创建项目

    安装参考 https://developer.atlassian.com/server/framework/atlassian-sdk/install-the-atlassian-sdk-on-a-w ...

  8. laravel门面与服务提供者区别

    laravel门面模式与服务提供者区别 以 Laravel 自带的文件系统为例,在 config/app.php 的配置文件的 providers 数组中,注册了一个服务提供者: Illuminate ...

  9. 转载:Linux命令行快捷键

    常用 Ctrl + 左右键:在单词之间跳转 Ctrl + A:跳到本行的行首 Ctrl + E:跳到页尾 Ctrl + U:删除当前光标前面的所有文字(还有剪切功能) Ctrl + K:删除当前光标后 ...

  10. linux -------- 使用xshell ,winscp 连接linux 以及一些问题解决

    1. 安装主要就是默认确定 2.连接VM上的centos 系统 设置连接模式 3.通过 ping 虚拟机上的linux系统的IP地址 4.使用xshell 进行连接 5.输入linux 的用户名和密码 ...