zabbix

2020-03-18 0 条评论 558 次阅读 0 人点赞

特性

  1. 数据采样:渠道支持:snmp、agent、ipmi、jmx
  2. 报警:步进升级
  3. 数据存储:MySQL、PGSQL
  4. 展示:PHP程序,实时绘图
  5. 支持监控模板部署
  6. 支持网络自动发现
  7. 分布式监控
  8. 基于api接口的二次开发

组件

  1. zabbix server:负责接收agent发送的报告信息的核心组件,所有配置、数据统计及数据操作均由其组织进行
  2. database storage:用于存储所有配置信息,以及由zabbinx server收集的数据
  3. web interface:zabbix的GUI接口,通常与server运行在同一台主机上
  4. proxy:可选组件,常用于分布式监控环境中,代理server收集部分被监控端的监控数据并统一发往server端
  5. agent:部署在被监控主机上,负责收集本地数据并发往server端或proxy端

常用术语

  1. 主机(host):要监控的网络设备,可有IP或DNS名称指定
  2. 主机组(host group):主机的逻辑容器,可以包含主机和模板,但同一个组内的主机和模板不能互相链接,主机组通常在给用户或用户组指派监控权时使用
  3. 监控项(item):特定监控指标的相关数据,来自于被监控对象,item是zabbix数据收集的核心
  4. 触发器(trigger):一个表达式,用来评估某监控对象的某特定监控item所接受到的数据是否在合理范围内,即阈值,接受到的数据值超出阈值后,trigger的状态由“ok”转变为“problem”
  5. 事件(event):发生的一个值得关注的事情,如:trigger的状态改变、新的angent或重新上线的agent的自动注册等
  6. 动作(action):对于特定事件事先定义的处理办法,包含条件(何时执行操作)和操作(定义的处理办法)
  7. 报警升级(escalation):发送警报或执行远程命令的自定义方案
  8. 媒介(media):发送通知的手段或通道
  9. 通知(notification):有关某事件的信息
  10. 远程命令(remote command):预定义的命令,可在被监控主机处于某特定条件下自动执行
  11. 模板(template):用于快速定义被监控主机的预设条目集合
  12. 应用(application):一组item的集合
  13. web场景(web scennario):用于检测web站点可用性的一个或多个http请求
  14. 前端(frontend):zabbix的web接口

zabbix程序组件

  1. zabbix_server:zabbix服务端的守护进程
  2. zabbix_agentd:agent端的守护进程
  3. zabbix_proxy:代理服务器,可选
  4. zabbix_database:存储系统,MySQL、PGSQL
  5. zabbix_web:web GUI
  6. zabbix_get:命令行工具,向agent端发起数据采集请求
  7. zabbix_sender:命令行工具,向server端发送数据
  8. zabbix_java_getway:Java网关

zabbix逻辑组件

  1. 主机组(host groups)
  2. 主机(host)
  3. 应用(application)
  4. 监控项(items)
  5. 触发器(tri ggers)
  6. 事件(events)
  7. 动作(actions):条件(conditions)和操作(operations)
  8. 媒介(media)
  9. 通知(notification)
  10. 远程命令(remote commond)
  11. 报警升级(escalation)
  12. 模板(template)
  13. 图形(graph)
  14. 屏幕(screen)
  15. 幻灯(slide show)

安装zabbix

  1. 安装mariadb,创建zabbix数据库,创建用户并分配zabbix数据库权限
  2. 安装zabbix-server、zabbix-server-mysql、zabbix-get(注意4.0的版本yum方式需要额外安装“zabbix40-dbfiles-mysql”这个程序包)
    [root@localhost ~]# rpm -ql zabbix40-dbfiles-mysql
    /usr/share/licenses/zabbix40-dbfiles-mysql-4.0.17
    /usr/share/licenses/zabbix40-dbfiles-mysql-4.0.17/COPYING
    /usr/share/zabbix-mysql
    /usr/share/zabbix-mysql/Makefile
    /usr/share/zabbix-mysql/Makefile.am
    /usr/share/zabbix-mysql/Makefile.in
    /usr/share/zabbix-mysql/data.sql
    /usr/share/zabbix-mysql/images.sql
    /usr/share/zabbix-mysql/schema.sql

    1. 需要依次将/usr/share/zabbix-mysql下的三个sql文件导入到zabbix数据库中,创建对应的表结构

    2. 配置/etc/zabbix_server.conf数据库连接的相关参数(如果使用localhost方式连接mariadb,请设置dbsocket的路径),启动zabbix(注意关闭selinux)*

  1. 安装zabbix-web、zabbix-web-mysql(需要依赖PHP和httpd)
  • web页面地址:域名/zabbix

  • 修改httpd配置目录下zabbix配置文件时区设置(注意Asia的拼写)

  1. 安装zabbix-agent、zabbix-sender

配置监控

hosts group --> host --> applications --> item --> trigger(events) --> action(conditions-oprations)
  1. item key:
  • zabbix内建;
  • 用户自定义
  1. 采集到数据的类型:
  • 数值型:整数、浮点型
  • 字符型:字符串、text、log
  1. 存储的值:
  • As is:不对数据做任何处理,存储采集到的数据本身
  • delta(simple change):本次采集到的数据减去前一次采样的数据
  • delta(speed per second):数据变化的速率
  1. 触发器(trigger)表达式格式:
    {<server>:<key>.<funcation>(<parameter>)}<operation><constant>
    
  • server:主机名称
  • key:相应监控项(item)的key
  • function:评估所采集的数据是否在合理范围内时所使用的的函数,评估过程可以根据采集到的数据、当前时间和其他因素进行,目前trigger支持的函数有:avg,count,change,date,dayofweek,delat,diff,iregexp,last,max,min,nodata,now,sum等
  • parameter:函数参数,大多数函数数值可以接受秒数为其参数,而如果在数值参数之前使用“#”作为前缀,则表示为最近几次取值之和
  • operator:运算符:+、-、*、/、<、>、#、=、&、|
  • constant:自定义的用于比较确定trigger状态的常数
  • 触发器之间可以存在依赖关系
  1. action
  • condition:触发此动作需满足的条件,一般通过事件触发
  • operation:满足condition时采取的动作(send message 和 remote command)
  • 媒介(media types):

    email:邮件,需要事先定义发件人邮箱地址和SMTP服务器
    script:自定义脚本,通过脚本命令执行发送短信或微信的动作

once

这个人太懒什么东西都没留下

文章评论(0)