목차

1. 소개

2. 개요

3. 구성 요소

4. 구성 설명

5. 문제 해결

5.1 Pod 장애

5.2 CDL 세션 키에서 세션 정보를 얻는 방법

5.3 CDL Pod가 작동하지 않음

5.4 Mirror Maker Pod가 초기화 상태입니다.

5.5 CDL 인덱스가 제대로 복제되지 않음

5.6 CDL 작업이 실패하고 있지만 연결에 성공했습니다.

5.7 CDL에서 조기에 기록 삭제 알림 전송/지연

6. 경고

7. 가장 일반적인 문제

7.1 cdl복제 오류

7.2 cdlRemoteConnectionFailure & GRPC_Connections_Remote_Site

8. 그라파나

1. 소개

이 문서에서는 SMF 환경의 CDL(Common Data Layer) 트러블슈팅에 대한 기본 사항을 다룹니다. 이 링크에서 찾을 수 있는 문서입니다.

2. 개요

Cisco CDL(Common Data Layer)은 모든 클라우드 네이티브 애플리케이션을 위한 고성능 차세대 KV(Key-value) 데이터 저장소 계층입니다.

CDL은 현재 HA(고가용성) 및 Geo HA 기능을 갖춘 상태 관리 구성 요소로 사용되고 있습니다.

CDL은 다음을 제공합니다.

- 서로 다른 NF(Network Function)의 공통 데이터 저장소 계층.

- 짧은 지연 시간의 읽기 및 쓰기(메모리 세션 스토리지에서)

- 동일한 세션에 대한 DoS(Denial of Service) 공격이 보고되면 NF에 알려 가입자를 차단합니다.

- 고가용성 - 최소 2개의 복제본이 포함된 로컬 이중화

- Geo 이중화 - 사이트 2개

- 쓰기 작업에 사용할 수 있는 기본/보조 개념의 모든 슬롯이 없습니다. 기본 선택이 발생하지 않으므로 페일오버 시간이 단축됩니다.

3. 구성 요소

- 엔드포인트: (cdl-ep-session-c1-d0-7c79c87d65-xpm5v)

- CDL 엔드포인트는 K8s(Kubernetes) POD입니다. NF 클라이언트에 대한 gRPC over HTTP2 인터페이스를 노출하기 위해 구축되며, 데이터베이스 서비스 요청을 처리하기 위한 것이며 노스바운드 애플리케이션의 진입점 역할을 합니다.

- 슬롯: (cdl-slot-session-c1-m1-0)

- CDL 엔드포인트는 여러 슬롯 마이크로서비스를 지원합니다. 이러한 마이크로서비스는 Cisco Data Store에 내부 gRPC 인터페이스를 노출하기 위해 구축된 K8s POD입니다

- 각 슬롯 POD에는 한정된 수의 세션이 있습니다. 이 세션은 바이트 배열 형식의 실제 세션 데이터입니다

- 인덱스: (cdl-index-session-c1-m1-0)

- Index 마이크로서비스는 인덱싱 관련 데이터를 보관합니다

- 그런 다음 이 인덱싱 데이터는 슬롯 마이크로서비스에서 실제 세션 데이터를 검색하는 데 사용됩니다

- ETCD: (etcd-smf-etcd-cluster-0)

- CDL은 ETCD(오픈 소스 키 값 저장소)를 DB 서비스 검색으로 사용합니다. Cisco Data Store EP가 시작, 종료 또는 종료되면 게시 상태에 의해 이벤트가 추가됩니다. 따라서 이러한 이벤트에 가입된 각 POD에 알림이 전송됩니다. 또한 키 이벤트가 추가 또는 제거되면 로컬 맵이 새로 고쳐집니다.

- 카프카: (카프카-0)

- Kafka POD는 인덱싱을 위해 로컬 복제본 간에 그리고 사이트 간에 데이터를 복제합니다. 사이트 간 복제의 경우 Kafak은 MirrorMaker를 사용합니다.

- 미러 메이커: (mirror-maker-0)

- Mirror Maker POD는 원격 CDL 사이트에 인덱싱 데이터를 지리적 방식으로 복제합니다. 원격 사이트에서 데이터를 가져와 로컬 Kafka 사이트에 게시하여 적절한 인덱싱 인스턴스를 선택합니다.

예:

master-1:~$ kubectl get pods -n smf-smf -o wide

NAME                                                        READY   STATUS    RESTARTS   AGE   IP                NODE                         NOMINATED NODE   READINESS GATES

cdl-ep-session-c1-d0-7889db4d87-5mln5                       1/1     Running   0          80d   192.168.16.247   smf-data-worker-5   <none>           <none>

cdl-ep-session-c1-d0-7889db4d87-8q7hg                       1/1     Running   0          80d   192.168.18.108   smf-data-worker-1   <none>           <none>

cdl-ep-session-c1-d0-7889db4d87-fj2nf                       1/1     Running   0          80d   192.168.24.206   smf-data-worker-3   <none>           <none>

cdl-ep-session-c1-d0-7889db4d87-z6c2z                       1/1     Running   0          34d   192.168.4.164    smf-data-worker-2   <none>           <none>

cdl-ep-session-c1-d0-7889db4d87-z7c89                       1/1     Running   0          80d   192.168.7.161    smf-data-worker-4   <none>           <none>

cdl-index-session-c1-m1-0                                   1/1     Running   0          80d   192.168.7.172    smf-data-worker-4   <none>           <none>

cdl-index-session-c1-m1-1                                   1/1     Running   0          80d   192.168.24.241   smf-data-worker-3   <none>           <none>

cdl-index-session-c1-m2-0                                   1/1     Running   0          49d   192.168.18.116   smf-data-worker-1   <none>           <none>

cdl-index-session-c1-m2-1                                   1/1     Running   0          80d   192.168.7.173    smf-data-worker-4   <none>           <none>

cdl-index-session-c1-m3-0                                   1/1     Running   0          80d   192.168.24.197   smf-data-worker-3   <none>           <none>

cdl-index-session-c1-m3-1                                   1/1     Running   0          80d   192.168.18.107   smf-data-worker-1   <none>           <none>

cdl-index-session-c1-m4-0                                   1/1     Running   0          80d   192.168.7.158    smf-data-worker-4   <none>           <none>

cdl-index-session-c1-m4-1                                   1/1     Running   0          49d   192.168.16.251   smf-data-worker-5   <none>           <none>

cdl-slot-session-c1-m1-0                                    1/1     Running   0          80d   192.168.18.117   smf-data-worker-1   <none>           <none>

cdl-slot-session-c1-m1-1                                    1/1     Running   0          80d   192.168.24.201   smf-data-worker-3   <none>           <none>

cdl-slot-session-c1-m2-0                                    1/1     Running   0          80d   192.168.16.245   smf-data-worker-5   <none>           <none>

cdl-slot-session-c1-m2-1                                    1/1     Running   0          80d   192.168.18.123   smf-data-worker-1   <none>           <none>

cdl-slot-session-c1-m3-0                                    1/1     Running   0          34d   192.168.4.156    smf-data-worker-2   <none>           <none>

cdl-slot-session-c1-m3-1                                    1/1     Running   0          80d   192.168.18.78    smf-data-worker-1   <none>           <none>

cdl-slot-session-c1-m4-0                                    1/1     Running   0          34d   192.168.4.170    smf-data-worker-2   <none>           <none>

cdl-slot-session-c1-m4-1                                    1/1     Running   0          80d   192.168.7.177    smf-data-worker-4   <none>           <none>

cdl-slot-session-c1-m5-0                                    1/1     Running   0          80d   192.168.24.246   smf-data-worker-3   <none>           <none>

cdl-slot-session-c1-m5-1                                    1/1     Running   0          34d   192.168.4.163    smf-data-worker-2   <none>           <none>

cdl-slot-session-c1-m6-0                                    1/1     Running   0          80d   192.168.18.119   smf-data-worker-1   <none>           <none>

cdl-slot-session-c1-m6-1                                    1/1     Running   0          80d   192.168.16.228   smf-data-worker-5   <none>           <none>

cdl-slot-session-c1-m7-0                                    1/1     Running   0          80d   192.168.16.215   smf-data-worker-5   <none>           <none>

cdl-slot-session-c1-m7-1                                    1/1     Running   0          49d   192.168.4.167    smf-data-worker-2   <none>           <none>

cdl-slot-session-c1-m8-0                                    1/1     Running   0          49d   192.168.24.213   smf-data-worker-3   <none>           <none>

cdl-slot-session-c1-m8-1                                    1/1     Running   0          80d   192.168.16.253   smf-data-worker-5   <none>           <none>

etcd-smf-smf-etcd-cluster-0                            2/2     Running   0          80d   192.168.11.176   smf-data-master-1   <none>           <none>

etcd-smf-smf-etcd-cluster-1                            2/2     Running   0          48d   192.168.7.59     smf-data-master-2   <none>           <none>

etcd-smf-smf-etcd-cluster-2                            2/2     Running   1          34d   192.168.11.66    smf-data-master-3   <none>           <none>

georeplication-pod-0                                        1/1     Running   0          80d   10.10.1.22       smf-data-master-1   <none>           <none>

georeplication-pod-1                                        1/1     Running   0          48d   10.10.1.23       smf-data-master-2   <none>           <none>

grafana-dashboard-cdl-smf-smf-77bd69cff7-qbvmv         1/1     Running   0          34d   192.168.7.41     smf-data-master-2   <none>           <none>

kafka-0                                                     2/2     Running   0          80d   192.168.24.245   smf-data-worker-3   <none>           <none>

kafka-1                                                     2/2     Running   0          49d   192.168.16.200   smf-data-worker-5   <none>           <none>

mirror-maker-0                                              1/1     Running   1          80d   192.168.18.74    smf-data-worker-1   <none>           <none>

zookeeper-0                                                 1/1     Running   0          34d   192.168.11.73    smf-data-master-3   <none>           <none>

zookeeper-1                                                 1/1     Running   0          48d   192.168.7.47     smf-data-master-2   <none>           <none>

zookeeper-2

CDL 아키텍처

참고: 쓰기 작업에 사용할 수 있는 기본/보조 개념의 모든 슬롯이 없습니다. 기본 선택이 발생하지 않으므로 페일오버 시간이 단축됩니다.

참고: 기본적으로 CDL은 db-ep용 복제본 2개, 슬롯 맵 1개(맵당 복제본 2개) 및 인덱스 맵 1개(맵당 복제본 2개)와 함께 구축됩니다.

4. 구성 설명

smf# show running-config cdl

cdl system-id          1            /// unique across the site, system-id 1 is the primary site ID for sliceNames SMF1 SMF2 in HA GR CDL deploy

cdl node-type          db-data      /// node label to configure the node affinity

cdl enable-geo-replication true     /// CDL GR Deployment with 2 RACKS

cdl remote-site 2

db-endpoint host x.x.x.x      /// Remote site cdl-ep configuration on site-1

db-endpoint port 8882

kafka-server x.x.x.x 10061    /// Remote site kafka configuration on site-1

exit

kafka-server x.x.x.x 10061

exit

exit

cdl label-config session            /// Configures the list of label for CDL pods

endpoint key smi.cisco.com/node-type-3

endpoint value session

slot map 1

key   smi.cisco.com/node-type-3

value session

exit

slot map 2

key   smi.cisco.com/node-type-3

value session

exit

slot map 3

key   smi.cisco.com/node-type-3

value session

exit

slot map 4

key   smi.cisco.com/node-type-3

value session

exit

slot map 5

key   smi.cisco.com/node-type-3

value session

exit

slot map 6

key   smi.cisco.com/node-type-3

value session

exit

slot map 7

key   smi.cisco.com/node-type-3

value session

exit

slot map 8

key   smi.cisco.com/node-type-3

value session

exit

index map 1

key   smi.cisco.com/node-type-3

value session

exit

index map 2

key   smi.cisco.com/node-type-3

value session

exit

index map 3

key   smi.cisco.com/node-type-3

value session

exit

index map 4

key   smi.cisco.com/node-type-3

value session

exit

exit

cdl datastore session                 /// unique with in the site

label-config    session

geo-remote-site [ 2 ]

slice-names     [ SMF1 SMF2 ]

endpoint cpu-request 2000

endpoint go-max-procs 16

endpoint replica 5                  /// number of cdl-ep pods

endpoint external-ip x.x.x.x

endpoint external-port 8882

index cpu-request 2000

index go-max-procs 8

index replica 2                     /// number of replicas per mop for cdl-index, can not be changed after CDL deployement.

NOTE: If you need to change number of index replica, set the system mode to shutdown from respective ops-center CLI, change the replica and set the system mode to running

index map    4                      /// number of mops for cdl-index

index write-factor 1                /// number of copies to be written before a successful response

slot cpu-request 2000

slot go-max-procs 8

slot replica 2                     /// number of replicas per mop for cdl-slot

slot map     8                    /// number of mops for cdl-slot

slot write-factor 1

slot metrics report-idle-session-type true

features instance-aware-notification enable true      /// This enables GR failover notification

features instance-aware-notification system-id 1

slice-names [ SMF1 ]

exit

features instance-aware-notification system-id 2

slice-names [ SMF2 ]

exit

exit

cdl kafka replica 2

cdl kafka label-config key smi.cisco.com/node-type-3

cdl kafka label-config value session

cdl kafka external-ip x.x.x.x 10061

exit

cdl kafka external-ip x.x.x.x 10061

exit

5. 문제 해결

5.1 Pod 장애

CDL의 작동은 Key(키) > Value db(값 db)로 간단합니다.

- 모든 요청은 cdl-엔드포인트 Pod로 전달됩니다.

- cdl-index 포드에서는 키를 저장합니다. 라운드 로빈.

- cdl-slot에서 값(세션 정보)을 저장합니다. 라운드 로빈.

- 각 포드 맵(유형)에 대해 백업(복제본 수)을 정의합니다.

- 카프카 포드는 운송 버스로 사용됩니다.

- 미러 메이커는 다른 랙에 대한 전송 버스(Geo 이중화)로 사용됩니다.

각각에 대한 실패는 이 유형/맵의 모든 포드가 동시에 다운된 경우, 즉 다음과 같이 번역될 수 있습니다.

- cdl-endpont - CDL과 통신하는 중 오류가 발생했습니다.

- cdl-index - 세션 데이터에 대한 키 손실

- cdl-slot - 세션 데이터 손실

- Kafka - 포드 유형 맵 간의 동기화 옵션 손실

- 미러 메이커 - 다른 geo redudand 노드와의 동기화 중단

cdl 포드 로그는 빠르게 롤오버되지 않기 때문에 우리는 항상 관련 포드에서 로그를 수집 할 수 있습니다, 그래서 그들을 수집 하는 추가 가치가 있습니다.

Remembertac-debug는 스냅샷이 저장되므로 로그가 모든 데이터를 인쇄하는 동안 스냅샷을 적시에 수집합니다.

Pod 설명

kubectl describe pod cdl-ep-session-c1-d0-7889db4d87-5mln5 -n smf-rcdn

Pod 로그 수집

kubectl logs cdl-ep-session-c1-d0-7c79c87d65-xpm5v -n smf-rcdn

5.2 CDL 세션 키에서 세션 정보를 얻는 방법

CDL 내부의 각 세션에는 이 세션을 식별하는 unique-keys라는 필드가 있습니다.

show subscriber supi 및 cdl show sessions summary slice-name slice1 db-name session filter의 세션 인쇄물을 비교할 경우

- ipv4 세션 주소가 supi = "1#/#imsi-123969789012404:10.0.0.3"과 결합되었습니다.

- ddn + ip4 주소 = "1#/#lab:10.0.0.3"

- ipv6 세션 주소가 supi = "1#/#imsi-123969789012404:2001:db0:0:2::"과 결합되었습니다.

- ddn + 세션의 ipv6 주소 = "1#/#lab:2001:db0:0:2::"

- smfTeid N4 Session Key = "1#/#293601283" UPF에서 오류를 트러블슈팅할 때 매우 유용합니다. 세션 로그를 검색하고 세션 관련 정보를 찾을 수 있습니다.

- supi + ebi = "1#/#imsi-123969789012404:ebi-5"

- supi + ddn= "1#/#imsi-123969789012404:lab"

[smf/data] smf# cdl show sessions summary slice-name slice1 db-name session filter { condition match key 1#/#293601283 }

Sun Mar  19 20:17:41.914 UTC+00:00

message params: {session-summary cli session {0 100 1#/#293601283 0 [{0 1#/#293601283}] [] 0 0 false 4096 [] [] 0} slice1}

session {

primary-key 1#/#imsi-123969789012404:1

unique-keys [ "1#/#imsi-123969789012404:10.0.0.3" "1#/#lab:10.0.0.3" "1#/#imsi-123969789012404:2001:db0:0:2::" "1#/#lab:2001:db0:0:2::" "1#/#293601283" "1#/#imsi-123969789012404:ebi-5" "1#/#imsi-123969789012404:lab" ]

non-unique-keys [ "1#/#roaming-status:visitor-lbo" "1#/#ue-type:nr-capable" "1#/#supi:imsi-123969789012404" "1#/#gpsi:msisdn-22331010101010" "1#/#pei:imei-123456789012381" "1#/#psid:1" "1#/#snssai:001000003" "1#/#dnn:lab" "1#/#emergency:false" "1#/#rat:nr" "1#/#access:3gpp" access "1#/#connectivity:5g" "1#/#udm-uecm:10.10.10.215" "1#/#udm-sdm:10.10.10.215" "1#/#auth-status:unauthenticated" "1#/#pcfGroupId:PCF-dnn=lab;" "1#/#policy:2" "1#/#pcf:10.10.10.216" "1#/#upf:10.10.10.150" "1#/#upfEpKey:10.10.10.150:10.10.10.202" "1#/#ipv4-addr:pool1/10.0.0.3" "1#/#ipv4-pool:pool1" "1#/#ipv4-range:pool1/10.0.0.1" "1#/#ipv4-startrange:pool1/10.0.0.1" "1#/#ipv6-pfx:pool1/2001:db0:0:2::" "1#/#ipv6-pool:pool1" "1#/#ipv6-range:pool1/2001:db0::" "1#/#ipv6-startrange:pool1/2001:db0::" "1#/#id-index:1:0:32768" "1#/#id-value:2/3" "1#/#chfGroupId:CHF-dnn=lab;" "1#/#chf:10.10.10.218" "1#/#amf:10.10.10.217" "1#/#peerGtpuEpKey:10.10.10.150:20.0.0.1" "1#/#namespace:smf" ]

flags [ flag3:peerGtpuEpKey:10.10.10.150:20.0.0.1 session-state-flag:smf_active ]

map-id 2

instance-id 1

app-instance-id 1

version 1

create-time 2023-03-19 20:14:14.381940117 +0000 UTC

last-updated-time 2023-03-19 20:14:14.943366502 +0000 UTC

purge-on-eval false

next-eval-time 2023-03-26 20:14:14 +0000 UTC

session-types [ rat_type:NR wps:non_wps emergency_call:false pdu_type:ipv4v6 dnn:lab qos_5qi_1_rat_type:NR ssc_mode:ssc_mode_1 always_on:disable fourg_only_ue:false up_state:active qos_5qi_5_rat_type:NR dcnr:disable smf_roaming_status:visitor-lbo dnn:lab:rat_type:NR ]

data-size 2866

}

[smf/data] smf#

SMF의 인쇄물과 비교하면 다음과 같습니다.

[smf/data] smf# show subscriber supi imsi-123969789012404 gr-instance 1 namespace smf

Sun Mar  19 20:25:47.816 UTC+00:00

subscriber-details

{

"subResponses": [

[

"roaming-status:visitor-lbo",

"ue-type:nr-capable",

"supi:imsi-123969789012404",

"gpsi:msisdn-22331010101010",

"pei:imei-123456789012381",

"psid:1",

"snssai:001000003",

"dnn:lab",

"emergency:false",

"rat:nr",

"access:3gpp access",

"connectivity:5g",

"udm-uecm:10.10.10.215",

"udm-sdm:10.10.10.215",

"auth-status:unauthenticated",

"pcfGroupId:PCF-dnn=lab;",

"policy:2",

"pcf:10.10.10.216",

"upf:10.10.10.150",

"upfEpKey:10.10.10.150:10.10.10.202",

"ipv4-addr:pool1/10.0.0.3",

"ipv4-pool:pool1",

"ipv4-range:pool1/10.0.0.1",

"ipv4-startrange:pool1/10.0.0.1",

"ipv6-pfx:pool1/2001:db0:0:2::",

"ipv6-pool:pool1",

"ipv6-range:pool1/2001:db0::",

"ipv6-startrange:pool1/2001:db0::",

"id-index:1:0:32768",

"id-value:2/3",

"chfGroupId:CHF-dnn=lab;",

"chf:10.10.10.218",

"amf:10.10.10.217",

"peerGtpuEpKey:10.10.10.150:20.0.0.1",

"namespace:smf",

"nf-service:smf"

]

]

}

SMF에서 CDL 상태를 확인합니다.

cdl show status

cdl show sessions summary slice-name <slice name> | more

5.3 CDL Pod가 작동하지 않음

식별 방법

설명 포드 출력(컨테이너/멤버/상태/사유, 이벤트)을 확인합니다.

kubectl describe pods -n <namespace> <failed pod name>

해결 방법

1. Pod가 보류 중 상태임 레이블 값이 cdl/node-type number of replicas의 값과 같은 k8s 노드가 레이블 값이 cdl/node-type의 값과 같은 k8s 노드의 수보다 작거나 같은지 확인합니다.
kubectl get nodes -l smi.cisco.com/node-type=<value of cdl/node-type, default value is 'session' in multi node setup)

2. 포드가 CrashLoopBackOff 실패 상태에 있습니다. etcd 포드 상태를 확인하십시오. etcd 포드가 실행되고 있지 않으면 etcd 문제를 해결합니다.
kubectl describe pods -n <namespace> <etcd pod name>

3. Pod가 ImagePullBack 실패 상태입니다. 키를 누른 리포지토리와 이미지 레지스트리에 액세스할 수 있는지 확인하십시오. 필요한 프록시 및 DNS 서버가 구성되어 있는지 확인합니다.

5.4 Mirror Maker Pod가 초기화 상태입니다.

설명 포드 출력 및 포드 로그 확인

kubectl describe pods -n <namespace> <failed pod name>

kubectl logs -n <namespace> <failed pod name> [-c <container name>]

해결 방법

- Kafka에 대해 구성된 외부 IP가 올바른지 확인합니다.

- 외부 IP를 통해 원격 사이트 kafka의 가용성 확인

5.5 CDL 인덱스가 제대로 복제되지 않음

식별 방법

한 사이트에 추가된 데이터는 다른 사이트에서 액세스할 수 없습니다.

해결 방법

- 로컬 시스템 ID 컨피그레이션 및 원격 사이트 컨피그레이션을 확인합니다.

- 각 사이트 간의 CDL 엔드포인트 및 kafka 연결성을 확인합니다.

- 각 사이트의 맵, 인덱스 및 슬롯 복제본을 확인합니다. 이는 모든 사이트에서 동일할 수 있습니다.

5.6 CDL 작업이 실패하고 있지만 연결에 성공했습니다.

해결 방법

- 모든 Pod가 준비 및 실행 상태인지 확인합니다.

- 인덱스 포드는 피어 복제본과의 동기화가 완료된 경우에만 준비 상태입니다(로컬 또는 원격(사용 가능한 경우)).

- 피어 복제본과의 동기화가 완료된 경우에만 슬롯 포드가 준비 상태입니다(로컬 또는 원격(사용 가능한 경우).

- 하나 이상의 슬롯과 하나의 인덱스 포드를 사용할 수 없으면 엔드포인트가 준비 상태가 아닙니다. 준비가 되지 않은 경우에도 grpc 연결은 클라이언트에서 수락됩니다.

5.7 CDL에서 조기에 기록 삭제 알림 전송/지연

해결 방법

- k8s 클러스터에서는 모든 노드가 시간 동기화될 수 있습니다

- 모든 k8s 노드에서 NTP 동기화 상태를 확인합니다. 문제가 있으면 해결해 주세요.

chronyc tracking

chronyc sources -v

chronyc sourcestats -v

6. 경고

경보

심각도

요약

cdlLocalRequestFailure

critical(심각)

로컬 요청 성공률이 5분 이상 90% 미만인 경우 경보가 트리거됩니다

cdl원격 연결 실패

critical(심각)

엔드포인트 Pod에서 원격 사이트로의 활성 연결이 5분 이상 0에 도달하면 경보가 울립니다(GR 지원 시스템에만 해당).

cdlRemoteRequestFailure

critical(심각)

수신 원격 요청 성공률이 5분 이상 90% 미만인 경우 경보가 트리거됩니다(GR 지원 시스템에만 해당).

cdl복제 오류

critical(심각)

cdl-global 네임스페이스의 로컬 요청에 대한 보내는 복제 요청의 비율이 5분 이상 90% 미만인 경우(GR 지원 시스템에만 해당). 이러한 알림은 업그레이드 활동 중에 예상되므로 무시해도 됩니다.

cdlKafka원격 복제지연

critical(심각)

원격 사이트로의 Kafka 복제 지연이 5분 이상 10초를 초과하면 경보가 발생합니다(GR 지원 시스템에만 해당).

cdlOverloaded - 주

major(중요)

CDL 시스템이 구성된 용량의 비율(기본값 80%)에 도달하면, 시스템이 경보를 트리거합니다(오버로드 보호 기능이 활성화된 경우에만 해당)

cdlOverloaded - 위험

critical(심각)

CDL 시스템이 구성된 용량의 백분율(기본값 90%)에 도달하면(오버로드 보호 기능이 활성화된 경우에만) 경보가 트리거됩니다

cdlKafkaConnectionFailure

critical(심각)

CDL 인덱스 포드가 5분 이상 kafka에서 연결 해제된 경우

7. 가장 일반적인 문제

7.1 cdl복제 오류

이 알림은 일반적으로 운영 센터 또는 시스템 업그레이드 발생 시 표시되며, 이에 대한 CR을 찾고, CEE 발생 알림을 확인하려고 시도하며 이미 지워졌습니다.

7.2 cdlRemoteConnectionFailure & GRPC_Connections_Remote_Site

이 설명은 모든 "cdlRemoteConnectionFailure" 및 "GRPC_Connections_Remote_Site" 알림에 적용됩니다.

cdlRemoteConnectionFailure 경고의 경우:

CDL 엔드포인트 로그에서 CDL 엔드포인트 Pod에서 원격 호스트로의 연결이 끊어진 것을 확인할 수 있습니다.

2022/01/20 01:36:18.852 [ERROR] [RemoteEndointConnection.go:572] [datastore.ep.session] Connection to remote systemID 2 has been lost

CDL 엔드포인트 Pod에서 원격 서버에 연결하려고 했지만 원격 호스트에서 이를 거부했습니다.

2022/01/20 01:37:08.730 [WARN] [checksum.go:836] [datastore.checksum.session] Could not get checksum from remote for systemID: 2, clot: 8, Instance: 2 : rpc error: code = Unavailable desc = connection error: desc = "transport: Error while dialing dial tcp 10.10.10.141:8882: connect: connection refused"

2022/01/20 01:37:08.732 [WARN] [checksum.go:836] [datastore.checksum.session] Could not get checksum from remote for systemID: 2, clot: 8, Instance: 1 : rpc error: code = Unavailable desc = connection error: desc = "transport: Error while dialing dial tcp 10.10.10.141:8882: connect: connection refused"

2022/01/20 01:37:08.742 [WARN] [checksum.go:836] [datastore.checksum.session] Could not get checksum from remote for systemID: 2, clot: 8, Instance: 1 : rpc error: code = Unavailable desc = connection error: desc = "transport: Error while dialing dial tcp 10.10.10.141:8882: connect: connection refused"

2022/01/20 01:37:08.742 [WARN] [checksum.go:836] [datastore.checksum.session] Could not get checksum from remote for systemID: 2, clot: 8, Instance: 2 : rpc error: code = Unavailable desc = connection error: desc = "transport: Error while dialing dial tcp 10.10.10.141:8882: connect: connection refused"

2022/01/20 01:37:08.752 [WARN] [checksum.go:836] [datastore.checksum.session] Could not get checksum from remote for systemID: 2, clot: 7, Instance: 2 : rpc error: code = Unavailable desc = connection error: desc = "transport: Error while dialing dial tcp 10.10.10.141:8882: connect: connection refused"

2022/01/20 01:37:08.754 [WARN] [checksum.go:836] [datastore.checksum.session] Could not get checksum from remote for systemID: 2, clot: 7, Instance: 1 : rpc error: code = Unavailable desc = connection error: desc = "transport: Error while dialing dial tcp 10.10.10.141:8882: connect: connection refused"

원격 호스트에 5분간 계속 연결할 수 없으므로 아래와 같이 경고가 발생했습니다.

alerts history detail cdlRemoteConnectionFailure f5237c750de6

severity critical

type "Processing Error Alarm"

startsAt 2025-01-21T01:41:26.857Z

endsAt 2025-01-21T02:10:46.857Z

source cdl-ep-session-c1-d0-6d86f55945-pxfx9

summary "CDL endpoint connections from pod cdl-ep-session-c1-d0-6d86f55945-pxfx9 and namespace smf-rcdn to remote site reached 0 for longer than 5 minutes"

labels [ "alertname: cdlRemoteConnectionFailure" "cluster: smf-data-rcdn_cee" "monitor: prometheus" "namespace: smf-rcdn" "pod: cdl-ep-session-c1-d0-6d86f55945-pxfx9" "replica: smf-data-rcdn_cee" "severity: critical" ]

annotations [ "summary: CDL endpoint connections from pod cdl-ep-session-c1-d0-6d86f55945-pxfx9 and namespace smf-rcdn to remote site reached 0 for longer than 5 minutes" "type: Processing Error Alarm" ]

원격 호스트에 대한 연결이 02:10:32에 성공했습니다.

2022/01/20 02:10:32.702 [WARN] [RemoteEndointConnection.go:437] [datastore.ep.session] Stream to remote site successful

2022/01/20 02:10:38.923 [WARN] [RemoteEndointConnection.go:563] [datastore.ep.session] Cdl status changed - new version 283eb1e86aa9561c653083e6b691c919, old version f81478148c9e1ccb28f3ec0d90ca04e1. Reloading connections

2022/01/20 02:10:38.927 [WARN] [RemoteEndointConnection.go:437] [datastore.ep.session] Stream to remote site successful

2022/01/20 02:10:38.934 [WARN] [RemoteEndointConnection.go:437] [datastore.ep.session] Stream to remote site successful

2022/01/20 02:10:38.934 [WARN] [RemoteEndointConnection.go:437] [datastore.ep.session] Stream to remote site successful

2022/01/20 02:10:38.935 [WARN] [RemoteEndointConnection.go:437] [datastore.ep.session] Stream to remote site successful

CDL 원격 사이트용 SMF에 컨피그레이션:

cdl remote-site 2

db-endpoint host 10.10.10.141

db-endpoint port 8882

kafka-server 10.10.19.139 10061

exit

kafka-server 10.10.10.140 10061

exit

exit

경보 GRPC_Connections_Remote_Site의 경우:

"GRPC_Connections_Remote_Site"도 동일한 CDL 엔드포인트 Pod에서 제공되므로 동일한 설명이 적용됩니다.

alerts history detail GRPC_Connections_Remote_Site f083cb9d9b8d

severity critical

type "Communications Alarm"

startsAt 2025-01-21T01:37:35.160Z

endsAt 2025-01-21T02:11:35.160Z

source cdl-ep-session-c1-d0-6d86f55945-pxfx9

summary "GRPC connections to remote site are not equal to 4"

labels [ "alertname: GRPC_Connections_Remote_Site" "cluster: smf-data-rcdn_cee" "monitor: prometheus" "namespace: smf-rcdn" "pod: cdl-ep-session-c1-d0-6d86f55945-pxfx9" "replica: smf-data-rcdn_cee" "severity: critical" "systemId: 2" ]

CDL 엔드포인트 포드 로그에서 원격 호스트에 대한 연결이 거부될 때 알림이 시작되었습니다.

2022/01/20 01:36:18.852 [ERROR] [RemoteEndointConnection.go:572] [datastore.ep.session] Connection to remote systemID 2 has been lost

원격 사이트에 대한 연결이 성공하면 알림이 지워집니다.

2022/01/20 02:10:32.702 [WARN] [RemoteEndointConnection.go:437] [datastore.ep.session] Stream to remote site successful

2022/01/20 02:10:38.923 [WARN] [RemoteEndointConnection.go:563] [datastore.ep.session] Cdl status changed - new version 283eb1e86aa9561c653083e6b691c919, old version f81478148c9e1ccb28f3ec0d90ca04e1. Reloading connections

2022/01/20 02:10:38.927 [WARN] [RemoteEndointConnection.go:437] [datastore.ep.session] Stream to remote site successful

2022/01/20 02:10:38.934 [WARN] [RemoteEndointConnection.go:437] [datastore.ep.session] Stream to remote site successful

2022/01/20 02:10:38.934 [WARN] [RemoteEndointConnection.go:437] [datastore.ep.session] Stream to remote site successful

2022/01/20 02:10:38.935 [WARN] [RemoteEndointConnection.go:437] [datastore.ep.session] Stream to remote site successful

8. 그라파나

CDL 대시보드는 모든 SMF 구축의 일부입니다.