लॉग रोटेशन—कई लॉग फ़ाइलों को इस्तेमाल में और बाहर बदलने की प्रोसेस— ऐसे सिस्टम को मैनेज करना आसान बनाता है बहुत बड़ी संख्या में लॉग फ़ाइलें जनरेट करने की सुविधा मिलती है. लॉग रोटेशन की सुविधा चालू करने पर, डेटा को अपने-आप रोटेशन, कंप्रेशन, लॉग फ़ाइलों को हटाना और मेल करना.
प्राइवेट क्लाउड के लिए 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
का इस्तेमाल करने की बजाय, लॉगबैक लाइब्रेरी से लॉग बैक करने की कोशिश करें.
शुरू करने से पहले
- अगर आपको
logrotate
कॉन्फ़िगरेशन के बारे में नहीं पता है, तो लॉगरोटेट मैन्युअल. - अगर आपको
crontab
कॉन्फ़िगरेशन के बारे में नहीं पता है, तो 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 * * * *
कॉन्फ़िगरेशन ओवरराइड सेट करने के लिए:
- पक्का करें कि
apigee
उपयोगकर्ता, फ़ाइल को पढ़ सके. - कॉम्पोनेंट पर नया क्रॉन शेड्यूल लागू करें:
$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/
. उदाहरण के लिए,
edge-message-processor
, इस फ़ाइल का नाम
$APIGEE_ROOT/edge-message-processor/logrotate/logrotate.cron
. यह फ़ाइल
इसमें क्रॉन एंट्री और लॉग रोटेशन के लिए Apigee के चलाए जाने वाले निर्देश, दोनों शामिल होते हैं. अगर आपको
आपको logrotate
का इस्तेमाल करना है, लेकिन Apigee के कॉन्फ़िगरेशन का इस्तेमाल नहीं करना है, तो अपने
logrotate
का मालिक है
और लॉग रोटेशन करने के लिए मिलते-जुलते logrotate
कमांड का इस्तेमाल करें.