zabbix配置 - 18965050/zabbix GitHub Wiki

快速配置

zabbix的[配置基本流程为:Host group(主机组)-->Hosts(主机)-->Applications(项目组)-->Items(监控项)-->Trigger(触发器)-->Event(事件)-->Action(处理动作)-->User Group(用户组)-->User(用户)-->Medias(告警方式)-->Audit(日志审计)

Host Group

Host Group用于对Host的分组管理. Configuration-->Host groups-->Create host group create-host-group

Host Group可以包含Host,也可以包含Template. 其数据保持在zabbix.groups表中

Template

Template用于对Application,Item,Trigger,Graphs等进行归纳. 其可以归属到某个Host group中 Configuration-->Templates-->Create Template create-template-1 模板还具有继承关系, 在"Create Tempate"的"Linked templates"Tab页面中设置 create-template-2

Template数据保存在zabbix.hosts表中(status=3)

Host

Configuration-->Hosts-->Create host create-host-1

在创建Host时还可以同时设置Template, 这样模板中的Item, Trigger等数据就会自动绑定到Host中 create-host-2

Host数据保存在zabbix.hosts表中(status=0)

Graph

Template和Host中可以配置Graph,便于将数据以图形化的形式显示 Configuration-->Hosts-->Graphs-->Create graph create-host_template-graph-1

在Items中可以选择要绘图的Item. 创建后可以点击"Preview"Tab页进行查看 create-host_template-graph-2

当然, 也可以通过Monitoring-->Graphs, 选择Group,Host,Graph后进行查看

Screen

Screen可以在一个页面中显示多个资源信息(比如issue list, graph)等等 Configuration-->Screens-->Create screen create-screen-1

创建完后, 点击screen name连接,进行每个单元格的配置 create-screen-2

当然, 我们也可以通过Monitoring-->Screens 来查看

Slide shows

Slide shows能以幻灯片的形式来展示Screen Configuration--> Slide shows-->Create slide show create-slide-show

这样, 我们可以在Monitoring-->Screens页面中,选择Slide shows来进行幻灯片展示

Map

Map用于配置和管理网络拓扑 Configuration-->Maps-->Create map create-map-1

创建Map中的背景图可以在"Administration-->General"页面中选择"Images", 并在Type中选择"backgroud"来创建 create-map-2

创建Map后, 点击map name, 进行Map配置 create-map-3

可以在Monitoring-->Maps中查看网络拓扑情况

Web

Web用于监控Web应用的, 比如返回状态码, 响应时间等. 其再Host中配置 Configuration-->Hosts列表页面中,选择Web,点击"Create scenario" create-web-1

在创建页面中可以选择一个已存在的Application或指定一个新的Application, Variables可以设定变量给后面的step使用

在Step页面中添加步骤: create-web-2

注意: 需要在zabbix-server所在的宿主机修改/etc/hosts,添加zabbix.xyz.cn域名

这样, 我们就可以在"Monitoring-->Web"中进行查看了 create-web-3

IT Services

IT Services指的是服务治理水平(SLA) Configuration-->IT Services页面中点击某个节点, 在弹出菜单中选择"Add Child" create-itservices-1

这样, 在"Monitoring-->IT Services"中可以看到服务水平了 create-itservices-2

Reports

Item

Item为定义的监控项. 其数据存在于zabbix.items表中. Item可以添加到Host中, 也可以添加到Template中 Configuration-->Hosts/Templates-->Items,点击"Create item" create-item-1

其中, key可以选择zabbix自带的或是自定义的. zabbix自带的key文档可访问zabbix 2.4 Item

对于key中以<>标示的变量表明此变量有默认值

可以通过zabbix_get来判断key设置是否正确, 比如

zabbix_get -s 192.168.56.1 -p 10049 -k vm.memory.size[total]

# 输出
17055715328

item属性参数配置说明如下: item-param-1 item-param-2 item-param-3 item-param-4 item-param-5 item-param-6 item-param-7

自定义key

创建item时除了可以选择zabbix中自带的key, 还可以自定义key. 步骤如下:

  1. 修改zabbix_agent.conf配置文件

    Include=K:\installed\zabbix\zabbix_agentd.conf.d\*.conf
    UnsafeUserParameters=1		# 允许包含特殊字符
  2. 在上述Include配置目录下创建子配置文件, 并定义

    UserParameter=print_hello,echo "hello"

    自定义key的编写规则为:

    UserParameter=key,command	#不支持参数
    UserParameter=key[*],command $1 $2 $3...	# 支持参数

    可编写多个子配置文件, 每个对应一个自定义key, 注意key不能重复, 否则zabbix_agent启动不起来

  3. 重启zabbix_agent, 并用zabbix_get来判断自定义key是否生效

    zabbix_get -s 192.168.56.1 -p 10049 -k print_hello
    
    # 输出
    hello

Macro

Macro用于Template,Item和Trigger中,其可分为:

  • 全局宏: Administration-->General列表页中选择Macros,然后可添加或修改 create-macro-1

  • 模板宏: Configuration-->Templates列表页中,选择某个模板,在其修改页面中选择Macro create-macro-2

  • 主机宏: Configuration-->Hosts列表页中,选择某个Host,在其修改页面中选择Macro create-macro-3

另外, zabbix有很多自带的宏, 可参考zabbix内置的宏

告警

zabbix对于告警的流程为: alert-workflow

Trigger

Configuration-->Template/Host-->Triggers--Create trigger create-trigger-1

trigger配置选项说明: trigger-param-1 trigger-param-2

"Expression"表达式可以使用单位:

  • s: second
  • m: minute
  • h:hour
  • d:day
  • w:week
  • K:kilo
  • M:mega
  • G:giga
  • T:tera
  • P:pera
  • E:exa
  • Z:zetta
  • Y:yotta

比如,表达式为:

{host:zabbix[proxy,zabbix_proxy,lastaccess]}>120

可以写成

{host:zabbix[proxy,zabbix_proxy,lastaccess]}>2m

表达式的规范为:

{<server>:<key>.<function>(<param>)}<operator><constant>

表达式中的函数说明可参见: [trigger function说明](http://pengyao.org/zabbix-triggers-functions.html,"trigger function说明"). 官方文档为 官方的trigger-function

Trigger告警依赖

告警依赖指的是此条trigger依赖其他trigger触发才有效 create-trigger-2

action

action为对trigger触发做出的响应. 比如告警通知或执行命令等. action可以对trigger, discovery, auto-registration,internal等事件源做出响应 action-event-source

Configuration-->Actions页面中,先选择某个事件源, 再点击"Create action" create-action-1

创建action的参数配置说明如下: action-param

action condition可配置action触发的条件逻辑关系 create-action-2

action opreations指的是具体触发干什么. 一般type选择为"send message"(需要配置media type)或"remote command"(远程执行命令)

当选择"send message"时,需要注意配置media type, 比如邮件, 短信等. zabbix默认的邮件media type不支持认证, 可参考[zabbix邮件配置](https://github.com/18965050/zabbix/wiki/zabbix%E9%82%AE%E4%BB%B6%E9%85%8D%E7%BD%AE zabbix邮件配置)一文.

当选择"remote command"时,需要注意:

  • 远程命令不支持主动模式的agent, 必须是server发往agent
  • 远程命令不支持代理模式
  • 命令长度限制为255个字符
  • 可执行多条命令
  • 命令可包含宏
  • zabbix用于必须对此命令具有执行权限
  • agent防火墙允许数据包进入
  • zabbix不检测命令是否执行成功
  • 如果要在agent上执行远程命令, 则需要开启EnableRemoteCommands=1

action创建并触发后, 可以在"Monitoring-->Events"中查看事件, 在"Administration-->Audit"页面中选择"action log",查看事件日志

告警升级: 指的是对告警结果进行梯度处理,逐步升级. 在"Operations"Tab页面中进行配置. 比如我们可以配置: create-action-3

⚠️ **GitHub.com Fallback** ⚠️