zoukankan      html  css  js  c++  java
  • Zabbix的基本功能

    zabbix组件:

    两核心组件:
      zabbix-server(监控者) :收集agent发送的数据,写入数据库(mysql、oracal、)中,再通过web展示出来。默认端口为10051.
      zabbix-agent(被监控者):zabbix-agent:被监控者。通过安装zabbix agent,可将主机做为一个被监控的节点,通过agent采集数据并发送到zabbix-server或zabbix-proxy端。默认端口为10050.
    其他重要组件:
      zabbix-proxy:监控代理者。通过安装zabbix proxy,可将主机做为代理,代理zabbix-server收集部分被监控端的监控数据,写入zabbix-proxy自己的数据库中,再统一按时发往zabbix-server端。(可视为一个小型的zabbix-server,配置方法也几乎等同于zabbix-server,常用于分布监控环境中,通常大于500台主机需要使用,需要进行分布式监控架构部署)。默认端口:10051.
      zabbix_get:它是zabbix的数据接收工具,通常在zabbix-server或zabbix-proxy端执行获取远程zabbix-agent客户端的命令。
      zabbix_sender:它是zabbix的数据发送工具,用于再zabbix-agent端发送数据给zabbix-server或zabbix-proxy。
      Database Storage:专用于存储所有配置信息,以及由zabbix收集的数据,通常与Server运行在同一台主机上
      Web interface:zabbix的GUI接口,与Server运行在同一台主机上

    工作原理:
      zabbix-agent将采集到的主机信息,发送给zabbix-server,zabbix-server收到数据,将数据存在数据库中,用户基于zabbix-web在前端查看监控数据的图像,给监控项设置一个触发器阈值,当监控指标达到或超过这个阈值的时候,系统会做一些动作,比如发送消息给管理员或者发送一些shell命令。

    zabbix监控什么:
      内存使用情况:
      磁盘空间:
      网络流量:网络接口流量、网络出口流量。
      agent:检查客户端可用性、主机名、系统详细信息等。
      监控程序端口启用。
    zabbix-agent客户端收集数据的模式:
      Zabbix监控客户端默认为被动模式,可以修改为主动模式,只需要在客户端配置文件中添加 StartAgents=0即可,
      主动监控:agent主动向server获取监控项列表,zabbix-agent主动将监控项内需要检测的数据提交给zabbix-server/proxy。
      被动监控:zabbix-agent等待zabbix-server的监控信息,server向agent请求获取监控项的数据。agent收集信息请求并作出响应。Server处理接收到的数据。

    自动发现:
      在zabbixGUI界面,配置栏下配置自动发现规则,设置要监控的主机ip范围,配置动作规则,添加模板,然后分别启用,最后在主机栏,刷新等待查看自动发现的主机。

    邮件告警:(版本3.0)
      1、在linux中/usr/local/zabbix/alertscripts编写邮件告警脚本
      2、【管理】--【报警媒介类型】--【创建媒介类型】(先将默认的都停用)
      3、名称:自定义就行 类型:脚本 脚本名称:跟配置文件保持一致
      4、【管理】--【用户】--【创建用户】(创建用户)
      5、【配置】----【动作】----【触发器】----【创建动作】(添加告警动作)

    用户根据自己的监控项目自定义监控项:

    以监控httpd进程是否存在为例。
      1、首先编写自定义监控脚本:
        脚本名字:check_httpd.sh
        脚本目录(这个目录可以自定义):/usr/local/zabbix_scripts
        脚本内容:脚本说明:通过ps检查httpd进程是否存在,如果存在则脚本反馈1,如果不存在则返回0
      2、在agent端修改zabbix_agentd.conf配置文件,修改两处:

        UnsafeUserParameters=1,默认为0,此处我们将它改为1,改为1以后,表示用户自定义的脚本中可以包含特殊字符。
      3、添加自定义监控项,格式为:UserParameter=<键值>,<命令>。这里我们自定义键值为:check_httpd,要执行的命令为执行check_httpd.sh这个脚本。
      4、添加完成后重启zabbix-agent服务使其生效。
      5、在zabbix-server端:
        进行get测试:zabbix_get -s 192.168.11.11 -p 10050 -k "check_httpd.sh" ,-s后边跟的是agent服务所在的IP,-k后边跟的是在agent配置里的key.
      6、在zabbix-server端web页面操作:
        选择要增加监控项的主机,创建监控项,根据自定义键值填写监控项,键值填agent端配置文件中的key。
      7、添加成功后,在最新数据中查看是否获取到数据
      8、给这个监控项添加触发器(在这里我们定义当check_httpd监控项返回为0的时候告警。即httpd进程不存在)自定义触发器名称以及严重程度,表达式那里,点击添加触发器表达式,监控项选择我们自定义监控项,功能可以根据自己的需求选择,这里我们选择最后一个值是0的时候则告警(即httpd进程不存在)
      9、至此,自定义监控项和自定义告警已添加完成,如果有其他监控需求,自己写监控脚本即可。

    zabbix监控nginx:

    背景:Nginx在生产环境中的应用越来越广泛,所以需要对nginx的性能状态做一些监控,从而发现故障隐患。

    Ngnx的监控指标可分为:基本活动指标,错误指标,性能指标

    zabbix模板:zabbix模板中可以包含监控项、触发器、web监控、图表等等项目,一一创建这些项目之后,在后续的主机只需要套用这个模板,主机便可以监控模板里面所配置的监控项目。

    比如要用zabbix监控100台Linux服务器的基本性能,如cpu、内存、硬盘、网络这些基本的东西,如果一台一台的配置,会好费大量的时间和精力,此时创建一个模板,然后每个服务器套用/链接这个模板,那么只要在创建主机的过程中在link(套用/链接)这个模板,一个服务器就完成了。

    嵌套模板:在zabbix使用过程中,某些情况下,一个host需要link多个模板。这么做显得比较麻烦,很容易忘记到底要link哪些模板,我想link一个模板就达成这个目标,行不行?然而没问题,zabbix模板内嵌简单的说就是:模板link多个模板,

    zabbix的主要监控架构:

    在zabbix的监控架构中,主要分为了三种架构: server-agent 、server-proxy-agent、master-node-client三种 ,适合于不同的生产环境。

  • 相关阅读:
    对MVC模型的自悟,详尽解释,为了更多非计算机人员可以理解
    openSUSE leap 42.3 实现有线 无线同时用
    Fedora27 源配置
    Ubuntu16.04添加HP Laserjet Pro M128fn打印机和驱动
    openSUSE leap 42.3 添加HP Laserjet Pro M128fn打印机和驱动
    OpenSUSE Leap 42.3下通过Firefox Opera Chromium浏览器直接执行java应用程序(打开java jnlp文件)实现在服务器远程虚拟控制台完成远程管理的方法
    OpenSUSE Leap 42.3 安装java(Oracle jre)
    linux下支持托盘的邮件客户端Sylpheed
    Ubuntu下通过Firefox Opera Chromium浏览器直接执行java应用程序(打开java jnlp文件)实现在服务器远程虚拟控制台完成远程管理的方法
    Firefox 浏览器添加Linux jre插件
  • 原文地址:https://www.cnblogs.com/twoo/p/11991400.html
Copyright © 2011-2022 走看看