zoukankan      html  css  js  c++  java
  • zabbix(二)

    1. 自定义zabbix监控

    1.1 zabbix 直连方式的监控

      两台主机192.168.16.4、192.168.16.5,.4作为server端,.5作为client端,直连方式无中间代理。

    用.4来监控.5

    1).4:启动相关服务、进入zabbix的web端口

    [root@localhost ~]# systemctl restart zabbix-server zabbix-agent httpd

    2).5:下载zabbix-agent

    [root@localhost ~]# rpm -ivh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
    
    Complete!
    [root@localhost ~]#yum install zabbix-agent -y

      编辑agent配置文件

    [root@localhost ~]# vim /etc/zabbix/zabbix_agentd.conf
    #修改三处:
    # Server=
    Server=192.168.16.4                 #zabbixserver端的ip
    # ServerActive=
    ServerActive=192.168.16.4           #server端采取主动模式,ip为serverd端地址。
    # Hostname=
    Hostname=192.168.16.15              #用户名,zabbix客户端的主机名,可自定义,多个用户端时只要不重复就行
    # Mandatory: no
    # Default:
    # HostnameItem=system.hostname      #动态获取系统主机名

    3)zabbix web端添加主机

    配置-------主机------创建主机

    查看主机,并监控zabbix-agent的日志

    [root@localhost ~]# tail -f /var/log/zabbix/zabbix_agentd.log

    进行监控 

    邮件报警:当机器出问题时发送邮件进行警告

    点击email进行设置

    勾选已启用,点击更新

    定义用户执行:用户-------Admin

    zabbix 报警级别有6级。

    更新

    添加动作,使用户和报警媒介发生联系

    进行下一步操作,会用到 其内置变量:

    主题:

    Problem: {EVENT.NAME}故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障!

    内容:

    告警主机:{HOSTNAME1}

    告警时间:{EVENT.DATE} {EVENT.TIME}

    告警等级:{TRIGGER.SEVERITY}

    告警信息: {TRIGGER.NAME}

    告警项目:{TRIGGER.KEY1}

    问题详情:{ITEM.NAME}:{ITEM.VALUE}

    当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}

    事件ID:{EVENT.ID}

     

    恢复主题:

    恢复{TRIGGER.STATUS}, 服务器:{HOSTNAME1}: {TRIGGER.NAME}已恢复!

    恢复信息:

    告警主机:{HOSTNAME1}

    告警时间:{EVENT.DATE} {EVENT.TIME}

    告警等级:{TRIGGER.SEVERITY}

    告警信息: {TRIGGER.NAME}

    告警项目:{TRIGGER.KEY1}

    问题详情:{ITEM.NAME}:{ITEM.VALUE}

    当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}

    事件ID:{EVENT.ID}

     

    通过内置变量写入故障时发送邮件的内容;

    在定义恢复操作,同样通过内置 变量,写入恢复后发送邮件内容

    再进行操作编辑

    以上所述总共3个步骤:定义报警文件类型、定义用户、定义动作。

     

    完成定义后进行测试:停掉server端的agent。

    [root@localhost ~]# systemctl stop zabbix-agent

    从web端进行监控,主机连接已拒绝

    再将server端的zabbix-agent启动,等待问题解决,查看发送的邮件

     

    当模板文件无法满足监控时,可进行自定义监控。

    定义自定义监控条件:当用户数量不为1时警告

    root     pts/1    192.168.16.1     03:24    2.00s  0.00s  0.00s -bash
    [root@localhost ~]# w
     03:24:11 up  4:23,  1 user,  load average: 0.00, 0.06, 0.08
    [root@localhost ~]# w | awk 'NR==1 {print $4}'     #拿到监测条件,仅测试用实际场合监控数据库的进程自定义
    1


    编辑server端的agent配置文件/etc/zabbix/zabbix-agent,在文件末尾将监测条件写入

    格式:UserParameter=key,value

    [root@localhost ~]# vim /etc/zabbix/zabbix_agentd.conf
    # TLSPSKFile=
    #
    UserParameter=loguser,w | awk 'NR==1 {print $4}'
    [root@localhost ~]# systemctl restart zabbix-agent

    开始web端配置

    创建监控项

    点击添加,点击触发器,创建触发器

    点击应用,下滑至左后可以看到自定义的触发项

    当虚拟机重新连接一个窗口是,登录用户为2,触发警告

     

    [root@localhost ~]# w | awk 'NR==1 {print $4}'
    1
    #连接第一个窗口
    [root@localhost ~]# w | awk 'NR==1 {print $4}'
    2

    2. zabbix自动发现和自动注册

    当终端数量较多时,可以通过自动发现和自动注册来实现zabbix监控

    更新

    添加组和模板

    配置完成后进行监测

    监测到192.168.16.5后将其自动注册进去

    添加完自动注册后将原先的主机删掉查看是否已自动注册

    3. zabbix分布式(代理)监控

      zabbix分布式监控需要至少3台主机,一台server。一台proxy(代理),一台client。client发送数据给proxy,proxy再发送给server。

      server:192.168.16.4

      proxy:192.168.16.5

      client:192.168.16.6

     

    3.1 代理端需要安装proxy

    .5

    [root@localhost ~]# yum install zabbix-proxy
    Installed:
      zabbix-proxy-mysql.x86_64 0:4.2.1-1.el7   

     

    3.2 配置zabbix-proxy数据库

    .5

    [root@localhost ~]# systemctl restart mariadb
    [root@localhost ~]# mysql -uroot -p123
    MariaDB [(none)]> create database zabbix_proxy character set utf8 collate utf8_bin;
    Query OK, 1 row affected (0.001 sec)
    MariaDB [(none)]> grant all privileges on zabbix_proxy.* to zabbix@'localhost' identified by 'zabbix';
    MariaDB [(none)]> use zabbix_proxy
    MariaDB [zabbix_proxy]> show tables;
    Empty set (0.000 sec)
    MariaDB [(none)]> exit
    [root@localhost ~]# rpm -qa | grep zabbix-proxy
    zabbix-proxy-mysql-4.2.1-1.el7.x86_64
    [root@localhost ~]# zcat /usr/share/doc/zabbix-proxy-mysql-4.2.1/schema.sql.gz | mysql -uzabbix -pzabbix zabbix_proxy                  #导入表
    [root@localhost ~]# mysql -uroot -p123;
    MariaDB [(none)]> use zabbix_proxy
    MariaDB [zabbix_proxy]> show tables;
    +-------------------------+
    | Tables_in_zabbix_proxy  |
    +-------------------------+
    | acknowledges            |
    ……

    3.3  修改配置文件

    [root@localhost ~]# vim /etc/zabbix/zabbix_proxy.conf
    
    #修改如下信息: # Server
    = Server=192.168.16.4 #server端地址 # Hostname= Hostname=zabbix-proxy #定义主机名 # DBName= DBName=zabbix_proxy #数据库名 # DBUser= DBUser=zabbix #数据库用户名 # Default: DBPassword=zabbix #数据库密码 [root@localhost ~]# systemctl restart zabbix-proxy

    3.4  修改client指向proxy

    .6:

    [root@localhost ~]# vim /etc/zabbix/zabbix_agentd.conf
    # Server=
    Server=192.168.16.5
    # ServerActive=
    ServerActive=192.168.16.5
    [root@localhost ~]# systemctl restart zabbix-agent

    3.5  web端操作

    删除自动注册的主机

    创建代理

    停掉自动发现、自动注册

    创建客户端主机,由于.6agent端设置的为动态获取主机名,因此主机名为系统主机名

    [root@localhost ~]# hostname
    localhost.localdomain

    重启代理proxy,等待

    分布式以为将client指向了proxy,所以只能自动发现但不能自动注册,此时该将自动发现规则改为zabbix-proxy即可。

  • 相关阅读:
    Java多线程编程初识— —2
    Java多线程编程初识
    Java XML解析技术
    Java读取Properties文件的六种方法
    Java对象的序列化与反序列化
    文言写作
    阅读理解主题综合训练
    记叙文阅读的六大题型详解(全部转换成法事情人"法事情人")
    读书类、美景类作文
    开头技法
  • 原文地址:https://www.cnblogs.com/ajunyu/p/10946045.html
Copyright © 2011-2022 走看看