zoukankan      html  css  js  c++  java
  • 监控方式

    zabbix获取数据的方式是多种多样的,总体来说,zabbix收集数据的方式分为两种,一种是需要客户端的,一种是不需要客户端的

    需要客户端的

    主动式的agent
    被动式的agent
    日志文件监控

    1. 被动式

    查看客户端的配置文件,排除# $ 开头的

    在页面配置

    1. 主动式 也是trap

    在页面配置
    配置active监控项,查看zabbix_agent的进程数量

    主动式监控依赖的是agent端从server获取任务的信息,key,更新周期这些的,在zabbix_server.conf配置文件中可以设置刷新值,范围是60-3600s,意味着以60-3600s为周期agent端向server端推送数据,

    配置文件说明:

    主动式与被动式的区别

    server端定义主动式的监控项,在agent端。有 active check进程,用来检查server端定义的监控项,然后agent端主动执行推送数据,
    被动格式数据收集用的是poller进程,主动式收集数据使用的是trap进程
    server端配zabbix-server.conf修改

    修改traper pooler数量

    可以修改服务端开启的trap数量,pool数量,默认是3个


    修改超时时间

    配置文件中可以设置超时值

    默认3秒,当命令收集数据耗时太长可以修改该值

    zabbix_agent.conf
    zabbix-agent.conf 可以修改agent进程数量 ,默认3

    监控项key的语法格式

    无需客户端的

    1. 简单检查 simple check 不需要安装agent客户端


      zabbix server或者proxy通过tcp udp协议发起监控请求,用来检查网络是否通畅,延迟,端口是否正常响应等。执行命令,获取返回的信息达到监控目的

    依赖于fping

    没有的话需安装
    yum install fping
    分配组跟权限
    chown root:zabbix /sbin/fping
    chmod 4710 /sbin/fping

    配置zabbix_server.conf, 设置fping可执行脚本的位置。默认的是/usr/sbin/fping

    页面配置

    显示延迟的监控项

    参数说明:
    target 监控主机的ip,可置空,默认使用的是就是受控主机的ip
    packets 包的数量 
    interval 发送包的间隔,   单位毫秒  mm
    size 每个包的大小 timeout 超时, 
    mode 返回最小值 最大值或者平均值
    

    返回值为当前受控主机的网络延迟值
    返回的值为0.003

    可以添加预处理进行倍数转化和单位添加
    可以添加监控项预处理

    添加乘以1000,将值扩大1000倍

    查看fping进程, 可以看到fping执行了这条监控

    1. telnet check

    通过telnet登录到受控主机执行命令获取数据
    需要配置要监控设备的账号信息

    参数说明
    1 一个简短的说明
    2 需要登录的主机ip
    3 端口 一般是23
    4 编码格式,默认是utf-8
    

    需要安装telnet,需要开放23端口,或者关闭防火墙,selinux
    安装 yum install telnet 启动 systemctl start telnet.socket

    查看telnet服务状态

    设置开机启动

    为telnet创建用户

    在server端尝试用telnet登录受控主机

    登录成功

    页面配置

    telnet agent相当于在server端用telnet服务登录了受控主机,然后就像在受控主机上输入命令一样进行相应值的获取。

    1. zabbix 内部检查
      zabbix为我们添加的zabbix模板已经足够了


    示例:

    当历史数据的缓存使用量大于75%,则报警,此时可以通过修改server端的配置项来扩充

    默认是16M

    1. log monitor 日志监控
      仅能使用主动式监控

    zabbix agent 主动到server拉取最新的主动模式的监控项,有日志监控的,agent就会根据监控项的配置找到对应的日志进行监控,当有满足条件的,如匹配到关键字的,就将信息返回给zabbix server,找不到返回的就是空的

    不同的一点就是 logrt支持日志的迭代,当一个日志文件存满进行轮转的时候,会跟随这个轮转的日志进行监控 
    rt就是ratation  轮转的意思
    参数file  日志文件的路径
    参数regexp 正则匹配的语法
    encoding 编码格式maxlines  zabbix agent 每秒最大处理的行数,向server发送的最大行数
    mode  默认的是all 新的旧的都进行正则匹配,一般我们使用的是skip 跳过那些旧的数据,只监控新写入的
    output可以定义日志的输出格式
    maxdelay也是为了忽略旧的数据,要小心使用,可能造成丢掉新的错误日志,一般保持默认即可
    

    rt中的options 只有logrt中有只要针对日志格式的类型 一般也是默认

    页面中配置



    只要日志信息中有能被正则所匹配到的任意信息,这段日志就可以被提取出来
    日志信息中有ERROR 正则语法是(ERRORALERT),这条日志就能被提取到

    1. 外部检查
      external check 外部检查
      就是server端或者proxy端直接执行脚本来获取监控数据
      由于脚本的执行就是在server端或者proxy端,被控主机就不用安装agent了



    配置zabbix server.conf 指定脚本的路径

    实例:
    使用dig来查看域名解析的时间


    自定义脚本

    给权限
    chmod a+x dns_resolve.sh

    在完成这些之后,还需要对用户及dig命令的执行范围确认一下,看是否zabbix用户能否调用,确保脚本能被执行

    添加外部检查的监控项
    不用加双引号, 空格隔开

    1. http agent
      不需要安装zabbix agent 用来监控http的业务或者接口,服务器的响应性能情况,响应码,响应内容,

    依赖curl


    查看zabbix server的日志信息

    页面配置


    实例 访问zabbix


    结果

    1. web场景

    web 场景 web步骤 web 请求
    zabbix按照顺序执行场景中定义的请求,如果其中一个出现异常,zabbix 将不会访问底下的请求,就中断了

    以用户购买商品为例
    登陆页面 》 登陆 》进入商品搜索 》进入选中商品的详情页 》 购买选中商品 》支付 》退出

    可以看出 web场景是模仿一整套的流程,他跟http agent还有有区别的, http agent是针对于一个,key是自定义的 web场景是一组,他的key是zabbix根据名称生成的

    也依赖curl
    image.png

    监控项分为 场景监控项和步骤监控项。创建出场景之后,zabbix会自动生成3个场景监控项 :该场景的下载速度 场景中失败的步骤 场景监控最后的错误信息
    对于每个步骤,他也可以生成2个监控项,步骤的下载速度,步骤的响应码

    创建场景
    image.png

    步骤1
    打开首页

    登陆

    登出

    使用到上次定义的{sid}

    1. ssh
      前提

      数据收集方式
      image.png

    语法

    跟telnet是很类似的

    查看zabbix_server的日志信息

    可以看到现在server端是支持了ssh的

    查看/etc/passwd文件
    可以看到默认的zabbix用户是不允许shell登录的
    需要做修改

    修改家目录,修改默认的bash

    手动构建家目录

    给予家目录属主和属组

    授予权限

    更改zabbix用户的默认把式

    再次查看/etc/passwd

    在server端尝试ssh登录到受控客户端

    页面配置

    最新数据中显示

    通过秘钥来ssh登录受控主机
    在server端先关闭zabbix_server和agent服务,不然再修改zabbix用户的时候容易出现一些问题
    查看server端的/etc/passwd 发现默认的zabbix用户也是nologin的
    需要重新指定下shell

    重启server跟agent服务

    修改 zabbix_server.conf
    修改ssh key的位置

    重启server服务

    生成秘钥

    查看ssh路径下的文件

    给agent端传输生成的秘钥

    受控主机端的zabbix家目录下就多了一个.ssh目录

    当agent端有了server端给的秘钥之后,再次ssh登录就不再需要密码,直接登录

    页面配置

    1. JMX Agent
      java 管理扩展 java manager extention
      前提条件

      数据收集流程

    语法

    在server端安装 zabbix_jave_gateway

    更改配置文件
    打开这栏

    启动服务,查看运行状态

    监听在10052端口

    更改zabbix_server的配置

    重启zabbixserver
    查看启动日志

    页面配置
    由于java_gateway是在server端启动的,所以需要在zabbix_server服务器上进行

    主机接口的更新

    监控项的创建
    可以使用zabbix自带的java监控模板来查看效果

    通过jconsole 来查看jmx

    实例:
    监控tomcat
    在一台受控主机上
    安装java

    配置java的环境变量

    修改/etc/profile文件来配置java环境变量

    source /etc/profile

    查看java的环境变量

    准备tomcat
    下载tomcat的gz包并解压

    在解压包的bin目录下可以使用脚本来启动关闭tomcat进程

    修改tomcat/bin/catalina.sh ,加上jmx的启动参数

    查看进程信息

    在页面配置
    受控主添加 jmx接口,

    创建监控项
    在jconsole中复制mbean名称

    选择属性

    查看最新值

    配置自动发现
    查看mbean

    配置自定发现规则
    image.png
    使用自动发现的宏来创建监控项

    1. IPMI Agent
      Intelligent Platform Management Interface
      智能平台管理接口

    可以用来监控硬件的健康信息,物理状态(风扇,电压,电源等),
    优势:独立于操作系统的,只要接入电源的,无论操作是否启动,都可以实现监控

    前提条件

    数据收集流程

    验证server端是否支持IPMI检查,通过查看启动日志来看

    配置 zabbix_server.conf

    重启zabbix_server服务,查看ipmi_poller进程

    安装ipmitool依赖包

    验证ipmitool,显示所有的硬件信息

    实例:
    获取风扇转速

    创建主机

    配置IPMI

    配置监控项

    1. Datastore Monitor
      通过执行sql语句来获取数据库相关的信息,可以是数据库本身的性能数据,也可以是业务数据
      前提条件

    数据收集流程

    语法

    准备:
    zabbix_server在安装的时候获取odbc的支持,安装unix odbc,配置数据库的连接驱动
    查看zabbix_server的启动日志,验证是否支持ODBC

    安装依赖

    安装unix数据库的驱动
    yum search odbc 查看支持哪些数据库驱动


    查看odbc的配置

    修改/etc/odbcinst.ini

    image.png

    配置/etc/odbc.ini

    通过isql来测试配置是否生效

    直接就可以进入数据库了

    页面配置

    1. calculate items
      会对多个监控项进行取值运算,是由server端直接操作数据库进行运算的
      单个监控项的

    2. Aggregate checks
      聚合计算

      以主机组为维度,来计算一类型的监控项

    3. Dependent items
      依赖监控项
      监控项的取值依赖其他监控项。 相互依赖的监控项最多999个
      而且以来层级最多是3层 a依赖b ,b依赖c

    用户自定义监控项


    在zabbix_agent中的/etc/zabbix/zabbix_agentd.d目录下添加自定义监控项的配置文件xxx.conf
    内容添加用户自定易得key和相应的执行命令

    注意
    定义的key在同一台主机中,必须是唯一的,不然重启agent启动不了

    在server端进行 zabbix_get测试自定义的监控项。

    内置执行逻辑:
    首先,zabbix 创建一个管道通信,并将该管道作为生成的子进程的一个输出,然后子进程执行该监控项对应的脚本或者命令,并将结果通过这个管道返回给zabbix。zabbix在超时时间内从管道中获取数据,当超过时间仍没有数据,那么就返回空

    监控项预处理中的正则
    image.png

  • 相关阅读:
    数据移除的循环
    C#窗体多语言切换(简繁)
    C# 文字转换最简单的方法
    使用CodeDOM动态编译一个字符串表达式
    C#设置WebBrowser默认浏览器
    Image和字节数组互转
    苹果手机的SB系列(8)为什么没有短信全部删除?
    循环删除外键约束
    腾讯云COS自定义域名,支持https,CDN,私有访问
    腾讯云COS请求签名C#版
  • 原文地址:https://www.cnblogs.com/0916m/p/11481795.html
Copyright © 2011-2022 走看看