2022 Zabbix中国峰会
2022 Zabbix中国峰会

1 服务器

概 览

Zabbix server是整个Zabbix软件的核心程序。

Server通过轮询和捕获数据,计算是否满足触发器条件,向用户发送通知。它是Zabbix监控代理和Proxy代理报告系统可用性和完整性数据的核心组件。Server自身可以通过简单服务远程检查网络服务(如Web服务器和邮件服务)。

Sever是一个包含了被存储了所有配置,统计方面的和可操作数据的中央仓库,它是监控系统问题升级以至于激活警告管理器的Zabbix中的实体。

基本的Zabbix服务器起作用分三个不同的组件;他们是:Zabbix服务器,Web前端和数据库存储。

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

服务进程

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

shell> cd sbin

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

shell> ./zabbix_server

你可以使用Zabbix server下的命令行参数:

-c --config <file>        配置文件的绝对路径 (默认路径: /etc/zabbix/zabbix_server.conf)
       -R --runtime-control <选项>     执行管理能力
       -h --help                       帮助提示
       -V --version                    显示版本号

运行控制台不支持OpenBSD和NetBSD系统.

命令行参数示例:

shell> zabbix_server -c /usr/local/etc/zabbix_server.conf
       shell> zabbix_server --help
       shell> zabbix_server -V
runtime control

选项:

Option Description Target
config_cache_reload 重新加载配置缓存. 忽略当前已加载的缓存.
housekeeper_execute 启动管家程序. 忽略当前正在进行中的管家程序.
log_level_increase[=<目标>] 增 日志的级别,如果没有指定目标则影响所有的进程. pid - 进程标识 (1 ~ 6553 )
进程类型 - 指定进程的所有类型 (例如, poller)
进程类型,N - 进程类型和编号 (例如, poller,3)
log_level_decrease[=<目标>] 降 日志的基本,如果没有指定目标则影响所有的进程. :::

单一zabbix进程的日志基本改变后,进程的PIDs的值也会改变,允许的范围为1~65535.对大用户<进程类型,N>目标选项可更改单个进程的日志级别

例如,使用runtime control重新加载server的配置缓存:

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

例如,使用runtime control触发管家服务执行:

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

例如,使用runtime control改变日志的级别:

增加所有进程的日志级别:
       
       shell> zabbix_server -c /usr/local/etc/zabbix_server.conf -R log_level_increase
       
       增加第二个poller进程的日志级别:
       
       shell> zabbix_server -c /usr/local/etc/zabbix_server.conf -R log_level_increase=poller,2
       
       增加PID为1234的进程日志级别:
       
       shell> zabbix_server -c /usr/local/etc/zabbix_server.conf -R log_level_increase=1234
       
       降低http poller进程的日志级别:
       
       shell> zabbix_server -c /usr/local/etc/zabbix_server.conf -R log_level_decrease="http poller"
进程用户

Zabbix server定义了使用非root用户运行,启动后运行在非root用户的环境下,所以使用非root用户运行server是没有任何问题的.

如果您想尝试root用户运行,它会切换到一个硬编码的用户,您可以参考 present,您需要修改配置文件中参数'AllowRoot'的值

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

配置文件

请看 配置文件 有关Zabbix_server的详细配置选项.

启动脚本

当系统启动/关机时启动脚本用来自动启动/停止Zabbix进程,脚本放在目录misc/init.d下.

支持平台

由于安全要求和服务器关键任务的操作, UNIX系统是唯一能够提供必要性能,容错和恢复能力的操作系统. Zabbix运转也是市场领先版本.

Zabbix server支持以下平台:

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

Zabbix可以运行在其他类Unix操作系统上.