监控报警项说明
概述
Rainbond 监控服务由组件 rbd-monitor
完成,在 monitor 组件中采用 Sidecar 设计模式思想整合 Prometheus 服务,并基于 ETCD 动态发现 需要监控的 targets,自动配置与管理 Prometheus 服务。monitor 会定期到每个 targets 刮取指标数据,并将数据持久化在本地,提供灵活的 PromQL 查询与 RESTful API 查询。
架构图:
访问方式
默认监听端口 9999,默认安装已添加 Service 对象,在集群获取到 ServiceIP
后在平台添加 第三方服务 打开对外端口即可访问。
获取 ServiceIP
方式
$ kubectl get service rbd-monitor -n rbd-system
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
rbd-monitor ClusterIP 10.68.140.5 <none> 9999/TCP 7h11m
具体监控报警项请访问 rbd-monitor 查看,以下仅作为参考。
监控项
节点资源监控项
监控项 | 所属组件 | 说明 |
---|---|---|
cadvisor_version_info | cadvisor | 节点系统信息 |
machine_memory_bytes | cadvisor | 当前主机内存大小 |
machine_cpu_cores | cadvisor | 当前节点 CPU 数目 |
node_filesystem_size | node | 存储 |
node_load1 | node | 负载 1m |
node_load5 | node | 负载 5m |
node_load5 | node | 负载 15m |
node_memory_MemTotal | node | 节点内存 total |
node_memory_MemFree | node | 节点内存 free |
node_uname_info | node | 节点信息 |
Rainbond 服务组件监控项
监控项 | 所属组件 | 说明 |
---|---|---|
acp_mq_dequeue_number | rbd-mq | |
acp_mq_enqueue_number | rbd-mq | |
acp_mq_exporter_health_status | rbd-mq | |
acp_mq_exporter_last_scrape_error | rbd-mq | |
acp_mq_exporter_scrapes_total | rbd-mq | |
builder_exporter_builder_task_error | rbd-chaos | 源码构建任务失败数 |
builder_exporter_builder_task_number | rbd-chaos | 源码构建任务数 |
builder_exporter_health_status | rbd-chaos | 组件状态 1 为健康 |
event_log_exporter_chan_cache_size | rbd-eventlog | |
event_log_exporter_collector_duration_seconds | rbd-eventlog | |
event_log_exporter_container_log_store_cache_barrel_count | rbd-eventlog | |
event_log_exporter_container_log_store_log_count | rbd-eventlog | |
event_log_exporter_event_store_barrel_count | rbd-eventlog | |
event_log_exporter_event_store_cache_barrel_count | rbd-eventlog | |
event_log_exporter_event_store_log_count | rbd-eventlog | |
event_log_exporter_health_status | rbd-eventlog | |
event_log_exporter_last_scrape_error | rbd-eventlog | |
event_log_exporter_monitor_store_barrel_count | rbd-eventlog | |
event_log_exporter_monitor_store_log_count | rbd-eventlog | |
event_log_exporter_scrapes_total | rbd-eventlog | |
gateway_request_duration_seconds_bucket | rbd-gateway | 在规定请求时间(bucket)内, 客户端请求的数量 |
gateway_request_duration_seconds_count | rbd-gateway | 客户端请求的总数 |
gateway_request_duration_seconds_sum | rbd-gateway | 客户端请求时间的总数 |
gateway_request_size_bucket | rbd-gateway | 在规定出请求大小(bucket)内, 满足条件的请求的数量 |
gateway_request_size_count | rbd-gateway | 客户端请求的总数 |
gateway_request_size_sum | rbd-gateway | 客户端请求大小的总数 |
gateway_requests | rbd-gateway | 客户端访问的次数 |
gateway_response_duration_seconds_bucket | rbd-gateway | 在规定响应时间(bucket)内, 响应的次数 |
gateway_response_duration_seconds_count | rbd-gateway | 响应的总次数 |
gateway_response_duration_seconds_sum | rbd-gateway | 响应的总时间 |
gateway_response_size_bucket | rbd-gateway | 在规定出响应大小(bucket)内, 满足条件的响应的次数 |
gateway_response_size_count | rbd-gateway | 响应的总次数 |
gateway_response_size_sum | rbd-gateway | 响应的总大小 |
gateway_upstream_latency_seconds | rbd-gateway | 在规定出延迟时间(bucket)内, 满足条件的延迟的次数 |
gateway_upstream_latency_seconds_count | rbd-gateway | 延迟的总次数 |
gateway_upstream_latency_seconds_sum | rbd-gateway | 延迟时间的总和 |
worker_exporter_health_status | rbd-worker | |
worker_exporter_worker_task_number | rbd-worker | |
worker_exporter_collector_duration_seconds | rbd-worker | |
worker_exporter_last_scrape_error | rbd-worker | |
worker_exporter_scrapes_total | rbd-worker | |
worker_exporter_worker_task_error | rbd-worker | |
worker_exporter_worker_task_number | rbd-worker | |
worker_up | rbd-worker | |
scrape_samples_scraped | ||
scrape_samples_post_metric_relabeling | ||
scrape_duration_seconds | ||
statsd_exporter_build_info | ||
statsd_exporter_events_total | ||
statsd_exporter_lines_total | ||
statsd_exporter_loaded_mappings | ||
statsd_exporter_samples_total | ||
statsd_exporter_tag_errors_total | ||
statsd_exporter_tags_total | ||
statsd_exporter_tcp_connection_errors_total | ||
statsd_exporter_tcp_connections_total | ||
statsd_exporter_tcp_too_long_lines_total | ||
statsd_exporter_udp_packets_total | ||
up | 组件状态 |
应用级监控项
监控项 | 说明 |
---|---|
app_resource_appmemory | 应用内存,根据 service_id,tenant_id 筛选 |
app_resource_appfs | 应用 |
app_resource_appmemory | 应用 |
app_client_request | 应用 |
app_client_requesttime | 应用 |
app_request | 应用 |
app_request_unusual | 应用 |
app_requestclient | 应用 |
app_requesttime | 应用 |
应用级基于 CAvisor 获取典型监控指标
监控项 | 类型 | 说明 |
---|---|---|
container_cpu_load_average_10s | gauge | 过去 10 秒容器 CPU 的平均负载 |
container_cpu_usage_seconds_total | counter | 容器在每个 CPU 内核上的累积占用时间 (单位:秒) |
container_cpu_system_seconds_total | counter | System CPU 累积占用时间(单位:秒) |
container_cpu_user_seconds_total | counter | User CPU 累积占用时间(单位:秒) |
container_fs_usage_bytes | gauge | 容器中文件系统的使用量(单位:字节) |
container_fs_limit_bytes | gauge | 容器可以使用的文件系统总量(单位:字节) |
container_fs_reads_bytes_total | counter | 容器累积读取数据的总量(单位:字节) |
container_fs_writes_bytes_total | counter | 容器累积写入数据的总量(单位:字节) |
container_memory_max_usage_bytes | gauge | 容器的最大内存使用量(单位:字节) |
container_memory_usage_bytes | gauge | 容器当前的内存使用量(单位:字节 |
container_spec_memory_limit_bytes | gauge | 容器的内存使用量限制 |
container_network_receive_bytes_total | counter | 容器网络累积接收数据总量(单位:字节) |
container_network_transmit_bytes_total | counter | 容器网络累积传输数据总量(单位:字节) |
其他监控项
监控项 | 说明 |
---|---|
process_cpu_seconds_total | |
process_max_fds | |
process_open_fds | |
process_virtual_memory_bytes | |
process_start_time_seconds | |
process_resident_memory_bytes | |
process_open_fds | |
process_max_fds | |
process_cpu_seconds_total |
报警规则说明
组件监控报警
报警项 | 报警信息 |
---|---|
api 服务下线 | APIDown |
chaos 服务下线 | BuilderDown |
chaos 组件状态异常 | BuilderUnhealthy |
源码构建异常任务数大于 30 | BuilderTaskError |
ETCD 服务下线 | EtcdDown |
ETCD Leader 节点下线 | EtcdLoseLeader |
ETCD 集群成员异常 | InsufficientMembers |
ETCD 集群 Leader 变更 | HighNumberOfLeaderChanges |
ETCD GPRC 失败请求大于 0.05 | HighNumberOfFailedGRPCRequests |
ETCD 1 分钟内 HTTP 请求失败数大于 0.05 | HighNumberOfFailedHTTPRequests |
ETCD 1 分钟内 GPRC 慢查询数量大于 0.15 | GRPCRequestsSlow |
ETCD 磁盘空间占用超过 80% | DatabaseSpaceExceeded |
eventlog 组件状态异常 | EventLogUnhealthy |
eventlog 服务下线 | EventLogDown |
gateway 服务下线 | GatewayDown |
gateway 请求大小超过 10M | RequestSizeTooMuch |
gateway 每秒请求数量超过 200 | RequestMany |
gateway 10s 内错误请求数量大于 5 | FailureRequestMany |
mq 服务下线 | MqDown |
mq 组件状态异常 | MqUnhealthy |
mq 消息队列中存在时间大于 1 分钟的任务 | MqMessageQueueBlock |
webcli 服务下线 | WebcliDown |
webcli 组件状态异常 | WebcliUnhealthy |
webcli 执行命令时发生的错误数大于每秒 5 次 | WebcliUnhealthy |
worker 服务下线 | WorkerDown |
worker 组件状态异常 | WorkerUnhealthy |
worker 执行任务错误数大于 50 | WorkerTaskError |
集群监控报警
报警项 | 报警信息 |
---|---|
Rainbond 集群 node 节点不健康 | RbdNodeUnhealth |
K8s 集群 node 节点不健康 | KubeNodeUnhealth |
收集集群信息时间超过 10s | ClusterCollectorTimeout |
租户使用资源超出资源限额 | InsufficientTenantResources |
Node 节点下线 | NodeDown |
节点 5 分钟内 CPU 使用率大于 70% | HighCpuUsageOnNode |
集群可用内存资源小于 2GB | InsufficientClusteMemoryResources |
集群 CPU 可用量小于 500m | InsufficientClusteCPUResources |
节点 5 分钟内负载大于 5 | HighLoadOnNode |
节点 Inode 剩余可用量小于 0.3 | InodeFreerateLow |
节点根分区磁盘使用率大于 85% | HighRootdiskUsageOnNode |
节点 Docker 磁盘分区使用率大于 85% | HighDockerdiskUsageOnNode |
节点内存使用量大于 80% | HighMemoryUsageOnNode |
集群监控报警配置参见 监控报警部署