1182 lines
28 KiB
JSON
1182 lines
28 KiB
JSON
{
|
|
"annotations": {
|
|
"list": []
|
|
},
|
|
"editable": true,
|
|
"fiscalYearStartMonth": 0,
|
|
"graphTooltip": 1,
|
|
"id": null,
|
|
"links": [],
|
|
"liveNow": true,
|
|
"panels": [
|
|
{
|
|
"collapsed": false,
|
|
"gridPos": {
|
|
"h": 1,
|
|
"w": 24,
|
|
"x": 0,
|
|
"y": 0
|
|
},
|
|
"id": 100,
|
|
"title": "📌 شاخصهای کلیدی سیستم (KPIs)",
|
|
"type": "row",
|
|
"panels": []
|
|
},
|
|
{
|
|
"id": 1,
|
|
"type": "stat",
|
|
"title": "📥 کل پستهای دریافتی از مبدا",
|
|
"description": "مجموع پیامهایی که از تمام کانالهای مبدا دریافت و ذخیره شدهاند.",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "copykar-prometheus"
|
|
},
|
|
"gridPos": {
|
|
"h": 5,
|
|
"w": 8,
|
|
"x": 0,
|
|
"y": 1
|
|
},
|
|
"targets": [
|
|
{
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "copykar-prometheus"
|
|
},
|
|
"expr": "sum(copykar_source_activity_total) or vector(0)",
|
|
"refId": "A",
|
|
"instant": true
|
|
}
|
|
],
|
|
"options": {
|
|
"reduceOptions": {
|
|
"calcs": [
|
|
"lastNotNull"
|
|
],
|
|
"fields": "",
|
|
"values": false
|
|
},
|
|
"textMode": "auto",
|
|
"colorMode": "value",
|
|
"graphMode": "area",
|
|
"justifyMode": "auto",
|
|
"orientation": "auto"
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "short",
|
|
"color": {
|
|
"mode": "thresholds"
|
|
},
|
|
"thresholds": {
|
|
"mode": "absolute",
|
|
"steps": [
|
|
{
|
|
"color": "blue",
|
|
"value": null
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"overrides": []
|
|
}
|
|
},
|
|
{
|
|
"id": 2,
|
|
"type": "stat",
|
|
"title": "🚀 کل پستهای منتشر شده",
|
|
"description": "مجموع پستهایی که با موفقیت در کانالهای مقصد ارسال شدهاند.",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "copykar-prometheus"
|
|
},
|
|
"gridPos": {
|
|
"h": 5,
|
|
"w": 8,
|
|
"x": 8,
|
|
"y": 1
|
|
},
|
|
"targets": [
|
|
{
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "copykar-prometheus"
|
|
},
|
|
"expr": "sum(copykar_target_activity_total) or vector(0)",
|
|
"refId": "A",
|
|
"instant": true
|
|
}
|
|
],
|
|
"options": {
|
|
"reduceOptions": {
|
|
"calcs": [
|
|
"lastNotNull"
|
|
],
|
|
"fields": "",
|
|
"values": false
|
|
},
|
|
"textMode": "auto",
|
|
"colorMode": "value",
|
|
"graphMode": "area",
|
|
"justifyMode": "auto",
|
|
"orientation": "auto"
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "short",
|
|
"color": {
|
|
"mode": "thresholds"
|
|
},
|
|
"thresholds": {
|
|
"mode": "absolute",
|
|
"steps": [
|
|
{
|
|
"color": "purple",
|
|
"value": null
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"overrides": []
|
|
}
|
|
},
|
|
{
|
|
"id": 3,
|
|
"type": "stat",
|
|
"title": "⚠️ خطاهای رفعنشده",
|
|
"description": "خطاهایی که هنوز توسط ادمین رفعشده علامت نخوردهاند. با دکمه «⚠️ خطاهای سیستم» در ربات قابل مدیریت است.",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "copykar-prometheus"
|
|
},
|
|
"gridPos": {
|
|
"h": 5,
|
|
"w": 8,
|
|
"x": 16,
|
|
"y": 1
|
|
},
|
|
"targets": [
|
|
{
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "copykar-prometheus"
|
|
},
|
|
"expr": "copykar_errors_open_total or vector(0)",
|
|
"refId": "A",
|
|
"instant": true
|
|
}
|
|
],
|
|
"options": {
|
|
"reduceOptions": {
|
|
"calcs": [
|
|
"lastNotNull"
|
|
],
|
|
"fields": "",
|
|
"values": false
|
|
},
|
|
"textMode": "auto",
|
|
"colorMode": "value",
|
|
"graphMode": "area",
|
|
"justifyMode": "auto",
|
|
"orientation": "auto"
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "short",
|
|
"color": {
|
|
"mode": "thresholds"
|
|
},
|
|
"thresholds": {
|
|
"mode": "absolute",
|
|
"steps": [
|
|
{
|
|
"color": "green",
|
|
"value": null
|
|
},
|
|
{
|
|
"color": "orange",
|
|
"value": 1
|
|
},
|
|
{
|
|
"color": "red",
|
|
"value": 10
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"overrides": []
|
|
}
|
|
},
|
|
{
|
|
"collapsed": false,
|
|
"gridPos": {
|
|
"h": 1,
|
|
"w": 24,
|
|
"x": 0,
|
|
"y": 6
|
|
},
|
|
"id": 106,
|
|
"title": "📦 صف ارسال و تصمیمات ادمین (Queue & Review)",
|
|
"type": "row",
|
|
"panels": []
|
|
},
|
|
{
|
|
"id": 4,
|
|
"type": "timeseries",
|
|
"title": "📥 عمق صف هر کانال مقصد",
|
|
"description": "تعداد پستهای منتظر ارسال در صف ردیس، به تفکیک کانال مقصد. مجموع این نمودار همان کل صف است.",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "copykar-prometheus"
|
|
},
|
|
"gridPos": {
|
|
"h": 8,
|
|
"w": 8,
|
|
"x": 0,
|
|
"y": 7
|
|
},
|
|
"targets": [
|
|
{
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "copykar-prometheus"
|
|
},
|
|
"refId": "A",
|
|
"expr": "copykar_posts_queue_gauge",
|
|
"legendFormat": "{{status}}"
|
|
}
|
|
],
|
|
"options": {
|
|
"legend": {
|
|
"displayMode": "list",
|
|
"placement": "bottom",
|
|
"showLegend": true
|
|
},
|
|
"tooltip": {
|
|
"mode": "multi",
|
|
"sort": "desc"
|
|
}
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "short",
|
|
"color": {
|
|
"mode": "palette-classic"
|
|
},
|
|
"custom": {
|
|
"drawStyle": "line",
|
|
"lineWidth": 2,
|
|
"fillOpacity": 12,
|
|
"showPoints": "never",
|
|
"spanNulls": true,
|
|
"stacking": {
|
|
"mode": "normal",
|
|
"group": "A"
|
|
}
|
|
}
|
|
},
|
|
"overrides": []
|
|
}
|
|
},
|
|
{
|
|
"id": 5,
|
|
"type": "timeseries",
|
|
"title": "✅ تصمیمات ادمین در طول زمان",
|
|
"description": "نرخ تایید، رد و ارسال خودکار پستها (تعداد در دقیقه).",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "copykar-prometheus"
|
|
},
|
|
"gridPos": {
|
|
"h": 8,
|
|
"w": 8,
|
|
"x": 8,
|
|
"y": 7
|
|
},
|
|
"targets": [
|
|
{
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "copykar-prometheus"
|
|
},
|
|
"refId": "A",
|
|
"expr": "sum by (action) (rate(copykar_admin_actions_total[5m]) * 60)",
|
|
"legendFormat": "{{action}}"
|
|
}
|
|
],
|
|
"options": {
|
|
"legend": {
|
|
"displayMode": "list",
|
|
"placement": "bottom",
|
|
"showLegend": true
|
|
},
|
|
"tooltip": {
|
|
"mode": "multi",
|
|
"sort": "desc"
|
|
}
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "short",
|
|
"color": {
|
|
"mode": "palette-classic"
|
|
},
|
|
"custom": {
|
|
"drawStyle": "line",
|
|
"lineWidth": 2,
|
|
"fillOpacity": 12,
|
|
"showPoints": "never",
|
|
"spanNulls": true,
|
|
"stacking": {
|
|
"mode": "none",
|
|
"group": "A"
|
|
}
|
|
}
|
|
},
|
|
"overrides": []
|
|
}
|
|
},
|
|
{
|
|
"id": 6,
|
|
"type": "stat",
|
|
"title": "🤖 پستهای ارسالشده خودکار",
|
|
"description": "پستهایی که از طریق «ارسال خودکار از مبدا» بدون تایید دستی وارد صف شدهاند.",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "copykar-prometheus"
|
|
},
|
|
"gridPos": {
|
|
"h": 8,
|
|
"w": 8,
|
|
"x": 16,
|
|
"y": 7
|
|
},
|
|
"targets": [
|
|
{
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "copykar-prometheus"
|
|
},
|
|
"expr": "sum(copykar_auto_routed_posts_total) or vector(0)",
|
|
"refId": "A",
|
|
"instant": true
|
|
}
|
|
],
|
|
"options": {
|
|
"reduceOptions": {
|
|
"calcs": [
|
|
"lastNotNull"
|
|
],
|
|
"fields": "",
|
|
"values": false
|
|
},
|
|
"textMode": "auto",
|
|
"colorMode": "value",
|
|
"graphMode": "area",
|
|
"justifyMode": "auto",
|
|
"orientation": "auto"
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "short",
|
|
"color": {
|
|
"mode": "thresholds"
|
|
},
|
|
"thresholds": {
|
|
"mode": "absolute",
|
|
"steps": [
|
|
{
|
|
"color": "green",
|
|
"value": null
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"overrides": []
|
|
}
|
|
},
|
|
{
|
|
"collapsed": false,
|
|
"gridPos": {
|
|
"h": 1,
|
|
"w": 24,
|
|
"x": 0,
|
|
"y": 15
|
|
},
|
|
"id": 115,
|
|
"title": "📡 فعالیت کانالها (Channels Activity)",
|
|
"type": "row",
|
|
"panels": []
|
|
},
|
|
{
|
|
"id": 7,
|
|
"type": "timeseries",
|
|
"title": "📥 دریافت به تفکیک کانال مبدا",
|
|
"description": "تعداد تجمعی پستهای دریافتشده از هر کانال مبدا.",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "copykar-prometheus"
|
|
},
|
|
"gridPos": {
|
|
"h": 8,
|
|
"w": 8,
|
|
"x": 0,
|
|
"y": 16
|
|
},
|
|
"targets": [
|
|
{
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "copykar-prometheus"
|
|
},
|
|
"refId": "A",
|
|
"expr": "sum by (title) (copykar_source_activity_total)",
|
|
"legendFormat": "{{title}}"
|
|
}
|
|
],
|
|
"options": {
|
|
"legend": {
|
|
"displayMode": "list",
|
|
"placement": "bottom",
|
|
"showLegend": true
|
|
},
|
|
"tooltip": {
|
|
"mode": "multi",
|
|
"sort": "desc"
|
|
}
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "short",
|
|
"color": {
|
|
"mode": "palette-classic"
|
|
},
|
|
"custom": {
|
|
"drawStyle": "line",
|
|
"lineWidth": 2,
|
|
"fillOpacity": 12,
|
|
"showPoints": "never",
|
|
"spanNulls": true,
|
|
"stacking": {
|
|
"mode": "none",
|
|
"group": "A"
|
|
}
|
|
}
|
|
},
|
|
"overrides": []
|
|
}
|
|
},
|
|
{
|
|
"id": 8,
|
|
"type": "timeseries",
|
|
"title": "🚀 انتشار به تفکیک کانال مقصد",
|
|
"description": "تعداد تجمعی پستهای ارسالشده به هر کانال مقصد.",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "copykar-prometheus"
|
|
},
|
|
"gridPos": {
|
|
"h": 8,
|
|
"w": 8,
|
|
"x": 8,
|
|
"y": 16
|
|
},
|
|
"targets": [
|
|
{
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "copykar-prometheus"
|
|
},
|
|
"refId": "A",
|
|
"expr": "sum by (title) (copykar_target_activity_total)",
|
|
"legendFormat": "{{title}}"
|
|
}
|
|
],
|
|
"options": {
|
|
"legend": {
|
|
"displayMode": "list",
|
|
"placement": "bottom",
|
|
"showLegend": true
|
|
},
|
|
"tooltip": {
|
|
"mode": "multi",
|
|
"sort": "desc"
|
|
}
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "short",
|
|
"color": {
|
|
"mode": "palette-classic"
|
|
},
|
|
"custom": {
|
|
"drawStyle": "line",
|
|
"lineWidth": 2,
|
|
"fillOpacity": 12,
|
|
"showPoints": "never",
|
|
"spanNulls": true,
|
|
"stacking": {
|
|
"mode": "none",
|
|
"group": "A"
|
|
}
|
|
}
|
|
},
|
|
"overrides": []
|
|
}
|
|
},
|
|
{
|
|
"id": 9,
|
|
"type": "stat",
|
|
"title": "♻️ پستهای تکراری شناساییشده",
|
|
"description": "پستهایی که هش محتوایشان با یک پست قبلی یکی بوده و بهعنوان تکراری علامت خوردهاند.",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "copykar-prometheus"
|
|
},
|
|
"gridPos": {
|
|
"h": 8,
|
|
"w": 8,
|
|
"x": 16,
|
|
"y": 16
|
|
},
|
|
"targets": [
|
|
{
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "copykar-prometheus"
|
|
},
|
|
"expr": "sum(copykar_duplicates_detected_total) or vector(0)",
|
|
"refId": "A",
|
|
"instant": true
|
|
}
|
|
],
|
|
"options": {
|
|
"reduceOptions": {
|
|
"calcs": [
|
|
"lastNotNull"
|
|
],
|
|
"fields": "",
|
|
"values": false
|
|
},
|
|
"textMode": "auto",
|
|
"colorMode": "value",
|
|
"graphMode": "area",
|
|
"justifyMode": "auto",
|
|
"orientation": "auto"
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "short",
|
|
"color": {
|
|
"mode": "thresholds"
|
|
},
|
|
"thresholds": {
|
|
"mode": "absolute",
|
|
"steps": [
|
|
{
|
|
"color": "yellow",
|
|
"value": null
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"overrides": []
|
|
}
|
|
},
|
|
{
|
|
"collapsed": false,
|
|
"gridPos": {
|
|
"h": 1,
|
|
"w": 24,
|
|
"x": 0,
|
|
"y": 24
|
|
},
|
|
"id": 124,
|
|
"title": "🤖 عملکرد هوش مصنوعی (AI Operations)",
|
|
"type": "row",
|
|
"panels": []
|
|
},
|
|
{
|
|
"id": 10,
|
|
"type": "timeseries",
|
|
"title": "🤖 نرخ درخواستهای هوش مصنوعی",
|
|
"description": "تعداد درخواستهای بازنویسی در دقیقه، به تفکیک وضعیت موفق/ناموفق.",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "copykar-prometheus"
|
|
},
|
|
"gridPos": {
|
|
"h": 8,
|
|
"w": 8,
|
|
"x": 0,
|
|
"y": 25
|
|
},
|
|
"targets": [
|
|
{
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "copykar-prometheus"
|
|
},
|
|
"refId": "A",
|
|
"expr": "sum by (status) (rate(copykar_ai_requests_total[5m]) * 60)",
|
|
"legendFormat": "{{status}}"
|
|
}
|
|
],
|
|
"options": {
|
|
"legend": {
|
|
"displayMode": "list",
|
|
"placement": "bottom",
|
|
"showLegend": true
|
|
},
|
|
"tooltip": {
|
|
"mode": "multi",
|
|
"sort": "desc"
|
|
}
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "short",
|
|
"color": {
|
|
"mode": "palette-classic"
|
|
},
|
|
"custom": {
|
|
"drawStyle": "line",
|
|
"lineWidth": 2,
|
|
"fillOpacity": 12,
|
|
"showPoints": "never",
|
|
"spanNulls": true,
|
|
"stacking": {
|
|
"mode": "none",
|
|
"group": "A"
|
|
}
|
|
}
|
|
},
|
|
"overrides": []
|
|
}
|
|
},
|
|
{
|
|
"id": 11,
|
|
"type": "timeseries",
|
|
"title": "⏱ زمان پاسخ هوش مصنوعی",
|
|
"description": "صدک ۹۵ و میانگین زمان پاسخدهی مدل. اگر بالا باشد یعنی مدل اصلی محدود شده و fallback فعال است.",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "copykar-prometheus"
|
|
},
|
|
"gridPos": {
|
|
"h": 8,
|
|
"w": 8,
|
|
"x": 8,
|
|
"y": 25
|
|
},
|
|
"targets": [
|
|
{
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "copykar-prometheus"
|
|
},
|
|
"refId": "A",
|
|
"expr": "histogram_quantile(0.95, sum by (le) (rate(copykar_ai_latency_seconds_bucket[5m])))",
|
|
"legendFormat": "صدک ۹۵"
|
|
},
|
|
{
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "copykar-prometheus"
|
|
},
|
|
"refId": "B",
|
|
"expr": "sum(rate(copykar_ai_latency_seconds_sum[5m])) / sum(rate(copykar_ai_latency_seconds_count[5m]))",
|
|
"legendFormat": "میانگین"
|
|
}
|
|
],
|
|
"options": {
|
|
"legend": {
|
|
"displayMode": "list",
|
|
"placement": "bottom",
|
|
"showLegend": true
|
|
},
|
|
"tooltip": {
|
|
"mode": "multi",
|
|
"sort": "desc"
|
|
}
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "s",
|
|
"color": {
|
|
"mode": "palette-classic"
|
|
},
|
|
"custom": {
|
|
"drawStyle": "line",
|
|
"lineWidth": 2,
|
|
"fillOpacity": 12,
|
|
"showPoints": "never",
|
|
"spanNulls": true,
|
|
"stacking": {
|
|
"mode": "none",
|
|
"group": "A"
|
|
}
|
|
}
|
|
},
|
|
"overrides": []
|
|
}
|
|
},
|
|
{
|
|
"id": 12,
|
|
"type": "stat",
|
|
"title": "🤖 مجموع درخواستهای موفق",
|
|
"description": "تعداد کل بازنویسیهای موفق هوش مصنوعی.",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "copykar-prometheus"
|
|
},
|
|
"gridPos": {
|
|
"h": 8,
|
|
"w": 8,
|
|
"x": 16,
|
|
"y": 25
|
|
},
|
|
"targets": [
|
|
{
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "copykar-prometheus"
|
|
},
|
|
"expr": "sum(copykar_ai_requests_total{status=\"success\"}) or vector(0)",
|
|
"refId": "A",
|
|
"instant": true
|
|
}
|
|
],
|
|
"options": {
|
|
"reduceOptions": {
|
|
"calcs": [
|
|
"lastNotNull"
|
|
],
|
|
"fields": "",
|
|
"values": false
|
|
},
|
|
"textMode": "auto",
|
|
"colorMode": "value",
|
|
"graphMode": "area",
|
|
"justifyMode": "auto",
|
|
"orientation": "auto"
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "short",
|
|
"color": {
|
|
"mode": "thresholds"
|
|
},
|
|
"thresholds": {
|
|
"mode": "absolute",
|
|
"steps": [
|
|
{
|
|
"color": "green",
|
|
"value": null
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"overrides": []
|
|
}
|
|
},
|
|
{
|
|
"collapsed": false,
|
|
"gridPos": {
|
|
"h": 1,
|
|
"w": 24,
|
|
"x": 0,
|
|
"y": 33
|
|
},
|
|
"id": 133,
|
|
"title": "⚠️ سلامت و خطاهای سیستم (Error Health)",
|
|
"type": "row",
|
|
"panels": []
|
|
},
|
|
{
|
|
"id": 13,
|
|
"type": "bargauge",
|
|
"title": "⚠️ خطاهای باز به تفکیک سرویس",
|
|
"description": "خطاهای رفعنشده، گروهبندیشده بر اساس سرویس و نوع استثنا.",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "copykar-prometheus"
|
|
},
|
|
"gridPos": {
|
|
"h": 8,
|
|
"w": 8,
|
|
"x": 0,
|
|
"y": 34
|
|
},
|
|
"targets": [
|
|
{
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "copykar-prometheus"
|
|
},
|
|
"expr": "copykar_errors_open",
|
|
"legendFormat": "{{service}} / {{error_type}}",
|
|
"refId": "A",
|
|
"instant": true
|
|
}
|
|
],
|
|
"options": {
|
|
"displayMode": "gradient",
|
|
"orientation": "horizontal",
|
|
"reduceOptions": {
|
|
"calcs": [
|
|
"lastNotNull"
|
|
],
|
|
"fields": "",
|
|
"values": false
|
|
},
|
|
"showUnfilled": true
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "short",
|
|
"color": {
|
|
"mode": "continuous-GrYlRd"
|
|
},
|
|
"thresholds": {
|
|
"mode": "absolute",
|
|
"steps": [
|
|
{
|
|
"color": "green",
|
|
"value": null
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"overrides": []
|
|
}
|
|
},
|
|
{
|
|
"id": 14,
|
|
"type": "timeseries",
|
|
"title": "📈 روند بروز خطا",
|
|
"description": "نرخ بروز خطاهای جدید در دقیقه، به تفکیک سرویس.",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "copykar-prometheus"
|
|
},
|
|
"gridPos": {
|
|
"h": 8,
|
|
"w": 8,
|
|
"x": 8,
|
|
"y": 34
|
|
},
|
|
"targets": [
|
|
{
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "copykar-prometheus"
|
|
},
|
|
"refId": "A",
|
|
"expr": "sum by (service) (rate(copykar_errors_total[5m]) * 60)",
|
|
"legendFormat": "{{service}}"
|
|
}
|
|
],
|
|
"options": {
|
|
"legend": {
|
|
"displayMode": "list",
|
|
"placement": "bottom",
|
|
"showLegend": true
|
|
},
|
|
"tooltip": {
|
|
"mode": "multi",
|
|
"sort": "desc"
|
|
}
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "short",
|
|
"color": {
|
|
"mode": "palette-classic"
|
|
},
|
|
"custom": {
|
|
"drawStyle": "line",
|
|
"lineWidth": 2,
|
|
"fillOpacity": 12,
|
|
"showPoints": "never",
|
|
"spanNulls": true,
|
|
"stacking": {
|
|
"mode": "none",
|
|
"group": "A"
|
|
}
|
|
}
|
|
},
|
|
"overrides": []
|
|
}
|
|
},
|
|
{
|
|
"id": 15,
|
|
"type": "stat",
|
|
"title": "✅ خطاهای رفعشده",
|
|
"description": "تعداد خطاهایی که ادمین آنها را رفعشده علامت زده است.",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "copykar-prometheus"
|
|
},
|
|
"gridPos": {
|
|
"h": 8,
|
|
"w": 8,
|
|
"x": 16,
|
|
"y": 34
|
|
},
|
|
"targets": [
|
|
{
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "copykar-prometheus"
|
|
},
|
|
"expr": "sum(copykar_errors_resolved_total) or vector(0)",
|
|
"refId": "A",
|
|
"instant": true
|
|
}
|
|
],
|
|
"options": {
|
|
"reduceOptions": {
|
|
"calcs": [
|
|
"lastNotNull"
|
|
],
|
|
"fields": "",
|
|
"values": false
|
|
},
|
|
"textMode": "auto",
|
|
"colorMode": "value",
|
|
"graphMode": "area",
|
|
"justifyMode": "auto",
|
|
"orientation": "auto"
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "short",
|
|
"color": {
|
|
"mode": "thresholds"
|
|
},
|
|
"thresholds": {
|
|
"mode": "absolute",
|
|
"steps": [
|
|
{
|
|
"color": "green",
|
|
"value": null
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"overrides": []
|
|
}
|
|
},
|
|
{
|
|
"collapsed": false,
|
|
"gridPos": {
|
|
"h": 1,
|
|
"w": 24,
|
|
"x": 0,
|
|
"y": 42
|
|
},
|
|
"id": 142,
|
|
"title": "⚡ منابع سرور (Container Telemetry)",
|
|
"type": "row",
|
|
"panels": []
|
|
},
|
|
{
|
|
"id": 16,
|
|
"type": "timeseries",
|
|
"title": "⚡ مصرف پردازنده",
|
|
"description": "درصد مصرف CPU توسط کانتینر کپیکار.",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "copykar-prometheus"
|
|
},
|
|
"gridPos": {
|
|
"h": 8,
|
|
"w": 12,
|
|
"x": 0,
|
|
"y": 43
|
|
},
|
|
"targets": [
|
|
{
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "copykar-prometheus"
|
|
},
|
|
"refId": "A",
|
|
"expr": "rate(process_cpu_seconds_total{job=\"copykar\"}[5m]) * 100",
|
|
"legendFormat": "CPU %"
|
|
}
|
|
],
|
|
"options": {
|
|
"legend": {
|
|
"displayMode": "list",
|
|
"placement": "bottom",
|
|
"showLegend": true
|
|
},
|
|
"tooltip": {
|
|
"mode": "multi",
|
|
"sort": "desc"
|
|
}
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "percent",
|
|
"color": {
|
|
"mode": "palette-classic"
|
|
},
|
|
"custom": {
|
|
"drawStyle": "line",
|
|
"lineWidth": 2,
|
|
"fillOpacity": 12,
|
|
"showPoints": "never",
|
|
"spanNulls": true,
|
|
"stacking": {
|
|
"mode": "none",
|
|
"group": "A"
|
|
}
|
|
}
|
|
},
|
|
"overrides": []
|
|
}
|
|
},
|
|
{
|
|
"id": 17,
|
|
"type": "timeseries",
|
|
"title": "💾 مصرف حافظه",
|
|
"description": "میزان حافظه RAM اشغالشده توسط کانتینر کپیکار.",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "copykar-prometheus"
|
|
},
|
|
"gridPos": {
|
|
"h": 8,
|
|
"w": 12,
|
|
"x": 12,
|
|
"y": 43
|
|
},
|
|
"targets": [
|
|
{
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "copykar-prometheus"
|
|
},
|
|
"refId": "A",
|
|
"expr": "process_resident_memory_bytes{job=\"copykar\"}",
|
|
"legendFormat": "RAM"
|
|
}
|
|
],
|
|
"options": {
|
|
"legend": {
|
|
"displayMode": "list",
|
|
"placement": "bottom",
|
|
"showLegend": true
|
|
},
|
|
"tooltip": {
|
|
"mode": "multi",
|
|
"sort": "desc"
|
|
}
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "bytes",
|
|
"color": {
|
|
"mode": "palette-classic"
|
|
},
|
|
"custom": {
|
|
"drawStyle": "line",
|
|
"lineWidth": 2,
|
|
"fillOpacity": 12,
|
|
"showPoints": "never",
|
|
"spanNulls": true,
|
|
"stacking": {
|
|
"mode": "none",
|
|
"group": "A"
|
|
}
|
|
}
|
|
},
|
|
"overrides": []
|
|
}
|
|
},
|
|
{
|
|
"id": 18,
|
|
"type": "timeseries",
|
|
"title": "💽 روند زمانی فضای آزاد درایوهای سیستمعامل (Host OS Free Storage)",
|
|
"description": "روند زمانی فضای آزاد واقعی هر یک از درایوهای مونتشده سیستمعامل سرور به صورت خوانا (Human-Readable).",
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "copykar-prometheus"
|
|
},
|
|
"gridPos": {
|
|
"h": 9,
|
|
"w": 24,
|
|
"x": 0,
|
|
"y": 51
|
|
},
|
|
"targets": [
|
|
{
|
|
"datasource": {
|
|
"type": "prometheus",
|
|
"uid": "copykar-prometheus"
|
|
},
|
|
"refId": "A",
|
|
"expr": "copykar_disk_free_bytes{mountpoint=~\".+\"}",
|
|
"legendFormat": "{{mountpoint}} ({{device}})"
|
|
}
|
|
],
|
|
"options": {
|
|
"legend": {
|
|
"displayMode": "table",
|
|
"placement": "bottom",
|
|
"showLegend": true,
|
|
"calcs": [
|
|
"lastNotNull",
|
|
"min",
|
|
"max"
|
|
]
|
|
},
|
|
"tooltip": {
|
|
"mode": "multi",
|
|
"sort": "desc"
|
|
}
|
|
},
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "bytes",
|
|
"color": {
|
|
"mode": "palette-classic"
|
|
},
|
|
"custom": {
|
|
"drawStyle": "line",
|
|
"lineWidth": 2,
|
|
"fillOpacity": 10,
|
|
"showPoints": "never",
|
|
"spanNulls": true,
|
|
"stacking": {
|
|
"mode": "none",
|
|
"group": "A"
|
|
}
|
|
}
|
|
},
|
|
"overrides": []
|
|
}
|
|
}
|
|
],
|
|
"refresh": "10s",
|
|
"schemaVersion": 39,
|
|
"tags": [
|
|
"copykar"
|
|
],
|
|
"templating": {
|
|
"list": []
|
|
},
|
|
"time": {
|
|
"from": "now-6h",
|
|
"to": "now"
|
|
},
|
|
"timepicker": {},
|
|
"timezone": "browser",
|
|
"title": "داشبورد مدیریت کپیکار (Copykar Dashboard)",
|
|
"uid": "copykar-executive-dashboard",
|
|
"version": 8,
|
|
"weekStart": ""
|
|
} |