zabbix

本文深入解析了Zabbix这一企业级分布式开源监控解决方案。详细介绍了Zabbix的架构组成,包括核心组件Zabbixserver、数据库、Web界面、Proxy及Agent的工作原理。此外,还探讨了Zabbix的数据采集、阈值定义、告警配置、实时图形展示等功能,以及其灵活的配置方式和强大的Agent特性。同时,提供了在Ubuntu18.04环境下Zabbix的安装指南。

介绍

企业级分布式开源监控解决方案

架构

功能组件:

Server

Zabbix server 是 Zabbix软件的核心组件,agent 向其报告可用性、系统完整性信息和统计信息。server也是存储所有配置信息、统计信息和操作信息的核心存储库。

数据库

所有配置信息以及 Zabbix 采集到的数据都被存储在数据库中。

Web 界面

为了从任何地方和任何平台轻松访问 Zabbix ,我们提供了基于 web 的界面。该界面是 Zabbix server 的一部分,通常(但不一定)和 Zabbix server 运行在同一台物理机器上。

Proxy

Zabbix proxy 可以代替 Zabbix server采集性能和可用性数据。Zabbix proxy在Zabbix的部署是可选部分;但是proxy的部署可以很好的分担单个Zabbix server的负载。

Agent

Zabbix agents 部署在被监控目标上,用于主动监控本地资源和应用程序,并将收集的数据发送给 Zabbix server。

数据流

另外,回过头来整体的了解下 Zabbix 内部的数据流对Zabbix的使用也很重要。首先,为了创建一个采集数据的监控项,您就必须先创建主机。其次,在任务的另外一端,必须要有监控项才能创建触发器(trigger),必须要有触发器来创建动作(action)。因此,如果您想要收到类似“X个server上CPU负载过高”这样的告警,您必须首先为 Server X 创建一个主机条目,其次创建一个用于监控其 CPU的监控项,最后创建一个触发器,用来触发 CPU负载过高这个动作,并将其发送到您的邮箱里。虽然这些步骤看起来很繁琐,但是使用模板的话,实际操作非常简单。也正是由于这种设计,使得 Zabbix 的配置变得更加灵活易用。

功能

数据采集
  • 可用性和性能检查;
  • 支持 SNMP(包括主动轮询和被动捕获)、IPMI、JMX、VMware 监控;
  • 自定义检查;
  • 按照自定义的时间间隔采集需要的数据;
  • 通过 Server/Proxy 和 Agents 来执行数据采集。
灵活的阈值定义
  • 您可以参考后端数据库定义非常灵活的告警阈值,即触发器
高度可配置化的告警
  • 可以根据递增计划、接收者、媒介类型自定义发送告警通知;
  • 使用宏变量可以使告警通知变得更加高效有用;
  • 自动操作包含远程执行命令。
实时图形
  • 使用内置图形功能可以将监控项实时绘制成图形。
Web 监控功能
  • Zabbix可以追踪模拟鼠标在 Web 网站上的点击操作,来检查 Web 网站的功能和响应时间。
丰富的可视化选项
  • 可以组合多个监控项到单个视图中,创建自定义图表;
  • 网络拓扑图;
  • 以仪表盘样式展示自定义聚合图形和幻灯片演示;
  • 报表;
  • 监控资源的更高层次展示视图(业务视图)。
历史数据存储
  • 存储在数据库中的数据;
  • 历史配置;
  • 内置数据管理机制(housekeeping)。
配置简单
  • 将被监控设备添加为主机;
  • 主机一旦添加到数据库中,就会采集数据用于监控;
  • 将模板用于监控设备。
使用模板
  • 模板中分组检查;
  • 模板可以关联模板,继承已关联模板的属性。
网络发现
  • 自动发现网络设备;
  • Zabbix Agent 发现设备后自动注册;
  • 自动发现文件系统、网络接口和 SNMP OIDs 值。
快捷的 Web 界面
  • 基于 PHP 的 Web 前端;
  • 可以从任何地方访问;
  • 您可以定制自己的操作方式;
  • 您可以通过审计日志来查看你的操作。
Zabbix API
  • Zabbix API 为 Zabbix 提供可编程接口,用于批量操作、第三方软件集成和其他用途。
权限管理系统
  • 安全的用户身份验证;
  • 指定的用户只能查看指定的权限范围内的视图。
功能强大且易于扩展的 Zabbix Agent
  • 部署于被监控对象上;
  • 支持 Linux 和 Windows ;
二进制守护进程
  • 为了更好的性能和更少的内存占用,采用 C 语言编写;
  • 便于移植。
适应更复杂的环境
  • 使用 Zabbix Proxy 代理,可以轻松实现分布式远程监控。

安装

Ubuntu18.04

  1. 安装软件仓库配置包,这个包包含了 apt(软件包管理器)的配置文件。
# wget https://repo.zabbix.com/zabbix/4.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_4.0-2+bionic_all.deb
# dpkg -i zabbix-release_4.0-2+bionic_all.deb
# apt update
  1. 安装Server/proxy/前端

安装 Zabbix server 并使用 MySQL 数据库:

# apt install zabbix-server-mysql

安装 Zabbix proxy 并使用 MySQL 数据库:

# apt install zabbix-proxy-mysql

安装 Zabbix 前端:

# apt install zabbix-frontend-php

将命令中的 ‘mysql’ 替换为 ‘pgsql’ 以使用 PostgreSQL,或替换为 ‘sqlite3’ 以使用 SQLite3(仅 Zabbix proxy)。

  1. 创建数据库

对于 Zabbix server 和 proxy 守护进程而言,数据库是必须的。而运行 Zabbix agent 是不需要的。

如果 Zabbix server 和 Zabbix proxy 安装在相同的主机,它们必须创建不同名字的数据库!

sudo zcat /usr/share/doc/zabbix-server-mysql/create.sql.gz | sudo mysql -p zabbix_server

对于 Zabbix proxy,导入初始的数据库 schema:

sudo zcat /usr/share/doc/zabbix-proxy-mysql/schema.sql.gz | sudo mysql -p zabbix_proxy

参考

Zabbix Documentation 4.0

04-26
<think>好的,用户想了解Zabbix监控系统的使用指南,包括安、配置、使用或监控解决方案。首先,我需要整理Zabbix的基本信息,确保覆盖用户可能关心的主要方面。根据引用内容,用户提供的参考资料提到了安、配置监控项、主动监控设置、模板应用等。 首先,我应该分步骤来回答,结构要清晰。可能分为安部署、基础配置、监控项管理、告警设置、模板应用几个部分。每个部分需要简明扼要,给出关键步骤,同时结合引用中的具体操作,比如引用3提到的主动监控配置,引用4提到的模板下载,这些都需要包含进去。 要注意用户可能需要具体的命令行操作,比如修改配置文件的位置参数,例如引用3中的zabbix_agentd.conf的修改,以及重启服务等步骤。这些细节对用户配置Zabbix代理很重要,必须准确无误。 另外,用户可能对监控模板的使用感兴趣,引用4提到了社区模板库,需要说明如何下载应用这些模板,步骤要具体,比如下载后如何导入Zabbix界面。 告警配置部分,引用3提到了主动监控的主机创建,可能需要说明如何在Zabbix前端添加主机并关联模板,同时设置触发器动作。需要确保用户了解如何测试告警是否生效。 可能还需要提到性能优化,比如主动监控的优势,减少服务端压力,如引用3中设置StartAgents=0ServerActive参数,这样用户知道如何优化代理配置。 最后,相关问题部分需要生成与Zabbix相关的进一步问题,可能涉及高级配置、分布式监控、集成其他工具等,参考用户之前的示例,问题要具体且有引导性。 需要检查所有技术细节是否正确,比如配置文件路径、参数名称,确保引用中的信息一致,避免错误。同时,保持回答的中文自然流畅,符合用户要求的分段格式,使用列表代码块来展示命令配置示例,增强可读性。</think>以下是Zabbix监控系统的使用指南,涵盖核心功能与操作流程: ### 一、安部署(以CentOS为例) 1. 环境准备 ```bash # 安Zabbix仓库 yum install https://repo.zabbix.com/zabbix/6.0/rhel/7/x86_64/zabbix-release-6.0-4.el7.noarch.rpm # 安服务端组件 yum install zabbix-server-mysql zabbix-web-mysql zabbix-nginx-conf zabbix-sql-scripts zabbix-agent ``` 2. 数据库初始化 ```bash mysql> CREATE DATABASE zabbix CHARACTER SET utf8 COLLATE utf8_bin; mysql> GRANT ALL ON zabbix.* TO 'zabbix'@'localhost' IDENTIFIED BY 'YourPassword'; # 导入初始数据 zcat /usr/share/doc/zabbix-sql-scripts/mysql/server.sql.gz | mysql -uzabbix -p zabbix ``` ### 二、基础配置 1. 服务端配置 ```bash vim /etc/zabbix/zabbix_server.conf DBPassword=YourPassword # 配置数据库连接 ``` 2. 客户端配置(被监控节点) ```bash vim /etc/zabbix/zabbix_agentd.conf Server=192.168.88.5 # Zabbix服务端IP ServerActive=192.168.88.5 Hostname=web1 # 需与服务端注册名称一致 ``` ### 三、监控项管理 1. **主动监控配置**(降低服务端负载) ```bash StartAgents=0 # 关闭被动监控 ServerActive=192.168.88.5 RefreshActiveChecks=120 # 主动检查间隔[^3] ``` 2. 自定义监控项开发 ```bash # 创建自定义监控脚本 vim /etc/zabbix/zabbix_agentd.d/custom_script.conf UserParameter=app.status,/opt/scripts/check_app.sh ``` ### 四、告警配置 1. 触发器设置 ```text {web1:net.tcp.service[http,,80].last()}=0 # 当HTTP服务不可用时触发 ``` 2. 通知渠道配置 - 支持邮件/Slack/Webhook等多种方式 - 配置路径:管理 → 报警媒介类型 ### 五、模板应用 1. 使用社区模板[^4] ```bash # 下载模板文件 wget https://github.com/endersonmaia/zabbix-templates/raw/master/template_nginx.xml # 通过Web界面导入:配置 → 模板 → 导入 ``` 2. 模板关联主机 - 通过"自动注册"功能实现新主机自动关联模板 - 手动关联路径:主机配置 → 模板标签页
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值