Zabbix应用实例初探

前言

随着业务项目的逐渐增加,一个项目的可能就需要好几个服务器.如果有好几个项目一起管理的话,运维手上的服务器少则十几个多则上百个很正常.运维不可能按照以往处理单服务器的方式解决问题,需要有个高效并且好用的服务器管家来协助他们处理服务器问题,运维的要求很简单,比如监控服务器性能并即时告警.这样的运维监控系统,既可以缓解运维管理压力,又大大减低运维门槛.

市场上流行运维监控系统有很多,这里简单讲解下Zabbix基础知识.

基本信息

架构

zabbix使用的是master/agent方式.我们将zabbix-agent部署在节点主机上,有agent负责收集相关的数据.zabbix-server作为中心服务器,负责接收并监控节点主机的信息并做及时处理.
zabbix架构

组件

  • zabbix agent:部署在节点主机上,负责收集节点主机信息,并发送给zabbix-server.
  • zabbix server:负责接收数据,监控并处理.
  • zabbix web:可视化管理界面,查看监控数据和配置告警等等.

工作方式

zabbix工作分为主动模式和被动模式.

  • 主动模式:agent负责收集数据,将收集的信息主动发送给server端,称之为主动模式.
  • 被动模式:agent只负责收集数据,等待server端来拉取数据,称之为被动模式.

特别的,主动模式和被动模式可以同时开启,两者并不冲突.配置在agent配置文件上.

环境部署

server端部署

测试环境下,Server端选择使用docker方式部署zabbix.这里参考网上的文档使用docker编排工具编译.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
version: '3'
services:
mysql:
image: swr.cn-north-1.myhuaweicloud.com/rj-bai/zabbix-mysql:5.7
environment:
MYSQL_USER: zabbix
MYSQL_DATABASE: zabbix
MYSQL_PASSWORD: zabbix
MYSQL_ROOT_PASSWORD: Sowhat?
volumes:
- /data/mysql/zabbix:/var/lib/mysql
ports:
- 3306:3306
restart: always
networks:
- zabbix
zabbix-java-gateway:
image: swr.cn-north-1.myhuaweicloud.com/rj-bai/zabbix-java-gateway:4.0.1
ports:
- 10052:10052
restart: always
networks:
- zabbix
zabbix-server:
image: swr.cn-north-1.myhuaweicloud.com/rj-bai/zabbix-server:4.0.1
environment:
ZBX_JAVAGATEWAY: zabbix-java-gateway
ZBX_JAVAGATEWAY_ENABLE: "true"
DB_SERVER_HOST: mysql
MYSQL_DATABASE: zabbix
MYSQL_USER: zabbix
MYSQL_PASSWORD: zabbix
MYSQL_ROOT_PASSWORD: Sowhat?
links:
- mysql
ports:
- 10051:10051
depends_on:
- mysql
restart: always
networks:
- zabbix
zabbix-web:
image: swr.cn-north-1.myhuaweicloud.com/rj-bai/zabbix-web:4.0.1
environment:
PHP_TZ: Asia/Shanghai
DB_SERVER_HOST: mysql
MYSQL_DATABASE: zabbix
MYSQL_USER: zabbix
MYSQL_PASSWORD: zabbix
MYSQL_ROOT_PASSWORD: Sowhat?
links:
- mysql
ports:
- 80:80
depends_on:
- zabbix-server
- mysql
restart: always
networks:
- zabbix
networks:
zabbix:
driver: bridge

部署后的容器信息如下:

zabbix-master-dockers

agent端部署

1
2
rpm -i https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
yum -y install zabbix-agent-4.0.1

安装后的配置文件如下:

agent端配置

参考资料

文章目录
  1. 1. 前言
  2. 2. 基本信息
    1. 2.1. 架构
    2. 2.2. 组件
    3. 2.3. 工作方式
  3. 3. 环境部署
    1. 3.1. server端部署
    2. 3.2. agent端部署
  4. 4. 参考资料