zabbix监控

Zabbix架构

image.png

监控分类

image.png

一、Zabbix的优缺点

1、优势
  1. 开源,无软件成本投入。性能、功能强大,server对设备性能要求低。
  2. 支持设备多,自带多种监控模板。
  3. 支持多种监控方式。如zabbix-agent、snmp等。
  4. 支持分布式集中管理,有自动发现功能,可以实现自动化监控,能监控的agent非常多。
  5. zabbix有图形的Web配置界面,配置简洁。
  6. 开放式接口,扩展性强,插件编写容易。
2、缺点

需要在被监控主机上安装Agent,所有的数据都存在数据库里,产生的数据很大,瓶颈主要在数据库。

二、Zabbix报警方式

电话、企业微信、邮件、钉钉、微信等等。

三、Network discover网络发现

1、介绍

网络发现是zabbix最具有特色的功能之一,它能够根据用户事先定义的规则自动添加监控的主机或服务等。

2、优点
  1. 加快Zabbix部署
  2. 简化管理 ---在快速变化的环境中使用Zabbix,而不需要过度管理
3、发现方式

IP地址范围、可用服务(ftp、ssh、http.....)、zabbix_agent的响应、snmp_agent的响应。

4、网络发现 ---两个阶段

discovery发现、action动作

  1. discover:
    zabbix定期扫描网络发现规则中定义的IP范围;
    检查频率对于每个规则都是可配置的,每个规则都有一组用于为IP范围执行的服务检查。
    由网络发现模块执行的服务和主机IP的每个检查都会生成一个发现事件。

    8种响应事件:
    image.png
  2. actions:
    网络发现中的事件可以触发action,从而自动执行指定的操作,把discover events当作前提条件。
    Sending notifications 发送通知
    Adding/removing hosts 添加/删除主机
    Enabling/disabling hosts 启用/禁用host
    Adding hosts to a group 向组中添加主机
    Removing hosts from a group 移除组中的主机
    Linking hosts to/unlinking from a template 从模板链接主机或取消链接
    Executing remote scripts 执行远程脚本

这些事件的配置还可以基于设备的类型、IP、状态、上线/离线等进行配置。

5、网络发现:接口添加

网络发现中添加主机时会自动创建interface接口

四、配置网络发现Network discovery

1、配置agent端

[root@zabbinx-slave ~]# yum -y install zabbix-agent zabbix-sender
[root@zabbinx-slave ~]# vim /etc/zabbix/zabbix_agentd.conf
Hostname=zabbix-slave1
开启服务
[root@zabbinx-slave ~]# systemctl start zabbix-agent

2、设置自动发现规则discovery

image.png

注释:
① key:zabbix_get -s 192.168.30.2 -p 10050 -k "system.hostname"
② 更新间隔:1h就好,不要扫描太过频繁,扫描整个网段,太废资源;这里为了实验,设为1m

3、自动发现成功

image.png

4、设置自动发现discovery的动作action

image.png

image.png

① 设置A条件,自动发现规则=test.net
② 设置B条件,自动发现状态=up

添加主机到监控
自动链接Template OS Linux到此host

image.png

配置action完成,默认是disabled停用
image.png

启动动作,确定已经生效,模板链接成功
image.png

五、Web监控

1、介绍

监控指定的站点的资源下载速度,及页面响应时间,还有响应代码

2、创建设置web场景
1)创建

image.png

2)配置web检测
image.png

3)点击步骤,设置web page web页面,设置名为home page,URL为http://192.168.30.7/index.html的web页面
image.png

4)设置名为fpm status,URL为http://192.168.30.7/fpm-status的web页面
image.png

5)设置2个页面成功
image.png

3、查看测试
image.png

六、主动/被动监控

1、介绍

  1. 被动检测:server向agent请求获取配置的各监控项相关的数据,agent接收请求、获取数据并响应给server
  2. 主动检测:agent向server请求与自己相关监控项配置,主动地将server配置的监控项相关的数据发送给server
    说明:主动监控能极大节约监控server 的资源

用法选项

zabbix_sender:

  -z zabbix_server_ip

  -p zabbix_server_port

  -s zabbix_agent_hostname

  -k key

  -o value 值

zabbix_sender发送数据:实现人工生成数据,发给server端

2、通过设置一个内建key发送数据主动监控
1)agent端所需要的基本配置

ServerActive=192.168.30.107    #给哪个监控server 发送数据
Hostname=slave1.along.com      #自己的主机名,假设主机定死了,不设置下一项
#HostnameItem=                 #如果自己的主机名易变动,这一项相当于key一样去匹配

2)设置一个主动监测
image.png

选择进程,每秒更改,因为key:system.cpu.switches :上下文的数量进行切换,它返回一个整数值。为了监控效果,选择下一秒减上一秒的值作为监控
image.png

image.png

3、设置一个通过命令zabbix_sender发送数据主动监控
1)配置一个zabbix traper(采集器)的item监控项

image.png

2)agent端手动发送数据

[root@zabbinx-slave ~]# zabbix_sender -z 192.168.30.107 -p 10051 -s node1.along.com -k "send.test.data" -o 56721

3)监控数据变化
image.png

七、JMX接口

java虚拟机(JVM)具有内置的插装,是我们能够使用JMX监视和管理它。

1、配置Zabbix-server

1. 部署JDK环境
[root@zabbinx-master ~]# java -version
openjdk version "1.8.0_232"
OpenJDK Runtime Environment (build 1.8.0_232-b09)
OpenJDK 64-Bit Server VM (build 25.232-b09, mixed mode)

2. 安装java gateway配置
[root@zabbinx-master ~]# yum -y install zabbix-java-gateway
[root@zabbinx-master ~]# vim /etc/zabbix/zabbix_java_gateway.conf
LISTEN_IP="0.0.0.0"                             #监听服务器地址
LISTEN_PORT=10052                               #监听zabbix_java进程的端口,默认是10052
PID_FILE="/tmp/zabbix_java.pid"                 #zabbix_java的pid路径
START_POLLERS=5                                 #zabbix_java的进程数
TIMEOUT=10                                      #zabbix_java的超时时间

3. 修改zabbix_server配置文件
JavaGateway=10.212.52.14        #Java网关地址,即为Zabbix Server本身地址
JavaGatewayPort=10052           #Java网关监控端口
StartJavaPollers=5              #启动Java监控的进程数,与上面一样

4.启动服务
[root@zabbinx-master ~]# systemctl start zabbix-java-gateway
[root@zabbinx-master ~]# systemctl restart zabbix-server

2、配置Zabbix-agent

1. 下载jar包
[root@zabbinx-agent ~]# wget -O /usr/local/tomcat/lib/catalina-jmx-remote.jar http://archive.apache.org/dist/tomcat/tomcat-8/v8.0.33/bin/extras/catalina-jmx-remote.jar

2.配置jmx
[root@zabbinx-agent ~]# vim /usr/local/tomcat/bin/catalina.sh
CATALINA_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=172.16.147.155 -Dcom.sun.management.jmxremote.port=12345"

3. 查看端口
[root@zabbinx-agent ~]# ss -tnlp |grep 12345
LISTEN     0      50          :::12345                   :::*                   users:(("java",pid=86226,fd=20))

在node节点上添加JMX接口----->连接tomcat模板---->查看监控项

八、分布式监控

image.png

1、介绍

  1. 分布式监控概述:proxy、node
  2. Zabbix三种架构:Server-agent、Server-Node-agent、Server-Proxy-agent

在Server端配置通过Proxy监控的主机;Zabbix agent端允许Zabbix proxy主机执行数据采集操作。

配置操作步骤省略

九、调优

  1. 历史数据不要保存太久;
  2. 尽量让数据保存在数据库服务器内存中;
  3. 触发器表达式:减少使用聚合函数min(),max(),avg();尽量使用last(),nodata(),因为聚合函数要运算。
  4. 数据收集:epolling较慢(减少使用SNMP);尽量使用trapping(agent主动监控)
  5. 数据类型:
    文本数据处理速度较慢,尽量少收集test或string类型的数据;
    多使用类型numeric数据型数据;
  6. 设定合理的缓存大小
  7. 数据库优化:分库分表

你可能感兴趣的:(zabbix监控)