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

Zabbix的基本功能的更多相关文章

  1. zabbix自动发现功能实现批量web url监控

    需求: 现在有大量url需要监控,形式如http://www.baidu.com ,要求url状态不为200即报警. 需求详细分析: 大量的url,且url经常变化,现在监控用的是zabbix,如果手 ...

  2. Zabbix的LLD功能--Low-level discovery

    感觉这个主题是和一个主题是一个系列,而且更基础. 准备深入研究一下... 相关文档准备: https://www.zabbix.com/documentation/2.0/manual/discove ...

  3. Zabbix的通知功能以及自定义脚本告警

    本节内容: Zabbix的通知功能 定义接收告警的用户 定义Action Zabbix自定义脚本发送报警邮件 一.Zabbix的通知功能 在配置好监控项和触发器之后,一旦正常工作中的某触发器状态发生改 ...

  4. zabbix一些高级功能介绍

    根据上篇配置的环境,接下来说明在zabbix agent上执行远程命令是如何完成的. 远程命令受到一些限制: (1)在agent执行远程命令必须给zabbix用户定义sudu规则: (2)不支持act ...

  5. zabbix使用之常用功能使用心得

    ZABBIX 使用 Written by: Jane.Hoo 1.zabbix监控概念介绍 项目(iterm)定义收集被监控的数据项,如收集被监控机内存使用情况 应用集(application)一些项 ...

  6. zabbix实现自动发现功能添加磁盘监控

    zabbix实现对磁盘动态监控 - Lenwood 原文  http://www.cnblogs.com/baizhantang/p/3253246.html 主题 Linux命令 zabbix 前言 ...

  7. 烂泥:haproxy与nginx、zabbix集成

    本文由ilanniweb提供友情赞助,首发于烂泥行天下 想要获得更多的文章,可以关注我的微信ilanniweb. 昨天介绍了haproxy的手机匹配规则,今天再来介绍下haproxy与nginx.za ...

  8. python调用zabbix接口实现Action配置

    要写这篇博客其实我的内心是纠结的,老实说,我对zabbix的了解实在不多.但新公司的需求不容置疑,当我顶着有两个头大的脑袋懵懵转入运维领域时,面前摆着两百多组.上千台机器等着写入zabbix监控的需求 ...

  9. [转]Zabbix 3.0 安装笔记

    Zabbix 3.0 只支持CentOS 7.0以上版本,所以先在虚拟机中安装好CentOS 7.0 x64,并设置好IP,允许虚拟机联网. 1.安装MySQL 从最新版本的linux系统开始,默认的 ...

随机推荐

  1. QQ音乐2019客户端-获取任意歌单完整歌曲列表和下载音乐文件方法

    步骤 1.在web网站上搜搜任意歌单 https://y.qq.com/#type=index/ 例如:中国好声音4.5.6.7.8季 打开后显示网址:  https://y.qq.com/n/yqq ...

  2. CodeForces - 560D Equivalent Strings

    Today on a lecture about strings Gerald learned a new definition of string equivalency. Two strings ...

  3. 微软开放了.NET 4.5.1的源代码【转】

    .NET Reference Source发布了beta版,可以在线浏览.NET Framework 4.5.1的源代码,并且可以通过配置,在Visual Studio 2013中调试.NET Fra ...

  4. 【转载】百度百科:FusionCube超融合

    [转载]百度百科:FusionCube超融合 华为FusionCube融合基础设施一体机(Huawei FusionCube Converged Infrastructure)是华为公司IT产品线云计 ...

  5. CentOS7系统yum方式安装MySQL5.7

    参考:https://www.cnblogs.com/bigbrotherer/p/7241845.html#top 1.在CentOS中默认安装有MariaDB,这个是MySQL的分支,但为了需要, ...

  6. C#工具类SqlServerHelper,基于System.Data.SqlClient封装

    源码: using System; using System.Collections.Generic; using System.Data; using System.Linq; using Syst ...

  7. laravel he stream or file "..laravel-2019-02-14.log" could not be opened: failed to open stream: Permission denied

    错误:The stream or file "/var/www/jianshu/storage/logs/laravel-2019-02-14.log" could not be ...

  8. hashmap与hashtable的本质区别

    HashMap 底层数据结构是哈希表.线程不安全,效率高                哈希表依赖两个方法:hashCode()和equals()                执行顺序:       ...

  9. 十七:迭代器模式详解(foreach的精髓)

    定义:提供一种方法顺序访问一个聚合对象中各个元素,而又不需暴露该对象的内部表示. 从定义中可以看出,迭代器模式是为了在不暴露该对象内部表示的情况下,提供一种顺序访问聚合对象中元素的方法.这种思想在JA ...

  10. webpack篇,结合理论与实际,加以透彻分析!

    Webpack篇 开始着手项目打包的一些东西,还不是特别懂,一边学习,一边做笔记好啦. 1.webpack的概念.Webpack 是当下最热门的前端资源模块化管理和打包工具.任何形式的资源都可以视作模 ...