监控介绍

最近更新时间: 2024-06-12 15:06:00

  1. 应急预案Pod 自监控

    当前barad所有模块和组件均已经容器化,Kubernetes集群使用livenessprobe(存活探针)来确定何时重启容器,使用readiness probe(就绪探针)来确定容器是否已经就绪可以接受流量。在tcs集群中存活探针和就绪探针的定义如下:

     livenessProbe:
         exec:
           command:
           - bash
           - /tce/healthchk.sh
         failureThreshold: 3
         initialDelaySeconds: 30
         periodSeconds: 5
         successThreshold: 1
         timeoutSeconds: 5
    
    readinessProbe:
         exec:
           command:
           - bash
            - /tce/healthchk.sh
         failureThreshold: 5
         initialDelaySeconds: 30
         periodSeconds: 5
         successThreshold: 1
         timeoutSeconds: 3

    两个探针使用的都是脚本/tce/healthchk.sh进行检查,在不同镜像此脚本会根据镜像中的组件进行定义,如果组件运行正常则以0退出,否则以非0退出。借助存活探针和就绪探针kubenets集群保证业务请求的正常处理。

  2. 应用自检查

    在容器内部,组件通过crontab任务对进程定期检查,当发现进程没有启动时会自动把进程启动起来,避免kubernetes对pod重启带来的流量损失。如在barad-api容器中,配置有如下定时任务:

    [root@tcloud-barad-api-7b5dc6d55b-6hd65/]# crontab -l|grep monitor.sh
    */1 * * * */usr/local/services/ConfigClient-1.0/admin/monitor.sh >/usr/local/services/ConfigClient-1.0/log/crontab.log 2>&1 &
    */1 * * * */usr/local/services/barad-php-5-6-29-1.0/admin/monitor.sh >/usr/local/services/barad-php-5-6-29-1.0/log/crontab.log 2>&1 &
    */3 * * * * /usr/local/services/barad-php-5-6-29-1.0/tools/php-master-monitor.sh&
    */1 * * * */usr/local/services/tnginx_1_0_0-1.0/admin/monitor.sh >/usr/local/services/tnginx_1_0_0-1.0/log/crontab.log 2>&1 &
    [root@tcloud-barad-api-7b5dc6d55b-6hd65/]#
  3. Barad自监控指标

    对Barad自身的运行状态的监控是通过云生监控系统prometheus进行的。Prometheus Server会定时拉取barad exporter上的监控数据,存储到TSDB中,同时检查交警策略,如果满足条件则通过alertManager模块进行短信或邮件告警。其中barad的监控数据包括如下内容:

    标号 巡检项 说明
    1 机器的负载 CPU,内存
    2 Flink反压指标 背压通常产生于这样一种场景:当一个系统接收数据的速率高于它在一个瞬时脉冲内能处理的数据。
    3 Kafka数据积压量 Kafka topic中消息积压数量
    4 NWS接收量 NWS接收到的信息数量统计
    5 ES的状态监控 集群监控,节点监控,索引监控