概述

Rainbond 监控服务由组件 rbd-monitor 完成,在 monitor 组件中采用 Sidecar 设计模式思想整合 Prometheus 服务,并基于 ETCD动态发现 需要监控的 targets,自动配置与管理 Prometheus 服务。monitor 会定期到每个 targets 刮取指标数据,并将数据持久化在本地,提供灵活的PromQL查询与RESTful API查询。

架构图:

监控报警项说明 - 图1

monitor服务架构图

访问方式

默认监听端口9999,默认安装已添加 Service 对象,在集群获取到 ServiceIP 后在平台添加 第三方服务 打开对外端口即可访问。

获取 ServiceIP 方式

  1. $ kubectl get service rbd-monitor -n rbd-system
  2. NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
  3. rbd-monitor ClusterIP 10.68.140.5 <none> 9999/TCP 7h11m

监控报警项说明 - 图2

添加第三方服务打开对外端口访问

具体监控报警项请访问 rbd-monitor 查看,以下仅作为参考。

监控项

节点资源监控项

监控项所属组件说明
cadvisor_version_infocadvisor节点系统信息
machine_memory_bytescadvisor当前主机内存大小
machine_cpu_corescadvisor当前节点CPU数目
node_filesystem_sizenode存储
node_load1node负载1m
node_load5node负载5m
node_load5node负载15m
node_memory_MemTotalnode节点内存total
node_memory_MemFreenode节点内存free
node_uname_infonode节点信息

Rainbond服务组件监控项

监控项所属组件说明
acp_mq_dequeue_numberrbd-mq
acp_mq_enqueue_numberrbd-mq
acp_mq_exporter_health_statusrbd-mq
acp_mq_exporter_last_scrape_errorrbd-mq
acp_mq_exporter_scrapes_totalrbd-mq
builder_exporter_builder_task_errorrbd-chaos源码构建任务失败数
builder_exporter_builder_task_numberrbd-chaos源码构建任务数
builder_exporter_health_statusrbd-chaos组件状态1为健康
event_log_exporter_chan_cache_sizerbd-eventlog
event_log_exporter_collector_duration_secondsrbd-eventlog
event_log_exporter_container_log_store_cache_barrel_countrbd-eventlog
event_log_exporter_container_log_store_log_countrbd-eventlog
event_log_exporter_event_store_barrel_countrbd-eventlog
event_log_exporter_event_store_cache_barrel_countrbd-eventlog
event_log_exporter_event_store_log_countrbd-eventlog
event_log_exporter_health_statusrbd-eventlog
event_log_exporter_last_scrape_errorrbd-eventlog
event_log_exporter_monitor_store_barrel_countrbd-eventlog
event_log_exporter_monitor_store_log_countrbd-eventlog
event_log_exporter_scrapes_totalrbd-eventlog
gateway_request_duration_seconds_bucketrbd-gateway在规定请求时间(bucket)内, 客户端请求的数量
gateway_request_duration_seconds_countrbd-gateway客户端请求的总数
gateway_request_duration_seconds_sumrbd-gateway客户端请求时间的总数
gateway_request_size_bucketrbd-gateway在规定出请求大小(bucket)内, 满足条件的请求的数量
gateway_request_size_countrbd-gateway客户端请求的总数
gateway_request_size_sumrbd-gateway客户端请求大小的总数
gateway_requestsrbd-gateway客户端访问的次数
gateway_response_duration_seconds_bucketrbd-gateway在规定响应时间(bucket)内, 响应的次数
gateway_response_duration_seconds_countrbd-gateway响应的总次数
gateway_response_duration_seconds_sumrbd-gateway响应的总时间
gateway_response_size_bucketrbd-gateway在规定出响应大小(bucket)内, 满足条件的响应的次数
gateway_response_size_countrbd-gateway响应的总次数
gateway_response_size_sumrbd-gateway响应的总大小
gateway_upstream_latency_secondsrbd-gateway在规定出延迟时间(bucket)内, 满足条件的延迟的次数
gateway_upstream_latency_seconds_countrbd-gateway延迟的总次数
gateway_upstream_latency_seconds_sumrbd-gateway延迟时间的总和
worker_exporter_health_statusrbd-worker
worker_exporter_worker_task_numberrbd-worker
worker_exporter_collector_duration_secondsrbd-worker
worker_exporter_last_scrape_errorrbd-worker
worker_exporter_scrapes_totalrbd-worker
worker_exporter_worker_task_errorrbd-worker
worker_exporter_worker_task_numberrbd-worker
worker_uprbd-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_10sgauge过去10秒容器CPU的平均负载
container_cpu_usage_seconds_totalcounter容器在每个CPU内核上的累积占用时间 (单位:秒)
container_cpu_system_seconds_totalcounterSystem CPU累积占用时间(单位:秒)
container_cpu_user_seconds_totalcounterUser CPU累积占用时间(单位:秒)
container_fs_usage_bytesgauge容器中文件系统的使用量(单位:字节)
container_fs_limit_bytesgauge容器可以使用的文件系统总量(单位:字节)
container_fs_reads_bytes_totalcounter容器累积读取数据的总量(单位:字节)
container_fs_writes_bytes_totalcounter容器累积写入数据的总量(单位:字节)
container_memory_max_usage_bytesgauge容器的最大内存使用量(单位:字节)
container_memory_usage_bytesgauge容器当前的内存使用量(单位:字节
container_spec_memory_limit_bytesgauge容器的内存使用量限制
container_network_receive_bytes_totalcounter容器网络累积接收数据总量(单位:字节)
container_network_transmit_bytes_totalcounter容器网络累积传输数据总量(单位:字节)

其他监控项

监控项说明
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
源码构建异常任务数大于30BuilderTaskError
ETCD服务下线EtcdDown
ETCD Leader节点下线EtcdLoseLeader
ETCD集群成员异常InsufficientMembers
ETCD集群Leader变更HighNumberOfLeaderChanges
ETCD GPRC失败请求大于0.05HighNumberOfFailedGRPCRequests
ETCD 1分钟内HTTP请求失败数大于0.05HighNumberOfFailedHTTPRequests
ETCD 1分钟内GPRC慢查询数量大于0.15GRPCRequestsSlow
ETCD磁盘空间占用超过80%DatabaseSpaceExceeded
eventlog组件状态异常EventLogUnhealthy
eventlog服务下线EventLogDown
gateway服务下线GatewayDown
gateway请求大小超过10MRequestSizeTooMuch
gateway每秒请求数量超过200RequestMany
gateway 10s内错误请求数量大于5FailureRequestMany
mq服务下线MqDown
mq组件状态异常MqUnhealthy
mq消息队列中存在时间大于1分钟的任务MqMessageQueueBlock
webcli服务下线WebcliDown
webcli组件状态异常WebcliUnhealthy
webcli执行命令时发生的错误数大于每秒5次WebcliUnhealthy
worker服务下线WorkerDown
worker组件状态异常WorkerUnhealthy
worker执行任务错误数大于50WorkerTaskError

集群监控报警

报警项报警信息
Rainbond 集群node节点不健康RbdNodeUnhealth
K8s集群node节点不健康KubeNodeUnhealth
收集集群信息时间超过10sClusterCollectorTimeout
租户使用资源超出资源限额InsufficientTenantResources
Node节点下线NodeDown
节点5分钟内CPU使用率大于70%HighCpuUsageOnNode
集群可用内存资源小于2GBInsufficientClusteMemoryResources
集群CPU可用量小于500mInsufficientClusteCPUResources
节点5分钟内负载大于5HighLoadOnNode
节点Inode剩余可用量小于0.3InodeFreerateLow
节点根分区磁盘使用率大于85%HighRootdiskUsageOnNode
节点Docker磁盘分区使用率大于85%HighDockerdiskUsageOnNode
节点内存使用量大于80%HighMemoryUsageOnNode

集群监控报警配置参见 监控报警部署