监控介绍
最近更新时间: 2024-10-17 17:10:00
应急预案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集群保证业务请求的正常处理。
应用自检查
在容器内部,组件通过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/]#
Barad自监控指标
对Barad自身的运行状态的监控是通过云生监控系统prometheus进行的。Prometheus Server会定时拉取barad exporter上的监控数据,存储到TSDB中,同时检查交警策略,如果满足条件则通过alertManager模块进行短信或邮件告警。其中barad的监控数据包括如下内容:
标号 | 巡检项 | 说明 |
---|---|---|
1 | 机器的负载 | CPU,内存 |
2 | Flink反压指标 | 背压通常产生于这样一种场景:当一个系统接收数据的速率高于它在一个瞬时脉冲内能处理的数据。 |
3 | Kafka数据积压量 | Kafka topic中消息积压数量 |
4 | NWS接收量 | NWS接收到的信息数量统计 |
5 | ES的状态监控 | 集群监控,节点监控,索引监控 |