029.Docker Compose部署Zabbix实战

2019-07-25 16:30:35 浏览数 (1)

一 前期规划

1.1 Zabbix架构图

1.2 其他规划

组件

类型

版本

备注

Zabbix Web

zabbix-web-apache-mysql镜像

wordpress:latest

也可采用zabbix-web-nginx-mysql镜像

数据库

MySQL数据库镜像

mysql:5.7

也可采用MariaDB

zabbix-server-mysql镜像

node01

zabbix/zabbix-agent

被监控端

Docker已安装,参考《002.Docker版本及安装》。

Docker Compose已安装,参考《009.Docker Compose基础使用》。

二 正式构建Zabbix Server

2.1 创建目录

代码语言:javascript复制
  1 root@docker01:~# mkdir my_zabbix
  2 root@docker01:~# mkdir /zabbix_mysql_data

2.2 创建Docker Compose

代码语言:javascript复制
  1 root@docker01:~# cd my_zabbix/
  2 root@docker01:~/my_zabbix# vi docker-compose.yml
  3 version: '3'
  4 services:
  5   zabbix-mysql:
  6     image: mysql:5.7
  7     container_name: zabbix-mysql
  8     ports:
  9       - '3306:3306'
 10     environment:
 11       MYSQL_ROOT_PASSWORD: rootpassword
 12       MYSQL_DATABASE: zabbix
 13       MYSQL_USER: zabbix
 14       MYSQL_PASSWORD: zabbixpassword
 15     volumes:
 16       - /zabbix_mysql_data:/var/lib/mysql
 17 
 18   zabbix-web-apache-mysql:
 19     image: zabbix/zabbix-web-apache-mysql
 20     container_name: zabbix-web-apache-mysql
 21     environment:
 22       DB_SERVER_HOST: zabbix-mysql
 23       MYSQL_DATABASE: zabbix
 24       MYSQL_USER: zabbix
 25       MYSQL_PASSWORD: zabbixpassword
 26       MYSQL_ROOT_PASSWORD: rootpassword
 27       ZBX_SERVER_HOST: zabbix-server-mysql
 28       PHP_TZ: Asia/Shanghai
 29     ports:
 30       - '80:80'
 31       - '443:443'
 32     links:
 33       - zabbix-mysql
 34       - zabbix-server-mysql
 35     depends_on:
 36       - zabbix-mysql
 37       - zabbix-server
 38 
 39   zabbix-server:
 40     image: zabbix/zabbix-server-mysql
 41     container_name: zabbix-server-mysql
 42     network_mode: host
 43     environment:
 44       DB_SERVER_HOST: 127.0.0.1
 45       MYSQL_DATABASE: zabbix
 46       MYSQL_USER: zabbix
 47       MYSQL_PASSWORD: zabbixpassword
 48       MYSQL_ROOT_PASSWORD: rootpassword
 49     ports:
 50       - '10051:10051'
 51     links:
 52       - zabbix-mysql
 53     depends_on:
 54       - zabbix-mysql
 55 
 56   zabbix-agent:
 57     image: zabbix/zabbix-agent
 58     container_name: zabbix-server-agent
 59     network_mode: host
 60     environment:
 61       ZBX_HOSTNAME: zabbix server
 62       ZBX_SERVER_HOST: 127.0.0.1
 63     ports:
 64       - '10050:10050'

2.3 开始构建

代码语言:javascript复制
  1 root@docker01:~# cd my_zabbix/
  2 root@docker01:~/my_zabbix# docker-compose up -d

2.4 确认验证

浏览器访问http://172.24.8.111

如上所示即可正常登录,更多Zabbix使用方法请参考官方文档。

三 构建Zabbix Agent

3.1 安装Docker

需要被监控客户端节点安装Docker,参考《002.Docker版本及安装》。

3.2 安装Docker Compose

在需要被监控客户端节点安装Docker Compose,参考《009.Docker Compose基础使用》。

3.3 创建Docker Compose

代码语言:javascript复制
  1 root@node01:~# mkdir my_agent/
  2 root@node01:~# cd my_zabbix/
  3 root@node01:~/my_zabbix# vi docker-compose.yml
  4 version: '3'
  5 services:
  6   zabbix-agent:
  7     image: zabbix/zabbix-agent
  8     container_name: zabbix-server-agent
  9     network_mode: host
 10     environment:
 11       ZBX_HOSTNAME: zabbix server
 12       ZBX_SERVER_HOST: 127.0.0.1
 13     ports:
 14       - '10050:10050'

3.4 开始构建

代码语言:javascript复制
  1 root@node01:~# docker-compose up -d

四 添加监控节点

4.1 添加主机

Configuration---->Host---->Creat Host

添加需要监控的节点,更多Zabbix使用方法请参考官方文档。

提示:docker相关知识参考本博客其他文档。

0 人点赞