zoukankan      html  css  js  c++  java
  • zabbix的面试题目总结

    参考:https://blog.csdn.net/zhydream77/article/details/89705822

    zabbix官方的一句话描述zabbix:

    • 监视任何事情适用于任何IT基础架构,服务,应用程序和资源的解决方案

    • Monitor anythingSolutions for any kind of IT infrastructure, services, applications, resources

    • 监控基础概论

      • zabbix并非监控,而是实现监控的工具

      • Zabbix-server是一个c/s和b/s结构

      • 安装zabbbix的服务器安装时和php7.1有冲突:若此机器上已经安装php7.1就安装不上zabbix

    • 监控知识体系

      • 为什么要使用监控

        • 1.对系统不间断实时监控

        • 2.实时反馈系统当前状态

        • 3.保证服务可靠性安全性

        • 4.保证业务持续稳定运行

      • 如果去到一家新的公司,如何入手?

        • 1.硬件监控——路由器、交换机、防火墙

        • 2.系统监控——cpu、内存、磁盘、网络、进程、tcp

        • 3.服务监控——nginx、php、tomcat、redis、memcache、mysql

        • 4.web监控——响应时间、加载时间、渲染时间

        • 5.日志监控——ELK、(收集、存储、分析、展示)日志

        • 6.安全监控——firewalld、WAF(nginx+lua)、安全宝、牛盾云、安全狗

    • 单机监控

      • 单机进程cpu查看负载和使用率

      • 单机内存查看

      • 单机磁盘查看

      • 单机查看网络

    • 引入zabbix分布式监控系统

      • 使用shell脚本来监控服务器

    • 安装zabbix

      • (单机)--> LAMP

      • (架构)--> LAP + MYSQL

    • 服务端端口:10051

    • 客户端端口:10050

    基础模板

    • 自定义监控阈值实战

    • 自定义监控项

      • 单位

      • 值类型

      • 值映射

    • 阈值的定义

      • 单条件

      • 多条件

    • 自定义触发器(动作)

    • 自定义报警(邮件|微信)邮件发送的信息内容可以使用系统自带的宏变量来对应修改(官方站点有宏变量的介绍)

    • 自定义图形、聚合图形、幻灯片、网络拓扑图、Graphtree

    • 自定义模板(给主机添加)

    • 系统默认自带的监控项设置阈值要根据生产中的需求来进修修改(阈值的高低)

    服务监控(监控的服务要求有状态页面查询)

    • nginx

    • PHP-fpm

    • mysql

    • tomcat

    • redis

    web监控

    • 请求时间

    • 响应时间

    • 页面不是200-->触发报警

    自动化监控:

    • 自动发现(server端轮询网段扫描发现agent)

    • ** 自动发现:server-->轮询扫描-->ip地址段--> **

    • 自动发现:ip、ftp、ssh、web、pop3、imap、tcp

      • ip范文自动发现(两个阶段:发现-->动作)

        • szabbix-web自动发现定义自动监控的网段中的zabixx-agent(配置文件中server已经定义zabbix-server地址)

    • 自动发现所执行的动作

      • 发送消息

      • 添加/删除主机

      • 启用/禁用主机

      • 添加主机到组

      • 从组中删除主机

      • 将主机链接到模板/从模板中取消链接

      • 执行远程脚本命令

    • 主动注册(agent端主动告诉server端请求加入)

    • zabbix-server必须开启自动注册-->操作-->(通知|加入监控|套用模板)

    • Agent(ServerActive=10.0.0.61)-->启动-->自动加入zabbix-server

     

    zabbix-proxy分布式

    • Zabbix-proxy使用场景:

    • 监控远程位置,解决跨机房

    • 监控主机多,性能跟不上,延迟大

    • 解决网络不稳定

    zabbix 是怎么实施监控的

    一个监控系统运行的大概的流程是这样的:

    agentd需要安装到被监控的主机上,它负责定期收集各项数据,并发送到zabbix server端,zabbix server将数据存储到数据库中,zabbix web根据数据在前端进行展现和绘图。这里agentd收集数据分为主动和被动两种模式:

    主动:agent请求server获取主动的监控项列表,并主动将监控项内需要检测的数据提交给server/proxy

    被动:server向agent请求获取监控项的数据,agent返回数据。

    • 主动模式被动模式:默认为zabbix-agent被动模式

    主动模式与被动模式主要是站在zabbix-agent身份来说
    • 1.被动模式(zabbix-server轮询检测zabbix-agent)

    • 2.主动模式(zabbix-agent主动上报给zabbix-server)优

    zabbix主动模式与被动模式选择
    • 1.当(Queue)队列中有大量的延迟监控项

    • 2.当监控主机超过300+ ,建议使用主动模式

    【主动监测】通信过程如下:

    zabbix首先向ServerActive配置的IP请求获取active items,获取并提交active tiems数据值server或者proxy。很多人会提出疑问:zabbix多久获取一次active items?它会根据配置文件中的RefreshActiveChecks的频率进行,如果获取失败,那么将会在60秒之后重试。分两个部分:

    获取ACTIVE ITEMS列表

    Agent打开TCP连接(主动检测变成Agent打开)

    Agent请求items检测列表

    Server返回items列表

    Agent 处理响应

    关闭TCP连接

    Agent开始收集数据

    主动检测提交数据过程如下:

    Agent建立TCP连接

    Agent提交items列表收集的数据

    Server处理数据,并返回响应状态

    关闭TCP连接

    【被动监测】通信过程如下:

    Server打开一个TCP连接

    Server发送请求agent.ping

    Agent接收到请求并且响应

    Server处理接收到的数据

    关闭TCP连接

    1、新建监控项目时,选择的是zabbix代理还是zabbix端点代理程式(主动式),前者是被动模式,后者是主动模式。

    2、agentd配置文件中StartAgents参数的设置,如果为0,表示禁止被动模式,否则开启。一般建议不要设置为0,因为监控项目很多时,可以部分使用主动,部分使用被动模式。

    zabbix 自定义发现是怎么做的

    1、首先需要在模板当中创建一个自动发现的规则,这个地方只需要一个名称和一个键值。

    2、过滤器中间要添加你需要的用到的值宏。

    3、然后要创建一个监控项原型,也是一个名称和一个键值。

    4、然后需要去写一个这样的键值的收集。

    自动发现实际上就是需要首先去获得需要监控的值,然后将这个值作为一个新的参数传递到另外一个收集数据的item里面去。

    zabbix 是怎么微信报警的     ----企业现在用的比较的多

    1、首先,需要有一个微信企业号。(一个实名认证的[微信号]一个可以使用的[手机号]一个可以登录的[邮箱号]

    2、下载并配置微信公众平台私有接口。

    3、配置Zabbix告警,(增加示警媒介类型,添加用户报警媒介,添加报警动作)。

    zabbix 怎么开启自定义监控

    1、写一个脚本用于获取待监控服务的一些状态信息。

    2、在zabbix客户端的配置文件zabbix_agentd.conf中添加上自定义的“UserParameter”,目的是方便zabbix调用我们上面写的那个脚本去获取待监控服务的信息。

    3、在zabbix服务端使用zabbix_get测试是否能够通过第二步定义的参数去获取zabbix客户端收集的数据。

    4、在zabbix服务端的web界面中新建模板,同时第一步的脚本能够获取什么信息就添加上什么监控项,“键值”设置成前面配置的“UserParameter”的值。

    5、数据显示图表,直接新建图形并选择上一步的监控项来生成动态图表即可。

    zabbix 监控了多少客户端 客户端是怎么进行批量安装的

    根据实际公司台数回答。

    1、使用命令生成密钥。

    2、将公钥发送到所有安装zabbix客户端的主机。

    3、安装 ansible 软件,(修改配置文件,将zabbix 客户机添加进组)。

    4、创建一个安装zabbix客户端的剧本。

    5、执行该剧本。

    6、验证。

    实战经验总结:

    • 1.先查看文档中有没有对应的脚本和xml模板

    • 2.在服务端导入模板,查看对应的监控项名称

    • 3.测试脚本是否能取值,并存放置于/etc/zabbix/scripts目录下,一定要增加执行权限

    • 4.编写xx.conf文件,里面主要存放的是如何定义监控项

    • 5.最后重启zabbix-agent

    • 6.使用服务端zabbix-get 获取 zabbix-agent对应的监控项的数据

    • 范例:

      • 公司未启用swap(swap也是公司中服务器不建议启用的,因为swap是将磁盘模拟内存使用,消耗cpu的性能,建议关闭swap。加大内存),随着客户的流量日益增大,导致将zabbix服务进程强制OOM, Zabbix服务进程被kill,有两种解决的方法,如果公司为了性能着想加大内存,如果公司资有限添加swap,如果是为了服务的效率建议使用添加内存的方式,

  • 相关阅读:
    Qt QApplication 类简介--Qt 类简介专题(四)
    回调函数
    C++类型转换总结
    Debug Error
    C++回调函数(callback)的使用
    Nokia5230连接电脑无线上网
    photoshop cs6\cs5找不到扫描仪的解决办法(Twain_32.8BA补丁下载)
    UML类图几种关系的总结
    实现单点登录
    poj 1151Atlantis线段树求矩形面积并解题报告
  • 原文地址:https://www.cnblogs.com/zhangzeyuan/p/12956504.html
Copyright © 2011-2022 走看看