zabbix的理论知识

1.zabbix是什么

zabbix是一款基于web页面的、开源的、企业级的,可以分布式部署的监控软件。

2.zabbix的作用

  • 监控windows和Linux主机上的软硬件状态。
  • 监控各网络设备,如路由器、交换机、防火墙、f5、打印机等。
  • 发送告警通知。
  • 通过web页面及图形展示监控数据。

3.zabbix的特性

  • 由server和agent程序协同工作,如果是分布式监控还需要proxy程序。

  • 监控方式站在agnet的角度分为主动监控(agent active)和被动监控(agent)。

    • 主动监控
      当监控条目配置为agent active时,即为主动监控,此时agent会主动根据配置好的时间间隔去向server或proxy询问要监控哪些item,然后将item的数据主动提交给server或proxy。
    • 被动监控
      当监控条目配置为agent时,即为被动监控,此时server或proxy会主动向agent请求它要监控的item的数据,然后agent会将数据发送给server或proxy。
  • 支持的监控手段
    所谓监控手段即server或proxy通过什么方式来收集监控到的数据,常用的有:

    • SNMP(polling,trapping)
    • IPMI(监控硬件状况)
    • JMX(监控java应用)
    • 自定义监测(自定义各类监控脚本监测)
  • 告警阈值定义

    • 在trigger中定义告警阈值或条件
    • 存储于后台数据库中
    • 可以自定义告警升级机制
    • 调用action实现自动化动作
  • 监控数据呈现
    zabbix通过内置的画图软件将监控到的数据实时通过web页面呈现出来。

  • 历史数据存储

    • 存储于数据库中
    • 支持多种数据库,mysql,db2,oracle,postgresql,sqlite
    • 存储时长可自定义
    • 自动清理过期历史数据
  • 监控主机配置

    • 通过添加监控设备方式添加
    • 可以使用模板进行配置
  • 模板的使用

    • 模板包含item,trigger,action等一系列单个主机支持的元素
    • 模板中可以使用组监控
    • 模板可以继承
  • 自动发现功能

    • 网络设备自动发现
    • agent自动注册
    • 自动发现文件系统、网卡、SNMP OID
  • web界面

    • web前端采用php编写
    • 界面样式可以灵活自定义
    • 自带操作日志审计
  • zabbix API
    供第三方程序接入

  • 权限系统
    可以对用户进行分组认证及授权。

  • agent端
    支持Linux和Windows系统。

  • 守护进程
    基于C语言开发。

4.zabbix系统的组成

  • zabbix_server

    • 服务端守护进程。
    • 负责处理客户端主动送上来以及它主动去取回的数据。
    • 通过web界面呈现这些数据。
  • zabbix_agentd

    • 客户端守护进程。
    • 负责收集客户端上的数据并发送给server或proxy。
  • zabbix_get

    • 服务端工具。
    • 在服务器上执行,用于手动收集客户端的监控数据,可以用于监控测试或者排错。
  • zabbix_sender

    • 客户端工具。
    • 对于非常耗时间的检测项,可以在其检测完成以后,通过它将数据发送给server或者proxy。
    • 需要与trapper配合使用。
  • zabbix_proxy
    类似于server,但它只是一个中转站,当跨地区,跨机房部署zabbix系统时,需要用到它,以将它收集到的数据发送给server。

  • zabbix_java_gateway

    • 类似于agentd程序。
    • 只用于java应用程序的监控。
    • 只能主动去获取数据,类似于agent active。
    • 最终将收集到的数据发送给server或proxy。
  • zabbix_web
    构建zabbix专用的站点,将监控数据以web页面的形式呈现出来,并对zabbix系统进行配置设定。

5.zabbix 3.2.4的软件环境要求

**zabbix 3.2.4 web需求php的环境如下: **

Pre-requisite Minimum value Description
PHP version 5.4.0
PHP memory_limit option 128MB In php.ini:memory_limit = 128M
PHP post_max_size option 16MB In php.ini:post_max_size = 16M
PHP upload_max_filesize option 2MB In php.ini:upload_max_filesize = 2M
PHP max_execution_time option 300 seconds (values 0 and -1 are allowed) In php.ini:max_execution_time = 300
PHP max_input_time option 300 seconds (values 0 and -1 are allowed) In php.ini:max_input_time = 300
PHP session.auto_start option must be disabled In php.ini:session.auto_start = 0
Database support One of: IBM DB2, MySQL, Oracle, PostgreSQL, SQLite One of the following modules must be installed:ibm_db2, mysql, oci8, pgsql, sqlite3
bcmath php-bcmath
mbstring php-mbstring
PHP mbstring.func_overload option must be disabled In php.ini:mbstring.func_overload = 0
PHP always_populate_raw_post_data option must be disabled Required only for PHP versions 5.6.0 or newer.In php.ini:always_populate_raw_post_data = -1
sockets php-net-socket. Required for user script support.
gd 2.0 or higher php-gd. PHP GD extension must support PNG images (--with-png-dir), JPEG (--with-jpeg-dir) images and FreeType 2 (--with-freetype-dir).
libxml 2.6.15 php-xml or php5-dom
xmlwriter php-xmlwriter
xmlreader php-xmlreader
ctype php-ctype
session php-session
gettext php-gettext,Since Zabbix 2.2.1, the PHP gettext extension is not a mandatory requirement for installing Zabbix. If gettext is not installed, the frontend will work as usual, however, the translations will not be available.

以上参数决定了php在编译时需要指定的参数,以及需要设定的php.ini参数值。

你可能感兴趣的:(zabbix的理论知识)