1.概述
通过自建的监控和分布式调用链分析工具,帮助用户掌握微服务上线后的运行状况。
应用监控的指标包括应用的 QPS, 请求时间和请求出错率等。分布式调用链分析包括调用链查询和调用链详情。可以根据时间范围和服务名等条件来查询一组调用链。调用链详情显示了请求经过每个服务的层次关系和耗时情况等信息。
自建监控平台是基于开源skywalking监控工具,通过探针⾃动收集所需的指标。
2 监控指标说明
表:监控指标
分类 | 指标 | 指标名称 |
全局指标 | all_p99 | 所有服务响应时间的 p99 值 |
all_p95 | 所有服务响应时间的 p95 值 | |
all_p90 | 所有服务响应时间的 p90 值 | |
all_p75 | 所有服务响应时间的 p75 值 | |
all_p70 | 所有服务响应时间的 p70 值 | |
all_heatmap | 所有服务响应时间的热点图 | |
服务指标 | service_resp_time | 服务的平均响应时间 |
service_sla | 服务的成功率 | |
service_p99 | 服务响应时间的 p99 值 | |
service_p95 | 服务响应时间的 p95 值 | |
service_p90 | 服务响应时间的 p90 值 | |
service_p75 | 服务响应时间的 p75 值 | |
service_p50 | 服务响应时间的 p50 值 | |
服务实例指标 | service_instance_sla | 服务实例的成功率 |
service_instance_resp_time | 服务实例的平均响应时间 | |
service_instance_cpm | 服务实例每分钟调⽤次数 | |
端点指标 | endpoint_cpm, | 端点每分钟调⽤次数 |
endpoint_avg, | 端点平均响应时间 | |
endpoint_sla, | 端点成功率 | |
endpoint_p99 | 端点响应时间的 p99 值 | |
endpoint_p95 | ||
endpoint_p90 | ||
endpoint_p75 | ||
endpoint_p50 | ||
JVM指标 | instance_jvm_cpu | |
instance_jvm_memory_heap | ||
instance_jvm_memory_noheap | ||
instance_jvm_memory_heap_max | ||
instance_jvm_memory_noheap_max | ||
instance_jvm_young_gc_time | ||
instance_jvm_old_gc_time | ||
服务关系指标 | service_relation_client_cpm, | 在客户端每分钟检测到的调⽤次数 |
service_relation_server_cpm, | 在服务端每分钟检测到的调⽤次数 | |
service_relation_client_call_sla | 在客户端检测到的成功率 | |
service_relation_server_call_sla | 在服务端检测到的成功率 | |
service_relation_client_resp_time | 在客户端检测到的平均响应时间 | |
service_relation_server_resp_time | 在服务端检测到的平均响应时间 | |
service_relation_client_cpm | 在客户端每分钟检测到的调⽤次数 | |
service_relation_server_cpm | 在服务端每分钟检测到的调⽤次数 | |
端点关系指标 | endpoint_relation_cpm endpoint_relation_resp_time | |
其他关键指标 | CPM | 每分钟请求调⽤的次数 |
SLA | ⽹站服务可⽤性(主要是通过请求成功与失败次数来计算),9越多代表全年服务可⽤时间越长服务更可靠,停机 时间越短 | |
CLR | (公共语⾔运⾏库)在运⾏期管理程序的执⾏:主要包含:内存管理、代码安全验证、代码执⾏、垃圾收集。CLR 有⼀项服务称为GC(Garbage Collector,垃圾收集),它能为你⾃动管理内存。GC⾃动从内存中删除程序不再访问的 对象,GC是程序员不再操⼼许多以前必须执⾏的任务,⽐如释放内存和检查内存泄漏。 | |
百分位数 | skywalking中有P50,P90,P95这种统计⼝径,就是百分位数的概念。 |
3 服务监控面板
全局仪表盘
服务(service)
端点(endpoint)
实例(instance)
数据库(database)
4. 链路追踪面板
5. 服务接入方式
后端服务通过公共服务平台部署,平台默认为容器添加5个系统环境变量,用于服务使用微服务支撑(监控、调用链跟踪以及熔断限流)能力。
表4:系统环境变量
环境变量 | 环境变量说明 |
SKYWALKING_ADDR | Skywalking地址 |
SENTINEL_ADDR | sentinel地址 |
- 后端服务服务哨兵sentinel配置示例 (bootstrap.yaml)
2)后端服务服务监控skywalking配置示例 (命令行启动参数)