zoukankan      html  css  js  c++  java
  • 项目实战12.2—企业级监控工具应用实战-zabbix操作进阶

    无监控,不运维。好了,废话不多说,下面都是干货。

    流量党勿入,图片太多!!!

      项目实战系列,总架构图 http://www.cnblogs.com/along21/p/8000812.html

    一、User parameters 用户参数

    1、介绍和用法

    ① 介绍

    自定义用户参数,也就是自定义key

    有时,你可能想要运行一个代理检查,而不是Zabbix的预定义

    你可以编写一个命令检索需要的数据,并将其包含在代理配置文件("UserParameter"配置参数)的用户参数

    ② 用法格式 syntax

    UserParameter=<key>,<command>

      A user parameter also contains a key  一个用户参数也包含一个键

      The key will be necessary when configuring an item   在配置监控项时,key是必需的

      Note: Need to restart the agent   注意:需要重新启动agent 服务

     

    2、用法展示

    (1)修改agent 端的配置,设置用户参数

    ① free | awk '/^Mem/{print $3}' 自己需要查找的参数的命令

    ② 修改配置文件,把查找参数的命令设为用户参数

    cd /etc/zabbix/zabbix_agentd.d/

    vim memory_usage.conf

    UserParameter=memory.used,free | awk '/^Mem/{print $3}'

    ③ systemctl restart zabbix-agent.service 重启agent 服务

    (2)在zabbix-server 端,查询

    zabbix_get -s 192.168.30.7 -p 10050 -k "memory.used"

    (3)在监控上,设置一个item监控项,使用这个用户参数

    (4)查询graph 图形

     

    3、用法升级

    (1)修改agent 端的配置,设置用户参数

    ① 命令行查询参数的命令

    ② 修改配置文件,把查找参数的命令设为用户参数

    UserParameter=memory.stats[*],cat /proc/meminfo | awk '/^$1/{print $$2}'

    分析:$$2:表示不是前边调位置参数的$2 ,而是awk 的参数$2

    注意:$1是调用前边的[*],位置参数,第一个参数

     

    (2)在zabbix-server 端,查询使用这个用户参数的key

     

    (3)在监控上,设置一个item监控项,使用这个用户参数

    ① 添加Memory Total 的item监控项,使用memory.stats[MemTotal] 的用户参数

    在进程中定义倍数,规定单位

     

    ② clone 克隆Memory Total 创建Memory Free 的监控项

    memory.stats[MemFree] 用户参数

    ③ 创建Memory Buffers 的item 监控项,使用 memory.stats[Buffers] 的key

     

    (4)上面3个监控项的graph 图形

    ① memory total

    ② memory free

    ③ buffers

     

    4、使用用户参数监控php-fpm 服务的状态

    在agent 端:

    (1)下载,设置php-fpm

    ① yum -y install php-fpm

    ② vim /etc/php-fpm.d/www.conf 打开php-fpm的状态页面

    user = nginx
    group = nginx
    pm.status_path = /php-fpm-status    #php-fpm 的状态监测页面
    ping.path = /ping      #ping 接口,存活状态是否ok
    ping.response = pong    #响应内容pong

    ③ systemctl start php-fpm 开启服务

     

    (2)设置nginx ,设置代理php,和php-fpm的状态页面匹配

    ① vim /etc/nginx/nginx.conf

    location ~ .php$ {
                fastcgi_pass   127.0.0.1:9000;
                fastcgi_index  index.php;
                fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
                include        fastcgi_params;
    }
    location ~* /(php-fpm-status|ping) {
                fastcgi_pass   127.0.0.1:9000;
                fastcgi_index  index.php;
                fastcgi_param  SCRIPT_FILENAME  $fastcgi_script_name;
                include        fastcgi_params;
    
                allow 127.0.0.1;   #因为这个页面很重要,所有需加访问控制
                deny all;
    
                access_log off;   #访问这个页面就不用记录日志了
    }

    ② systemctl start nginx 开启nginx服务

     

    (3)在agent 端,设置用户参数

    ① 查询 curl 192.168.30.7/php-fpm-status

    ② 设置

    cd /etc/zabbix/zabbix_agentd.d/

    vim php_status.conf

    UserParameter=php-fpm.stats[*],curl -s http://127.0.0.1/php-fpm-status | awk '/^$1/{print $$NF}'

    分析:设置用户参数为php-fpm.stats[*],$1为第一个参数;$$NF为awk中的参数,倒数第一列

     

    ③ 重启服务

    systemctl restart zabbix-agent

     

    (4)在zabbix-server 端,查询使用这个用户参数的key

    zabbix_get -s 192.168.30.7 -p 10050 -k "php-fpm.stats[idle]"

    zabbix_get -s 192.168.30.7 -p 10050 -k "php-fpm.stats[active]"

    zabbix_get -s 192.168.30.7 -p 10050 -k "php-fpm.stats[max active]"

     

    (5)创建一个模板,在模板上创建4个item监控项,使用定义的用户参数

    ① 创建一个模板

    ② 在模板上配置items 监控项,使用刚定义的用户参数

    fpm.stats[total processes]

    ③ 再clone克隆几个items监控项

    fpm.stats[active processes]

    fpm.stats[max active processes]

    fpm.stats[idle processes]

     

    (6)host主机链接模板

     

    (7)查看graph 图形

    ① php-fpm total processes

    ② php-fpm active processes

    ③ php-fpm max active processes

    ④ php-fpm idle processes

     

    (8)把模板导出,可以给别人使用

    ① 导出模板

    最下面有导出

    ② 自己定义用户参数的文件,也不要忘记导出

    /etc/zabbix/zabbix_agentd.d/php_status.conf

     

    二、Network discovery 网络发现

    1、介绍

    (1)介绍

    网络发现:zabbix server扫描指定网络范围内的主机

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

    优点:

      加快Zabbix部署

      简化管理

    在快速变化的环境中使用Zabbix,而不需要过度管理

     

    (2)发现方式:

    ip地址范围;

      可用服务(ftp, ssh, http, ...)

      zabbix_agent的响应;

      snmp_agent的响应;

     

    (3)网络发现通常包含两个阶段:discovery发现 和actions动作

    ① discovery:

    Zabbix定期扫描网络发现规则中定义的IP范围;检查的频率对于每个规则都是可配置的

    每个规则都有一组用于为IP范围执行的服务检查

    由网络发现模块执行的服务和主机(IP)的每个检查都会生成一个发现事件

    8种响应事件

    ② actions:网络发现中的事件可以触发action,从而自动执行指定的操作,把discvery 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 、状态、上线/ 离线等进行配置

     

    (4)网络发现:接口添加

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

    例如:

      如果基于SNMP 检测成功,则会创建SNMP 接口

      如果某服务同时响应给了agent 和SNMP ,则两种接口都会创建

      如果同一种发现机制( 如agent) 返回了非惟一数据,则第一个接口被识别为默认,其它的为额外接口

      即便是某主机开始时只有agent 接口,后来又通过snmp 发现了它,同样会为其添加额外的snmp 接口

      不同的主机如果返回了相同的数据,则第一个主机将被添加,余下的主机会被当作第一个主机的额外接口

     

    2、配置网络发现Network discovery

    (1)准备一台可被扫描发现的主机

    ① 安装agent 段的包

    yum -y install zabbix-agent zabbix-sender

    ② 设置agent 配置,可以把之前设置好的node1的配置传过来

    vim /etc/zabbix/zabbix_agentd.conf

    Hostname=node2.along.com #只需修改hostname

    ③ visudo 修改sudo的配置

    #Defaults !visiblepw

    zabbix ALL=(ALL) NOPASSWD: ALL

    ④ 开启服务

    systemctl start zabbix-agent

     

    (2)设置自动发现规则discovery

    注释:

    ① key:zabbix_get -s 192.168.30.2 -p 10050 -k "system.hostname"

    ② 更新间隔:1h就好,不要扫描太过频繁,扫描整个网段,太废资源;这里为了实验,设为1m

     

    (3)自动发现成功

     

    (4)设置自动发现discovery 的动作action

    a) 创建

    b) 设置action动作

    ① 设置A条件,自动发现规则=test.net

    ② 设置B条件,自动发现状态=up

    ③ 要做什么操作

    添加主机到监控

    自动链接Template OS Linux 到此host

    c) 配置action 完成,默认是disabled 停用的

    d) 启用动作,查看效果

    确实已经生效,添加主机成功,模板链接成功

     

    (5)如果自己需要添加的主机已经扫描添加完成,就可以关闭网络扫描了,因为太耗资源

     

    三、web监控

    1、介绍

    (1)介绍

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

    ② 术语:

      web Scenario: web场景(站点)

      web page :web页面,一个场景有多个页面

      內建key:要测一个页面,要测三个步骤(下边3个內建key)

    ③ 内建key:

       web.test.in[Scenario,Step,bps]:传输速率

       web.test.time[Scenario,Step]: 响应时长

       web.test.rspcode[Scenario,Step]:响应码

     

    2、创建设置web场景

    (1)创建

     

    (2)配置web 监测

    ① 点击步骤,设置web page web页面

    a) 设置名为home page,URL为http://192.168.30.7/index.html 的web页面

    b) 设置名为fpm status,URL为http://192.168.30.7/fpm-status 的web页面

    c) 设置2个web页面成功

    ② 如果有特殊认证,也可以添加

     

    3、查看测试

     

    四、主动/被动 监控

    1、介绍

    (1)主动/被动介绍

      被动检测:相对于agent而言;agent, server向agent请求获取配置的各监控项相关的数据,agent接收请求、获取数据并响应给server;

      主动检测:相对于agent而言;agent(active),agent向server请求与自己相关监控项配置,主动地将server配置的监控项相关的数据发送给server;

      主动监控能极大节约监控server 的资源。

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

    ① zabbix server上的某主机上,直接定义Item时随便定义一个不与其它已有key冲突的key即可,即item type为"zabbix trapper";

    ② 用法选项:

    zabbix_sender

      -z zabbix_server_ip

      -p zabbix_server_port

      -s zabbix_agent_hostname

      -k key

      -o value 值

     

    2、设置一个通过內建key发送数据的主动监控

    (1)agent端所需要基本配置:

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

    注意:若后两项同时启用,下边一个选择生效

     

    (2)设置一个主动监测

    ① 选择进程,每秒更改,

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

    (3)已经有啦graph图形

     

    3、设置一个通过命令zabbix_sender发送数据的主动监控

    (1)配置一个zabbix traper(采集器) 的item 监控项

    (2)agent 端手动发送数据

    (3)监控到数据的变化

     

    五、基于SNMP监控(了解)

    1、介绍

    (1)介绍

    SNMP:简单网络管理协议;(非常古老的协议)

    三种通信方式:读(get, getnext)、写(set)、trap(陷阱);

    端口:

      161/udp

      162/udp

    SNMP协议:年代久远

      v1: 1989

      v2c: 1993

      v3: 1998

    监控网络设备:交换机、路由器

    MIB:Management Information Base 信息管理基础

    OID:Object ID 对象ID

     

    (2)Linux启用snmp的方法:

    yum install net-snmp net-snmp-utils

    配置文件:定义ACL

      /etc/snmp/snmpd.conf

    启动服务:

      systemctl start snmpd 被监控端开启的服务

       systemctl start snmptrapd    监控端开启的服务(如果允许被监控端启动主动监控时启用)

     

    (3)配置文件的介绍

    开放数据:4步

    ① 定义认证符,将社区名称"public"映射为"安全名称"

    ② 将安全名称映射到一个组名

    ③ 为我们创建一个视图,让我们的团队有权利

    掩码:我列出一些注释,有很多,可以再网上查询

    .1.3.6.1.2.1.

       1.1.0:系统描述信息,SysDesc

       1.3.0:监控时间, SysUptime

       1.5.0:主机名,SysName

       1.7.0:主机提供的服务,SysService

    .1.3.6.1.2.2.

       2.1.0:网络接口数目

       2.2.1.2:网络接口的描述信息

       2.2.1.3:网络接口类型

       ……

    ④ 授予对systemview视图的只读访问权

     

    (4)测试工具:

        # snmpget -v 2c -c public HOST OID

        # snmpwalk -v 2c -c public HOST OID 通过这个端口查询到的数据,全列出了

     

    2、配置SNMP监控

    (1)下载,修改配置文件

    vim /etc/snmp/snmpd.conf

    view    systemview    included   .1.3.6.1.2.1.1
    view    systemview    included   .1.3.6.1.2.1.2   # 网络接口的相关数据
    view    systemview    included   .1.3.6.1.4.1.2021   # 系统资源负载,memory, disk io, cpu load 
    view    systemview    included   .1.3.6.1.2.1.25

    (2)在agent 上测试

    snmpget -v 2c -c public 192.168.30.2 .1.3.6.1.2.1.1.3.0

    snmpget -v 2c -c public 192.168.30.2 .1.3.6.1.2.1.1.5.0

     

    (3)在监控页面,给node2加一个snmp的接口

    (4)在node2上加一个 Template OS Linux SNMPv2 模板

    模板添加成功,生成一系列东西

    点开一个item 看一下

     

    (5)生成一些最新数据的图形graph了

     

    3、设置入站出站packets 的SNMP监控

    (1)监控网络设备:交换机、路由器的步骤:

    ① 把交换机、路由器的SNMP 把对应的OID的分支启用起来

    ② 了解这些分支下有哪些OID,他们分别表示什么意义

    ③ 我们要监控的某一数据:如交换机的某一个接口流量、报文,发送、传入传出的报文数有多少个;传入传出的字节数有多少个,把OID取出来,保存

     

    (2)定义入站出站的item监控项

    interface traffic packets(in)

    interface traffic packets(out)

     

    六、JMX接口

    1、介绍

    (1)介绍

    Java虚拟机(JVM)具有内置的插装,使您能够使用JMX监视和管理它。您还可以使用JMX监视工具化的应用程序。

    (2)配置设置介绍

    ① zabbix-java-gateway主机设置:

      安装 zabbix-java-gateway程序包,启动服务;

      yum -y install zabbix-java-gateway

    ② zabbix-server端设置(需要重启服务):

      JavaGateway=172.16.0.70

      JavaGatewayPort=10052

      StartJavaPollers=5 #监控项

    ③ tomcat主机设置:

       监控tomcat:

         /etc/sysconfig/tomcat,添加

      CATALINA_OPTS="-Djava.rmi.server.hostname=TOMCAT_SERVER_IP -Djavax.management.builder.initial= -Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.port=12345 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"   #启用JVM接口,默认没有启用

      添加监控项:

        jmx[object_name,attribute_name]

          object name - 它代表MBean的对象名称

          attribute name - 一个MBean属性名称,可选的复合数据字段名称以点分隔

        示例:

           jmx["java.lang:type=Memory","HeapMemoryUsage.used"]

    ④ jmx的详细文档:https://docs.oracle.com/javase/1.5.0/docs/guide/management/agent.html

     

    2、配置JVM接口监控

    (1)安装配置tomcat

    ① 下载安装tomcat,主要是用JVM

    yum -y install java-1.8.0-openjdk-devel tomcat-admin-webapps tomcat-docs-webapp

    ② 加CATALINA_OPTS= #启用JVM接口,默认没有启用

    vim /etc/sysconfig/tomcat

    CATALINA_OPTS="-Djava.rmi.server.hostname=192.168.30.2 -Djavax.management.builder.initial= -Dcom.sun.management.jmxremote=true   -Dcom.sun.management.jmxremote.port=12345  -Dcom.sun.management.jmxremote.ssl=false  -Dcom.sun.management.jmxremote.authenticate=false"

    ③ 开启服务

    systemctl start tomcat

     

    (2)在zabbix-server 端,安装配置java-gateway

    ① 安装配置java-gateway

    yum -y install zabbix-java-gateway

    /etc/zabbix/zabbix_java_gateway.conf 安装完后,会生成一个java_gateway 的配置文件

    systemctl start zabbix-java-gateway.service 不用修改,直接开启服务

     

    ② 修改server 配置,开启java-gateway的配置

    vim /etc/zabbix/zabbix_server.conf

    JavaGateway=192.168.30.107  
    JavaGatewayPort=10052
    StartJavaPollers=5    #打开5个监控项

    ③ systemctl restart zabbix-server 重启zabbix-server 服务

     

    (3)在node2 主机上添加JMX接口,实验模板

    ① 添加JMX接口

    ② 在node2 上连接tomcat JMX 模板

    ③ 随便查看一个监控项item

     

    (4)自己定义一个堆内存使用的监控项,基于JVM接口(没必要,使用模板就好)

     

    七、分布式监控

    1、介绍

    (1)介绍

    分布式监控概述

      proxy and node

    Zabbix 的三种架构

      Server-agent

      Server-Node-agent

      Server-Proxy-agent

    监控Zabbix

     

    (2)配置介绍

    Zabbix Proxy的配置:

      server-node-agent

      server-proxy-agent

    a) 配置proxy主机:

    (1) 安装程序包

        zabbix-proxy-mysql zabbix-get

        zabbix-agent zabbix-sender

    (2) 准备数据库

      创建、授权用户、导入schema.sql;

    (3) 修改配置文件

      Server=

        zabbix server主机地址;

      Hostname=

        当前代理服务器的名称;在server添加proxy时,必须使用此处指定的名称;

        =需要事先确保server能解析此名称;

      DBHost=

      DBName=

      DBUser=

      DBPassword=

     

      ConfigFrequency=10

      DataSenderFrequency=1

     

    b) 在server端添加此Porxy

        Administration --> Proxies

     

    c) 在Server端配置通过此Proxy监控的主机;

    注意:zabbix agent端要允许zabbix proxy主机执行数据采集操作:

     

    2、实现分布式zabbix proxy监控

    实验前准备:

    ① ntpdate 172.168.30.1 同步时间

    ② 关闭防火墙,selinux

    ③ 设置主机名 hostnamectl set-hostname zbproxy.along.com

    ④ vim /etc/hosts 每个机器都设置hosts,以解析主机名;DNS也行

    192.168.30.107 server.along.com

    192.168.30.7 node1.along.com

    192.168.30.2 node2.along.com

    192.168.30.3 node3.along.com zbproxy.along.com

    (1)环境配置(4台主机)

    机器名称

    IP配置

    服务角色

    zabbix-server

    192.168.30.107

    监控

    agent-node1

    192.168.30.7

    被监控端

    agent-node2

    192.168.30.2

    被监控端

    node3

    192.168.30.3

    代理proxy

     

    zabbix-server 直接监控一台主机node1

    zabbix-server 通过代理node3 监控node2

     

    (2)在node3 上配置mysql

    ① 创建配置mysql

    vim /etc/my.cnf.d/server.cnf

    [server]
    skip_name_resolve = on
    innodb_file_per_table = on
    innodb_buffer_pool_size = 256M
    max_connections = 2000
    log-bin = master-log

    ② systemctl start mariadb 开启服务

    ③ 创建数据库 和 授权用户

    MariaDB [(none)]> create database zbxproxydb character set 'utf8';
    MariaDB [(none)]> grant all on zbxproxydb.* to 'zbxproxyuser'@'192.168.30.%' identified by 'zbxproxypass';
    MariaDB [(none)]> flush privileges;

    (3)在node3 上下载zabbix 相关的包,主要是代理proxy的包

    yum -y install zabbix-proxy-mysql zabbix-get zabbix-agent zabbix-sender

     

    a) 初始化数据库

    zabbix-proxy-mysql 包里带有,导入数据的文件

    cp /usr/share/doc/zabbix-proxy-mysql-3.4.4/schema.sql.gz ./ 复制

    gzip -d schema.sql.gz 解包

    mysql -root -p zbxproxydb < schema.sql 导入数据

     

    b) 查看数据已经生成

     

    (4)配置proxy端

    ① vim /etc/zabbix/zabbix_proxy.conf

    Server=192.168.30.107   #server 的IP
    ServerPort=10051   #server 的端口
    
    Hostname=zbxproxy.along.com   #主机名
    ListenPort=10051    #proxy自己的监听端口
    EnableRemoteCommands=1    #允许远程命令
    LogRemoteCommands=1    #记录远程命令的日志
    
    数据的配置
    DBHost=192.168.30.3
    DBName=zbxproxydb  
    DBUser=zbxproxyuser
    DBPassword=zbxproxypass
    
    ConfigFrequency=30    #多长时间,去服务端拖一次有自己监控的操作配置;为了实验更快的生效,这里设置30秒,默认3600s
    DataSenderFrequency=1   #每一秒向server 端发一次数据,发送频度

    ② systemctl start zabbix-proxy 开启服务

     

    (5)配置node2端,允许proxy代理监控

    vim /etc/zabbix/zabbix_agentd.conf

    Server=192.168.30.107,192.168.30.3
    ServerActive=192.168.30.107,192.168.30.3

    systemctl restart zabbix-agent 启动服务

     

    (6)把代理加入监控server,创建配置agent 代理

    ① 创建agent 代理

    ② 配置

     

    (7)创建node2 主机,并采用代理监控

    设置代理成功

     

    (8)创建item监控项

    ① 为了实验,随便创一个监控项 CPU Switches

    ② 进程里设置每秒更改

    ③ 成功,graph 图形生成

     

    八、查询使用网上模板监控

    1、找官方的share 分享网站

    https://cn.bing.com/ 搜索 zabbix share

    例如:我们要实现监控Nginx ,我们查找一个模板

    就以这个模板为例

     

    2、在node1 上使用此模板

    (1)安装配置 nginx

    ① yum -y install nginx

    vim /etc/nginx/nginx.conf 按照网页的操作指示

    location /stub_status {
            stub_status on;
            access_log off;
        #    allow 127.0.0.1;   #为了操作方便,我取消的访问控制
        #    deny all;
    }

    ② 启动服务

    systemctl restart nginx

     

    (2)下载模板所依赖的脚本

    mkdir -p /srv/zabbix/libexec/

    cd /srv/zabbix/libexec/

    wget https://raw.githubusercontent.com/oscm/zabbix/master/nginx/nginx.sh 从网页上获取脚本

    chmod +x nginx.sh 加执行权限

     

    (3)配置agent 的用户参数UserParameter

    cd /etc/zabbix/zabbix_agentd.d/

    wget https://raw.githubusercontent.com/oscm/zabbix/master/nginx/userparameter_nginx.conf 很短,自己写也行

    (4)在windows 上下载模板,并导入这server 的模板中

    wget https://raw.githubusercontent.com/oscm/zabbix/master/nginx/zbx_export_templates.xml 可以现在linux上下载,再sz 导出到windows上

    ① 导入下载的模板

    ② 主机node1 链接这个模板

    ③ 模板生效

     

    九、zabbix-server 监控自己,数据库,nginx

    1、下载安装,配置agent

    vim /etc/zabbix/zabbix_agentd.conf 配置agent

    EnableRemoteCommands=1    允许远程命令
    LogRemoteCommands=1    记录远程命令
    Server=127.0.0.1
    ServerActive=127.0.0.1
    Hostname=server.along.com

    2、自动生成Zabbix server 的主机

    3、在主机中添加模板

    4、启用Zabbix server

    5、监控到数据

     

    十、调优

    1、调优

    ① Database:

      历史数据不要保存太长时长;

      尽量让数据缓存在数据库服务器的内存中;

    ② 触发器表达式:减少使用聚合函数 min(), max(), avg();尽量使用last(),nodata();

      因为聚合函数,要运算

    ③ 数据收集:polling较慢(减少使用SNMP/agentless/agent);尽量使用trapping(agent(active)主动监控);

    ④ 数据类型:文本型数据处理速度较慢;尽量少收集类型为文本 text或string类型的数据;多使用类型为numeric 数值型数据 的;

     

    2、zabbix服务器的进程

    (1) 服务器组件的数量;

      alerter, discoverer, escalator, http poller, hourekeeper, icmp pinger, ipmi polller, poller, trapper, configration syncer, ...

     

      StartPollers=60

      StartPingers=10

      ...

      StartDBSyncer=5

      ...

     

    (2) 设定合理的缓存大小

       CacheSize=8M

       HistoryCacheSize=16M

       HistoryIndexCacheSize=4M

       TrendCacheSize=4M

       ValueCacheSize=4M

     

    (3) 数据库优化

      分表:

        history_*

        trends*

        events*

     

    3、其它解决方案

    grafana:展示

    collectd:收集

    influxdb:存储

     

    grafana+collectd+influxdb

     

    prometheus:

       exporter:收集

       alertmanager:

    grafana:展示

     

    openfalcon

  • 相关阅读:
    VScode 修改中文字体
    missing KW_END at ')' near '<EOF>'
    SQL inner join, join, left join, right join, full outer join
    SQL字符替换函数translater, replace
    SQL COOKBOOK SQL经典实例代码 笔记第一章代码
    sqlcook sql经典实例 emp dept 创建语句
    dateutil 2.5.0 is the minimum required version python
    安装postgresql后找不到服务 postgresql service
    Postgres psql: 致命错误: 角色 "postgres" 不存在
    【西北师大-2108Java】第十六次作业成绩汇总
  • 原文地址:https://www.cnblogs.com/along21/p/8119088.html
Copyright © 2011-2022 走看看