• 项目实战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

  • 相关阅读:
    好想和这俩妹子一起晒晒太阳
    APP里如何添加本地文本
    Xcode静态检查分析代码
    漫谈iOS程序的证书和签名机制
    CrashMonkey4IOS App测试
    iOS 通信常用小功能
    iOS开发之如何跳到系统设置里的各种设置界面
    从APP跳转到WI-FI
    iOS 微信支付总结
    iOS支付宝支付总结
  • 原文地址:https://www.cnblogs.com/along21/p/8119088.html
Copyright © 2020-2023  润新知