Zabbix server是Zabbix软件的核心进程。
服务器执行数据的轮询和捕获,计算触发器,并向用户发送通知。它是Zabbix agents和proxies报告系统可用性与完整性数据的中央组件。服务器本身可以通过简单服务检查远程监控网络服务(如web服务器和邮件服务器)。
服务器是存储所有配置、统计和运行数据的中央仓库,当任何被监控系统出现问题时,它是Zabbix中会主动向管理员发出警报的实体。
基础Zabbix server的功能分为三个独立组件:Zabbix server、web前端和数据库存储。
Zabbix的所有配置信息都存储在数据库中,服务器和web前端都会与之交互。例如,当您通过web前端(或API)create一个新的监控项时,它会被添加到数据库的监控项表中。然后,大约每分钟Zabbix server会query监控项表获取活动监控项列表,并将其存储在Zabbix server的缓存中。这就是为什么在Zabbix前端所做的任何更改可能需要长达两分钟才会显示在最新数据部分。
Zabbix server 以守护进程方式运行。可通过执行以下命令启动服务器:
该命令适用于大多数GNU/Linux系统。在其他系统上可能需要使用run:
同理,停止/重启/查看状态可使用以下命令:
systemctl stop zabbix-server systemctl restart zabbix-server systemctl status zabbix-server
如果上述方法无效,您需要手动启动它。找到 zabbix_server二进制文件的路径并execute:
您可以将以下命令行参数与Zabbix server一起使用:
-c --config <file> path to the configuration file (default is /usr/local/etc/zabbix_server.conf)
-f --foreground run Zabbix server in foreground
-R --runtime-control <option> perform administrative functions
-h --help give this help
-V --version display version number
使用命令行参数运行Zabbix server的示例:
zabbix_server -c /usr/local/etc/zabbix_server.conf zabbix_server --help zabbix_server -V
运行时控制选项:
选项 | 描述 | 目标 |
---|---|---|
config_cache_reload | 重新加载configuration cache. 如果缓存当前正在加载则忽略此操作. | |
diaginfo[=<section>] | 在服务器日志file中收集诊断信息. | historycache - history cache统计信息 valuecache - value cache统计信息 preprocessing - 预处理管理器统计信息 alerting - 告警管理器统计信息 lld - LLD管理器统计信息 locks - 互斥锁列表(在BSD系统上为空) |
ha_status | 记录高可用性(HA)集群状态. | |
ha_remove_node=target | 移除由其名称或ID指定的高可用性(HA)节点. 注意活动/备用节点不能被移除. |
target - 节点名称或ID(可通过运行ha_status获取) |
ha_set_failover_delay=delay | 设置高可用性(HA)故障转移延迟. 支持时间后缀, 例如10s, 1m. |
|
secrets_reload | 从Vault重新加载密钥. | |
service_cache_reload | 重新加载服务管理器缓存. | |
snmp_cache_reload | 重新加载SNMP缓存, clear所有主机的SNMP属性(引擎时间,引擎启动次数,引擎ID,凭据). | |
housekeeper_execute | 启动管家服务进程. 如果当前正在执行housekeeping进程则忽略此操作. |
|
trigger_housekeeper_execute | 为services启动触发器housekeeping进程, 以删除由已删除触发器引起的问题, 包括由此类问题生成的服务问题(在housekeeping时视为已解决). 注意, 在housekeeping进程启动前, 由现已删除的触发器引起的问题可能仍会generate服务问题并将其分配给服务. 如果您的设置涉及许多基于频繁发现/未发现触发器的服务服务配置, 请考虑通过调整参数服务器配置参数来增加触发器housekeeping进程的频率. 如果当前正在执行触发器housekeeping进程则忽略此操作. |
|
log_level_increase[=<target>] | 提高日志级别, 如果未指定目标则影响所有进程. BSD系统不支持此功能. |
process type - 指定类型的所有进程(例如poller) 参见所有服务器进程类型. process type,N - 进程类型和编号(例如poller,3) pid - 进程标识符(1至65535). 对于更大的值, 请将目标指定为'process type,N'. |
log_level_decrease[=<target>] | 降低日志级别, 如果未指定目标则影响所有进程. BSD系统不支持此功能. |
|
prof_enable[=<target>] | 启用性能分析. 如果未指定目标则影响所有进程. 启用的性能分析按函数名称提供所有读写锁/互斥锁的详细信息. 自Zabbix 6.0.13起支持. |
process type - 指定类型的所有进程(例如history syncer) 支持作为性能分析目标的进程类型: alerter, alert manager, availability manager, configuration syncer, discoverer, escalator, history poller, history syncer, housekeeper, http poller, icmp pinger, ipmi manager, ipmi poller, java poller, lld manager, lld worker, odbc poller, poller, preprocessing manager, preprocessing worker, proxy poller, self-monitoring, service manager, snmp trapper, task manager, timer, trapper, unreachable poller, vmware collector process type,N - 进程类型和编号(例如history syncer,1) pid - 进程标识符(1至65535). 对于更大的值, 请将目标指定为'process type,N'. scope - rwlock , mutex , processing 可与进程类型和编号一起使用(例如history syncer,1,processing)或指定类型的所有进程(例如history syncer,rwlock) |
prof_disable[=<target>] | 禁用性能分析. 如果未指定目标则影响所有进程. 自Zabbix 6.0.13起支持. |
process type - 指定类型的所有进程(例如history syncer) 支持作为性能分析目标的进程类型: 参见 prof_enable process type,N - 进程类型和编号(例如history syncer,1) pid - 进程标识符(1至65535). 对于更大的值, 请将目标指定为'process type,N'. |
使用运行时控制重载服务器配置缓存的示例:
使用运行时控制收集诊断信息的示例:
# Gather all available diagnostic information in the server log file:
zabbix_server -R diaginfo
# 在服务器日志file中收集history cache统计信息:
zabbix_server -R diaginfo=historycache
使用运行时控制重载SNMP缓存的示例:
使用运行时控制触发管家进程执行的示例:
使用运行时控制更改日志级别的示例:
# Increase log level of all processes:
zabbix_server -c /usr/local/etc/zabbix_server.conf -R log_level_increase
# 提高第二个轮询器进程的日志级别:
zabbix_server -c /usr/local/etc/zabbix_server.conf -R log_level_increase=poller,2
# 提高PID为1234的进程的日志级别:
zabbix_server -c /usr/local/etc/zabbix_server.conf -R log_level_increase=1234
# 降低所有HTTP轮询器进程的日志级别:
zabbix_server -c /usr/local/etc/zabbix_server.conf -R log_level_decrease="http poller"
将HA故障转移延迟设置为最小10秒的示例:
zabbix_server -R ha_set_failover_delay=10s
Zabbix server 被设计为以非root用户身份run。它将作为非root用户run 无论以何种非root用户身份启动。因此您可以以任何用户身份运行run服务器 非root用户且不包含任何问题。
如果你尝试以'root'身份run,它将切换到一个硬编码的 'zabbix'用户,必须present在 您的系统。只有在修改时才能以'root'身份run服务器 服务器配置中的'AllowRoot'参数file相应调整
如果 Zabbix server 和 agent 在同一台机器上 run 建议使用与运行服务器不同的用户 运行 agent。否则,如果两者都以相同用户身份 run agent 可以访问服务器配置 file 以及任何管理员级别用户 在Zabbix中可以相当容易地获取例如数据库密码等信息。
有关配置zabbix_server的详细信息,请参阅configuration file选项。
这些脚本用于在系统启动/关闭时自动启动/停止Zabbix进程。脚本位于misc/init.d目录下。
alert manager
- 告警队列管理器
alert syncer
- 告警数据库写入器
alerter
- 通知发送进程
availability manager
- 主机可用性更新进程
configuration syncer
- 配置数据memory内缓存管理进程
discoverer
- 设备发现进程
escalator
- 动作升级进程
ha manager
- 高可用性管理进程
history poller
- 需要数据库连接的计算项和内部检查处理进程
history syncer
- 历史数据数据库写入器
housekeeper
- 旧历史数据清理进程
http poller
- Web监控轮询器
icmp pinger
- icmpping检查轮询器
ipmi manager
- IPMI轮询管理器
ipmi poller
- IPMI检查轮询器
java poller
- Java检查轮询器
lld manager
- 低级发现任务管理进程
lld worker
- 低级发现任务工作进程
odbc poller
- ODBC检查轮询器
poller
- 被动检查常规轮询器
preprocessing manager
- 预处理任务管理器
preprocessing worker
- 数据预处理进程
proxy poller
- 被动proxies轮询器
report manager
- 定时报告生成任务管理器
report writer
- 定时报告生成进程
self-monitoring
- 服务器内部统计信息收集进程
service manager
- 服务管理进程(从历史同步器、任务管理器和告警管理器接收问题、问题标签和问题恢复信息)
snmp trapper
- SNMP陷阱捕获器
task manager
- 远程任务执行进程(如关闭问题、acknowledge问题、立即检查监控项值、远程命令功能等)
timer
- 维护处理计时器
trapper
- 主动检查/陷阱/proxy通信捕获器
trigger housekeeper
- 已删除触发器生成的问题清理进程
unreachable poller
- 不可达设备轮询器
vmware collector
- VMware数据收集器
gathering from VMware services
可通过服务器日志file观察这些进程类型。
可使用zabbix[process,<type>,<mode>,<state>]内部item监控各类Zabbix server进程。
由于服务器运行的安全要求和关键任务特性,UNIX是唯一能够持续提供所需性能、容错能力和弹性的操作系统。 Zabbix在市场领先版本上运行。
Zabbix server 已在以下平台经过测试:
Zabbix也可能在其他类Unix操作系统上运行。
请注意服务器需要UTF-8区域设置以确保某些文本监控项能够被正确解析。大多数现代类Unix系统默认使用UTF-8区域设置,但在某些系统中可能需要特别进行配置。