美文网首页
zabbix基础

zabbix基础

作者: 快去学习不然怎么去看aimer | 来源:发表于2019-11-27 19:51 被阅读0次

    zabbix简介:

    Zabbix 是一个企业级分布式开源监控解决方案。

    Zabbix 软件能够监控众多网络参数和服务器的健康度、完整性。Zabbix 使用灵活的告警机制,允许用户为几乎任何事件配置基于邮件的告警。这样用户可以快速响应服务器问题。Zabbix 基于存储的数据提供出色的报表和数据可视化功能。

    Zabbix 支持主动轮询(polling)和被动捕获(trapping)。Zabbix所有的报表、统计数据和配置参数都可以通过基于 Web 的前端页面进行访问。
    客户端每隔一段时间主动向服务端发起连接请求–>服务端收到请求,查询客户端需要取的item信息,发送给客户端–>客户端收集数据发送服务端–>结束。
    被动模式的流程:
    客户端开一个端口默认10050,等待服务端来取数据,然后客户端收集数据发送到服务端,然后结束。

    Zabbix常用术语的含义

    • 主机 (host)
      一台你想监控的网络设备,用IP或域名表示

    • 主机组 (host group)
      主机的逻辑组;它包含主机和模板。一个主机组里的主机和模板之间并没有任何直接的关联。通常在给不同用户组的主机分配权限时候使用主机组。

    • 监控项 (item)
      你想要接收的主机的特定数据,一个度量数据。

    • 触发器 (trigger)
      一个被用于定义问题阈值和“评估”监控项接收到的数据的逻辑表达式。当接收到的数据高于阈值时,触发器从“OK”变成“Problem”状态。当接收到的数据低于阈值时,触发器保留/返回一个“OK”的状态。

    • 动作 (action)
      一个对事件做出反应的预定义的操作。
      一个动作由操作(例如发出通知)和条件(当时操作正在发生)组成

    • 媒介 (media)
      发送告警通知的手段;告警通知的途径

    • 远程命令 (remote command)
      一个预定义好的,满足一些条件的情况下,可以在被监控主机上自动执行的命令

    • 模版 (template)
      一组可以被应用到一个或多个主机上的实体(监控项,触发器,图形,应用,Web场景等)的集合
      模版的任务就是加快对主机监控任务的实施;也可以使监控任务的批量修改更简单。模版是直接关联到每台单独的主机上。

    • web 场景 (web scenario)
      利用一个或多个HTTP请求来检查网站的可用性

    • 前端 (frontend)
      Zabbix提供的web界面

    • Zabbix server
      Zabbix软件实现监控的核心程序,主要功能是与Zabbix server和Agents进行交互、触发器计算、发送告警通知;并将数据集中保存等

    • Zabbix agent
      Zabbix agent部署在监控的目标上,主动监测本地的资源和应用(硬件,内存,处理器统计等)。
      Zabbix agent收集本地的操作信息并将数据报告给Zabbix server用于进一步处理。一旦出现异常 (比如硬盘空间已满或者有崩溃的服务进程), Zabbix server会主动警告管理员指定机器上的异常。

    zabbix 监控架构

    zabbix的监控架构在实际监控架构中,zabbix根据网络环境、监控规模等 分了三种架构: server-client 、master-node-client、server-proxy-client三种 。

    1、server-client架构也是zabbix的最简单的架构,监控机和被监控机之间不经过任何代理 ,直接由zabbix server和zabbix agentd之间进行数据交互。适用于网络比较简单,设备比较少的监控环境 。
    2、server-proxy-client架构其中proxy是server、client之间沟通的一个桥梁,proxy本身没有前端,而且其本身并不存放数据,只是将agentd发来的数据暂时存放,而后再提交给server 。该架构经常是和master-node-client架构做比较的架构 ,一般适用于跨机房、跨网络的中型网络架构的监控
    3、master-node-client架构该架构是zabbix最复杂的监控架构,适用于跨网络、跨机房、设备较多的大型环境 。每个node同时也是一个server端,node下面可以接proxy,也可以直接接client 。node有自已的配置文件和数据库,其要做的是将配置信息和监控数据向master同步.

    image.png

    Zabbix 监控系统监控对象

    image.png
    IPMI:智能平台管理接口(Intelligent Platform Management Interface)IPMI 能够横跨不同的操作系统、固件和硬件平台,可以智能的监视、控制和自动回报大量服务器的运作状况,以降低服务器系统成本。

    SNMP:网络管理协议(SNMP) 是专门设计用于在 IP 网络管理网络节点服务器工作站路由器交换机等)的一种标准协议,它是一种应用层协议。

    在容器中启动zabbix的方式:

    所用镜像为官方的zabbix镜像,所使用的zabbix-server的版本为4.4.1

    • 该示例示范了如何使用内置 MySQL 数据库、Zabbix server、基于 Nginx Web 服务器的 Zabbix Web 界面和 Zabbix Java gateway 来运行 Zabbix 应用。
     docker run --name zabbix-appliance -t \
          -p 10051:10051 \
          -p 80:80 \
          -d zabbix/zabbix-appliance:latest
    
    • 该示例示范了如何运行 MySQL 数据库支持、基于 Nginx Web 服务器的 Zabbix Web 界面和 Zabbix Java gateway。
     docker run --name mysql-server -t \
          -e MYSQL_DATABASE="zabbix" \
          -e MYSQL_USER="zabbix" \
          -e MYSQL_PASSWORD="zabbix_pwd" \
          -e MYSQL_ROOT_PASSWORD="root_pwd" \
          -d mysql:5.7 \
          --character-set-server=utf8 --collation-server=utf8_bin
    

    现在就可以访问本地的80端口进入zabbix主页,zabbix本身有两个用户一个为Admin,密码为zabbix,该用户为系统的超级管理员拥有所有权限。
    另一个用户为guest,一个特殊的默认用户。guest用户对Zabbix中的对象没有任何权限。


    启动容器后,需要另行使用一个centos7的容器安装agent进行模拟测试
    启动之前首先查看zabbix容器中zabbix-server的version,在zabbix官网下载对应版本的yum源。

    yum install zabbix-agent
    

    修改agent的配置文件/etc/zabbix/zabbix_agent.conf

    Server=192.168.246.228    #zabbix服务器的地址 
    ServerActive=192.168.246.228    #主动模式 zabbix-server-ip 
    Hostname=zabbix-agent-none1 
    UnsafeUserParameters=1 #是否限制用户自定义 keys 使用特殊字符 1是可以启用特殊字符 0是不可以启用特殊字符
    EnableRemoteCommands=0 #是否允许别人执行远程操作命令,默认是禁用的,打开的话会有安全风险.
    

    修改完成之后,保存退出,由于使用的是容器的原因,需要手动执行zabbix_agent,若使用的真机或虚拟机,则可以使用systemctl管理程序

    相关文章

      网友评论

          本文标题:zabbix基础

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