1 登陆和配置用户
登陆Zabbix,以及在Zabbix内建立一个系统用户。
用户名:Admin 或者 admin 密码 : zabbix
- 增加用户
可以在 管理(Administration) → 用户(Users)下 查看用户信息。
点击 创建用户(Create user) 以增加用户。
在添加用户的表单中,确认将新增的用户添加到了一个已有的用户组,比如'Zabbix administrators'。
默认情况下,没有为新增的用户定义媒介(media,即通知发送方式) 。如需要创建,可以到 '媒介(Media)'标签下,然后点击 增加(Add)。
- 增加权限
一个新用户默认没有权限访问主机。在组(Groups)下,点击用户所在的组(这里为'Zabbix administrators'),为用户提升权限。在组的属性表单下,点击权限(Permissions)标签。
为了使这个用户对Linux servers组拥有只读权限,点击用户组选择栏位旁边的选择(Select)按钮。
2 新建主机
Zabbix中的主机(Host)是一个你想要监控的网络实体(物理的,或者虚拟的)。Zabbix中,对于主机的定义非常灵活。它可以时一台物理服务器,一个网络交换机,一个虚拟机或者一些应用。
- 增加主机
Zabbix中,可以通过配置(Configuration) → 主机(Hosts)菜单,查看已配置的主机信息。默认已有一个名为'Zabbix server'的预先定义好的主机。但我们需要学习如何添加另一个。
点击 创建主机(Create host)以添加新的主机,这将向我们显示一张主机配置表格。
至少需要填写下列字段:
主机名称(Host name)
输入一个主机名称,可以使用字母数字、空格、点”.“、中划线”-“、下划线”_“。 组
从右边的选择框中,选择一个或者多个组,然后点击 « 移动它们到'所在组(In groups)'选择框。
所有访问权限都分配到主机组,而不是单独的主机。这也是主机需要属于至少一个组的原因。
IP地址
输入主机的IP地址。注意如果这是Zabbix server的IP地址,它必须是Zabbix agent配置文件中‘Server’参数的值。 暂时保持其他选项的默认值。
当完成后,点击添加(Add)。你可以在主机列表中看到你新添加的主机。
如果可用性(Availability)列中的ZBX图标是红色的,通信可能存在一些问题。将你的鼠标移动到上面查看错误信息。如果这个图标是灰色的,说明目前状态还没更新。确认Zabbix server正在运行,同时过一会儿刷新这个页面。
3 新建监控项
监控项是Zabbix中获得数据的基础。没有监控项,就没有数据——因为一个主机中只有监控项定义了单一的指标或者需要获得的数据。
- 添加监控项
主机包含了所有的监控项。如果需要配置一个监控项的示例,我们需要前往 配置(Configuration) → 主机(Hosts) 并找到我们已创建的'新主机(New host)'。
在'新主机(New host)'行中,监控项(Items)的链接旁的数量会显示为'0'。点击这个链接,然后点击创 建监控项(Create item),将会显示一个监控项定义表格
对于监控项的示例,需要输入以下必要的信息:
名称(Name)
输入 CPU Load 作为值。在列表中和其他地方,都会显示这个值作为监控项名称。 值(Key)
手动输入 system.cpu.load 作为值。这是监控项的一个技术上的名称,用于识别获取信息的类型。这个特定值需要是Zabbix Agent预定义值重的一种。 信息类型(Type of information)
在此处选择 Numeric (float)。这个属性定义了想获得数据的格式。
你也需要减少监控项历史保留的天数,7或者14天。对于数据库而言,最佳实践是避免数据库保留过多的历史数据。
- 查看数据
当一个监控项定义完成后,你可能好奇它具体获得了什么值。前往 监控(Monitoring) → 最新数据(Latest data),点击- other -前面的 ,然后查看你之前定义的监控项和获得的值。
同时,第一次获得的监控项值最多需要60秒才能到达。默认情况下,这是服务器读取变化后的配置文件,获取并执行新的监控项的频率。
如果你在‘变化(Change)’列中没有看到值,可能到目前为止只获得了一次值。等待30秒以获得新的监控项值。
如果你在当前界面中没有看到监控项的信息,请确认:
你输入的监控项'值(Key)' 和 '信息类型(Type of information)' 同截图中的一致 agent和server都在运行状态 主机状态为'监控(Monitored)'并且它的可用性图标是绿色的 监控项处于启用状态
- 图表
当监控项运行了一段时间后,可以查看可视化图表。 简单图表 适用于任何被监控的数值型(numeric)监控项,且不需要额外的配置。这些图表会在运行时生成。
前往监控(Monitoring) → 最新数据(Latest data),然后点击监控项后的'图表(Graph)'链接以查看图表。
4 新建触发器
监控项只是用于收集数据。如果需要自动评估收到的数据,我们则需要定义触发器。触发器包含了一个表达式,这个表达式定义了数据的可接受的阈值级别。
如果收到的数据超过了这个定义好的级别,触发器将被“触发”,或者进入“异常(Problem)”状态——从而引起我们的注意,让我们知道有问题发生。如果数据再次恢复到合理的范围,触发器将会到“正常(Ok)”状态。
- 添加触发器
为监控项配置触发器,前往 配置(Configuration) → 主机(Hosts),找到'新增主机(New host)',点击旁边的 触发器(Triggers) ,然后点击创 建触发器(Create trigger)。这将会像我们展现一个触发器定义表单。
对于触发器,有下列必填项:
名称(Name)
输入 CPU load too high on 'New host' for 3 minutes 作为值。这个值会作为触发器的名称被现实在列表和其他地方。 表达式(Expression)
输入:{New host:system.cpu.load.avg(180)}>2 值时触发器的表达式。确认这个表达式输入正确,包括所有的符号。此处,监控项值(system.cpu.load)用于指出具体的监控项。这个特定的表达式大致是说如果3分钟内,CPU负载的平均值超过2,那么就触发了问题的阈值。你可以查看更多的触发器表达式语法信息。
完成后,点击添加(Add)。新的触发器将会显示在触发器列表中。
- 显示触发器状态
当一个触发器定义完毕后,你可能想查看它的状态。
前往 监控(Monitoring) → 触发器(Triggers)以查看。3分钟后(我们需要等待3分钟以评估这个触发器的3分钟平均值),触发器会在这里显示。应该会有一个绿色的'OK'在'状态(Status)'列中闪烁。
闪烁意味着这个触发器状态最近30分钟内发生过变化。
如果此处出现一个闪烁的红色'PROBLEM',显然,这说明了CPU负载已经超过了你在触发器里定义的阈值级别。
5 获取问题通知
当监控项收集了数据后,触发器会根据异常状态触发报警。根据一些报警机制,它也会通知我们一些重要的事件,而不需要我们直接在Zabbix前端进行查看。
这就是通知(Notifications)的功能。E-mail是最常用的异常通知发送方式。我们将会学习如何配置e-mail通知。
- E-mail设置
Zabbix中最初内置了一些预定义的通知发送方式。E-mail 通知是其中的一种。
前往 管理(Administration) → 媒体类型(Media types),点击预定义媒体类型列表中的 Email,以 配置E-mail。
根据你的环境,设置SMTP服务器,SMTP helo, SMTP e-mail的值。
'SMTP email'将作为Zabbix通知的'发件人(From)'地址。
一切就绪后,点击 更新(Update)。
现在你已经配置了'Email'作为一种可用的媒体类型。一个媒体类型必须通过发送地址来关联用户(如同我们在配置一个新用户]中做的]),否则它将无法生效。 === 新建动作 === 发送通知是Zabbix中[[manual:config:notifications:action|动作(actions)执行的操作之一。因此,为了建立一个通知,前往 配置(Configuration) → 动作(Actions),然后点击 创建动作(Create action)。
在这个表单中,输入这个动作的名称。
{TRIGGER.STATUS} 和 {TRIGGER.NAME} 是宏(macros)或者变量,可以在Default subject 和 Default message 区域查看。会以实际的触发器状态和触发器名称的值替代。
在大多数简单的例子中,如果我们不添加更多的指定条件,这个动作会在触发器从 'Ok' 变为 'Problem'是发生。
我们还需要定义这个动作具体做了什么 —— 即在 操作(Operations) 标签页中执行的操作。点击新建(New),将会打开一个操作表单。
这里,在发送给用户(Send to Users)块中点击添加(Add),然后选择我们之前定义的用户('user')。选择'Email'作为Send only to的值。完成后,在操作明细区域中,点击添加(Add)。
这是一个简单的动作配置步骤,即点击动作表单中的添加(Add)。
- 获得通知
现在,发送通知配置完成,我们看看它如何将通知发送给实际接收人。为了实现这个目的,我们需要你主机的负载,这样我们��触发器才会被触发,我们会收到异常通知。
打开主机的控制台,并运行:
代码语言:javascript复制cat /dev/urandom | md5sum
你需要运行一个或者多个这样的进程。
现在,前往监控(Monitoring) → 最新数据(Latest data),查看'CPU Load'的值是否已经增长。记住,为了使我们的触发器触发(fire),'CPU Load'的值需要在在3分钟运行的过程中超过2。一旦满足这个条件:
在监控(Monitoring) → 触发器(Triggers)中,你会看到这个触发器的状态呈现一个绿色闪烁的'Problem' 你的e-mail中,会收到一个异常通知
如果通知功能没有正常工作: 再次验证e-mail设置和动作设置已经被正确配置 确认你创建的用户对生成事件的主机至少拥有读(read)权限。正如添加用户步骤中提到的,'Zabbix administrators'用户组中的用户必须对'Linux servers'主机组(该主机所属组)至少拥有读(read)权限。 另外,你可以在报告(Reports) → 动作日志(Action log)中检查动作日志。
6 新建模版
- 添加模版
开始使用模版,你必须先创建一个。在 配置(Configuration) → 模版(Templates)中,点击 创建模版(Create template)。这将会像我们展现一个模版配置表格。
需要输入以下必填字段:
模版名称(Template name)
输入一个模版名称。可以使用数字、字母、空格及下划线。 组(Groups)
从右边的选择框中选择一个或者多个组,点击 « 移动它们到'所在组(In groups)'选择框。模版必须属于至少一个组。 完成后,点击添加(Add)。你新建的模版可以在模版列表中查看。
你可以在这看到模版信息。但这个模版中没有任何信息——没有监控项、触发器活着其他对象。
- 在模版中添加监控项
为了在模版中添加监控项,前往'New host'的监控项列表。在配置(Configuration) → 主机(Hosts),点击‘New host’旁边的监控项(Items)。
然后:
选中列表中'CPU Load'监控项的选择框 点击列表下方的复制(Copy) 选择想要复制这个监控项的目标模版
监控项源地址 → 复制到新地址(主机监控,模板监控项都行)
你现在可以前往配置(Configuration) → 模版(Templates),'新模版(New template)'中会有一个新的监控项。
我们目前至创建了一个监控项,但你可以用同样的方法在模版中添加其他的监控项,触发器以及其他对象,直到完成满足特定需求(如监控OS,监控单个应用)的完整的对象组合。
- 链接模版到主机
准备一个模版后,将它链接到一个主机。前往 配置(Configuration) → 主机(Hosts),点击'新主机(New host)'打开表单,前往模版(Templates)标签页。
点击链接新模版(Link new templates)旁边的选择(Select),在弹出的窗口中,点击我们创建模版的名称('New template'),它会出现在链接新模版(Link new templates)区域,点击添加(Add)。这个模版会出现在已链接模版(Linked templates)列表中。
点击更新(Update)保存配置。现在,新模版及其所有的对象被添加到了主机。
你可能会想到,我们可以使用同样的方法将模版应用到其他主机。任何在模版级别的监控项、触发器及其他对象的变更,也会传递给所有链接该模版的主机。
链接预定义模版到主机
你可能注意到,Zabbix为各种操作系统、设备以及应用准备一些预定于的模版。为了快速部署监控,你可能会将它们中的一些与主机关联。但请注意,一些模版需要根据你的实际环境进行合适的调整。比如:一些检查项是不需要的,一些轮询周期过于频繁。