# लॉगिंग, मेट्रिक्स, ट्रेसिंग और अलर्टिंग — सिस्टम डिज़ाइन

Source: https://www.geekswithgeeks.com/hi/system-design/sd-observability

> यूज़र के बताने से पहले जानना कि आपका सिस्टम क्या कर रहा है।

## तीन स्तंभ

**लॉग** टाइमस्टैम्प्ड असतत इवेंट हैं (यह जानने के लिए बढ़िया कि 'यहाँ बिल्कुल क्या हुआ')। **मेट्रिक्स** समय के साथ जोड़ी गई संख्याएँ हैं (ट्रेंड और डैशबोर्ड के लिए बढ़िया — रिक्वेस्ट दर, एरर दर, लेटेंसी)। **ट्रेस** एक रिक्वेस्ट को हर सेवा में फ़ॉलो करता है जिसे उसने छुआ (यह पता लगाने के लिए बढ़िया कि कॉल चेन में समय कहाँ गया)।

## गोल्डन सिग्नल

किसी भी सेवा के लिए, **लेटेंसी** (p50/p95/p99, केवल औसत नहीं), **ट्रैफ़िक** (रिक्वेस्ट/सेकंड), **एरर** (विफल रिक्वेस्ट की दर), और **सैचुरेशन** (CPU, मेमोरी, क्यू गहराई कितनी भरी है) देखें। ये चार अधिकांश घटनाओं को जल्दी पकड़ लेते हैं।

## कार का डैशबोर्ड

मेट्रिक्स स्पीडोमीटर और फ्यूल गेज हैं — एक नज़र में अपनी स्थिति जानें। लॉग ट्रिप कंप्यूटर का विस्तृत घटना इतिहास है। ट्रेसिंग एक ब्लैक बॉक्स रिकॉर्डर जैसी है जो किसी विशेष ट्रिप तक ले जाने वाले हर पार्ट के काम का सटीक क्रम दिखाती है।

## लक्षणों पर अलर्ट करें, कारणों पर नहीं

हर आंतरिक कारण (एक सर्वर का CPU अधिक है) के बजाय यूज़र-सामना करने वाले लक्षणों (एरर दर बढ़ी, p99 लेटेंसी SLO तोड़ गई) पर अलर्ट करें। लक्षण-आधारित अलर्ट शोर घटाते हैं और सीधे उस पर इशारा करते हैं जो यूज़र अनुभव कर रहे हैं।
