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

猜你喜欢

转载自www.cnblogs.com/twoo/p/11991400.html