没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
第
1
章
Zabbix
分布式监控企业实战
企业服务器对用户提供服务,作为运维工程师最重要的事情就是保证该网站正常稳定的
运行,需要实时监控网站、服务器的运行状态,并且有故障及时去处理。
监控网站无需人工时刻去访问
WEB
网站或者登陆服务器去检查,可以借助开源监控软
件例如
Zabbix
、
Cacti
、
Nagios
、
Ganglia
等来实现对网站的
7x24
小时的监控,并且做到有故
障及时报警通知
SA
解决。
本章向读者介绍企业级分布式监控
Zabbix
入门、
Zabbix
监控原理、最新版本
Zabbix
安
装实战、
Zabbix
批量监控客户端、监控
MYSQL
、
WEB
关键词及微信报警等。
1.1 Zabbix 监控系统入门简介
Zabbix
是一个基于
WEB
界面的提供分布式系统监控的企业级的开源解决方案,
Zabbix
能监视各种网络参数,保证服务器系统的安全稳定的运行,并提供灵活的通知机制以让
SA
快速定位并解决存在的各种问题。
Zabbix
分布式监控系统的优点如下:
支持自动发现服务器和网络设备;
支持底层自动发现;
分布式的监控体系和集中式的 WEB 管理;
支持主动监控和被动监控模式;
服务器端支持多种操作系统:Linux, Solaris, HP-UX, AIX, FreeBSD, OpenBSD,
MAC 等;
Agent 客户端支持多种操作系统:Linux, Solaris, HP-UX, AIX, FreeBSD,Windows 等;
基于 SNMP、IPMI 接口方式也可以监控 Agent;
安全的用户认证及权限配置;
基于 WEB 的管理方法,支持自由的自定义事件和邮件发送;
高水平的业务视图监控资源,支持日志审计,资产管理等功能;
支持高水平 API 二次开发、脚本监控、自 Key 定义、自动化运维整合调用。
1.2 Zabbix 监控组件及流程
Zabbix
监控组件如图
13-1
所示,主要由三大组件,分别是
Zabbix server
端、
Zabbix
Proxy
、
Agent
客户端,其中
Zabbix Server
端包括:
WEB GUI
、
Database
、
Zabbix_Server
。
图
13-1 Zabbix
监控组件
Zabbix
监控系统具体监控系统流程如图
13-2
所示:
图
13-2 Zabbix
监控流程图
Zabbix
监控完整流程包括:
Agentd
安装在被监控的主机上,
Agent
负责定期收集客户端
本地各项数据,并发送到
Zabbix Server
端,
Zabbix Server
收到数据,将数据存储到数据库
中,用户基于
Zabbix WEB
可以看到数据在前端展现图像。
当
Zabbix
监控某个具体的项目,该项目会设置一个触发器阀值,当被监控的指标超过
该触发器设定的阀值,会进行一些必要的动作,动作包括:邮件、微信报警或者执行命令等
操作。如下为
Zabbix
完整监控系统,各个部分负责的工作:
Zabbix Server:负责接收 agent 发送的报告信息的核心组件,所有配置,统计数据
及操作数据均由其组织进行;
Database Storage:专用于存储所有配置信息,以及存储由 Zabbix 收集到的数据;
Web interface:Zabbix 的 GUI 接口,通常与 Server 运行在同一台主机上;
Proxy:常用于分布监控环境中,代理 Server 收集部分被监控端的监控数据并统一
发往 Server 端;
Zabbix Agent:部署在被监控主机上,负责收集本地数据并发往 Server 端或 Proxy
端;
Zabbix
监控部署在系统中,会包含常见的四个程序:
zabbix_server
、
zabbix_get
、
zabbix_agentd
、
zabbix_proxy
、
zabbix_sender
等。四个程序启动后分别对应四个进程,如下
为每个进程的功能:
Zabbix_server:Zabbix 服务端守护进程,其中 zabbix_agentd、zabbix_get、
zabbix_sender、zabbix_proxy 的数据最终均是提交给 Zabbix_Server;
Zabbix_Agentd:客户端守护进程,负责收集客户端数据,例如收集 cpu 负载、内
存、硬盘使用情况等;
Zabbix_get:Zabbix 数据获取工具,单独使用的命令,通常在 server 或者 proxy 端
执行获取远程客户端信息的命令;
Zabbix_sender:zabbix 数据发送工具,用于发送数据给 server 或者 proxy,通常用
于耗时比较长的检查。很多检查非常耗时间,导致 zabbix 超时。于是我们在脚本
执行完毕之后,使用 sender 主动提交数据;
Zabbix_proxy:zabbix 分布式代理守护进程,分布式监控架构需要部署
Zabbix_Proxy。
1.3 Zabbix 监控方式及数据采集
Zabbix
分布式监控系统监控客户端的方式常见有三种,分别是
Agent
方式、
SNMP
、
IPMI
方式,三种方式特点如下:
Agent:Zabbix 可以基于自身 zabbix_agent 客户端插件监控 OS 的状态,例如 CPU、
内存、硬盘、网卡、文件等。
SNMP:Zabbix 可以通过简单网络管理协议(Simple Network Management Protocol,
SNMP)协议监控网络设备或者 windows 主机等,通过设定 SNMP 的参数将相关监
控数据传送至服务器端,交换机、防火墙等网络设备一般都支持 SNMP 协议。
IPMI:智能平台管理接口(Intelligent Platform Management Interface,IPMI)即
主要应用于设备的物理特性,包括:温度、电压、电扇工作状态、电源供应以及机
箱入侵等。IPMI 最大的优势在于无论 OS 在开机还是关机的状态下,只要接通电
源就可以实现对服务器的监控。
Zabbix
监控客户端分为主动监控与被动监控,主被动模式以客户端为参照,
Zabbix
监
控客户端默认为被动模式,可以修改为主动模式,只需要在客户端配置文件中添加。可以关
闭被动模式的方法:在配置文件中加入
StartAgents=0
,即为关闭被动模式。主被动监控模
式区别如下:
Zabbix 主动模式:Agent 主动请求 server 获取主动的监控项列表,并主动将监控项
内需要检测的数据提交给 server/proxy,zabbix agent 首先向 ServerActive 配置的 IP
请求获取 active items,获取并提交 active items 数据值 server 或者 proxy;
Zabbix 被动模式:Server 向 agent 请求获取监控项的数据,agent 返回数据,Server
打开一个 TCP 连接,Server 发送请求 agent.ping,Agent 接收到请求并且响应,Server
处理接收到的数据。
1.4 Zabbix 监控概念
Zabbix
监控系统包括很多监控概念,掌握
Zabbix
监控概念能对
Zabbix
监控快速的理解,
如下为
Zabbix
常用术语及解释。
主机(
host
): 被监控的网络设备,可以写
IP
或者
DNS
;
主机组(
host group
): 主机组用于管理主机,可以批量设置权限;
监控项(
item
): 具体监控项,
items
值由独立的
keys
进行识别;
触发器(
trigger
):
为某个
items
设置触发器,达到触发器会执行
action
动作;
事件(
event
):
例如达到某个触发器,称之为一个事件;
动作(
action
):
对于特定事件事先定义的处理方法,默认可以发送信息及发送
命令;
报警升级(
escalation
):
发送警报或执行远程命令的自定义方案,如隔
5
分钟发送一次
警报,共发送
5
次等。
媒介(
media
):
发送通知的方式,可以支持
Mail
、
SMS
、
Scripts
等;
通知(
notification
):
通过设置的媒介向用户发送的有关某事件的信息;
远程命令
达到触发器,可以在被监控端执行命令;
模板(
template
):
可以快速监控被监控端,模块包含:
item
、
trigger
、
graph
、
screen
、
application
;
web
场景(
web scennario
)用于检测
web
站点可用性,监控
HTTP
关键词;
web
前端(
frontend
):
Zabbix
的
web
接口;
图形(
graph
) 监控图像;
屏幕(
screens
) 屏幕显示;
幻灯(
slide show
) 幻灯显示。
1.5 Zabbix 监控平台部署
Zabbix
监控平台部署,至少需要安装四个组件,分别是
Zabbix_Server
、
Zabbix_Web
、
Databases
、
Zabbix_Agentd
,如下为
Zabbix
监控平台安装配置详细步骤:
(1) 系统环境
Server 端:192.168.149.128
Agent 端:192.168.149.129
(2) 下载 zabbix 版本,各个版本之间安装方法相差不大,可以根据实际情况选择安装
版本,本文版本为 Zabbix-3.2.6.tar.gz。
wget http://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/3.2.6/zabbix-3.2
.6.tar.gz/download
(3) Zabbix Server 端和 Zabbix Agent 执行如下代码:
yum -y install curl curl-devel net-snmp net-snmp-devel perl-DBI mariadb-devel
mysql-devel
groupadd zabbix
useradd -g zabbix zabbix
usermod -s /sbin/nologin zabbix
(4) Zabbix Server 端配置
创建
zabbix
数据库,执行授权命令:
create database zabbix charset=utf8
;
剩余57页未读,继续阅读
资源评论
小小哭包
- 粉丝: 1900
- 资源: 3864
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功