एज कॉम्पोनेंट के लिए लॉग रोटेशन की सुविधा चालू करें

लॉग रोटेशन—कई लॉग फ़ाइलों को इस्तेमाल में और बाहर बदलने की प्रोसेस— ऐसे सिस्टम को मैनेज करना आसान बनाता है बहुत बड़ी संख्या में लॉग फ़ाइलें जनरेट करने की सुविधा मिलती है. लॉग रोटेशन की सुविधा चालू करने पर, डेटा को अपने-आप रोटेशन, कंप्रेशन, लॉग फ़ाइलों को हटाना और मेल करना.

प्राइवेट क्लाउड के लिए Edge में, हर apigee पर कुछ मुख्य लॉग फ़ाइलें कॉम्पोनेंट को डिफ़ॉल्ट रोटेशन तकनीक के साथ कॉन्फ़िगर किया गया है. उदाहरण के लिए, मैसेज प्रोसेसर कॉम्पोनेंट, नीचे दी गई फ़ाइलें डिफ़ॉल्ट रोटेशन के साथ कॉन्फ़िगर की गई हैं लॉगबैक का इस्तेमाल करने वाली तकनीक:

  • /opt/apigee/var/log/edge-message-processor/logs/system.log
  • /opt/apigee/var/log/edge-message-processor/logs/events.log
  • /opt/apigee/var/log/edge-message-processor/logs/startupruntimeerrors.log
  • /opt/apigee/var/log/edge-message-processor/logs/configurations.log
  • /opt/apigee/var/log/edge-message-processor/logs/transactions.log

अन्य edge-* कॉम्पोनेंट (जिनके नाम के आधार पर बनाया गया है) के लिए मिलती-जुलती फ़ाइलें मौजूद हैं edge- से शुरू होते हैं), जैसे कि edge-management-server, edge-router, edge-postgres-server, और edge-qpid-server.

इन edge-* कॉम्पोनेंट में से हर एक अतिरिक्त लॉग फ़ाइल भी जनरेट करता है, जिसे रीडायरेक्ट किया जाता है आउटपुट, उस कॉम्पोनेंट के कंसोल का आउटपुट हो सकता है. मैसेज प्रोसेसर कॉम्पोनेंट के मामले में, इस फ़ाइल का नाम /opt/apigee/var/log/edge-message-processor/edge-message-processor.log है. अन्य edge-* कॉम्पोनेंट मिलती-जुलती फ़ाइल जनरेट करते हैं. इन फ़ाइलों की रोटेशन का काम इनके ज़रिए नहीं किया जाता है logrotate और crontab का इस्तेमाल करने की बजाय, लॉगबैक लाइब्रेरी से लॉग बैक करने की कोशिश करें.

शुरू करने से पहले

लॉग रोटेशन की सुविधा चालू करें

edge-* इंस्टॉल करने पर, Private Cloud के लिए Edge के 4.52 वर्शन में यह सुविधा मिलती है कॉम्पोनेंट, इसके लिए crontab एंट्री इस लॉग को घुमाने का तरीका, apigee उपयोगकर्ता के crontab में अपने-आप बन जाता है. यह क्रॉन जॉब हर घंटे को डिफ़ॉल्ट रूप से सेट करता है और लॉग को बदलने के लिए logrotate सुविधा का इस्तेमाल करता है. अगर एक से ज़्यादा edge-* हैं कॉम्पोनेंट एक ही नोड पर इंस्टॉल किए जाते हैं (उदाहरण के लिए, ऑल-इन-वन इंस्टॉलेशन में या अगर राऊटर और मैसेज-प्रोसेसर को एक नोड पर इंस्टॉल किया जाता है, तो हर कॉम्पोनेंट के लिए अपनी खुद की क्रॉन एंट्री होगी इससे संबंधित लॉग घुमाते रहेंगे.

ध्यान दें:

  • अगर edge-* कॉम्पोनेंट इंस्टॉल करने के दौरान, आपको ये काम नहीं करने चाहिए अपने-आप सेट अप हो जाता है logrotate क्रोनजॉब, अपनी इस्तेमाल की जा रही साइलेंट कॉन्फ़िगरेशन फ़ाइल में “ENABLE_LOGROTATE=n” फ़्लैग सेट करें इंस्टॉल करने के लिए. अगर इंस्टॉलेशन के दौरान क्रॉन जॉब सेट नहीं है, तो इसे सेट अप किया जा सकता है बाद में, कॉम्पोनेंट के logrotate क्रॉन को चालू करें.
  • कॉम्पोनेंट edge-router के लिए, एक अतिरिक्त logrotate क्रॉन जॉब है डिफ़ॉल्ट रूप से कॉन्फ़िगर होता है. यह क्रॉन, Ngnx से जनरेट किए गए ऐक्सेस और गड़बड़ी के लॉग को रोटेट करता है.

नीचे दिए गए उदाहरणों में अलग-अलग कॉन्फ़िगरेशन और एडमिन ऑपरेशन के बारे में बताया गया है किया जा सकता है.

किसी नोड पर क्रॉन एंट्री देखें

sudo crontab -u apigee -l

कॉम्पोनेंट की logrotate क्रॉन एंट्री देखें

$APIGEE_ROOT/apigee-service/bin/apigee-service <component-name> logrotate -s

उदाहरण के लिए, एज-मैसेज प्रोसेसर के logrotate क्रॉन को देखने के लिए, इसे चलाएं:

$APIGEE_ROOT/apigee-service/bin/apigee-service edge-message-processor logrotate -s

कॉम्पोनेंट देखना logrotate का कॉन्फ़िगरेशन

कॉम्पोनेंट का logrotate कॉन्फ़िगरेशन, फ़ाइल में मिल सकता है $APIGEE_ROOT/<component>/logrotate/logrotate.conf. उदाहरण के लिए, एज-मैसेज-प्रोसेसर के मामले में, नोड का logrotate कॉन्फ़िगरेशन यह हो सकता है $APIGEE_ROOT/edge-message-processor/logrotate/logrotate.conf में मिला.

कॉम्पोनेंट के logrotate क्रॉन को चालू करें

$APIGEE_ROOT/apigee-service/bin/apigee-service <component-name> logrotate -e

उदाहरण के लिए, Edge-message-प्रोसेसर के logrotate क्रॉन को चालू करने के लिए, इसे चलाएं:

$APIGEE_ROOT/apigee-service/bin/apigee-service edge-message-processor logrotate -e

कॉम्पोनेंट के logrotate क्रॉन को बंद करें

$APIGEE_ROOT/apigee-service/bin/apigee-service <component-name> logrotate -d

उदाहरण के लिए, Edge-message-प्रोसेसर के logrotate क्रॉन को बंद करने के लिए, इसे चलाएं:

$APIGEE_ROOT/apigee-service/bin/apigee-service edge-message-processor logrotate -d

किसी खास logrotate कमांड का क्रॉन शेड्यूल बदलें

जिस नोड पर आपको logrotate क्रॉन शेड्यूल बदलना है, उससे संबंधित खोलें कॉम्पोनेंट की कॉन्फ़िगरेशन ओवरराइड फ़ाइल. edge-* कॉम्पोनेंट का कॉन्फ़िगरेशन, फ़ाइलों को ओवरराइड करता है नीचे दी गई टेबल में मौजूद हैं:

कॉम्पोनेंट कॉन्फ़िगरेशन ओवरराइड फ़ाइल
edge-message-processor $APIGEE_ROOT/customer/application/message-processor.properties
edge-management-server $APIGEE_ROOT/customer/application/management-server.properties
edge-router $APIGEE_ROOT/customer/application/router.properties
edge-postgres-server $APIGEE_ROOT/customer/application/postgres-server.properties
edge-qpid-server $APIGEE_ROOT/customer/application/qpid-serverproperties

सही ओवरराइड फ़ाइल खोलें और नीचे दिया गया कॉन्फ़िगरेशन ओवरराइड सेट करें. नीचे दिया गया उदाहरण हर घंटे के 0वें मिनट पर चलने के लिए क्रॉन जॉब को ओवरराइड करता है.

conf_logrotate_cron_duration=0 * * * *

कॉन्फ़िगरेशन ओवरराइड सेट करने के लिए:

  1. पक्का करें कि apigee उपयोगकर्ता, फ़ाइल को पढ़ सके.
  2. कॉम्पोनेंट पर नया क्रॉन शेड्यूल लागू करें:
    $APIGEE_ROOT/apigee-service/bin/apigee-service <component-name> logrotate -e

उदाहरण के लिए, Edge-message-प्रोसेसर के logrotate पर नया क्रॉन शेड्यूल लागू करने के लिए, यह डालें:

$APIGEE_ROOT/apigee-service/bin/apigee-service edge-message-processor logrotate -e

यह पुष्टि करने के लिए कि बदलाव लागू कर दिए गए हैं, क्रॉन एंट्री की जांच करें या कॉम्पोनेंट की logrotate क्रॉन एंट्री.

logrotate के अन्य कॉन्फ़िगरेशन

क्रॉन शेड्यूल में बदलाव करने के लिए, ऊपर दिए गए सेक्शन में बताए गए चरणों की तरह ही, ये काम किए जा सकते हैं साथ ही, अन्य कॉन्फ़िगरेशन में बदलाव भी कर सकते हैं. नीचे दी गई टेबल में इन कॉन्फ़िगरेशन के बारे में बताया गया है:

कॉन्फ़िगरेशन ब्यौरा
conf_logrotate_bin_location लॉगरोटेट बाइनरी की जगह. डिफ़ॉल्ट: /usr/sbin/logrotate
conf_logrotate_status_file लॉगरोटेट की रनटाइम स्थिति कैप्चर करने वाली स्थिति फ़ाइल - दिखाएं कि आपके पास पढ़ने/लिखने की अनुमतियां हैं apigee उपयोगकर्ता के लिए. डिफ़ॉल्ट: $APIGEE_ROOT/var/run/<component>/logrotate.status
conf_logrotate_logs किन लॉग को घुमाना है. इसमें वाइल्डकार्ड शामिल किए जा सकते हैं. डिफ़ॉल्ट: $APIGEE_ROOT/var/log/<component>/<component>.log अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
conf_logrotate_rotate रोटेशन की संख्या. डिफ़ॉल्ट: “5”
conf_logrotate_compress घुमाई गई फ़ाइलों को कंप्रेस करना है या नहीं. डिफ़ॉल्ट: “कंप्रेस करें”
conf_logrotate_compress_type कंप्रेशन का टाइप. डिफ़ॉल्ट: “delaycompress”. के बाद में संपीड़न घुमाई गई नई फ़ाइल को अगले लॉगरोटेट साइकल में बदलना.
conf_logrotate_size रोटेशन के लिए लॉग साइज़ की सीमा. डिफ़ॉल्ट: “1 करोड़”

अपनी खुद की लॉग रोटेशन तकनीक और क्रॉन का उपयोग करें

अगर <component>.log को घुमाने के लिए आपकी ज़रूरी शर्तें कॉन्फ़िगरेशन के हिसाब से पूरी नहीं होती हैं Apigee की ओर से उपलब्ध कराया गया है, तो लॉग रोटेशन जैसे टूल का इस्तेमाल करके, आप अपने लॉग रोटेशन के तरीके का इस्तेमाल करते हैं या अन्य. उदाहरण के लिए, Apigee से मिले कॉन्फ़िगरेशन की मदद से, साइज़ के हिसाब से लॉग को बदला जा सकता है, लेकिन की है, तो आप तारीख/समय या अन्य कारकों के आधार पर लॉग को रोटेट करना चाहते हैं. ऐसे मामलों में, आपको Apigee से मिले logrotate क्रॉन को बंद करें और ज़रूरत के हिसाब से अपने क्रॉन जॉब सेट अप करें.

अगर आपको Apigee की लॉग रोटेशन क्रॉन एंट्री देखनी है, तो उसे फ़ाइल में पाएं $APIGEE_ROOT//logrotate/logrotate.cron. उदाहरण के लिए, edge-message-processor, इस फ़ाइल का नाम $APIGEE_ROOT/edge-message-processor/logrotate/logrotate.cron. यह फ़ाइल इसमें क्रॉन एंट्री और लॉग रोटेशन के लिए Apigee के चलाए जाने वाले निर्देश, दोनों शामिल होते हैं. अगर आपको आपको logrotate का इस्तेमाल करना है, लेकिन Apigee के कॉन्फ़िगरेशन का इस्तेमाल नहीं करना है, तो अपने logrotate का मालिक है और लॉग रोटेशन करने के लिए मिलते-जुलते logrotate कमांड का इस्तेमाल करें.