1 Server

    概述

    Zabbix Server负责执行数据的主动轮询和被动获取,计算触发器条件,向用户发送通知。它是Zabbix Agent 和 Proxy 报告系统可用性和完整性数据的核心组件。Server自身可以通过简单服务远程检查网络服务(如Web服务器和邮件服务器)。

    Zabbix Server是所有配置、统计和操作数据的中央存储中心,也是Zabbix监控系统的告警中心。在监控的系统中出现任何异常,将发出通知给管理员。

    基本的 Zabbix Server 的功能分解成为三个不同的组件。他们是:Zabbix server、Web前端和数据库。

    Zabbix 的所有配置信息都存储在 Server和Web前端进行交互的数据库中。例如,当你通过Web前端(或者API)新增一个监控项时,它会被添加到数据库的监控项表里。然后,Zabbix server 以每分钟一次的频率查询监控项表中的有效项,接着将它存储在 Zabbix server 中的缓存里。这就是为什么 Zabbix前端所做的任何更改需要花费两分钟左右才能显示在最新的数据段的原因。

    服务进程

    通过二进制包安装的组件

    Zabbix server 进程以守护进程(Deamon)运行。Zabbix server 的启动可以通过执行以下命令来完成:

    上述命令在大多数的 GNU/Linux 系统下都可以正常完成。如果是其他系统,你可能要尝试以下命令来运行:

    类似的,停止、重启、查看状态,则需要执行以下命令:

    1. shell> service zabbix-server stop
    2. shell> service zabbix-server restart
    3. shell> service zabbix-server status
    手动启动

    如果以上操作均无效,您可能需要手动启动,找到 Zabbix Server 二进制文件的路径并且执行:

    1. shell> zabbix_server

    使用命令行参数运行 Zabbix server 的示例::

    1. shell> zabbix_server -c /usr/local/etc/zabbix_server.conf
    2. shell> zabbix_server --help
    3. shell> zabbix_server -V
    运行时控制

    运行时控制选项:

    使用运行时控制重新加载服务器配置缓存的示例:

    1. shell> zabbix_server -c /usr/local/etc/zabbix_server.conf -R config_cache_reload

    使用运行时控制收集诊断信息的示例:

    1. 在服务器日志文件中收集所有可用的诊断信息:
    2. shell> zabbix_server -R diaginfo
    3. 在服务器日志文件中收集历史缓存统计信息:
    4. shell> zabbix_server -R diaginfo=historycache

    使用运行时控制重新加载 SNMP 缓存的示例:

    使用运行时控制触发管家执行的示例:

    1. shell> zabbix_server -c /usr/local/etc/zabbix_server.conf -R housekeeper_execute

    使用运行时控制更改日志级别的示例:

    1. shell> zabbix_server -c /usr/local/etc/zabbix_server.conf -R log_level_increase
    2. 增加第二个轮询进程的日志级别:
    3. 使用 PID 1234 增加进程的日志级别:
    4. shell> zabbix_server -c /usr/local/etc/zabbix_server.conf -R log_level_increase=1234
    5. 降低所有 http poller 进程的日志级别:
    6. shell> zabbix_server -c /usr/local/etc/zabbix_server.conf -R log_level_decrease="http poller"

    将 HA 故障转移延迟设置为最短 10 秒的示例:

    1. shell> zabbix_server -R ha_set_failover_delay=10s
    进程用户

    如果你试图以“root”身份运行它,它将会切换到一个已经“写死”的“zabbix”用户,您可以参考 安装 章节。按此相应地修改 Zabbix server 配置文件中的“AllowRoot”参数,则可以只以“root”身份运行 Zabbix server。

    如果 Zabbix server 和 均运行在同一台服务器上,建议您使用不同的用户运行 server 和 agent 。否则,,如果两者都以相同的用户运行,Agent 可以访问 Server 的配置文件, 任何 Zabbix 管理员级别的用户都可以很容易地检索到 Server 的信息。例如,数据库密码。

    配置文件

    有关配置 Zabbix server 的详细信息,请查阅 章节。

    启动脚本

    这些脚本用于在系统启动和关闭期间自动启动和停止 Zabbix 进程。 此脚本位于 misc/init.d 目录下。

    服务器进程类型

    • alert manager - 警报队列管理器
    • alert syncer - 警报数据库编写器
    • alerter - - 发送通知的进程
    • availability manager - 主机可用性更新进程
    • configuration syncer -管理配置数据的内存缓存进程
    • discoverer - 发现设备进程
    • escalator - 升级操作进程
    • history poller - 处理需要数据库连接的计算和内部检查进程
    • history syncer - 历史数据库编写器
    • housekeeper - 删除旧历史数据进程
    • http poller - web监控轮询器
    • - 用于 icmp ping 检查的轮询器
    • ipmi manager - IPMI 轮询管理器
    • ipmi poller - IPMI 检查的轮询器
    • java poller - 用于Java检查的轮询器
    • lld worker - 低级别发现任务的工作进程
    • odbc poller - 用于 ODBC 检查的轮询器
    • poller - 用于被动检查的普通轮询器
    • preprocessing manager - 预处理任务管理器
    • preprocessing worker - 数据预处理进程
    • problem housekeeper - 消除已删除触发器问题进程
    • proxy poller - 被动代理轮询器
    • report manager- 定时报表任务管理器
    • report writer - 定时报表处理进程
    • self-monitoring - 收集内部服务器统计数据的进程
    • snmp trapper - SNMP 陷阱trapper
    • task manager - 远程执行其他组件请求的任务进程(例如关闭问题、确认问题、立即检查监控项值、远程命令功能)
    • timer - 处理维护的计时器
    • trapper - 用于主动检查、陷阱、代理通信的trapper
    • - 不可达设备的轮询器
    • vmware collector - VMware 数据收集器,负责从 VMware 服务收集数据

    服务器日志文件可用于观察这些进程类型。

    可以使用zabbix[process,<type>,<mode>,<state>] 内部监控项来监控各种类型的 Zabbix 服务器进程。

    支持的平台

    由于服务器操作的安全性要求和任务关键性,UNIX是唯一能够始终如一地提供必要性能、容错和弹性的操作系统。Zabbix以市场主流的操作系统版本运行。

    经测试,Zabbix 可以运行在下列平台:

    • Linux
    • Solaris
    • AIX
    • HP-UX
    • Mac OS X
    • FreeBSD
    • OpenBSD
    • NetBSD
    • SCO Open Server
    • Tru64/OSF1

    语言环境

    值得注意的是,Zabbix server 需要 UTF-8语言环境,以便可以正确解释某些文本项。 大多数现代类 Unix 系统都默认使用UTF-8 语言环境,但是,有些系统可能需要做特定的设置。