• 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三种 ,适合于不同的生产环境。

  • 相关阅读:
    BeautifulSoup的高级应用 之.parent .parents .next_sibling.previous_sibling.next_siblings.previous_siblings
    zoj 1655 单源最短路 改为比例+最长路
    localstorage
    unix中文件I/O
    TextView超链接
    Linux环境安装phpredis扩展
    可替代google的各种搜索引擎
    otto源代码分析
    8天学通MongoDB——第二天 细说增删查改
    MongoDB (十一) MongoDB 排序文档
  • 原文地址:https://www.cnblogs.com/twoo/p/11991400.html
Copyright © 2020-2023  润新知