- Добавлена полная поддержка Istio service mesh с Kiali - Интегрированы Helm charts (nginx, prometheus-stack) - Созданы Grafana дашборды для Istio мониторинга - Добавлен HTML генератор отчетов с красивым дизайном - Созданы скрипты для снапшотов и восстановления - Добавлена поддержка Istio Bookinfo demo - Обновлена документация с полным описанием возможностей Компоненты: - Istio с Telemetry и Traffic Policy - Prometheus + Grafana с автопровижинингом дашбордов - HTML отчеты с анализом статусов - Снапшоты и восстановление состояния - Полная интеграция с Kubernetes Автор: Сергей Антропов Сайт: https://devops.org.ru
		
			
				
	
	
		
			81 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			JSON
		
	
	
	
	
	
			
		
		
	
	
			81 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			JSON
		
	
	
	
	
	
| {
 | |
|   "id": null,
 | |
|   "uid": "service-sli",
 | |
|   "title": "Service • SLI",
 | |
|   "schemaVersion": 36,
 | |
|   "version": 1,
 | |
|   "timezone": "browser",
 | |
|   "tags": ["istio", "sre", "sli"],
 | |
|   "templating": {
 | |
|     "list": [
 | |
|       {
 | |
|         "name": "namespace",
 | |
|         "type": "query",
 | |
|         "datasource": "${DS_PROMETHEUS}",
 | |
|         "query": "label_values(istio_requests_total, destination_namespace)",
 | |
|         "refresh": 1
 | |
|       },
 | |
|       {
 | |
|         "name": "workload",
 | |
|         "type": "query",
 | |
|         "datasource": "${DS_PROMETHEUS}",
 | |
|         "query": "label_values(istio_requests_total{destination_namespace=\"$namespace\"}, destination_workload)",
 | |
|         "refresh": 1
 | |
|       }
 | |
|     ]
 | |
|   },
 | |
|   "panels": [
 | |
|     {
 | |
|       "type": "stat",
 | |
|       "title": "Success Rate",
 | |
|       "gridPos": {"h": 4, "w": 6, "x": 0, "y": 0},
 | |
|       "targets": [
 | |
|         {
 | |
|           "expr": "sum(rate(istio_requests_total{reporter=\"destination\",destination_namespace=\"$namespace\",destination_workload=\"$workload\",response_code!~\"5..\"}[5m])) / sum(rate(istio_requests_total{reporter=\"destination\",destination_namespace=\"$namespace\",destination_workload=\"$workload\"}[5m]))",
 | |
|           "legendFormat": "success"
 | |
|         }
 | |
|       ],
 | |
|       "fieldConfig":{"defaults":{"unit":"percentunit","min":0,"max":1}}
 | |
|     },
 | |
|     {
 | |
|       "type": "timeseries",
 | |
|       "title": "Latency (ms) p50/p95/p99",
 | |
|       "gridPos": {"h": 8, "w": 12, "x": 0, "y": 4},
 | |
|       "targets": [
 | |
|         {
 | |
|           "expr": "histogram_quantile(0.5, sum by (le) (rate(istio_request_duration_milliseconds_bucket{reporter=\"destination\",destination_namespace=\"$namespace\",destination_workload=\"$workload\"}[5m])))",
 | |
|           "legendFormat": "p50"
 | |
|         },
 | |
|         {
 | |
|           "expr": "histogram_quantile(0.95, sum by (le) (rate(istio_request_duration_milliseconds_bucket{reporter=\"destination\",destination_namespace=\"$namespace\",destination_workload=\"$workload\"}[5m])))",
 | |
|           "legendFormat": "p95"
 | |
|         },
 | |
|         {
 | |
|           "expr": "histogram_quantile(0.99, sum by (le) (rate(istio_request_duration_milliseconds_bucket{reporter=\"destination\",destination_namespace=\"$namespace\",destination_workload=\"$workload\"}[5m])))",
 | |
|           "legendFormat": "p99"
 | |
|         }
 | |
|       ],
 | |
|       "fieldConfig":{"defaults":{"unit":"ms"}}
 | |
|     },
 | |
|     {
 | |
|       "type": "timeseries",
 | |
|       "title": "RPS (2xx/4xx/5xx)",
 | |
|       "gridPos": {"h": 8, "w": 12, "x": 0, "y": 12},
 | |
|       "targets": [
 | |
|         {
 | |
|           "expr": "sum(rate(istio_requests_total{reporter=\"destination\",destination_namespace=\"$namespace\",destination_workload=\"$workload\",response_code=~\"2..\"}[5m]))",
 | |
|           "legendFormat": "2xx"
 | |
|         },
 | |
|         {
 | |
|           "expr": "sum(rate(istio_requests_total{reporter=\"destination\",destination_namespace=\"$namespace\",destination_workload=\"$workload\",response_code=~\"4..\"}[5m]))",
 | |
|           "legendFormat": "4xx"
 | |
|         },
 | |
|         {
 | |
|           "expr": "sum(rate(istio_requests_total{reporter=\"destination\",destination_namespace=\"$namespace\",destination_workload=\"$workload\",response_code=~\"5..\"}[5m]))",
 | |
|           "legendFormat": "5xx"
 | |
|         }
 | |
|       ]
 | |
|     }
 | |
|   ]
 | |
| }
 |