监控报警项说明
概述
Rainbond 监控服务由组件 rbd-monitor
完成,在 monitor 组件中采用 Sidecar 设计模式思想整合 Prometheus 服务,并基于 ETCD动态发现 需要监控的 targets,自动配置与管理 Prometheus 服务。monitor 会定期到每个 targets 刮取指标数据,并将数据持久化在本地,提供灵活的PromQL查询与RESTful API查询。
架构图:
monitor服务架构图
访问方式
默认监听端口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 |
集群监控报警配置参见 监控报警部署