可观测概述
服务网格中的可观测主要包括指标监控、日志和调用链追踪,可观测能力对于分布式微服务系统至关重要,它可以帮助我们快速了解系统运行謦欬,定位系统问题,发现系统瓶颈。
天翼云服务网格中目前具备指标监控及控制面和数据面日志监控功能,指标监控主要包括:
- 控制面指标:当前主要用于监控网格实例控制面运行情况,以及告警等功能,当前仅用于后端监控,未开放给客户查看。
- 业务指标监控:数据面sidecar采集到的指标,可以用于查看服务间调用的请求数、耗时等数据,提供监控看板查看。
- 控制面&数据面日志:如果您开通了云日志服务并且在服务网格开启了控制面和数据面的日志采集,可以将控制面和数据面sidecar的日志采集到云日志服务,当前可以到云日志服务控制台选择相应的日志项目查看日志情况。
指标监控
指标监控页面展示了网格内服务的访问数据,需要选择集群、命名空间和服务名称,可以查看服务的相关访问指标。这里给出了服务,以及更进一步的服务的客户端工作负载(调用该服务的工作负载)和服务工作负载(提供该服务的工作负载)的详细指标。
指标说明如下:
指标 | 说明 | ```PromQL |
---|---|---|
Client Request Volume | 客户端请求数 | round(sum(irate(istio_requests_total{reporter= |
Client Success Rate (non-5xx responses) | 客户端请求成功率 | sum(irate(istio_requests_total{reporter=~"$qrep",destination_service=~"$service",response_code!~"5.*"}[5m])) / sum(irate(istio_requests_total{reporter=~"$qrep",destination_service=~"$service"}[5m])) |
Client Request Duration | 客户端请求耗时 | 1.P50耗时:(histogram_quantile(0.50, sum(irate(istio_request_duration_milliseconds_bucket{reporter=~"$qrep",destination_service=~"$service"}[1m])) by (le)) / 1000) or histogram_quantile(0.50, sum(irate(istio_request_duration_seconds_bucket{reporter=~"$qrep",destination_service=~"$service"}[1m])) by (le)) 2. P90耗时:(histogram_quantile(0.90, sum(irate(istio_request_duration_milliseconds_bucket{reporter=~"$qrep",destination_service=~"$service"}[1m])) by (le)) / 1000) or histogram_quantile(0.90, sum(irate(istio_request_duration_seconds_bucket{reporter=~"$qrep",destination_service=~"$service"}[1m])) by (le)) 3. P99耗时:(histogram_quantile(0.99, sum(irate(istio_request_duration_milliseconds_bucket{reporter=~"$qrep",destination_service=~"$service"}[1m])) by (le)) / 1000) or histogram_quantile(0.99, sum(irate(istio_request_duration_seconds_bucket{reporter=~"$qrep",destination_service=~"$service"}[1m])) by (le)) |
TCP Received Bytes | TCP协议接收字节数。注意:这里只统计直接tcp协议的请求,不包括http协议,用bookinfo来测试的话这里应该是没数据的。需要另外部署一个测试mongodb,才可以造这个数据,详细可以参考https://istio.io/latest/docs/tasks/observability/metrics/tcp-metrics/。 | sum(irate(istio_tcp_received_bytes_total{reporter=~"$qrep", destination_service=~"$service"}[1m])) |
Server Request Volume | 服务端请求数 | round(sum(irate(istio_requests_total{reporter="destination",destination_service=~"$service"}[5m])), 0.001) |
Server Success Rate (non-5xx responses) | 服务端请求成功率 | sum(irate(istio_requests_total{reporter=\"destination\",destination_service=~\"$service\",response_code!~\"5.*\"}[5m])) / sum(irate(istio_requests_total{reporter=\"destination\",destination_service=~\"$service\"}[5m])) |
Server Request Duration | 服务端请求耗时 | 1.P50耗时:(histogram_quantile(0.50, sum(irate(istio_request_duration_milliseconds_bucket{reporter="destination",destination_service=~"$service"}[1m])) by (le)) / 1000) or histogram_quantile(0.50, sum(irate(istio_request_duration_seconds_bucket{reporter="destination",destination_service=~"$service"}[1m])) by (le)) 2. P90耗时:(histogram_quantile(0.90, sum(irate(istio_request_duration_milliseconds_bucket{reporter="destination",destination_service=~"$service"}[1m])) by (le)) / 1000) or histogram_quantile(0.90, sum(irate(istio_request_duration_seconds_bucket{reporter="destination",destination_service=~"$service"}[1m])) by (le)) 3. P99耗时:(histogram_quantile(0.99, sum(irate(istio_request_duration_milliseconds_bucket{reporter="destination",destination_service=~"$service"}[1m])) by (le)) / 1000) or histogram_quantile(0.99, sum(irate(istio_request_duration_seconds_bucket{reporter="destination",destination_service=~"$service"}[1m])) by (le)) |
TCP Sent Bytes | TCP发送字节数 | sum(irate(istio_tcp_sent_bytes_total{reporter=~"$qrep", destination_service=~"$service"}[1m])) |
Incoming Requests By Source And Response Code | 入流详情(按请求来源,返回码分组) | 1.mTLS:round(sum(irate(istio_requests_total{connection_security_policy="mutual_tls", destination_service=~"$service", reporter=~"$qrep", source_workload=~"$srcwl", source_workload_namespace=~"$srcns"}[5m])) by (source_workload, source_workload_namespace, response_code), 0.001) 2. 非mTLS;:round(sum(irate(istio_requests_total{connection_security_policy!="mutual_tls", destination_service=~"$service", reporter=~"$qrep", source_workload=~"$srcwl", source_workload_namespace=~"$srcns"}[5m])) by (source_workload, source_workload_namespace, response_code), 0.001) |
Incoming Success Rate (non-5xx responses) By Source | 入流成功率(按请求来源) | 1.mTLS:sum(irate(istio_requests_total{reporter=~"$qrep", connection_security_policy="mutual_tls", destination_service=~"$service",response_code!~"5.*", source_workload=~"$srcwl", source_workload_namespace=~"$srcns"}[5m])) by (source_workload, source_workload_namespace) / sum(irate(istio_requests_total{reporter=~"$qrep", connection_security_policy="mutual_tls", destination_service=~"$service", source_workload=~"$srcwl", source_workload_namespace=~"$srcns"}[5m])) by (source_workload, source_workload_namespace) 2. 非mTLS;:sum(irate(istio_requests_total{reporter=~"$qrep", connection_security_policy!="mutual_tls", destination_service=~"$service",response_code!~"5.*", source_workload=~"$srcwl", source_workload_namespace=~"$srcns"}[5m])) by (source_workload, source_workload_namespace) / sum(irate(istio_requests_total{reporter=~"$qrep", connection_security_policy!="mutual_tls", destination_service=~"$service", source_workload=~"$srcwl", source_workload_namespace=~"$srcns"}[5m])) by (source_workload, source_workload_namespace) |
Incoming Request Duration By Source | 入流耗时(按请求来源服务分组) | 1.mTLS P50:(histogram_quantile(0.50, sum(irate(istio_request_duration_milliseconds_bucket{reporter=~"$qrep", connection_security_policy="mutual_tls", destination_service=~"$service", source_workload=~"$srcwl", source_workload_namespace=~"$srcns"}[1m])) by (source_workload, source_workload_namespace, le)) / 1000) or histogram_quantile(0.50, sum(irate(istio_request_duration_seconds_bucket{reporter=~"$qrep", connection_security_policy="mutual_tls", destination_service=~"$service", source_workload=~"$srcwl", source_workload_namespace=~"$srcns"}[1m])) by (source_workload, source_workload_namespace, le)) 2. mTLS P90:(histogram_quantile(0.90, sum(irate(istio_request_duration_milliseconds_bucket{reporter=~"$qrep", connection_security_policy="mutual_tls", destination_service=~"$service", source_workload=~"$srcwl", source_workload_namespace=~"$srcns"}[1m])) by (source_workload, source_workload_namespace, le)) / 1000) or histogram_quantile(0.90, sum(irate(istio_request_duration_seconds_bucket{reporter=~"$qrep", connection_security_policy="mutual_tls", destination_service=~"$service", source_workload=~"$srcwl", source_workload_namespace=~"$srcns"}[1m])) by (source_workload, source_workload_namespace, le)) 3. mTLS P95:(histogram_quantile(0.95, sum(irate(istio_request_duration_milliseconds_bucket{reporter=~"$qrep", connection_security_policy="mutual_tls", destination_service=~"$service", source_workload=~"$srcwl", source_workload_namespace=~"$srcns"}[1m])) by (source_workload, source_workload_namespace, le)) / 1000) or histogram_quantile(0.95, sum(irate(istio_request_duration_seconds_bucket{reporter=~"$qrep", connection_security_policy="mutual_tls", destination_service=~"$service", source_workload=~"$srcwl", source_workload_namespace=~"$srcns"}[1m])) by (source_workload, source_workload_namespace, le)) 4. mTLS P99:(histogram_quantile(0.99, sum(irate(istio_request_duration_milliseconds_bucket{reporter=~"$qrep", connection_security_policy="mutual_tls", destination_service=~"$service", source_workload=~"$srcwl", source_workload_namespace=~"$srcns"}[1m])) by (source_workload, source_workload_namespace, le)) / 1000) or histogram_quantile(0.99, sum(irate(istio_request_duration_seconds_bucket{reporter=~"$qrep", connection_security_policy="mutual_tls", destination_service=~"$service", source_workload=~"$srcwl", source_workload_namespace=~"$srcns"}[1m])) by (source_workload, source_workload_namespace, le)) 5. 非mTLS P50:(histogram_quantile(0.50, sum(irate(istio_request_duration_milliseconds_bucket{reporter=~\"$qrep\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le)) / 1000) or histogram_quantile(0.50, sum(irate(istio_request_duration_seconds_bucket{reporter=~\"$qrep\", connection_security_policy!=\"mutual_tls\", destination_service=~\"$service\", source_workload=~\"$srcwl\", source_workload_namespace=~\"$srcns\"}[1m])) by (source_workload, source_workload_namespace, le)) 6. 非mTLS P90:(histogram_quantile(0.90, sum(irate(istio_request_duration_milliseconds_bucket{reporter=~"$qrep", connection_security_policy!="mutual_tls", destination_service=~"$service", source_workload=~"$srcwl", source_workload_namespace=~"$srcns"}[1m])) by (source_workload, source_workload_namespace, le)) / 1000) or histogram_quantile(0.90, sum(irate(istio_request_duration_seconds_bucket{reporter=~"$qrep", connection_security_policy!="mutual_tls", destination_service=~"$service", source_workload=~"$srcwl", source_workload_namespace=~"$srcns"}[1m])) by (source_workload, source_workload_namespace, le)) 7. 非mTLS P95:(histogram_quantile(0.95, sum(irate(istio_request_duration_milliseconds_bucket{reporter=~"$qrep", connection_security_policy!="mutual_tls", destination_service=~"$service", source_workload=~"$srcwl", source_workload_namespace=~"$srcns"}[1m])) by (source_workload, source_workload_namespace, le)) / 1000) or histogram_quantile(0.95, sum(irate(istio_request_duration_seconds_bucket{reporter=~"$qrep", connection_security_policy!="mutual_tls", destination_service=~"$service", source_workload=~"$srcwl", source_workload_namespace=~"$srcns"}[1m])) by (source_workload, source_workload_namespace, le)) 8. 非mTLS P99:(histogram_quantile(0.99, sum(irate(istio_request_duration_milliseconds_bucket{reporter=~"$qrep", connection_security_policy!="mutual_tls", destination_service=~"$service", source_workload=~"$srcwl", source_workload_namespace=~"$srcns"}[1m])) by (source_workload, source_workload_namespace, le)) / 1000) or histogram_quantile(0.99, sum(irate(istio_request_duration_seconds_bucket{reporter=~"$qrep", connection_security_policy!="mutual_tls", destination_service=~"$service", source_workload=~"$srcwl", source_workload_namespace=~"$srcns"}[1m])) by (source_workload, source_workload_namespace, le)) |
Incoming Request Size By Source | 入流请求包大小(按请求来源服务分组) | 1.mTLS P50:histogram_quantile(0.50, sum(irate(istio_request_bytes_bucket{reporter=~"$qrep", connection_security_policy="mutual_tls", destination_service=~"$service", source_workload=~"$srcwl", source_workload_namespace=~"$srcns"}[1m])) by (source_workload, source_workload_namespace, le)) 2. mTLS P90:histogram_quantile(0.90, sum(irate(istio_request_bytes_bucket{reporter=~"$qrep", connection_security_policy="mutual_tls", destination_service=~"$service", source_workload=~"$srcwl", source_workload_namespace=~"$srcns"}[1m])) by (source_workload, source_workload_namespace, le)) 3. mTLS P95:histogram_quantile(0.95, sum(irate(istio_request_bytes_bucket{reporter=~"$qrep", connection_security_policy="mutual_tls", destination_service=~"$service", source_workload=~"$srcwl", source_workload_namespace=~"$srcns"}[1m])) by (source_workload, source_workload_namespace, le)) 4. mTLS P99:histogram_quantile(0.99, sum(irate(istio_request_bytes_bucket{reporter=~"$qrep", connection_security_policy="mutual_tls", destination_service=~"$service", source_workload=~"$srcwl", source_workload_namespace=~"$srcns"}[1m])) by (source_workload, source_workload_namespace, le)) 5. 非mTLS P50:histogram_quantile(0.50, sum(irate(istio_request_bytes_bucket{reporter=~"$qrep", connection_security_policy!="mutual_tls", destination_service=~"$service", source_workload=~"$srcwl", source_workload_namespace=~"$srcns"}[1m])) by (source_workload, source_workload_namespace, le)) 6. 非mTLS P90:histogram_quantile(0.90, sum(irate(istio_request_bytes_bucket{reporter=~"$qrep", connection_security_policy!="mutual_tls", destination_service=~"$service", source_workload=~"$srcwl", source_workload_namespace=~"$srcns"}[1m])) by (source_workload, source_workload_namespace, le)) 7. 非mTLS P95:histogram_quantile(0.95, sum(irate(istio_request_bytes_bucket{reporter=~"$qrep", connection_security_policy!="mutual_tls", destination_service=~"$service", source_workload=~"$srcwl", source_workload_namespace=~"$srcns"}[1m])) by (source_workload, source_workload_namespace, le)) 8. 非mTLS P99:histogram_quantile(0.99, sum(irate(istio_request_bytes_bucket{reporter=~"$qrep", connection_security_policy!="mutual_tls", destination_service=~"$service", source_workload=~"$srcwl", source_workload_namespace=~"$srcns"}[1m])) by (source_workload, source_workload_namespace, le)) |
Response Size By Source | 回包大小(按请求来源服务分组) | 1.mTLS P50:histogram_quantile(0.50, sum(irate(istio_response_bytes_bucket{reporter=~"$qrep", connection_security_policy="mutual_tls", destination_service=~"$service", source_workload=~"$srcwl", source_workload_namespace=~"$srcns"}[1m])) by (source_workload, source_workload_namespace, le)) 2. mTLS P90:histogram_quantile(0.90, sum(irate(istio_response_bytes_bucket{reporter=~"$qrep", connection_security_policy="mutual_tls", destination_service=~"$service", source_workload=~"$srcwl", source_workload_namespace=~"$srcns"}[1m])) by (source_workload, source_workload_namespace, le)) 3. mTLS P95:histogram_quantile(0.95, sum(irate(istio_response_bytes_bucket{reporter=~"$qrep", connection_security_policy="mutual_tls", destination_service=~"$service", source_workload=~"$srcwl", source_workload_namespace=~"$srcns"}[1m])) by (source_workload, source_workload_namespace, le)) 4. mTLS P99:histogram_quantile(0.99, sum(irate(istio_response_bytes_bucket{reporter=~"$qrep", connection_security_policy="mutual_tls", destination_service=~"$service", source_workload=~"$srcwl", source_workload_namespace=~"$srcns"}[1m])) by (source_workload, source_workload_namespace, le)) 5. 非mTLS P50:histogram_quantile(0.50, sum(irate(istio_response_bytes_bucket{reporter=~"$qrep", connection_security_policy!="mutual_tls", destination_service=~"$service", source_workload=~"$srcwl", source_workload_namespace=~"$srcns"}[1m])) by (source_workload, source_workload_namespace, le)) 6. 非mTLS P90:histogram_quantile(0.90, sum(irate(istio_response_bytes_bucket{reporter=~"$qrep", connection_security_policy!="mutual_tls", destination_service=~"$service", source_workload=~"$srcwl", source_workload_namespace=~"$srcns"}[1m])) by (source_workload, source_workload_namespace, le)) 7. 非mTLS P95:histogram_quantile(0.95, sum(irate(istio_response_bytes_bucket{reporter=~"$qrep", connection_security_policy!="mutual_tls", destination_service=~"$service", source_workload=~"$srcwl", source_workload_namespace=~"$srcns"}[1m])) by (source_workload, source_workload_namespace, le)) 8. 非mTLS P99:histogram_quantile(0.99, sum(irate(istio_response_bytes_bucket{reporter=~"$qrep", connection_security_policy!="mutual_tls", destination_service=~"$service", source_workload=~"$srcwl", source_workload_namespace=~"$srcns"}[1m])) by (source_workload, source_workload_namespace, le)) |
Bytes Received from Incoming TCP Connection | 通过TCP链接接收入流字节数(按请求来源服务分组) | 1.mTLS: round(sum(irate(istio_tcp_received_bytes_total{reporter=~"$qrep", connection_security_policy="mutual_tls", destination_service=~"$service", source_workload=~"$srcwl", source_workload_namespace=~"$srcns"}[1m])) by (source_workload, source_workload_namespace), 0.001) 2. 非mTLS:round(sum(irate(istio_tcp_received_bytes_total{reporter=~"$qrep", connection_security_policy!="mutual_tls", destination_service=~"$service", source_workload=~"$srcwl", source_workload_namespace=~"$srcns"}[1m])) by (source_workload, source_workload_namespace), 0.001) |
Bytes Sent to Incoming TCP Connection | 通过TCP请求入流字节数(按请求来源服务分组) | 1.mTLS:round(sum(irate(istio_tcp_sent_bytes_total{connection_security_policy="mutual_tls", reporter=~"$qrep", destination_service=~"$service", source_workload=~"$srcwl", source_workload_namespace=~"$srcns"}[1m])) by (source_workload, source_workload_namespace), 0.001) 2. 非mTLS:round(sum(irate(istio_tcp_sent_bytes_total{connection_security_policy!="mutual_tls", reporter=~"$qrep", destination_service=~"$service", source_workload=~"$srcwl", source_workload_namespace=~"$srcns"}[1m])) by (source_workload, source_workload_namespace), 0.001) |
Incoming Requests By Destination Workload And Response Code | 入流请求次数(按请求来源工作负载和返回码分组) | 1.mTLS:round(sum(irate(istio_requests_total{connection_security_policy="mutual_tls",destination_service=~"$service",reporter="destination",destination_workload=~"$dstwl",destination_workload_namespace=~"$dstns"}[5m])) by (destination_workload, destination_workload_namespace, response_code), 0.001) 2. 非mTLS:round(sum(irate(istio_requests_total{connection_security_policy!="mutual_tls", destination_service=~"$service", reporter="destination", destination_workload=~"$dstwl", destination_workload_namespace=~"$dstns"}[5m])) by (destination_workload, destination_workload_namespace, response_code), 0.001) |
Incoming Success Rate (non-5xx responses) By Destination Workload | 入流请求成功率(按请求来源工作负载分组) | 1.mTLS: sum(irate(istio_requests_total{reporter="destination", connection_security_policy="mutual_tls", destination_service=~"$service",response_code!~"5.*", destination_workload=~"$dstwl", destination_workload_namespace=~"$dstns"}[5m])) by (destination_workload, destination_workload_namespace) / sum(irate(istio_requests_total{reporter="destination", connection_security_policy="mutual_tls", destination_service=~"$service", destination_workload=~"$dstwl", destination_workload_namespace=~"$dstns"}[5m])) by (destination_workload, destination_workload_namespace) 2. 非mTLS:sum(irate(istio_requests_total{reporter="destination", connection_security_policy!="mutual_tls", destination_service=~"$service",response_code!~"5.*", destination_workload=~"$dstwl", destination_workload_namespace=~"$dstns"}[5m])) by (destination_workload, destination_workload_namespace) / sum(irate(istio_requests_total{reporter="destination", connection_security_policy!="mutual_tls", destination_service=~"$service", destination_workload=~"$dstwl", destination_workload_namespace=~"$dstns"}[5m])) by (destination_workload, destination_workload_namespace) |
Incoming Request Duration By Service Workload | 入流请求耗时(按请求来源工作负载分组) | 1.mTLS P50:(histogram_quantile(0.50, sum(irate(istio_request_duration_milliseconds_bucket{reporter="destination", connection_security_policy="mutual_tls", destination_service=~"$service", destination_workload=~"$dstwl", destination_workload_namespace=~"$dstns"}[1m])) by (destination_workload, destination_workload_namespace, le)) / 1000) or histogram_quantile(0.50, sum(irate(istio_request_duration_seconds_bucket{reporter="destination", connection_security_policy="mutual_tls", destination_service=~"$service", destination_workload=~"$dstwl", destination_workload_namespace=~"$dstns"}[1m])) by (destination_workload, destination_workload_namespace, le)) 2. mTLS P90:(histogram_quantile(0.90, sum(irate(istio_request_duration_milliseconds_bucket{reporter="destination", connection_security_policy="mutual_tls", destination_service=~"$service", destination_workload=~"$dstwl", destination_workload_namespace=~"$dstns"}[1m])) by (destination_workload, destination_workload_namespace, le)) / 1000) or histogram_quantile(0.90, sum(irate(istio_request_duration_seconds_bucket{reporter="destination", connection_security_policy="mutual_tls", destination_service=~"$service", destination_workload=~"$dstwl", destination_workload_namespace=~"$dstns"}[1m])) by (destination_workload, destination_workload_namespace, le)) 3. mTLS P95:(histogram_quantile(0.95, sum(irate(istio_request_duration_milliseconds_bucket{reporter="destination", connection_security_policy="mutual_tls", destination_service=~"$service", destination_workload=~"$dstwl", destination_workload_namespace=~"$dstns"}[1m])) by (destination_workload, destination_workload_namespace, le)) / 1000) or histogram_quantile(0.95, sum(irate(istio_request_duration_seconds_bucket{reporter="destination", connection_security_policy="mutual_tls", destination_service=~"$service", destination_workload=~"$dstwl", destination_workload_namespace=~"$dstns"}[1m])) by (destination_workload, destination_workload_namespace, le)) 4. mTLS P99:(histogram_quantile(0.99, sum(irate(istio_request_duration_milliseconds_bucket{reporter="destination", connection_security_policy="mutual_tls", destination_service=~"$service", destination_workload=~"$dstwl", destination_workload_namespace=~"$dstns"}[1m])) by (destination_workload, destination_workload_namespace, le)) / 1000) or histogram_quantile(0.99, sum(irate(istio_request_duration_seconds_bucket{reporter="destination", connection_security_policy="mutual_tls", destination_service=~"$service", destination_workload=~"$dstwl", destination_workload_namespace=~"$dstns"}[1m])) by (destination_workload, destination_workload_namespace, le)) 5. 非mTLS P50:(histogram_quantile(0.50, sum(irate(istio_request_duration_milliseconds_bucket{reporter="destination", connection_security_policy!="mutual_tls", destination_service=~"$service", destination_workload=~"$dstwl", destination_workload_namespace=~"$dstns"}[1m])) by (destination_workload, destination_workload_namespace, le)) / 1000) or histogram_quantile(0.50, sum(irate(istio_request_duration_seconds_bucket{reporter="destination", connection_security_policy!="mutual_tls", destination_service=~"$service", destination_workload=~"$dstwl", destination_workload_namespace=~"$dstns"}[1m])) by (destination_workload, destination_workload_namespace, le)) 6. 非mTLS P90:(histogram_quantile(0.90, sum(irate(istio_request_duration_milliseconds_bucket{reporter="destination", connection_security_policy!="mutual_tls", destination_service=~"$service", destination_workload=~"$dstwl", destination_workload_namespace=~"$dstns"}[1m])) by (destination_workload, destination_workload_namespace, le)) / 1000) or histogram_quantile(0.90, sum(irate(istio_request_duration_seconds_bucket{reporter="destination", connection_security_policy!="mutual_tls", destination_service=~"$service", destination_workload=~"$dstwl", destination_workload_namespace=~"$dstns"}[1m])) by (destination_workload, destination_workload_namespace, le)) 7. 非mTLS P95:(histogram_quantile(0.95, sum(irate(istio_request_duration_milliseconds_bucket{reporter="destination", connection_security_policy!="mutual_tls", destination_service=~"$service", destination_workload=~"$dstwl", destination_workload_namespace=~"$dstns"}[1m])) by (destination_workload, destination_workload_namespace, le)) / 1000) or histogram_quantile(0.95, sum(irate(istio_request_duration_seconds_bucket{reporter="destination", connection_security_policy!="mutual_tls", destination_service=~"$service", destination_workload=~"$dstwl", destination_workload_namespace=~"$dstns"}[1m])) by (destination_workload, destination_workload_namespace, le)) 8. 非mTLS P99:(histogram_quantile(0.99, sum(irate(istio_request_duration_milliseconds_bucket{reporter="destination", connection_security_policy!="mutual_tls", destination_service=~"$service", destination_workload=~"$dstwl", destination_workload_namespace=~"$dstns"}[1m])) by (destination_workload, destination_workload_namespace, le)) / 1000) or histogram_quantile(0.99, sum(irate(istio_request_duration_seconds_bucket{reporter="destination", connection_security_policy!="mutual_tls", destination_service=~"$service", destination_workload=~"$dstwl", destination_workload_namespace=~"$dstns"}[1m])) by (destination_workload, destination_workload_namespace, le)) |
Incoming Request Size By Service Workload | 入流请求包大小(按工作负载分组) | 1.mTLS P50:histogram_quantile(0.50, sum(irate(istio_request_bytes_bucket{reporter="destination", connection_security_policy="mutual_tls", destination_service=~"$service", destination_workload=~"$dstwl", destination_workload_namespace=~"$dstns"}[1m])) by (destination_workload, destination_workload_namespace, le)) 2. mTLS P90:histogram_quantile(0.90, sum(irate(istio_request_bytes_bucket{reporter="destination", connection_security_policy="mutual_tls", destination_service=~"$service", destination_workload=~"$dstwl", destination_workload_namespace=~"$dstns"}[1m])) by (destination_workload, destination_workload_namespace, le)) 3. mTLS P95:histogram_quantile(0.95, sum(irate(istio_request_bytes_bucket{reporter="destination", connection_security_policy="mutual_tls", destination_service=~"$service", destination_workload=~"$dstwl", destination_workload_namespace=~"$dstns"}[1m])) by (destination_workload, destination_workload_namespace, le)) 4. mTLS P99:histogram_quantile(0.99, sum(irate(istio_request_bytes_bucket{reporter="destination", connection_security_policy="mutual_tls", destination_service=~"$service", destination_workload=~"$dstwl", destination_workload_namespace=~"$dstns"}[1m])) by (destination_workload, destination_workload_namespace, le)) 5. 非mTLS P50:histogram_quantile(0.50, sum(irate(istio_request_bytes_bucket{reporter="destination", connection_security_policy!="mutual_tls", destination_service=~"$service", destination_workload=~"$dstwl", destination_workload_namespace=~"$dstns"}[1m])) by (destination_workload, destination_workload_namespace, le)) 6. 非mTLS P90:histogram_quantile(0.90, sum(irate(istio_request_bytes_bucket{reporter="destination", connection_security_policy!="mutual_tls", destination_service=~"$service", destination_workload=~"$dstwl", destination_workload_namespace=~"$dstns"}[1m])) by (destination_workload, destination_workload_namespace, le)) 7. 非mTLS P95:histogram_quantile(0.95, sum(irate(istio_request_bytes_bucket{reporter="destination", connection_security_policy!="mutual_tls", destination_service=~"$service", destination_workload=~"$dstwl", destination_workload_namespace=~"$dstns"}[1m])) by (destination_workload, destination_workload_namespace, le)) 8. 非mTLS P99:histogram_quantile(0.99, sum(irate(istio_request_bytes_bucket{reporter="destination", connection_security_policy!="mutual_tls", destination_service=~"$service", destination_workload=~"$dstwl", destination_workload_namespace=~"$dstns"}[1m])) by (destination_workload, destination_workload_namespace, le)) |
Response Size By Service Workload | 回包大小(按工作负载分组) | 1.mTLS P50:histogram_quantile(0.50, sum(irate(istio_response_bytes_bucket{reporter="destination", connection_security_policy="mutual_tls", destination_service=~"$service", destination_workload=~"$dstwl", destination_workload_namespace=~"$dstns"}[1m])) by (destination_workload, destination_workload_namespace, le)) 2. mTLS P90:histogram_quantile(0.90, sum(irate(istio_response_bytes_bucket{reporter="destination", connection_security_policy="mutual_tls", destination_service=~"$service", destination_workload=~"$dstwl", destination_workload_namespace=~"$dstns"}[1m])) by (destination_workload, destination_workload_namespace, le)) 3. mTLS P95:histogram_quantile(0.95, sum(irate(istio_response_bytes_bucket{reporter="destination", connection_security_policy="mutual_tls", destination_service=~"$service", destination_workload=~"$dstwl", destination_workload_namespace=~"$dstns"}[1m])) by (destination_workload, destination_workload_namespace, le)) 4. mTLS P99:histogram_quantile(0.99, sum(irate(istio_response_bytes_bucket{reporter="destination", connection_security_policy="mutual_tls", destination_service=~"$service", destination_workload=~"$dstwl", destination_workload_namespace=~"$dstns"}[1m])) by (destination_workload, destination_workload_namespace, le)) 5. 非mTLS P50:histogram_quantile(0.50, sum(irate(istio_response_bytes_bucket{reporter="destination", connection_security_policy!="mutual_tls", destination_service=~"$service", destination_workload=~"$dstwl", destination_workload_namespace=~"$dstns"}[1m])) by (destination_workload, destination_workload_namespace, le)) 6. 非mTLS P90:histogram_quantile(0.90, sum(irate(istio_response_bytes_bucket{reporter="destination", connection_security_policy!="mutual_tls", destination_service=~"$service", destination_workload=~"$dstwl", destination_workload_namespace=~"$dstns"}[1m])) by (destination_workload, destination_workload_namespace, le)) 7. 非mTLS P95:histogram_quantile(0.95, sum(irate(istio_response_bytes_bucket{reporter="destination", connection_security_policy!="mutual_tls", destination_service=~"$service", destination_workload=~"$dstwl", destination_workload_namespace=~"$dstns"}[1m])) by (destination_workload, destination_workload_namespace, le)) 8. 非mTLS P99:histogram_quantile(0.99, sum(irate(istio_response_bytes_bucket{reporter="destination", connection_security_policy!="mutual_tls", destination_service=~"$service", destination_workload=~"$dstwl", destination_workload_namespace=~"$dstns"}[1m])) by (destination_workload, destination_workload_namespace, le)) |
Bytes Received from Incoming TCP Connection | 通过TCP链接接收入流字节数(按请求来源工作负载分组) | 1.mTLS:round(sum(irate(istio_tcp_received_bytes_total{reporter="destination", connection_security_policy="mutual_tls", destination_service=~"$service", destination_workload=~"$dstwl", destination_workload_namespace=~"$dstns"}[1m])) by (destination_workload, destination_workload_namespace), 0.001) 2. 非mTLS:round(sum(irate(istio_tcp_received_bytes_total{reporter="destination", connection_security_policy!="mutual_tls", destination_service=~"$service", destination_workload=~"$dstwl", destination_workload_namespace=~"$dstns"}[1m])) by (destination_workload, destination_workload_namespace), 0.001) |
Bytes Sent to Incoming TCP Connection | 通过TCP请求入流字节数(按请求来源工作负载分组) | 1.mTLS:round(sum(irate(istio_tcp_sent_bytes_total{connection_security_policy="mutual_tls", reporter="destination", destination_service=~"$service", destination_workload=~"$dstwl", destination_workload_namespace=~"$dstns"}[1m])) by (destination_workload, destination_workload_namespace), 0.001) 2. 非mTLS:round(sum(irate(istio_tcp_sent_bytes_total{connection_security_policy!="mutual_tls", reporter="destination", destination_service=~"$service", destination_workload=~"$dstwl", destination_workload_namespace=~"$dstns"}[1m])) by (destination_workload, destination_workload_namespace), 0.001) |
查询语句中涉及的指标名均为istio官方自带指标,指标含义可以参考:istio官方说明
日志
进入天翼云云日志服务控制台,选择日志项目,可以看到跟网格实例相关的日志项目,以下图为例:
accesslog结尾的是网格数据面日志项目,以controplane结尾的是网格控制面日志,分别对应网格配置页中填写的日志项目名。如下图:
选择数据面日志可以看到istio sidecar的访问日志,如下:
选择控制面日志可以看到控制面的日志: