लॉग रोटेशन—कई लॉग फ़ाइलों को इस्तेमाल करने के लिए बदलने की प्रोसेस—इससे उन सिस्टम को मैनेज करने में आसानी होती है जो बड़ी संख्या में लॉग फ़ाइलें जनरेट करते हैं. लॉग रोटेशन की सुविधा से, लॉग फ़ाइलों को अपने-आप घुमाने, कंप्रेस करने, हटाने, और उन्हें मेल करने की सुविधा मिलती है.
EDGE for Private Cloud में, हर 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
कॉन्फ़िगरेशन के बारे में जानकारी नहीं है, तो logरोटेट मैन्युअल पढ़ें. - अगर आपको
crontab
कॉन्फ़िगरेशन के बारे में नहीं पता है, तो crontab का मैन्युअल पढ़ें.
लॉग को घुमाने की सुविधा चालू करना
Edge for Private Cloud के 4.52 वर्शन के साथ, जब कोई edge-*
कॉम्पोनेंट इंस्टॉल किया जाता है, तो इस लॉग को रोटेट करने के लिए,
crontab
की एंट्री apigee
उपयोगकर्ता के crontab
में अपने-आप बन जाती है. यह क्रॉन जॉब डिफ़ॉल्ट रूप से हर घंटे चलता है और लॉग को घुमाने के लिए logrotate
का इस्तेमाल करता है. अगर एक ही नोड पर कई edge-*
कॉम्पोनेंट इंस्टॉल किए जाते हैं (उदाहरण के लिए, ऑल-इन-वन इंस्टॉलेशन में या अगर राऊटर और मैसेज-प्रोसेसर एक ही नोड पर इंस्टॉल किए गए हों), तो हर कॉम्पोनेंट के पास अपने लॉग रोटेट करने के लिए, अपनी क्रॉन एंट्री होगी.
Notes:
- अगर
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
उदाहरण के लिए, Edge-message-प्रोसेसर का 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
निर्देश का इस्तेमाल करने का विकल्प है.