Initialize RTGS prototype repository
3센터 A-A-A RTGS 실시간총액결제 프로토타입 최초 버전관리 시작. - backend: Kotlin/Gradle 멀티모듈(sequencer, common, 채널/센터 모듈) - frontend: Vite + TS - infra: docker-compose, prometheus/grafana, ELK 네이티브 스크립트 - loadtest(k6), sim(장애/순서/정합성 시나리오), docs(PoC 보고서/복원력방안)
This commit is contained in:
63
infra/grafana/dashboards/rtgs-overview.json
Normal file
63
infra/grafana/dashboards/rtgs-overview.json
Normal file
@@ -0,0 +1,63 @@
|
||||
{
|
||||
"uid": "rtgs-overview",
|
||||
"title": "RTGS Overview",
|
||||
"tags": ["rtgs"],
|
||||
"timezone": "browser",
|
||||
"schemaVersion": 39,
|
||||
"version": 1,
|
||||
"refresh": "5s",
|
||||
"time": { "from": "now-15m", "to": "now" },
|
||||
"templating": { "list": [] },
|
||||
"annotations": { "list": [] },
|
||||
"panels": [
|
||||
{
|
||||
"id": 1, "type": "timeseries", "title": "접수 TPS (Chanel /pay)",
|
||||
"datasource": { "type": "prometheus", "uid": "rtgs-prom" },
|
||||
"gridPos": { "h": 8, "w": 12, "x": 0, "y": 0 },
|
||||
"fieldConfig": { "defaults": { "unit": "reqps" }, "overrides": [] },
|
||||
"targets": [ { "refId": "A", "datasource": { "type": "prometheus", "uid": "rtgs-prom" }, "expr": "sum(rate(http_server_requests_seconds_count{uri=\"/pay/customer\"}[1m]))", "legendFormat": "접수/초" } ]
|
||||
},
|
||||
{
|
||||
"id": 2, "type": "timeseries", "title": "접수 지연 p95 (s)",
|
||||
"datasource": { "type": "prometheus", "uid": "rtgs-prom" },
|
||||
"gridPos": { "h": 8, "w": 12, "x": 12, "y": 0 },
|
||||
"fieldConfig": { "defaults": { "unit": "s" }, "overrides": [] },
|
||||
"targets": [ { "refId": "A", "datasource": { "type": "prometheus", "uid": "rtgs-prom" }, "expr": "histogram_quantile(0.95, sum by (le) (rate(http_server_requests_seconds_bucket{uri=\"/pay/customer\"}[5m])))", "legendFormat": "p95" } ]
|
||||
},
|
||||
{
|
||||
"id": 3, "type": "timeseries", "title": "정산 처리율 (Hermes, status별)",
|
||||
"datasource": { "type": "prometheus", "uid": "rtgs-prom" },
|
||||
"gridPos": { "h": 8, "w": 12, "x": 0, "y": 8 },
|
||||
"fieldConfig": { "defaults": { "unit": "ops" }, "overrides": [] },
|
||||
"targets": [ { "refId": "A", "datasource": { "type": "prometheus", "uid": "rtgs-prom" }, "expr": "sum by (status) (rate(rtgs_settlements_total[1m]))", "legendFormat": "{{status}}" } ]
|
||||
},
|
||||
{
|
||||
"id": 4, "type": "timeseries", "title": "정산 지연 p95 (Hermes)",
|
||||
"datasource": { "type": "prometheus", "uid": "rtgs-prom" },
|
||||
"gridPos": { "h": 8, "w": 12, "x": 12, "y": 8 },
|
||||
"fieldConfig": { "defaults": { "unit": "s" }, "overrides": [] },
|
||||
"targets": [ { "refId": "A", "datasource": { "type": "prometheus", "uid": "rtgs-prom" }, "expr": "histogram_quantile(0.95, sum by (le) (rate(rtgs_settle_seconds_bucket[5m])))", "legendFormat": "p95" } ]
|
||||
},
|
||||
{
|
||||
"id": 5, "type": "timeseries", "title": "Kafka Consumer Lag",
|
||||
"datasource": { "type": "prometheus", "uid": "rtgs-prom" },
|
||||
"gridPos": { "h": 8, "w": 12, "x": 0, "y": 16 },
|
||||
"fieldConfig": { "defaults": { "unit": "short" }, "overrides": [] },
|
||||
"targets": [ { "refId": "A", "datasource": { "type": "prometheus", "uid": "rtgs-prom" }, "expr": "sum by (service) (kafka_consumer_fetch_manager_records_lag)", "legendFormat": "{{service}}" } ]
|
||||
},
|
||||
{
|
||||
"id": 6, "type": "timeseries", "title": "JVM Heap 사용 (service별)",
|
||||
"datasource": { "type": "prometheus", "uid": "rtgs-prom" },
|
||||
"gridPos": { "h": 8, "w": 12, "x": 12, "y": 16 },
|
||||
"fieldConfig": { "defaults": { "unit": "bytes" }, "overrides": [] },
|
||||
"targets": [ { "refId": "A", "datasource": { "type": "prometheus", "uid": "rtgs-prom" }, "expr": "sum by (service) (jvm_memory_used_bytes{area=\"heap\"})", "legendFormat": "{{service}}" } ]
|
||||
},
|
||||
{
|
||||
"id": 7, "type": "stat", "title": "완결 누계 (Prada, status별)",
|
||||
"datasource": { "type": "prometheus", "uid": "rtgs-prom" },
|
||||
"gridPos": { "h": 6, "w": 24, "x": 0, "y": 24 },
|
||||
"fieldConfig": { "defaults": { "unit": "short" }, "overrides": [] },
|
||||
"targets": [ { "refId": "A", "datasource": { "type": "prometheus", "uid": "rtgs-prom" }, "expr": "sum by (status) (rtgs_finality_total)", "legendFormat": "{{status}}" } ]
|
||||
}
|
||||
]
|
||||
}
|
||||
9
infra/grafana/provisioning/dashboards/rtgs.yaml
Normal file
9
infra/grafana/provisioning/dashboards/rtgs.yaml
Normal file
@@ -0,0 +1,9 @@
|
||||
apiVersion: 1
|
||||
providers:
|
||||
- name: rtgs
|
||||
type: file
|
||||
disableDeletion: false
|
||||
allowUiUpdates: true
|
||||
options:
|
||||
path: C:\ai-dev\workspace\rtgs\infra\grafana\dashboards
|
||||
foldersFromFilesStructure: false
|
||||
9
infra/grafana/provisioning/datasources/rtgs.yaml
Normal file
9
infra/grafana/provisioning/datasources/rtgs.yaml
Normal file
@@ -0,0 +1,9 @@
|
||||
apiVersion: 1
|
||||
datasources:
|
||||
- name: Prometheus
|
||||
uid: rtgs-prom
|
||||
type: prometheus
|
||||
access: proxy
|
||||
url: http://localhost:9090
|
||||
isDefault: true
|
||||
editable: true
|
||||
Reference in New Issue
Block a user