المحتويات

1 - مقدمة

2- نظرة عامة

3 - المكونات

4. المرور عبر التكوين

5. أستكشاف الأخطاء وإصلاحها

5.1 فشل POD

5.2 cdl كيف أن يحصل جلسة معلومة من جلسة مفتاح

5.3 CDL PODS ليس فوق

5.4 Mirror Maker Pods في حالة غير مستقرة

5.5 لم يتم نسخ فهرس CDL بشكل صحيح

عمليات CDL الخاصة ب 5.6 معطلة، ولكن نجاح الاتصال

5-7 وجاء الإخطار بإزالة السجل مبكرا/متأخرا من CDL

6 - التنبيهات

7 - معظم المشاكل الشائعة

7.1 cdlReplicationError

7.2 cdlRemoteConnectionFailure & GRPC_Connections_Remote_Site

8 - غرافانا

1 - مقدمة

تغطي هذه المقالة أساسيات أستكشاف أخطاء طبقة البيانات المشتركة (CDL) وإصلاحها في بيئة الشركات صغيرة ومتوسطة الحجم (SMF). الوثائق التي يمكنك العثور عليها على هذا الارتباط.

2- نظرة عامة

طبقة البيانات المشتركة (CDL) من Cisco هي طبقة مخزن بيانات الجيل التالي عالية الأداء (القيمة الأساسية) لكل التطبيقات الأصلية للسحابة.

يستخدم CDL حاليا كعنصر من عناصر إدارة الدولة مع وظائف HA (التوافر العالي) و GEO HA.

يوفر CDL:

- طبقة مخزن بيانات عامة عبر وظائف شبكة مختلفة (NF).

- زمن وصول أقل للقراءة والكتابة (في وحدة تخزين جلسات الذاكرة)

- قم بإخطار NF لحظر المشترك عند الإبلاغ عن هجوم رفض الخدمة (DoS) على نفس الجلسة.

- الإتاحة العالية - تكرار محلي مع نسختين على الأقل.

- تكرار GEO مع موقعين.

- لا يوجد مفهوم أولي/ثانوي جميع الفتحات المتوفرة لعمليات الكتابة. تعمل على تحسين الوقت اللازم لتجاوز الفشل في ظل عدم إجراء انتخابات أساسية.

3 - المكونات

- نقطة النهاية: (cdl-ep-session-c1-d0-7c79c87d65-xpm5v)

- نقطة نهاية CDL هي Kubernetes (K8s) POD. يتم نشره لتعريف واجهة gRPC عبر HTTP2 تجاه عميل NF من أجل معالجة طلبات خدمة قاعدة البيانات ويعمل كنقطة دخول للتطبيقات المتجهة شمالا.

- الفتحة: (cdl-slot-session-c1-m1-0)

- تدعم نقطة نهاية CDL خدمات دقيقة متعددة الفتحات. يتم نشر هذه الخدمات الدقيقة K8s POD لتعريف واجهة gRPC الداخلية باتجاه مخزن بيانات Cisco

- يحتوي كل منفذ POD على عدد محدود من الجلسات. هذه الجلسات هي بيانات الجلسة الفعلية بتنسيق مصفوفة البايت

- الفهرس: (cdl-index-session-c1-m1-0)

- تحمل خدمة Index microservice البيانات المرتبطة بالفهرسة

- يتم بعد ذلك إستخدام بيانات الفهرسة هذه لاسترداد بيانات الجلسة الفعلية من الخدمات الدقيقة للفتحة

- ETCD: (ETCD-SMF-ETCD-cluster-0)

- يستخدم CDL ETCD (مخزن قيمة مفتاح مفتوح المصدر) كاكتشاف خدمة DB. عند بدء تشغيل EP لمخزن البيانات من Cisco أو وفاته أو إيقاف تشغيله، فإنه ينتج عنه إضافة حدث بواسطة حالة النشر. لذلك، يتم إرسال إخطارات إلى كل PODs مشتركة في هذه الأحداث. علاوة على ذلك، عند إضافة حدث رئيسي أو إزالته، فإنه يقوم بتحديث الخريطة المحلية.

- كافكا: (كافكا - 0)

- يقوم Kafka POD بنسخ البيانات بين النسخ المتماثلة المحلية وعبر مواقع الفهرسة. للنسخ عبر المواقع، تستخدم Kafak MirrorMaker.

- صانع المرايا: (صانع المرايا-0)

- يقوم Mirror Maker POD بالنسخ الجغرافي لبيانات الفهرسة إلى مواقع CDL البعيدة. كما تقوم بأخذ البيانات من المواقع البعيدة ونشرها في موقع كافكا المحلي لأخذ عينات الفهرسة المناسبة.

مثال:

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، وخريطة فتحة واحدة (نسختان متماثلتان لكل خريطة) وخريطة فهرس واحدة (نسختان متماثلتان لكل خريطة).

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 هو مفتاح مباشر > قيمة DB.

- تأتي جميع الطلبات إلى نقاط نهاية cdl.

- في نقاط ربط CDL للفهرس نخزن المفاتيح، round robin.

- في cdl-slot نخزن القيمة (معلومات الجلسة)، round robin.

- نحن نحدد النسخة الاحتياطية (عدد النسخ) لكل خريطة بود (نوع).

- يستخدم كحافلة للنقل.

- يستخدم صانع المرآة كناقل نقل إلى حامل مختلف (نسخ إحتياطي Geo).

يمكن ترجمة القيمة لكل منهما على أنها، أي إذا تم إسقاط جميع مجموعات البيانات من هذا النوع/الخريطة في نفس الوقت:

- cdl-endpont - أخطاء الاتصال ب CDL

- cdl-index - فقدان مفاتيح بيانات الجلسة

- cdl-slot - فقدان بيانات الجلسة

- Kafka - إلغاء خيار المزامنة بين خرائط نوع pod

- صانع المرآة - فقدان التزامن مع العقدة ذات المربعات الجغرافية الأخرى

يمكننا دائما تجميع السجلات من أجهزة pod ذات صلة لأن سجلات CDL pod لا يتم تدويرها بسرعة، لذلك هناك قيمة إضافية لتجميعها.

يقوم Remamber tac-debug بجمع اللقطة في الوقت المناسب بينما تقوم السجلات بطباعة جميع البيانات منذ تخزينها.

وصف PODS

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 الذي يعرف هذه الجلسة.

إن قارنا نسخة الجلسة المطبوعة من عرض مشترك بناء و cdl عرض جلسة ملخص شريحة-name شريحة 1 db-name جلسة مرشح

- عنوان جلسة IPv4 مع SUPI = "1#/#imsi-123969789012404:10.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 جلسة مفتاح = "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"

]

]

}

التحقق من حالة CDL على SMF:

cdl show status

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

5.3 CDL PODS ليس فوق

كيفية التعرف على

تحقق من إخراج قوائم التحكم في الوصول (الحاويات/العضو/الدولة/السبب، الأحداث) الموصوفة.

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

كيفية الإصلاح

1. PODS في حالة تعليق تحقق مما إذا كانت أي عقدة k8s مع قيم التسمية المتساوية مع قيمة cdl/node-type number للنسخ المتماثلة أقل من أو تساوي عدد عقد k8s مع قيم التسمية المتساوية مع قيمة cdl/node-type
kubectl get nodes -l smi.cisco.com/node-type=<value of cdl/node-type, default value is 'session' in multi node setup)

2. PODS موجودة في حالة فشل CrashLoopBackOff فحص حالة قوائم التحكم في الوصول (PODS) للقرص الإلكتروني. إذا لم تكن وحدات ETCD قيد التشغيل، فقم بإصلاح مشاكل ETCD.
kubectl describe pods -n <namespace> <etcd pod name>

3. PODS في حالة فشل ImagePullBack التحقق مما إذا كان يمكن الوصول إلى مستودع التشغيل وسجل الصور. تحقق مما إذا تم تكوين الوكيل المطلوب وخوادم DNS.

5.4 Mirror Maker Pods في حالة غير مستقرة

تحقق من إخراج "pods" وسجلات POD الموصفة

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

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

كيفية الإصلاح

- تحقق مما إذا كانت بروتوكولات الإنترنت الخارجية التي تم تكوينها ل Kafka صحيحة

- تحقق من توفر جهاز "كافكا" بالموقع البعيد من خلال عناوين IP الخارجية

5.5 لم يتم نسخ فهرس CDL بشكل صحيح

كيفية التعرف على

لا يمكن الوصول إلى البيانات التي تمت إضافتها في أحد المواقع من موقع آخر.

كيفية الإصلاح

- تحقق من تكوين معرف النظام المحلي وتكوين الموقع البعيد.

- تحقق من إمكانية الوصول إلى نقاط نهاية CDL و Kafka بين كل موقع.

- تحقق من الخريطة ونسخة طبق الأصل من الفهرس والفتحة في كل موقع. يمكن أن يكون متطابقا في جميع المواقع.

عمليات CDL الخاصة ب 5.6 معطلة، ولكن نجاح الاتصال

كيفية الإصلاح

- تحقق من أن جميع أجهزة الكمبيوتر في حالة الاستعداد والتشغيل.

- تكون مجموعات توصيل الفهرس في حالة جاهزة فقط إذا كانت قد تمت مزامنتها مع النسخ المتماثلة النظيرة (محلية أو عن بعد إذا كانت متوفرة)

- تكون أجهزة توزيع الطاقة بالفتحات في حالة الاستعداد فقط إذا كانت قد اكتملت بالمزامنة مع نسخة متماثلة نظيرة (محلية أو عن بعد إذا كانت متوفرة)

- تكون نقطة النهاية غير جاهزة إذا لم تتوفر على الأقل فتحة واحدة وبطاقات فهرس واحدة. حتى إذا لم يكن جاهزا، سيتم قبول اتصال GRPC من العميل.

5-7 وجاء الإخطار بإزالة السجل مبكرا/متأخرا من CDL

كيفية الإصلاح

- في نظام مجموعة k8s يمكن مزامنة جميع العقد في الوقت

- تحقق من حالة مزامنة NTP على جميع عقد k8s. إذا كان هناك أي مشاكل في إصلاحها.

chronyc tracking

chronyc sources -v

chronyc sourcestats -v

6 - التنبيهات

إنذار

الخطورة

ملخص

cdlLocalRequestFailure

حرج

إذا طلب محلي معدل نجاح أقل من 90٪ لأكثر من 5 دقائق، يطلق الإنذار

cdlRemoteConnectionFailure

حرج

إذا وصلت الاتصالات النشطة من نقطة النهاية pod إلى الموقع البعيد إلى 0 لمدة أطول من 5 دقائق، فيتم رفع الإنذار (فقط للنظام الذي تم تمكين GR)

cdlRemoteRequestFailure

حرج

إذا كان معدل النجاح في الطلبات الواردة عن بعد أقل من 90٪ لأكثر من 5 دقائق، فسيؤدي ذلك إلى تشغيل التنبيه (فقط للنظام الذي تم تمكين GR به)

cdlReplicationError

حرج

إذا كانت نسبة طلبات النسخ الصادرة إلى الطلبات المحلية في مساحة اسم cdl-global أقل من 90٪ لأكثر من 5 دقائق.(للنظام الذي تم تمكين GR فقط). يتم توقع هذه التنبيهات أثناء نشاط الترقية ومن ثم يمكنك تجاهلها.

cdlKafkaRemoteReplicationDelay

حرج

إذا تأخرت عملية النسخ المتماثل للكافكا إلى موقع بعيد، فإنها تتجاوز 10 ثوان لمدة أطول من 5 دقائق، فيتم رفع الإنذار (فقط للنظام الذي يدعم GR)

cdlOverload - رئيسي

كبير

إذا وصل نظام CDL إلى النسبة المئوية المكونة (الافتراضية 80٪) من سعته، فإن النظام يقوم بتشغيل الإنذار (فقط إذا تم تمكين ميزة "حماية الحمل الزائد")

cdlOverload - هام

حرج

إذا وصل نظام CDL إلى النسبة المئوية التي تم تكوينها (القيمة الافتراضية 90٪ )من سعته، فإن النظام يقوم بتشغيل التنبيه (فقط في حالة تمكين ميزة "حماية الحمل الزائد")

cdlKafkaConnectionFailure

حرج

إذا تم قطع اتصال مجموعات توصيل فهرس CDL بنظام كافكا لمدة أطول من 5 دقائق

7 - معظم المشاكل الشائعة

7.1 cdlReplicationError

عادة ما يتم مشاهدة هذا التنبيه أثناء ترقية مركز عمليات التشغيل أو النظام ومحاولة العثور على CR له ومحاولة التحقق من حدوث تنبيه CEE وتم مسح هذا التنبيه بالفعل.

7.2 cdlRemoteConnectionFailure & GRPC_Connections_Remote_Site

ينطبق هذا التفسير على كافة التنبيهات "cdlRemoteConnectionFailure" و"GRPC_Connections_Remote_Site".

للحصول على تنبيهات CdlRemoteConnectionFailure:

من سجلات نقاط نهاية CDL، نرى أن الاتصال بالمضيف البعيد من نقطة نهاية CDL قد فقد:

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

يمكننا رؤية نقطة نهاية CDL وهي تحاول الاتصال بالخادم البعيد ولكن المضيف البعيد رفض الاتصال بها:

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

التكوين الموجود في SMF للموقع البعيد ل CDL:

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.

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.