
zabbix功能研究
注意事项
登录时会防止暴力破解攻击,成功登录后会显示登录失败的ip
表层简单功能
用户:
群组选项:分配数据权限,主机组监控数据的权限分配给用户组,而不是单个用户,用户可以属于任意数量的群组。可以配置是否允许用户进行调试模式,以及前端访问的权限。可以配置用户对主机组的数据权限,如果主机组的当前权限被所有嵌套主机组继承,这将在主机组名称后面指示(“包括子组”)。标签过滤器允许将对主机组的访问与查看问题的可能性分开。
如果数据库管理员只需要查看“ MySQL”数据库问题,则需要首先为数据库管理员创建一个用户组,然后指定“service”标签名称和“ MySQL”值。如果指定了“service”标签名称而值字段留空,则相应的用户组将看到选定主机组中标签名称为“service”的所有问题。如果标签名称和值字段都留空,但选择了主机组,则相应的用户组将看到选定主机组中的所有问题。当用户是多个选定用户组的成员时。在这种情况下,过滤将使用 OR 条件来处理标签。
如果组 A 仅对主机组 1 具有 读取 权限,而组 B 对主机组 1 具有 读写 权限,则用户将获得 读写 权限。
如果'X'同时也在对组 A 或 B拒绝的主机组 2 中,则对'X'的访问将不可用,尽管对主机组 1 有读写访问权限。
如果 A 组对主机组 1 有拒绝访问权限,而 B 组对主机组 1 有读写访问权限,则用户将获得对'X'的拒绝访问
对一个主机拥有读写权限的管理员级用户如果没有模板组的权限,那么就没法取消或者链接主机模板。如果有读取模板组的权限,就能够取消或者链接,但是看不到模板中的任何模板,依然无法在其他地方操作模板
对一个主机拥有读取权限的管理员级用户不能在配置内的主机部分看见该主机,但是该主机的触发器在IT service configuration可访问
媒体选项:配置通知传递方式,一个电子邮件
权限选项:角色决定了用户可以查看哪些前端元素以及他被允许执行哪些操作。选择 管理员角色 以允许访问除管理部分外的所有 Zabbix 前端部分
主机:
所有访问权限都是分配给主机组,而不是单个主机。这就是为什么主机必须至少属于一个组。
IP接口:
要使用 Zabbix agent 的被动检查,请在此字段中指定代理的 IP 或 DNS。请注意,您还应在 Zabbix agent 配置文件的 'Server' 指令中指定 Zabbix server 的 IP 或 DNS。如果 Zabbix agent 和 Zabbix server 安装在同一台机器上,您需要在两个地方指定相同的 IP/DNS。
监控项(item):
所有监控项围绕主机而分组,需要去主机配置界面查找主机所有的监控项
需要填写:name,key(键),type of information(有大量预置检测器)
Simple graphs are available for any monitored numeric item without any additional configuration. These graphs are generated on runtime.
触发器(trigger):
触发器包含一个表达式,定义了数据的可接受水平的阈值
avg(/New host/system.cpu.load,3m)>2
当 CPU 负载的平均值在 3 分钟内超过 2 时,问题阈值被超出
system.cpu.load用于引用该监控项
通知:
在媒体类型选项卡中,将 SMTP 服务器、SMTP helo 和 SMTP 电子邮件的值设置为适合您环境的值。“SMTP 电子邮件”将作为 Zabbix 发送的通知的“发件人”地址。
定义问题消息的内容。内容通过在消息模板选项卡中配置的消息模板来定义。
Actions:
通知是actions在zabbix里的执行任务之一,配置好email后需要添加发送email的action。
模板:
模板允许将有用的监控项、触发器和其他实体进行分组,以便可以通过一次性应用于主机来反复使用。
模板必须属于一个组
要将项目添加到模板中,请转到“新主机”的监控项列表。在配置 → 主机中,点击“新主机”旁边的监控项。在列表中勾选“CPU 负载”项的复选框,点击下方复制,选择要复制到的模板即可。可以向模板中添加任何其他监控项、触发器或其他实体,直到它成为针对特定目的(监控操作系统、监控单个应用程序)的相当完整的实体集合。
Configuration
主机hosts & host groups
可以使用现有主机表单中的 克隆 和 完全克隆 按钮来创建新主机。点击 克隆 将保留所有主机的参数和模板链接(保留来自这些模板的所有实体)。完全克隆 还将额外保留直接附加的实体(标签、监控项、触发器、图表、低级发现规则和网络场景)。
支持多种主机接口类型:代理、SNMP、JMX 和 IPMI。
默认情况下未定义任何接口。要添加新接口,请在接口块中点击添加,选择接口类型并输入IP/DNS、连接到和端口信息。
端口号默认值为:Zabbix 代理的 10050,SNMP 代理的 161,JMX 的 12345 和 IPMI 的 623。
标签选项卡允许您定义主机级别的 标签。此主机的所有问题将使用此处输入的值进行标记。
宏选项卡允许您定义主机级别的 用户宏,作为名称-值对。请注意,宏值可以保持为纯文本、秘密文本或保管库秘密。还支持添加描述。
资产记录inventory
在 Zabbix 前端有一个特殊的库存菜单。然而,您最初不会在这里看到任何数据,这也不是您输入数据的地方。构建库存数据是在配置主机时手动完成的,或者通过使用一些自动填充选项自动完成。
设备类型、序列号、位置、负责人等详细信息——这些数据将填充清单信息
批量更新
添加 - 允许从现有的主机组中指定额外的主机组或为主机输入全新的主机组。
替换 - 将从任何现有的主机组中移除主机,并用此字段中指定的主机组(现有或新主机组)替换它们。
移除 - 将从主机中移除特定的主机组。
监控项
类型:
键:首先需要指定键名,然后可以选择是否包含参数,单个主机内必须唯一
键名:0-9a-zA-Z_-.
如果键类型是 'Zabbix agent'、'Zabbix agent (active)'、'Simple check' 或 'Zabbix aggregate',则键值必须由 Zabbix agent 或 Zabbix server 支持。
参数以逗号隔开,可以是带引号的字符串,不带的字符串或者数组,也可以包含宏
带引号:允许任意unicode字符,如果字符串包含逗号,必须带引号,内部的引号要加\转义,带引号的字符串必须使用
不带引号:除了 , 和 ] ,并且不能以 [ 开头
数组:不允许多级,如
[a,[b,[c,d]],e]
信息类型:在执行转换后存储在数据库中的数据类型(如果有的话。分为数值,字符,日志,文本
单位:如果设置了单位符号,Zabbix 将对接收到的值添加后处理,并以设置的单位后缀显示。请注意,如果单位前面有!,则不对项目值应用任何单位前缀/处理。如:1024 !B → 1024 B 1024 B → 1 KB
自定义时间间隔:
灵活:灵活间隔设置为“0”,则在灵活间隔期间不轮询监控项,并在周期结束后根据默认更新间隔恢复轮询。
调度:md<filter>wd<filter>h<filter>m<filter>s<filter>
<filter>
用于指定其前缀的值(日, 时, 分, 秒) 并被定义为: [<from>[-<to>]][/<step>][,<filter>]
预处理
将值保存到数据库之前,可以进行一次或多次转换。 转换按照它们定义的顺序执行。 预处理是由Zabbix server或者Zabbix proxy (代理监控项)执行。
注意!如果预处理任意一步错误,则监控项不再被支持,除非配置自定义错误处理,来丢弃该值或设置为指定值。对于日志类型的监控项,没有值的日志元数据将始终重置不被支持的状态,使监控项再次受支持。
预处理是由Preprocessing manager进程管理的。
事件关联
基于触发器的事件关联,允许关联一个触发器报告的各个不同问题
通常一个正常(恢复)事件会关闭一个触发器生成的所有问题事件,但在某些情况下需要更加细致的方法。例如,当监控日志文件时,在日志文件中想要发现某些问题,并将它们单独关闭,而不是一起关闭。zabbix 可以根据事件标签关联问题事件。事件标签被用于提取值并创建问题事件的标签。利用这一点,还可以根据匹配的标签关闭个别问题。
Line1: 应用1停止
Line2: 应用2停止
Line3: 应用1重启
Line4: 应用2重启
将 Line1 的问题事件关联到 Line3 的恢复事件, Line2 的问题事件关联到 Line4 的恢复事件。除了完成匹配,还能能逐个关闭这些问题:
Line1: 应用1停止
Line3: 应用1重启#问题来自于Line1关闭
Line2: 应用2停止
Line4: 应用2重启#问题来自于Line2关闭
需要通过标签将这些事件相关联,例如,可以标识为"Application 1"和"Application 2"。这个过程也可以将正则表达式应用于日志中,来提取标签的值。然后,当事件创建时,他们分别给打上为"Application 1"和"Application 2"的标签,并且问题可以与解决方法相匹配.
触发器
触发器依赖关系
虽然Zabbix不支持主机之间的直接依赖关系,但是它们可以定义另外一种更加灵活的方式 - 触发器依赖关系。一个触发器可以有一个或多个依赖的触发器。
通过设置依赖关系,可以暂时不发送依赖项的通知,仅发送根问题的通知。
预测触发函数
有时会出现即将发生问题的迹象。这些迹象可以被发现,以便提前采取措施来防止或至少减少问题的影响。Zabbix 具有根据历史数据预测被监控系统未来行为的工具。这些工具通过预测触发器功能实现。
当监控项值接近阈值并超过它时, timeleft假定交叉点已经过去,因此切换到下一个“阈值”级别的交叉点(如果有的话)。最佳实践应该是使用预测作为普通问题诊断的补充,而不是替代。
默认fit函数是线性函数。
。。。
服务监控
构建监控基础设施的层次结构。最高级别的父服务是“根”。您可以通过添加较低级别的父服务,然后将单个节点添加到它们中,向下构建层次结构
网络监控
检查网站的多个可用性方面。
网页场景由一个或多个 HTTP 请求或“步骤”组成。这些步骤由 Zabbix 服务器按预定义的顺序定期执行。如果主机通过代理进行监控,则步骤由代理执行。
执行网络场景收集的数据保存在数据库中。这些数据会自动用于图表、触发器和通知。
2 现实生活场景 --- 2 Real-life scenario (zabbix.com)
虚拟机监控
维护
宏(类似变量)
宏函数
语法:
{<macro>.<func>(<params>)}
<macro> - 为要自定义的宏(例如 {ITEM.VALUE} 或 {#LLDMACRO})
<func> - 要应用的函数
<params> - 以逗号分隔的函数参数列表。如果他们以'' '' (空格),
"
或者包含)
,,
这些符号开头,则必须用引号括起来。
regsub (<pattern>,<output>)
通过正则表达式匹配提取的子字符串(区分大小写)。 pattern - 匹配的正则表达式
iregsub (<pattern>,<output>)
通过正则表达式匹配提取的子字符串(不区分大小写)。 pattern - 匹配的正则表达式
用户宏
语法:
{$MACRO}
用户宏可以在以下地方使用:
item name 项目名称
item key parameter 项目键参数
item update intervals and flexible intervals
项目更新间隔和灵活间隔
trigger name and description
触发器名称和描述
trigger expression parameters and constants 2 用户宏 --- 2 User macros (zabbix.com)
触发表达式参数和常量2 用户自定义宏使用场景 (zabbix.com)
Zabbix 根据以下优先级解析宏:
主机级宏(优先检查)
为主机的第一层模板定义的宏(即,直接链接到主机的模板),按模板 ID 排序
为主机的第二级模板定义的宏,按模板 ID 排序
为主机的第三层模板定义的宏,按模板 ID 等排序。
全局宏(最后检查)