美文网首页Zabbix工具集
二、Zabbix 企业监控系统搭建

二、Zabbix 企业监控系统搭建

作者: 胖虎喜欢小红 | 来源:发表于2020-02-23 10:43 被阅读0次

    zabbix监控介绍

    一、环境准备

    centos7.5 系统服务器3台、 一台作为监控服务器, 两台台作为被监控节点, 配置好yum源、 防火墙关闭、 各节点时钟服务同步、 各节点之间可以通过主机名互相通信。

    主机名 ip 服务
    zabbix-server 192.168.94.141 zabbix-server
    zabbix-agent1 192.168.94.142 zabbix-agent
    zabbix-agent2 192.168.94.143 zabbix-agent

    所有机器关闭防火墙和selinux

    [root@zabbix-master ~]# systemctl stop firewalld && setenforce 0(修改配置文件关闭)
    [root@zabbix-agent1 ~]# systemctl stop firewalld && setenforce 0
    [root@zabbix-agent2 ~]# systemctl stop firewalld && setenforce 0
    # 必要时可永久关闭或开启相应的端口
    

    二、Zabbix的安装

    下载地址

    1)更新yum仓库

    我们去官网下载一个包zabbix-release-4.4-1.el7.noarch.rpm,本地安装至我们的虚拟机,这样,我们本地就有了新的yum源,可以直接安装zabbix服务:

    下载安装官方yum源
    [root@zabbix-server ~]# rpm -Uvh https://repo.zabbix.com/zabbix/4.4/rhel/7/x86_64/zabbix-release-4.4-1.el7.noarch.rpm
    [root@zabbix-server ~]# yum clean all
    [root@zabbix-server ~]# yum makecache fast
    已加载插件:fastestmirror
    正在清理软件源: base extras updates zabbix zabbix-non-supported
    

    更新yum仓库:

    [root@zabbix-server ~]# yum repolist 
    Loaded plugins: fastestmirror, langpacks  
    Loading mirror speeds from cached hostfile
    zabbix-non-supported                                                      4/4
    repo id                     repo name                                   status
    base                        base                                         9,363
    epel                        epel                                        11,349
    zabbix/x86_64               Zabbix Official Repository - x86_64             80
    zabbix-non-supported/x86_64 Zabbix Official Repository non-supported -       4
    repolist: 20,796
    

    安装:

    [root@zabbix-server ~]# yum -y install zabbix-agent zabbix-get zabbix-sender zabbix-server-mysql zabbix-web zabbix-web-mysql zabbix-proxy-mysql zabbix-java-gateway zabbix-nginx-conf
    
    #如果上面安装报错
    [root@zabbix-server ~]# vim /etc/yum.repo.d/zabbix.repo   #更换国内源
    [zabbix]
    name=Zabbix Official Repository - $basearch
    #baseurl=http://repo.zabbix.com/zabbix/4.0/rhel/7/$basearch/
    baseurl=https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/$basearch/    # 这里我们换成阿里云的yum源
    enabled=1
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
    
    [zabbix-non-supported]
    name=Zabbix Official Repository non-supported - $basearch
    #baseurl=http://repo.zabbix.com/non-supported/rhel/7/$basearch/
    baseurl=https://mirrors.aliyun.com/zabbix/non-supported/rhel/7/$basearch/  #换了上面Zabbix的安装源地址,其组件地址也要记得换! 
    enabled=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
    gpgcheck=1
    
    [root@zabbix-server ~]# yum clean all
    [root@zabbix-server ~]# yum -y install zabbix-agent zabbix-get zabbix-sender zabbix-server-mysql zabbix-web zabbix-web-mysql zabbix-proxy-mysql zabbix-java-gateway zabbix-nginx-conf
    或者(官方)
    [root@zabbix-server ~]# yum-config-manager --enable rhel-7-server-optional-rpms
    
    2)安装设置数据库:

    1、创建 mariadb.repo

    [root@zabbix-server ~]# vim /etc/yum.repos.d/mariadb.repo
    [mariadb]
    name = MariaDB 
    baseurl = https://mirrors.ustc.edu.cn/mariadb/yum/10.4/centos7-amd64 
    gpgkey=https://mirrors.ustc.edu.cn/mariadb/yum/RPM-GPG-KEY-MariaDB 
    gpgcheck=1
    

    2、yum 安装最新版本 mariadb

    [root@zabbix-server ~]# yum -y install mariadb mariadb-server
    

    修改配置文件:/etc/my.cnf.d/server.cnf

    [root@zabbix-server ~]# vim /etc/my.cnf.d/server.cnf
    [mysqld]
    skip_name_resolve = ON          #跳过主机名解析
    innodb_file_per_table = ON      #   
    innodb_buffer_pool_size = 256M  #缓存池大小
    max_connections = 2000          #最大连接数
    
    log-bin = master-log            #开启二进制日志
    
    [root@zabbix-server ~]# systemctl start mariadb
    [root@zabbix-server ~]# systemctl enable mariadb
    

    3、创建数据库并授权账号

    MariaDB [(none)]> create database zabbix character set 'utf8';  # 创建zabbix数据库
    MariaDB [(none)]> grant all on zabbix.* to 'zabbix'@'192.168.94.%' identified by "123";
    # 注意授权网段
    MariaDB [(none)]> flush privileges;
    

    4、导入表
    首先,查看一下,zabbix-server-mysql这个包提供了什么:

    [root@zabbix-server ~]# rpm -ql zabbix-server-mysql | grep sql
    /usr/sbin/zabbix_server_mysql
    /usr/share/doc/zabbix-server-mysql-4.4.4
    /usr/share/doc/zabbix-server-mysql-4.4.4/AUTHORS
    /usr/share/doc/zabbix-server-mysql-4.4.4/COPYING
    /usr/share/doc/zabbix-server-mysql-4.4.4/ChangeLog
    /usr/share/doc/zabbix-server-mysql-4.4.4/NEWS
    /usr/share/doc/zabbix-server-mysql-4.4.4/README
    /usr/share/doc/zabbix-server-mysql-4.4.4/create.sql.gz   #生成表的sql文件
    

    我们来使用这个文件生成我们所需要的表:

    [root@zabbix-server ~]# cd /usr/share/doc/zabbix-server-mysql-4.4.4/
    [root@zabbix-server zabbix-server-mysql-4.4.4]# ls
    AUTHORS  ChangeLog  COPYING  create.sql.gz  NEWS  README
    [root@zabbix-server zabbix-server-mysql-4.4.4]# gzip -d create.sql.gz 
    [root@zabbix-server zabbix-server-mysql-4.4.4]# ls
    AUTHORS  ChangeLog  COPYING  create.sql  NEWS  README
    [root@zabbix-server zabbix-server-mysql-4.4.4]# head create.sql 
    CREATE TABLE `users` (
        `userid`                 bigint unsigned                           NOT NULL,
        `alias`                  varchar(100)    DEFAULT ''                NOT NULL,
        `name`                   varchar(100)    DEFAULT ''                NOT NULL,
        `surname`                varchar(100)    DEFAULT ''                NOT NULL,
        `passwd`                 varchar(32)     DEFAULT ''                NOT NULL,
        `url`                    varchar(255)    DEFAULT ''                NOT NULL,
        `autologin`              integer         DEFAULT '0'               NOT NULL,
        `autologout`             varchar(32)     DEFAULT '15m'             NOT NULL,
        `lang`                   varchar(5)      DEFAULT 'en_GB'           NOT NULL,
    

    我们查看表头发现没有创建数据库的命令,这也正是我们刚刚手动创建数据库的原因。

    然后,我们直接把这个表导入至我们的数据库即可:

    [root@zabbix-server zabbix-server-mysql-4.4.4]# mysql -uzabbix -p123 -h 192.168.94.141 zabbix < create.sql
    

    导入以后,进入数据库查看一下:

    [root@zabbix-server ~]# mysql -uzabbix -p123 -h192.168.94.141
    MariaDB [(none)]> use zabbix
    MariaDB [zabbix]> show tables;
    +----------------------------+
    | Tables_in_zabbix           |
    +----------------------------+
    | acknowledges               |
    | actions                    |
    | alerts                     |
    | application_discovery      |
    | application_prototype      |
    ......
    | users_groups               |
    | usrgrp                     |
    | valuemaps                  |
    | widget                     |
    | widget_field               |
    +----------------------------+
    149 rows in set (0.001 sec)
    

    可以看出来,数据已经导入成功了。

    三、配置 server 端

    数据库准备好了以后,就要去修改server端的配置文件了。

    [root@zabbix-server ~]# cd /etc/zabbix/
    [root@zabbix-server zabbix]# ls
    web                 zabbix_java_gateway.conf         zabbix_server.conf
    zabbix_agentd.conf  zabbix_java_gateway_logback.xml
    zabbix_agentd.d     zabbix_proxy.conf
    [root@zabbix-server zabbix]# cp zabbix_server.conf{,.bak}
    [root@zabbix-server zabbix]# vim zabbix_server.conf
    ListenPort=10051            #默认监听端口
    SourceIP=192.168.94.141     #发采样数据请求的IP
    

    为什么要设置SourceIP,由于我们的客户端可能一个主机多个IP,我们又不能允许任意的IP都能从我们这里读取数据,就会有一个验证方式,而该方式是基于识别SourceIP来实现的。

    1204916-20171202111451323-1945674171.png

    日志,默认用文件记录,也可以发送给我们的rsyslog日志记录系统,如果我们选择默认,则日志存放在LogFile=/var/log/zabbix/zabbix_server.log中,也可以自己设置。

    1204916-20171202111457261-900254693.png

    日志的滚动。默认值为1,表示滚动。我们设为0则表示不滚动。当数据特别多的时候,我们也可以设置成为1,然后在Maximum size of log file in MB设置当数据文件最大到多少时会自动滚动。

    1204916-20171202111508870-541941322.png

    日志的级别。一共有6个级别。我们可以根据自己的需要来设置级别。其中0表示输出最少的信息,5表示输出最详细的信息,默认值为3,设置为3的话就表示,0、1、2、3四个级别都显示。考虑到生产系统中的压力时,这里的信息,如果没有必要的话,越简单越好,只要在出错的时候,我们可以依据其进行排错即可。

    数据库相关的设置:

    DBHost=192.168.94.141       #数据库对外的主机
    DBName=zabbix               #数据库名称
    DBUser=zabbix               #数据库用户
    DBPassword=123              #数据库密码
    DBPort=3306                 #数据库启动端口
    

    补充:可以使用grep -i "^####" zabbix_server.conf来查看配置文件中有哪些大段,也可以使用grep -i "^###" zabbix_server.conf来查看配置文件中每一段中的配置项有哪些

    开启服务:

    [root@zabbix-server zabbix]# systemctl start zabbix-server.service
    

    确认一下我们的端口有没有开启:

    [root@zabbix-server zabbix]# ss -lnta | grep 10051
    LISTEN     0      128          *:10051                    *:*                  
    LISTEN     0      128         :::10051                   :::* 
    

    如果查到的端口没有开启,就要去检查一下配置文件有没有出问题。

    至此,server端的进程启动已经ok了,接下来就可以使用web GUI来打开接口进行设定了

    四、配置 web GUI

    查看web GUI的配置文件在哪里:

    [root@zabbix-server ~]# rpm -ql zabbix-web | less
    /etc/httpd/conf.d/zabbix.conf
    /etc/zabbix/web
    /etc/zabbix/web/maintenance.inc.php
    /etc/zabbix/web/zabbix.conf.php
    /usr/share/doc/zabbix-web-4.4.4
    /usr/share/doc/zabbix-web-4.4.4/AUTHORS
    /usr/share/doc/zabbix-web-4.4.4/COPYING
    /usr/share/doc/zabbix-web-4.4.4/ChangeLog
    /usr/share/doc/zabbix-web-4.4.4/NEWS
    /usr/share/doc/zabbix-web-4.4.4/README
    /usr/share/zabbix
    /usr/share/zabbix/actionconf.php
    /usr/share/zabbix/adm.gui.php
    /usr/share/zabbix/adm.housekeeper.php
    /usr/share/zabbix/adm.iconmapping.php
    /usr/share/zabbix/adm.images.php
    /usr/share/zabbix/adm.macros.php
    ……
    

    可以看出,有一个/etc/httpd/conf.d/zabbix.conf文件,这个配置文件就是帮我们做映射的文件,我们可以去看一看这个文件:

    Alias /zabbix /usr/share/zabbix     #我们访问的时候要在主机后加上/zabbix来访问我们这个服务
    
    1204916-20171202111541714-86449116.png

    时区是一定要设置的,这里被注释掉是因为,我们也可以在php的配置文件中设置时区,如果我们在php配置文件中设置时区,则对所有的php服务均有效,如果我们在zabbix.conf中设置时区,则仅对zabbix服务有效。所以,我们去php配置文件中设置我们的时区:

    [root@zabbix-server ~]# vim /etc/php.ini
    [Date]
    ; Defines the default timezone used by the date functions
    ; http://php.net/date.timezone
    date.timezone = Asia/Shanghai
    

    接下来,启动httpd服务:

    [root@zabbix-server ~]# systemctl start httpd.service
    [root@zabbix-server ~]# ss -nutl | grep :80
    tcp    LISTEN     0      128      :::80                   :::*
    

    五、浏览器访问并进行初始化设置

    我们使用浏览器访问192.168.94.141/zabbix,第一次访问时需要进行一些初始化的设置,我们按照提示操作即可:

    image.png image.png image.png image.png image.png image.png

    点击Finish以后,我们就会跳转到登录页面,使用默认的账号密码登录即可:
    默认账号:admin
    默认密码:zabbix

    image.png

    登陆进来就可以看到我们的仪表盘了:

    image.png

    切换中文:

    image.png image.png

    解决zabbix仪表盘切换中文时有些字乱码问题

    六、配置 agent 端

    当我们把监控端配置启动以后,我们需要来设置一下我们的监控端,我们在被监控的主机安装好agent,设置好他的server,并把他添加到server端,就能将其纳入我们的监控系统中去了。

    1)安装 zabbix

    同样的,我们先来安装zabbix。下载包,注释epel源,安装所需的包。具体步骤如下:

    下载安装官方yum源
    [root@zabbix-agent1 ~]# rpm -Uvh https://repo.zabbix.com/zabbix/4.4/rhel/7/x86_64/zabbix-release-4.4-1.el7.noarch.rpm
    [root@zabbix-agent1 ~]# yum clean all
    [root@zabbix-agent1 ~]# yum makecache fast
    已加载插件:fastestmirror
    正在清理软件源: base extras updates zabbix zabbix-non-supported
    # yum 下载
    [root@zabbix-agent1 ~]# yum install zabbix-agent zabbix-sender -y
    

    安装完成以后,修改配置文件。

    2)修改配置文件

    先查一下包内有什么:

    [root@zabbix-agent1 ~]# rpm -ql zabbix-agent
    /etc/logrotate.d/zabbix-agent
    /etc/zabbix/zabbix_agentd.conf
    /etc/zabbix/zabbix_agentd.d
    /etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf
    /usr/lib/systemd/system/zabbix-agent.service
    /usr/lib/tmpfiles.d/zabbix-agent.conf
    /usr/sbin/zabbix_agentd
    /usr/share/doc/zabbix-agent-4.4.4
    /usr/share/doc/zabbix-agent-4.4.4/AUTHORS
    /usr/share/doc/zabbix-agent-4.4.4/COPYING
    /usr/share/doc/zabbix-agent-4.4.4/ChangeLog
    /usr/share/doc/zabbix-agent-4.4.4/NEWS
    /usr/share/doc/zabbix-agent-4.4.4/README
    /usr/share/man/man8/zabbix_agentd.8.gz
    /var/log/zabbix
    /var/run/zabbix
    

    对配置文件做一个备份,然后去修改配置文件:

    [root@zabbix-agent1 ~]# cd /etc/zabbix/
    [root@zabbix-agent1 zabbix]# ls
    zabbix_agentd.conf  zabbix_agentd.d
    [root@zabbix-agent1 zabbix]# cp zabbix_agentd.conf{,.bak}
    [root@zabbix-agent1 zabbix]# vim zabbix_agentd.conf
    
    image-20200123112302076.png image-20200123112532726.png image-20200123112718258.png

    重点需要修改的仍然是GENERAL PARAMETERS段:

    1204916-20171202111819198-1483932137.png

    是否允许别人执行远程操作命令,默认是禁用的,打开的话会有安全风险。

    Server=192.168.94.141       #指明服务器是谁
    ListenPort=10050            #自己监听的端口
    ListenIP=0.0.0.0            #自己监听的地址,0.0.0.0表示本机所有地址
    StartAgents=3               #优化时使用的
    
    ServerActive=192.168.94.141 #主动监控时的服务器
    Hostname=agent1     #自己能被server端识别的名称
    

    修改完成之后,我们保存退出。然后就可以启动服务了:

    [root@zabbix-agent1 zabbix]# systemctl start zabbix-agent
    [root@zabbix-agent1 zabbix]# netstat -lntp | grep 10050
    tcp        0      0 0.0.0.0:10050           0.0.0.0:*               LISTEN      15909/zabbix_agentd 
    tcp6       0      0 :::10050                :::*                    LISTEN      15909/zabbix_agentd
    

    agent2同样操作,但是主机名不能一样

    接着,就可以去server端添加了。

    七、监控过程详解

    1)修改密码
    image.png image.png
    2)创建主机及主机群组

    先定义一个主机群组:

    image.png image.png

    然后就可以去添加主机了:

    image.png image.png

    当然,上面有很多选择卡,有一个加密:

    image.png

    添加完成后,就能在列表中看到这个主机了

    image.png

    再把agent2也添加进来

    image.png
    3)监控项(items)

    创建模板 > 创建应用集 > 创建监控项

    ① 首先我们创建一个模板

    image.png
    给模板取一个名字绑定群组
    image.png
    创建好了之后就会出现在列表里
    image.png
    ② 创建应用集

    点击应用集

    image.png

    创建应用集

    image.png
    给应用集取一个名字,一般根据功能取易识别的就好
    image.png
    好了,现在就是在agent模板下,建立了一个CPU应用集
    image.png
    ③ 创建监控项

    点击监控项

    image.png
    image.png

    任何一个被监控项,如果想要能够被监控,一定要在zabbix-server端定义了能够连接至zabbix-agent端,并且能够获取命令。或者在agent端定义了能够让server端获取命令。一般都是内建的命令,都对应的有其名字,被我们称之为key。

    image.png
    关于key值,我们可以直接在网页上设置(服务器自动执行),也可以使用命令行命令(手动执行)来获取:
    [root@zabbix-server ~]# zabbix_get -s 192.168.94.142 -p 10050 -k "system.cpu.intr"
    在我们的agent端,也可以使用命令来查看intr的速率变化:

    这里定义了一个不带参数的监控项"system.cpu.intr"

    image.png image.png

    设置完以后,点击添加,即可加入,并会自动跳转至下图页面:

    image.png

    然后点击配置,主机回到下面这个页面,去给主机绑定我们刚才创建好的模板

    image.png

    ④ 绑定模板

    点击agent1

    image.png image.png
    然后点击更新,等待5秒,我们可以看到,我们agent1节点后面的选项已经有变成绿色的了:
    image.png

    我们也可以回到我们的仪表盘,可以看到,我们的监控项有一个处于启用状态:

    image.png

    那么,我们的数据在哪里呢?可以点击最新数据,把我们的主机群组添加进来,应用一下,就可以看到下面的状态了:

    image.png image.png

    可以看到,我们还有一个图形页面,点进去则可以看图形的分布:

    image.png
    然后我们发现切换中文之后,下面有些字体乱码

    解决zabbix仪表盘切换中文时有些字乱码问题

    image.png

    事实上,我们关注的指标有很多种,我们一一添加进来即可。

    刚刚我们定义的监控项是很简单的,指定一个key即可,但是有些监控项是带有参数的,这样一来,我们的监控项就有更多的灵活性。接下来,我们来简单说明一个需要带参数的监控项:

    ⑤ 定义一个带参数的监控项

    这一次我们定义的监控项,不绑定模板,不指定应用集,也就是说它只是针对某一个主机设定的监控项


    image.png image.png 1204916-20171202112221667-2119454107.png

    图中的[]就是需要参数的意思,里面的值即为参数,带<>为不可省略的。我们就以这个例子来说明:
    if表示是接口名;<mode>表示是那种模式,包括但不限于:packets(包)、bytes(字节)、errors(错误)、dropped(丢包)、overuns等等(上述内容通过ifconfig查看)

    我们来设置一下这个监控值:

    image.png
    image.png

    同样的,我们也可以通过命令行来查看:
    [root@zabbix-server ~]# zabbix_get -s 192.168.94.143 -p 10050 -k "net.if.in[ens32,packets]"
    1739

    我们发现agent2也亮了起来

    image.png

    接着我们去查看一下图形

    image.png image.png

    ⑥ 快速定义类似指标

    如果我们想要定义一个类似的指标,我们可以直接选择克隆,然后简单的修改一点点参数即可。

    就以我们刚刚定义的net.if.in[ens33,packets]为例,如果我们想要在定义一个out的进行如下操作即可:

    image.png
    只需要修改这两个地方就可以 image.png image.png

    然后点击添加,就可以看到列表中就有了我们刚才添加的监控项

    image.png

    我们来到 检测中 ---> 最新数据,可以看到,我们定义的监控项都已经有值了:


    image.png image.png

    ⑦ 删除监控项

    如果有一个监控项,我们用不上了,就可以删除掉。但是如果你直接删除的话,默认数据是会留下的,所以我们要先清除数据,然后再删除,具体操作步骤如下:

    1204916-20171202112656808-290199455.png

    ⑧ 监控项存储的值

    对于监控项存储的值,老一点的版本只有以下三种方式:

    • As is:不对数据做任何处理(存储的为原始值)
    • Delta:(simple change)(变化),本次采样减去前一次采样的值的结果
    • Delta:(speed per second)(速率),本次采样减去前一次采样的值,再除以经过的时长;
      而在3.4版本以后有了更多的表现形式:
    image.png
    4)触发器(trigger)

    ① 简介

    当我们的采集的值定义完了以后,就可以来定义触发器了。

    我们触发器的定义是:界定某特定的item采集到的数据的非合理区间或非合理状态。通常为逻辑表达式。

    逻辑表达式(阈值):通常用于定义数据的不合理区间,其结果如下:
      OK(不符合条件):正常状态 --> 较老的zabbix版本,其为FALSE;
      PROBLEM(符合条件):非正常状态 --> 较老的zabbix版本,其为TRUE;

    一般,我们评定采样数值是否为合理区间的比较稳妥的方法是——根据最后N次的平均值来判定结果;这个最后N次通常有两种定义方式:

    1. 最近N分钟所得结果的平均值
    2. 最近N次所得结果的平均值

    而且,我们的触发器存在可调用的函数:

    nodata()    #是否采集到数据,采集不到则为异常
    last()      #最近几次的平均值
    date()
    time()
    now()
    dayofmonth()
    ...

    注:能用数值保存的就不要使用字符串

    ② 触发器表达式

    基本的触发器表达式格式如下所示
    {<server>:<key>.<function>(<parameter>)}<operator><constant>

    • server:主机名称;
    • key:主机上关系的相应监控项的key;
    • function:评估采集到的数据是否在合理范围内时所使用的函数,其评估过程可以根据采取的数据、当前时间及其它因素进行;
    • 目前,触发器所支持的函数有avg、count、change、date、dayofweek、delta、diff、iregexp、last、max、min、nodata、now、sum等
    • parameter:函数参数;大多数数值函数可以接受秒数为其参数,而如果在数值参数之前使用“#”做为前缀,则表示为最近几次的取值,如sum(300)表示300秒内所有取值之和,而sum(#10)则表示最近10次取值之和;
    • 此外,avg、count、last、min和max还支持使用第二个参数,用于完 成时间限定;例如,max(1h,7d)将返回一周之前的最大值;

    表达式所支持的运算符及其功能如下图所示:

    1204916-20171202112728636-256605681.png

    ③ 定义一个触发器

    我们可以查看一下,agent1的cpu_status监控项,并以其为标准确定我们的非正常的值:


    image.png

    图中我们可以看出,我们的最大值为105,最小值为47,平均值为58。这样的话,我们可以定义110以上的都是非正常的值,这里为了测试定义为50。

    下面我们来定义一个触发器:

    进入:配置 ---> 主机 ---> agent1 ---> 触发器 ---> 创建触发器

    image.png
    image.png
    触发表达式设置
    image.png image.png
    恢复表达式设置
    image.png
    生成完毕后,我们就点击页面下方的添加,即成功定义了一个触发器,同时页面自动跳转:
    image.png
    image.png

    看见仪表盘已经有了警告信息


    image.png

    然后我们去看一下我们刚刚定义了触发器的那个监控项:


    image.png
    我们可以看出,这个里面就有了一根线,就是我们刚刚定义的值,超过线的即为异常状态,看起来非常直观。

    但是,现在即使超过了这根线,也仅仅会产生一个触发器事件而不会做其他任何事。因此,我们就需要去定义一个动作(action)。

    ④ 触发器的依赖关系

    我们的触发器彼此之间可能会存在依赖关系的,一旦某一个触发器被触发了,那么依赖这个触发器的其余触发器都不需要再报警。  我们可以来试想一下这样的场景:

    我们的多台主机是通过交换机的网络连接线来实现被监控的。如果交换机出了故障,我们的主机自然也无法继续被监控,如果此时,我们的所有主机统统报警……想想也是一件很可怕的事情。要解决这样的问题,就是定义触发器之间的依赖关系,当交换机挂掉,只它自己报警就可以了,其余的主机就不需要在报警了。这样,也更易于我们判断真正故障所在。

    注意:目前zabbix不能够直接定义主机间的依赖关系,其依赖关系仅能通过触发器来定义。

    我们来简单举一个例子,示范一下如何定义一个依赖关系:

    打开任意一个触发器,上面就有依赖关系,我们进行定义即可:


    image.png

    触发器可以有多级依赖关系,比如我们看下面的例子:

    1204916-20171202112943901-1385885917.png

    相关文章

      网友评论

        本文标题:二、Zabbix 企业监控系统搭建

        本文链接:https://www.haomeiwen.com/subject/qmytqhtx.html