अतिरिक्त जानकारी
जो चीज़ें आपको जानना चाहिए
** प्रॉक्सी त्रुटियां **
कभी-कभी, अनुरोध करना ERDDAP™ एक प्रॉक्सी त्रुटि, एक HTTP 502 बुरा गेटवे त्रुटि, या कुछ समान त्रुटि वापस कर देगा। इन त्रुटियों को अपाचे या टॉमकैट द्वारा फेंका जा रहा है, नहीं ERDDAP™ खुद ही।
- यदि प्रत्येक अनुरोध इन त्रुटियों को उत्पन्न करता है, खासकर जब आप पहली बार अपनी स्थापना कर रहे हैं ERDDAP™ , तो यह शायद एक प्रॉक्सी या बुरा गेटवे त्रुटि है, और समाधान शायद ठीक करने के लिए है ERDDAP प्रॉक्सी सेटिंग्स । यह भी समस्या हो सकती है जब एक स्थापित ERDDAP™ अचानक इन त्रुटियों को हर अनुरोध के लिए फेंकना शुरू हो जाता है।
- अन्यथा, "प्रोक्सी" त्रुटियां आमतौर पर वास्तव में अपाचे या टॉमकैट द्वारा फेंकी गई त्रुटियों को बाहर करती हैं। यहां तक कि जब वे अपेक्षाकृत जल्दी हो जाते हैं, तो यह अपाचे या टॉमकैट से कुछ प्रकार की प्रतिक्रिया है जो तब होती है जब ERDDAP™ बहुत व्यस्त, स्मृति-सीमित, या कुछ अन्य संसाधनों द्वारा सीमित है। इन मामलों में, के साथ सौदा करने के लिए नीचे सलाह देखें ERDDAP™ धीरे जवाब देना ।
एक लंबे समय सीमा के लिए अनुरोध (30 बार अंक) एक ग्रिड डेटासेट से समय-समय पर असफलता होती है, जो अक्सर प्रॉक्सी त्रुटियों के रूप में दिखाई देती है, क्योंकि यह महत्वपूर्ण समय लेता है ERDDAP™ सभी डेटा फ़ाइलों को एक-एक करके खोलने के लिए। अगर ERDDAP™ अन्यथा अनुरोध के दौरान व्यस्त है, समस्या होने की संभावना अधिक है। यदि डेटासेट की फ़ाइलों को संकुचित किया जाता है, तो समस्या अधिक होने की संभावना है, हालांकि उपयोगकर्ता के लिए यह निर्धारित करना कठिन है कि डेटासेट की फ़ाइलों को संकुचित किया गया है या नहीं। समाधान कई अनुरोधों को बनाने के लिए है, प्रत्येक एक छोटी समय सीमा के साथ। कैसे एक समय सीमा के छोटे? मैं सुझाव देता हूं कि वास्तव में छोटा (~30 समय अंक?) फिर (लगभग) जब तक अनुरोध विफल हो जाता है तब तक डबल टाइम रेंज वापस आती है। फिर सभी अनुरोध करें (प्रत्येक समय के एक अलग हिस्से के लिए) सभी डेटा प्राप्त करने के लिए आवश्यक है। An ERDDAP™ प्रशासक इस समस्या को कम कर सकता है अपाचे टाइमआउट सेटिंग्स ।
निगरानी
हम सभी चाहते हैं कि हमारी डेटा सेवाएँ अपने दर्शकों को ढूंढ सकें और बड़े पैमाने पर इस्तेमाल की जा सकें, लेकिन कभी-कभी आपकी ERDDAP™ बहुत ज्यादा इस्तेमाल किया जा सकता है, जिसमें सभी अनुरोधों के लिए सुपर धीमी प्रतिक्रियाएं शामिल हैं। समस्याओं से बचने की हमारी योजना है:
- मॉनिटर ERDDAP™ के माध्यम से status.html वेब पेज । यह उपयोगी जानकारी के टन है। यदि आप देखते हैं कि अनुरोधों की एक बड़ी संख्या में आ रही है, या स्मृति के टन का इस्तेमाल किया जा रहा है, या असफल अनुरोधों के टन, या प्रत्येक मेजर लोडडाटासेट लंबे समय तक ले जा रहा है, या उन चीजों के किसी भी संकेत को देख सकते हैं जो धीरे-धीरे खराब हो रही हैं और जवाब दे रहे हैं, फिर देखो ERDDAP ' log.txt फ़ाइल यह देखने के लिए कि क्या चल रहा है।
यह भी ध्यान देने के लिए उपयोगी है कि स्टेटस पेज कितनी तेजी से जवाब देता है। यदि यह धीरे-धीरे जवाब देता है, तो यह एक महत्वपूर्ण सूचक है कि ERDDAP™ बहुत व्यस्त है।
- मॉनिटर ERDDAP™ के माध्यम से दैनिक रिपोर्ट ईमेल
- आउट-ऑफ-डेट डेटासेट के माध्यम से देखें बेस /erddap/outOfDateDatasets.html वेब पेज जो वैकल्पिक पर आधारित है testOutOfDate वैश्विक विशेषता।
बाह्य मॉनिटर
ऊपर सूचीबद्ध तरीके हैं ERDDAP खुद की निगरानी के तरीके अपनी निगरानी के लिए बाह्य प्रणालियों को बनाने या उपयोग करना भी संभव है ERDDAP । यह करने के लिए एक परियोजना है Axiom's erddap-metrics project । इस तरह के बाह्य प्रणालियों के कुछ फायदे हैं:
- उन्हें इच्छित जानकारी प्रदान करने के लिए अनुकूलित किया जा सकता है, जिसे आप चाहते हैं।
- वे जानकारी के बारे में शामिल कर सकते हैं ERDDAP™ कि ERDDAP™ आसानी से उपयोग नहीं कर सकते (उदाहरण के लिए, सीपीयू उपयोग, डिस्क मुक्त स्थान,) ERDDAP™ प्रतिक्रिया समय जैसा कि उपयोगकर्ता के दृष्टिकोण से देखा गया है, ERDDAP™ अपटाइम,
- वे अलर्ट प्रदान कर सकते हैं (ईमेल, फोन कॉल, टेक्स्ट) जब समस्या कुछ सीमा से अधिक हो जाती है तो प्रशासकों को।
एक साथ अनुरोध
- ब्लैकलिस्ट उपयोगकर्ता एकाधिक एक साथ अनुरोध करते हैं! यदि यह स्पष्ट है कि कुछ उपयोगकर्ता एक से अधिक एक साथ अनुरोध कर रहा है, तो बार-बार और लगातार अपने आईपी पते को जोड़ने के लिए ERDDAP [e]<अनुरोधब्लैकलिस्ट> (/docs/server-admin/datasets#requestblacklist) अपने datasets.xml फ़ाइल कभी-कभी अनुरोध सभी एक आईपी पते से होते हैं। कभी-कभी वे एकाधिक आईपी पते से होते हैं, लेकिन स्पष्ट रूप से उसी उपयोगकर्ता। आप ब्लैकलिस्ट लोग भी कर सकते हैं जो टन अमान्य अनुरोधों या टन मानसिक रूप से अक्षम अनुरोधों को बनाते हैं।
फिर, प्रत्येक अनुरोध के लिए वे बनाते हैं, ERDDAP™ रिटर्न:
HTTP ERROR 403 - Access Forbidden --
Your IP address is on this ERDDAP's request blacklist.
Did you often submit more than one request at a time?
Did you often submit identical requests in a short period of time?
Did you submit a large number of invalid requests?
If you are ready to avoid these problems, please email \[ERDDAP™ administrator's email address\] to request to be taken off of the blacklist.
उम्मीद है कि उपयोगकर्ता इस संदेश को देखेंगे और आपसे संपर्क करेगा कि समस्या को कैसे ठीक किया जाए और ब्लैकलिस्ट को कैसे बंद कर दिया जाए। कभी-कभी, वे सिर्फ आईपी पते स्विच करते हैं और फिर से कोशिश करते हैं।
यह युद्ध में आक्रामक और रक्षात्मक हथियारों के बीच शक्ति के संतुलन की तरह है। यहाँ, रक्षात्मक हथियार ( ERDDAP ) सीपीयू, डिस्क एक्सेस बैंडविड्थ और नेटवर्क बैंडविड्थ में कोर की संख्या तक सीमित एक निश्चित क्षमता है। लेकिन आक्रामक हथियार (उपयोगकर्ता, विशेष रूप से स्क्रिप्ट) असीमित क्षमता है:
- कई समय बिंदुओं से डेटा के लिए एक एकल अनुरोध का कारण हो सकता है ERDDAP फ़ाइलों की एक बड़ी संख्या खोलने के लिए (अनुक्रम में या आंशिक रूप से बहुधा) । अत्यधिक मामलों में, एक "सरल" अनुरोध आसानी से जुड़ा हुआ RAID को बांध सकता है ERDDAP™ एक मिनट के लिए प्रभावी ढंग से अन्य अनुरोधों के संचालन को अवरुद्ध करता है।
- एक एकल अनुरोध स्मृति के एक बड़े हिस्से का उपभोग कर सकता है (हालांकि ERDDAP™ बड़े अनुरोधों को संभालने के लिए आवश्यक स्मृति को कम करने के लिए कोडित किया गया है) ।
- समानांतरकरण - यह एक चालाक उपयोगकर्ता के लिए बहुत सारे धागे पैदा करके एक बड़ा काम समानांतर करने के लिए आसान है, जिनमें से प्रत्येक एक अलग अनुरोध जमा करता है (जो बड़े या छोटे हो सकता है) । यह व्यवहार कंप्यूटर विज्ञान समुदाय द्वारा एक बड़ी समस्या से निपटने के लिए एक कुशल तरीका के रूप में प्रोत्साहित किया जाता है (और समानांतर अन्य परिस्थितियों में कुशल है) । वापस युद्ध के अनुरूप होने पर: उपयोगकर्ता अनिवार्य रूप से शून्य होने की लागत के साथ एक साथ अनुरोधों की अनिवार्य रूप से असीमित संख्या बना सकते हैं, लेकिन प्रत्येक अनुरोध की लागत में आने की लागत ERDDAP™ बड़ा हो सकता है और ERDDAP प्रतिक्रिया क्षमता सीमित है। स्पष्ट रूप से, ERDDAP™ इस युद्ध को खो देंगे, जब तक कि यह युद्ध न हो जाए ERDDAP™ प्रशासक ब्लैकलिस्ट उपयोगकर्ता जो कई एक साथ अनुरोध कर रहे हैं जो अन्य उपयोगकर्ताओं को काफी हद तक भीड़भाड़ रहे हैं।
- एकाधिक स्क्रिप्ट - अब सोचें कि क्या होता है जब कई चालाक उपयोगकर्ता प्रत्येक समानांतर स्क्रिप्ट चल रहे हैं। यदि कोई उपयोगकर्ता इतना अनुरोध उत्पन्न कर सकता है कि अन्य उपयोगकर्ता भीड़-भाड़ रहे हैं, तो ऐसे कई उपयोगकर्ता इतने अनुरोध उत्पन्न कर सकते हैं कि ERDDAP™ भारी हो जाता है और प्रतीत होता है कि unresponsive। यह प्रभावी रूप से एक है डीडीओएस हमला फिर, एकमात्र रक्षा के लिए ERDDAP™ ब्लैकलिस्ट उपयोगकर्ताओं को कई एक साथ अनुरोध करना है जो अन्य उपयोगकर्ताओं को काफी हद तक भीड़भाड़ रहा है।
- Inflated Expectations - इस दुनिया में बड़े पैमाने पर तकनीकी कंपनियों की दुनिया में (अमेज़न, गूगल, फेसबुक, ...) उपयोगकर्ता प्रदाताओं से अनिवार्य रूप से असीमित क्षमताओं की उम्मीद करते हैं। चूंकि ये कंपनियां धन निर्माण कार्य कर रही हैं, उनके पास जितना उपयोगकर्ता हैं, उतना ही राजस्व उन्हें अपने आईटी बुनियादी ढांचे का विस्तार करना पड़ता है। इसलिए वे अनुरोधों को संभालने के लिए एक विशाल IT अवसंरचना प्रदान कर सकते हैं। और वे उपयोगकर्ताओं से अनुरोधों की संख्या और प्रत्येक अनुरोध की लागत को सीमित करते हैं, उन अनुरोधों के प्रकार को सीमित करते हैं जो उपयोगकर्ता ऐसा कर सकते हैं कि कोई भी अनुरोध बोझिल नहीं है, और कोई कारण नहीं है (या एक रास्ता) उपयोगकर्ताओं के लिए एकाधिक एक साथ अनुरोध करने के लिए। तो इन विशाल तकनीकी कंपनियों की तुलना में कहीं अधिक उपयोगकर्ता हो सकता है ERDDAP™ लेकिन उनके पास प्रत्येक उपयोगकर्ता के अनुरोध को सीमित करने के लिए बड़े पैमाने पर अधिक संसाधन और चालाक तरीके हैं। यह बड़ी आईटी कंपनियों के लिए एक प्रबंधनीय स्थिति है (और वे अमीर हो जाते हैं!) लेकिन नहीं ERDDAP™ स्थापना। फिर, एकमात्र रक्षा के लिए ERDDAP™ ब्लैकलिस्ट उपयोगकर्ताओं को कई एक साथ अनुरोध करना है जो अन्य उपयोगकर्ताओं को काफी हद तक भीड़भाड़ रहा है।
इसलिए उपयोगकर्ता: एकाधिक एक साथ अनुरोध नहीं करते हैं या आप ब्लैकलिस्ट किए जाएंगे!
स्पष्ट रूप से, यह सबसे अच्छा है यदि आपके सर्वर में बहुत सारे कोर हैं, तो बहुत सारी मेमोरी (इसलिए आप स्मृति के बहुत सारे आवंटित कर सकते हैं ERDDAP™ कभी जरूरत से अधिक) , और एक उच्च बैंडविड्थ इंटरनेट कनेक्शन। फिर स्मृति शायद ही कभी या कभी सीमित कारक नहीं है, लेकिन नेटवर्क बैंडविड्थ अधिक आम सीमित कारक बन जाता है। मूल रूप से, जैसा कि अधिक से अधिक एक साथ अनुरोध हैं, किसी भी उपयोगकर्ता को गति कम हो जाती है। यह स्वाभाविक रूप से उन अनुरोधों की संख्या को धीमा कर देता है जिनमें प्रत्येक उपयोगकर्ता सिर्फ एक बार में एक अनुरोध जमा कर रहा है।
ERDDAP™ THREDDS से डेटा प्राप्त करना
अगर आपका ERDDAP™ आपकी साइट पर एक THREDDS से इसके कुछ डेटा प्राप्त होते हैं, THREDDS डेटा फ़ाइलों की प्रतिलिपि बनाने के लिए कुछ फायदे हैं। (कम से कम सबसे लोकप्रिय डेटासेट के लिए) अन्य RAID पर कि ERDDAP™ इतना है कि ERDDAP™ सीधे फाइलों से डेटा की सेवा कर सकते हैं। पर ERD , हम अपने सबसे लोकप्रिय डेटासेट के लिए करते हैं।
- ERDDAP™ सीधे डेटा प्राप्त कर सकते हैं और डेटासेट को फिर से लोड करने के लिए THREDDS की प्रतीक्षा नहीं करना चाहिए।
- ERDDAP™ तुरंत नई डेटा फ़ाइलों को नोटिस और शामिल कर सकते हैं, इसलिए डेटासेट बदल गया है या नहीं, यह देखने के लिए अक्सर कीटों के लिए नहीं है। देखें<EveryNMillis (/docs/server-admin/datasets#updateeverynmillis) ।
- भार को 2 RAIDS और 2 सर्वरों के बीच विभाजित किया गया है, इसके बजाय अनुरोध दोनों पर कड़ी मेहनत की जा रही है। ERDDAP™ और THREDDS।
- आप THREDDS के कारण होने वाली गलतफहमी समस्या से बचने के लिए एक छोटी सी समस्या है। (डिफ़ॉल्ट रूप से) अधिकतम अनुरोध आकार। ERDDAP™ एक प्रणाली है, लेकिन समस्या से बचना बेहतर है।
- आपके पास डेटा की एक बैकअप प्रति है जो हमेशा एक अच्छा विचार है।
किसी भी मामले में, कभी भी THREDDS नहीं चलाते हैं और ERDDAP™ उसी टॉमकैट में। उन्हें अलग-अलग टॉमकैट में चलाएं, या बेहतर, अलग-अलग सर्वरों पर।
हमें लगता है कि समय-समय पर THREDDS एक राज्य में हो जाता है जहां सिर्फ लटकाने का अनुरोध करता है। अगर आपका ERDDAP™ एक THREDDS से डेटा प्राप्त कर रहा है और THREDDS इस राज्य में है, ERDDAP™ रक्षा करना (यह कहना है कि THREDDS-आधारित डेटासेट उपलब्ध नहीं है) लेकिन यह अभी भी परेशान है ERDDAP™ क्योंकि ERDDAP™ हर बार जब तक यह एक भूखे THREDDS से डेटासेट को फिर से लोड करने की कोशिश करता है तब तक इंतजार करना पड़ता है। कुछ समूह (सहित ERD ) अक्सर THREDDS को सक्रिय रूप से पुनरारंभ करके इससे बचना (उदाहरण के लिए, रात में एक क्रोन नौकरी में) ।
धीरे जवाब देना
- अगर ERDDAP™ धीरे-धीरे जवाब देना या अगर कुछ अनुरोध धीरे-धीरे जवाब दे रहे हैं, यदि आप सुस्ती उचित और अस्थायी है तो आप यह पता लगाने में सक्षम हो सकते हैं (उदाहरण के लिए, स्क्रिप्ट से बहुत सारे अनुरोधों के कारण या WMS उपयोगकर्ता) यदि कुछ गलत है और आप की जरूरत है बंद करें और टॉमकैट को पुनरारंभ करें और बंद करें ERDDAP™ ।
अगर ERDDAP™ धीरे-धीरे जवाब दे रहा है, कारण निर्धारित करने के लिए नीचे सलाह देखें, जो उम्मीद है कि आप समस्या को ठीक करने में सक्षम होंगे। आपके पास एक विशिष्ट प्रारंभिक बिंदु हो सकता है (उदाहरण के लिए, एक विशिष्ट अनुरोध यूआरएल) या एक अस्पष्ट प्रारंभिक बिंदु (उदाहरण के लिए ERDDAP™ धीमी गति से) । आप शामिल उपयोगकर्ता को जान सकते हैं (उदाहरण के लिए, क्योंकि वे आपको ईमेल करते हैं) नहीं आप अन्य clues हो सकता है, या नहीं। चूंकि इन सभी स्थितियों और समस्याओं के सभी संभावित कारणों को एक साथ धुंधला, नीचे दी गई सलाह सभी संभावित शुरुआती बिंदुओं और धीमी प्रतिक्रिया से संबंधित सभी संभावित समस्याओं से निपटने की कोशिश करती है।
- **में clues के लिए देखो ERDDAP लॉग फ़ाइल ** ( बड़ाParentDirectory /logs/log.txt) ।
\[ दुर्लभ अवसरों पर, इसमें clues हैं टॉमकैट की लॉग फाइल ( tomcat /logs/catalina.out) । \]
त्रुटि संदेश के लिए देखो। एक बड़ी संख्या में अनुरोधों को देखना (कुछ) उपयोगकर्ता और शायद अपने सर्वर के संसाधनों का एक बहुत hogging (मेमोरी, सीपीयू टाइम, डिस्क एक्सेस, इंटरनेट बैंडविड्थ) ।
यदि परेशानी से बंधा है एक उपयोगकर्ता , आप अक्सर इस बारे में एक सुराग प्राप्त कर सकते हैं कि उपयोगकर्ता किस तरह वेब सेवाओं के माध्यम से है। https://whatismyipaddress.com/ip-lookup कि आप उपयोगकर्ता के आईपी पते से संबंधित जानकारी दे सकते हैं (जिसे आप खोज सकते हैं ERDDAP ' लॉग-इन फ़ाइल) ।
- यदि उपयोगकर्ता ऐसा लगता है तो वह एक हो सकता है बॉट बुरी तरह से व्यवहार करना (विशेष रूप से, एक खोज इंजन बाहर भरने की कोशिश कर रहा है ERDDAP™ प्रवेश मूल्यों के हर संभव क्रमपरिवर्तन के साथ रूपों) , सुनिश्चित करें कि आपने अपने सर्वर को ठीक से सेट किया है रोबोट.txt फ़ाइल
- यदि उपयोगकर्ता ऐसा लगता है तो वह एक हो सकता है **स्क्रिप्ट (s) ** जो एकाधिक एक साथ अनुरोध कर रहा है, उपयोगकर्ता से संपर्क करें, समझाएं कि आपका ERDDAP™ सीमित संसाधन है (उदाहरण के लिए, मेमोरी, सीपीयू टाइम, डिस्क एक्सेस, इंटरनेट बैंडविड्थ) , और उन्हें अन्य उपयोगकर्ताओं के लिए विचार करने के लिए कहें और सिर्फ एक समय में एक अनुरोध करें। आप यह भी उल्लेख कर सकते हैं कि अगर वे वापस नहीं जाते तो आप उन्हें ब्लैकलिस्ट करेंगे।
- यदि उपयोगकर्ता ऐसा लगता है तो वह एक हो सकता है स्क्रिप्ट बड़ी संख्या में समय लेने वाले अनुरोधों को बनाने के लिए उपयोगकर्ता को अन्य उपयोगकर्ताओं के लिए एक छोटा सा ठहराकर विचार करने के लिए कहें (2 सेकंड?) अनुरोधों के बीच स्क्रिप्ट में।
- ** WMS क्लाइंट सॉफ्टवेयर** बहुत मांग हो सकती है। एक ग्राहक अक्सर एक समय में 6 कस्टम छवियों के लिए पूछता है। यदि उपयोगकर्ता ऐसा लगता है तो वह एक हो सकता है WMS ग्राहक जो वैध अनुरोध कर रहा है, आप कर सकते हैं:
- इसे अनदेखा करें। (अनुशंसित, क्योंकि वे जल्द ही बहुत आगे बढ़ेंगे)
- अपने सर्वर को बंद करें WMS सेवा ERDDAP 's सेटअप.html फ़ाइल। (अनुशंसित नहीं)
- यदि अनुरोध लगता है स्टुपिड, पागल, अत्यधिक, या दुर्भावनापूर्ण, या यदि आप किसी अन्य तरीके से समस्या को हल नहीं कर सकते हैं, तो अस्थायी रूप से या स्थायी रूप से उपयोगकर्ता के आईपी पते को जोड़ने पर विचार करें।<अपने अनुरोध में ब्लैकलिस्ट> datasets.xml फ़ाइल (/docs/server-admin/datasets#requestblacklist) ।
- अपने कंप्यूटर से समस्या को डुप्लिकेट करने की कोशिश करें।
अगर समस्या एक डेटासेट या सभी डेटासेट के साथ है, तो एक उपयोगकर्ता या सभी उपयोगकर्ताओं के लिए, सिर्फ कुछ प्रकार के अनुरोधों के लिए आदि। यदि आप समस्या को दोहरा सकते हैं, तो समस्या को कम करने की कोशिश करें। यदि आप समस्या को डुप्लिकेट नहीं कर सकते हैं, तो समस्या उपयोगकर्ता के कंप्यूटर, उपयोगकर्ता के इंटरनेट कनेक्शन, या आपके संस्थान के इंटरनेट कनेक्शन से जुड़ी हो सकती है। - बस एक डेटासेट धीरे-धीरे जवाब देना (शायद एक प्रकार का अनुरोध एक उपयोगकर्ता से) , समस्या हो सकती है:
- ERDDAP डेटासेट के स्रोत डेटा तक पहुंच (विशेष रूप से रिलेशनल डेटाबेस, Cassandra और रिमोट डेटासेट से) अस्थायी रूप से या स्थायी रूप से धीमा हो सकता है। स्रोत की गति को स्वतंत्र करने की कोशिश करें ERDDAP । यदि यह धीमी है, तो शायद आप इसे सुधार सकते हैं।
- क्या विशिष्ट अनुरोध या सामान्य प्रकार के अनुरोध से संबंधित समस्या है? एक डेटासेट के अनुरोधित सबसेट जितना बड़ा होगा, उतना अधिक संभावना है कि अनुरोध विफल हो जाएगा। यदि उपयोगकर्ता विशाल अनुरोध कर रहा है, तो उपयोगकर्ता को छोटे अनुरोध करने के लिए कहें जो तेज और सफल प्रतिक्रिया प्राप्त करने की संभावना अधिक है।
लगभग सभी डेटा सेट अनुरोधों की तुलना में कुछ प्रकार के अनुरोधों को संभालने में बेहतर हैं। उदाहरण के लिए, जब एक डेटासेट विभिन्न फ़ाइलों में अलग-अलग समय के हिस्से को स्टोर करता है, तो बड़ी संख्या में समय बिंदुओं से डेटा के लिए अनुरोध बहुत धीमा हो सकता है। यदि वर्तमान अनुरोध एक कठिन प्रकार के हैं, तो इन अनुरोधों के लिए अनुकूलित डेटासेट का एक संस्करण पेश करने पर विचार करें। या सिर्फ उस उपयोगकर्ता को समझाते हैं कि उस प्रकार का अनुरोध कठिन और समय लेने वाला है, और अपने धैर्य के लिए पूछते हैं।
-
डेटासेट को बेहतर ढंग से कॉन्फ़िगर नहीं किया जा सकता है। आप डेटासेट में बदलाव कर सकते हैं datasets.xml मदद करने के लिए ERDDAP™ डेटासेट को बेहतर ढंग से संभालें। उदाहरण के लिए,
- EDDGrid से NcFiles डेटासेट जो संपीड़ित nc4/hdf5 फ़ाइलों से डेटा तक पहुंचते हैं, पूरे भौगोलिक रेंज के लिए डेटा प्राप्त करते समय धीमी गति से होते हैं। (उदाहरण के लिए, दुनिया के नक्शे के लिए) क्योंकि पूरी फाइल को डीकंप्रेस किया जाना चाहिए। आप फ़ाइलों को असंपीड़ित फ़ाइलों में परिवर्तित कर सकते हैं, लेकिन फिर डिस्क स्पेस की आवश्यकता बहुत बड़ी होगी। शायद यह स्वीकार करना बेहतर है कि इस तरह के डेटासेट कुछ परिस्थितियों में धीमा हो जाएगा।
- का विन्यास [< subsetVariables > (/docs/server-admin/datasets#subsetvariables) टैग कैसे पर एक बड़ा प्रभाव है ERDDAP™ EDDTable Datasets संभालती है।
- आप बढ़ा सकते हैं EDDTableFromDatabase की गति डेटासेट।
- कई EDDTable डेटासेट द्वारा sped किया जा सकता है डेटा की एक प्रति संग्रहीत करना NetCDF Contiguous ragged Array files जो ERDDAP™ बहुत जल्दी पढ़ सकते हैं।
यदि आप एक विशिष्ट डेटासेट को गति देने में मदद करना चाहते हैं, तो इसमें समस्या का वर्णन और डेटासेट का हिस्सा शामिल है। datasets.xml और देखें अतिरिक्त समर्थन प्राप्त करने पर अनुभाग ।
- अगर सब कुछ में ERDDAP™ है हमेशा धीमी गति से, समस्या हो सकती है:
- कंप्यूटर जो चल रहा है ERDDAP™ पर्याप्त स्मृति या प्रसंस्करण शक्ति नहीं हो सकती है। दौड़ना अच्छा है ERDDAP™ आधुनिक, बहु-कोर सर्वर पर। भारी उपयोग के लिए सर्वर में 64-बिट ऑपरेटिंग सिस्टम और 8 GB या अधिक मेमोरी होना चाहिए।
- कंप्यूटर जो चल रहा है ERDDAP™ अन्य अनुप्रयोग भी चला सकते हैं जो बहुत सारे सिस्टम संसाधनों का उपभोग कर रहे हैं। यदि हां, तो आप के लिए एक समर्पित सर्वर प्राप्त कर सकते हैं ERDDAP ? उदाहरण के लिए (यह समर्थन नहीं है) , आप 8 जीबी मेमोरी के साथ एक क्वाड-कोर मैक मिनी सर्वर प्राप्त कर सकते हैं ~ $ 1100।
- अगर सब कुछ में ERDDAP™ है अस्थायी रूप से धीमी गति से देखें ERDDAP ' ** /erddap/status.html पृष्ठ** अपने ब्राउज़र में।
- क्या करता है ERDDAP™ स्थिति पृष्ठ लोड करने में विफल? यदि ऐसा हो, पुनरारंभ ERDDAP™ ।
- क्या ERDDAP™ स्थिति पृष्ठ लोड धीरे (उदाहरण के लिए,>5 सेकंड) ? यह एक संकेत है कि सब कुछ में ERDDAP™ धीरे-धीरे चल रहा है, लेकिन यह जरूरी नहीं है कि परेशानी। ERDDAP™ वास्तव में व्यस्त हो सकता है।
- "Response विफल समय के लिए (पिछले प्रमुख LoadDatasets) ", n = एक बड़ी संख्या है? यह इंगित करता है कि हाल ही में बहुत सारे असफल अनुरोध हुए हैं। यह परेशानी या परेशानी की शुरुआत हो सकती है। असफलता के लिए औसत समय अक्सर बड़ा होता है (उदाहरण के लिए, 210000 ms) , जिसका अर्थ है कि वहाँ थे (क्या हैं?) सक्रिय धागे के बहुत सारे। जो बहुत सारे संसाधनों को बांधते थे (जैसे मेमोरी, ओपन फाइलें, ओपन सॉकेट, ...) , जो अच्छा नहीं है।
- "Response Succeed Time" के लिए (पिछले प्रमुख LoadDatasets) ", n = एक बड़ी संख्या है? यह इंगित करता है कि हाल ही में बहुत सारे सफल अनुरोध हुए हैं। यह परेशानी नहीं है। इसका मतलब यह है कि आपका ERDDAP™ भारी उपयोग हो रहा है।
- क्या "गैर-टॉमकैट-वैटिंग थ्रेड्स की संख्या" एक विशिष्ट मान को दोगुना करती है? यह अक्सर गंभीर परेशानी का कारण बनता है ERDDAP™ धीमी गति से और अंततः फ्रीज करने के लिए। यदि यह घंटों तक जारी रहता है, तो आप सक्रिय रूप से चाहते हैं पुनरारंभ ERDDAP™ ।
- "मेमोरी यूज़ सारांश" सूची के नीचे, अंतिम "मेमोरी: वर्तमान में उपयोग" मूल्य बहुत अधिक है? यह केवल उच्च उपयोग को इंगित कर सकता है, या यह परेशानी का संकेत हो सकता है।
- धागे और उनकी स्थिति की सूची देखें। उनमें से एक असामान्य संख्या असामान्य है?
- क्या है अपने संस्थान के इंटरनेट कनेक्शन वर्तमान में धीमा? "इंटरनेट स्पीड टेस्ट" के लिए इंटरनेट खोजें और मुफ्त ऑनलाइन परीक्षणों में से एक का उपयोग करें, जैसे कि https://www.speakeasy.net/speedtest/ । यदि आपके संस्थान का इंटरनेट कनेक्शन धीमा है, तो उसके बीच संबंध ERDDAP™ और दूरस्थ डेटा स्रोतों धीमा हो जाएगा, और बीच कनेक्शन ERDDAP™ और उपयोगकर्ता धीमा हो जाएगा। कभी-कभी, आप अनावश्यक इंटरनेट उपयोग को रोककर इसे हल कर सकते हैं (उदाहरण के लिए, लोग स्ट्रीमिंग वीडियो देख रहे हैं या वीडियो कॉन्फ्रेंस कॉल पर) ।
- क्या है उपयोगकर्ता का इंटरनेट कनेक्शन वर्तमान में धीमा? उपयोगकर्ता को "इंटरनेट स्पीड टेस्ट" के लिए इंटरनेट खोजना है और मुफ्त ऑनलाइन परीक्षणों में से एक का उपयोग करना है, जैसे कि https://www.speakeasy.net/speedtest/ । यदि उपयोगकर्ता का इंटरनेट कनेक्शन धीमा हो जाता है, तो यह अपनी पहुंच को धीमा कर देता है ERDDAP । कभी-कभी, वे अपने संस्थान में अनावश्यक इंटरनेट उपयोग को रोकने के द्वारा इसे हल कर सकते हैं (उदाहरण के लिए, लोग स्ट्रीमिंग वीडियो देख रहे हैं या वीडियो कॉन्फ्रेंस कॉल पर) ।
- क्या?
देखें अतिरिक्त समर्थन प्राप्त करने पर अनुभाग ।
शट डाउन और रिस्टार्ट
- **कैसे बंद करें और टॉमकैट को फिर से शुरू करें ERDDAP™ **
आपको बंद करने और टॉमकैट को पुनरारंभ करने की आवश्यकता नहीं है और ERDDAP अगर ERDDAP™ अस्थायी रूप से धीमा है, कुछ ज्ञात कारण के लिए धीमा है (स्क्रिप्ट या स्क्रिप्ट से बहुत सारे अनुरोधों की तरह WMS उपयोगकर्ता) , या परिवर्तन लागू करने के लिए datasets.xml फ़ाइल
आपको टॉमकैट को बंद करने और पुनः आरंभ करने की आवश्यकता है और ERDDAP™ यदि आपको सेटअप.xml फ़ाइल में परिवर्तन लागू करने की आवश्यकता है, या यदि ERDDAP™ फ्रीज, हैंग, या लॉक अप। चरम परिस्थितियों में, Java जबकि यह एक पूर्ण कचरा संग्रह करता है, लेकिन फिर ठीक हो जाता है, एक मिनट या दो के लिए फ्रीज हो सकता है। तो यह देखने के लिए कि क्या एक मिनट या दो मिनट का इंतजार करना अच्छा है Java / ERDDAP™ वास्तव में जमे हुए है या अगर यह सिर्फ लंबे कचरा संग्रह कर रहा है। (अगर कचरा संग्रह एक आम समस्या है, टॉमकैट के लिए अधिक मेमोरी आवंटित करें ।)
मैं टॉमकैट को शुरू करने या बंद करने के लिए टॉमकैट वेब एप्लीकेशन मैनेजर का उपयोग करने की सलाह नहीं देता। यदि आप पूरी तरह से बंद नहीं करते हैं और स्टार्टअप टॉमकैट, जल्द ही या बाद में आपके पास PermGen स्मृति मुद्दे होंगे।
बंद करने और टॉमकैट को पुनरारंभ करने के लिए और ERDDAP :
- यदि आप लिनक्स या मैक का उपयोग करते हैं:
(यदि आपने टॉमकैट चलाने के लिए एक विशेष उपयोगकर्ता बनाया है, उदाहरण के लिए, tomcat, उस उपयोगकर्ता के रूप में निम्नलिखित चरणों को याद रखें।)
- सीडी tomcat /bin
- ps-ef | JVA/tomcat प्रक्रिया खोजने के लिए grep tomcat आईडी (उम्मीद है कि सिर्फ एक प्रक्रिया सूचीबद्ध होगी) , जिसे हम कॉल करेंगे जावाप्रोसेसिड नीचे।
- अगर ERDDAP™ जमे हुए / लटका / बंद हो गया है, हत्या का उपयोग -3 जावाप्रोसेसिड बताने के लिए Java (जो टॉमकैट चल रहा है) टॉमकैट लॉग फाइल में एक थ्रेड डंप करने के लिए: tomcat /logs/catalina.out जब आप रिबूट करते हैं, तो आप थ्रेड डंप जानकारी प्राप्त करके समस्या का निदान कर सकते हैं (इसके अलावा अन्य उपयोगी जानकारी) में tomcat /logs/catalina.out और इसके अलावा प्रासंगिक भागों को पढ़कर ERDDAP™ लॉग इन । यदि आप चाहते हैं, तो आप उस जानकारी को शामिल कर सकते हैं और हमारी जानकारी देख सकते हैं अतिरिक्त समर्थन प्राप्त करने पर अनुभाग ।
- उपयोग करें। sh
- ps-ef | जब तक जावा / टोमकैट प्रक्रिया को सूचीबद्ध नहीं किया जाता है तब तक बार-बार ग्रैप टोमकैट।
कभी-कभी, जावा / टोमकैट प्रक्रिया पूरी तरह से बंद करने के लिए दो मिनट तक ले जाएगी। कारण है: ERDDAP™ उन्हें रोकने के लिए अपने पृष्ठभूमि धागे को संदेश भेजता है, लेकिन कभी-कभी यह इन धागे को एक अच्छा रोक स्थान प्राप्त करने के लिए लंबे समय तक लेता है।
- यदि एक मिनट के बाद या तो, जावा/टोमैट अपने आप को रोक नहीं पाता है, तो आप उपयोग कर सकते हैं
हत्या-9 जावाप्रोसेसिड
तुरंत बंद करने के लिए जावा/टोमैट प्रक्रिया को मजबूर करना। यदि संभव हो, तो इसे केवल एक अंतिम सहारा के रूप में उपयोग करें। -9 स्विच शक्तिशाली है, लेकिन यह विभिन्न समस्याओं का कारण बन सकता है। - पुनः आरंभ करना ERDDAP™ , का उपयोग करें / startup.sh
- देखें ERDDAP™ अपने ब्राउज़र में यह जांचने के लिए कि पुनरारंभ सफल रहा। (कभी-कभी, आपको 30 सेकंड तक इंतजार करना होगा और लोड करने की कोशिश करनी चाहिए ERDDAP™ फिर अपने ब्राउज़र में सफल होने के लिए।)
- यदि आप Windows का उपयोग करते हैं:
- सीडी tomcat /bin
- उपयोग shutdown.bat
- आप विंडोज टास्क मैनेजर का उपयोग करना चाहते हैं / जरूरतमंद हो सकते हैं (Ctrl Alt Del के माध्यम से सुलभ) यह सुनिश्चित करना कि Java /Tomcat/ ERDDAP™ प्रक्रिया / आवेदन पूरी तरह से बंद हो गया है। कभी-कभी, प्रक्रिया / आवेदन बंद करने के लिए दो मिनट तक ले जाएगा। कारण है: ERDDAP™ उन्हें रोकने के लिए अपने पृष्ठभूमि धागे को संदेश भेजता है, लेकिन कभी-कभी यह इन धागे को एक अच्छा रोक स्थान प्राप्त करने के लिए लंबे समय तक लेता है।
- पुनः आरंभ करना ERDDAP™ स्टार्टअप
- देखें ERDDAP™ अपने ब्राउज़र में यह जांचने के लिए कि पुनरारंभ सफल रहा। (कभी-कभी, आपको 30 सेकंड तक इंतजार करना होगा और लोड करने की कोशिश करनी चाहिए ERDDAP™ फिर अपने ब्राउज़र में सफल होने के लिए।)
अक्सर पूछे जाने वाले प्रश्न
अगर ERDDAP™ धीमी, दुर्घटनाग्रस्त या फ्रीज हो जाता है, कुछ गलत है। देखो ERDDAP लॉग फ़ाइल कारण को समझने की कोशिश करना। यदि आप नहीं कर सकते हैं, तो कृपया विवरण शामिल करें और हमें देखें अतिरिक्त समर्थन प्राप्त करने पर अनुभाग ।
सबसे आम समस्या एक समस्याग्रस्त उपयोगकर्ता है जो एक बार में कई स्क्रिप्ट चला रहा है और/या कोई बड़ी संख्या में अमान्य अनुरोध करता है। यदि ऐसा होता है तो आपको शायद उस उपयोगकर्ता को ब्लैकलिस्ट करना चाहिए। जब एक ब्लैकलिस्ट उपयोगकर्ता एक अनुरोध करता है, तो प्रतिक्रिया में त्रुटि संदेश उन्हें समस्याओं को बाहर करने के लिए ईमेल करने के लिए प्रोत्साहित करता है। फिर, आप उन्हें एक समय में सिर्फ एक स्क्रिप्ट चलाने और अपनी स्क्रिप्ट में समस्याओं को ठीक करने के लिए प्रोत्साहित कर सकते हैं। (उदाहरण के लिए, दूरस्थ डेटासेट से डेटा का अनुरोध करना जो टाइमिंग से पहले जवाब नहीं दे सकता) । देखें<अपने अनुरोध में ब्लैकलिस्ट> datasets.xml फ़ाइल (/docs/server-admin/datasets#requestblacklist) ।
चरम परिस्थितियों में, Java जबकि यह एक पूर्ण कचरा संग्रह करता है, लेकिन फिर ठीक हो जाता है, एक मिनट या दो के लिए फ्रीज हो सकता है। तो यह देखने के लिए कि क्या एक मिनट या दो मिनट का इंतजार करना अच्छा है Java / ERDDAP™ वास्तव में जमे हुए है या अगर यह सिर्फ लंबे कचरा संग्रह कर रहा है। (अगर कचरा संग्रह एक आम समस्या है, टॉमकैट के लिए अधिक मेमोरी आवंटित करें ।)
अगर ERDDAP™ धीमी या फ्रीज हो जाता है और समस्या एक परेशानी उपयोगकर्ता या लंबे कचरा संग्रह नहीं है, आप आमतौर पर समस्या को हल कर सकते हैं पुनरारंभ करना ERDDAP™ । मेरा अनुभव है कि ERDDAP™ कुछ महीनों के लिए फिर से शुरू होने की आवश्यकता नहीं है।
मॉनिटर
आप अपनी निगरानी कर सकते हैं ERDDAP देख कर 's status' /erddap/status.html पृष्ठ विशेष रूप से शीर्ष अनुभाग में आंकड़े। अगर ERDDAP™ धीमी या फ्रीज हो जाता है और समस्या सिर्फ भारी उपयोग नहीं है, आप आमतौर पर समस्या को हल कर सकते हैं पुनरारंभ करना ERDDAP™ । Prometheus एकीकरण के माध्यम से /erddap/metrics पर अतिरिक्त मीट्रिक उपलब्ध हैं।
मेरा अनुभव है कि ERDDAP™ कुछ महीनों के लिए फिर से शुरू होने की आवश्यकता नहीं है। यदि आप कुछ बदलाव करना चाहते हैं तो आपको केवल इसे पुनरारंभ करना होगा ERDDAP सेटअप.xml ERDDAP™ , Java टॉमकैट, या ऑपरेटिंग सिस्टम। यदि आपको पुनरारंभ करना होगा ERDDAP™ अक्सर, कुछ गलत है। देखो ERDDAP लॉग फ़ाइल कारण को समझने की कोशिश करना। यदि आप नहीं कर सकते हैं, तो कृपया विवरण शामिल करें और हमें देखें अतिरिक्त समर्थन प्राप्त करने पर अनुभाग । एक अस्थायी समाधान के रूप में, आप उपयोग करने की कोशिश कर सकते हैं मोनिका अपनी निगरानी करने के लिए ERDDAP™ यदि आवश्यक हो तो इसे पुनः आरंभ करें। या, आप पुनः आरंभ करने के लिए एक क्रॉन जॉब बना सकते हैं ERDDAP™ (सक्रिय) समय-समय पर। यह निगरानी और पुनरारंभ करने के लिए स्क्रिप्ट लिखने के लिए थोड़ा चुनौतीपूर्ण हो सकता है ERDDAP । कुछ सुझाव जो मदद कर सकते हैं:
- आप परीक्षण को सरल कर सकते हैं यदि टॉमकैट प्रक्रिया अभी भी ग्रेप के साथ-सी स्विच का उपयोग करके चल रही है: ps tomcat उपयोगकर्ता | grep-c java यदि tomcat प्रक्रिया अभी भी जीवित है, या "0" यदि प्रक्रिया बंद हो गई है तो यह आउटपुट को "1" में कम कर देगा।
- यदि आप gawk के साथ अच्छे हैं, तो आप प्रक्रिया को निकाल सकते हैंID परिणामों से ps tomcat उपयोगकर्ता | grep java, और स्क्रिप्ट के अन्य लाइनों में processID का उपयोग करें।
यदि आप मॉनिट या क्रॉन जॉब की स्थापना करते हैं, तो यह बहुत अच्छा होगा यदि आप विवरण साझा कर सकते हैं ताकि दूसरों को फायदा हो सके अतिरिक्त समर्थन प्राप्त करने पर अनुभाग जहाँ आप साझा कर सकते हैं।
Permgen
यदि आप बार-बार टॉमकैट प्रबंधक का उपयोग रीलोड करने के लिए करते हैं (प्रारंभ करना) ERDDAP™ , ERDDAP™ java.lang को शुरू करने और फेंकने में विफल हो सकता है। OutOfMemoryError: PermGen। समाधान समय-समय पर है (या हर बार?) बंद कर दिया और tomcat पुनः आरंभ और ERDDAP™ , सिर्फ पुनः लोड करने के बजाय ERDDAP ।
\[ अपडेट: इस समस्या को बहुत कम या तय किया गया था ERDDAP™ संस्करण 1.24. \]
लॉग इन
- ** लॉग-इन **
अगर ERDDAP™ शुरू नहीं होता है या यदि कुछ उम्मीद के रूप में काम नहीं कर रहा है, तो त्रुटि और नैदानिक संदेशों को देखने के लिए बहुत उपयोगी है। ERDDAP™ लॉग फ़ाइल - लॉग फ़ाइल है बड़ाParentDirectory /logs/log.txt ( बड़ाParentDirectory में निर्दिष्ट है साइटमैप ) । यदि कोई लॉग नहीं है। txt फ़ाइल या यदि लॉग है। जब तक आप पुनरारंभ करते हैं, तो txt फ़ाइल को अपडेट नहीं किया गया है ERDDAP™ , देखो टॉमकैट लॉग फाइल यह देखने के लिए कि क्या वहाँ एक त्रुटि संदेश है।
- लॉग फ़ाइल में नैदानिक संदेशों के प्रकार:
- "error" शब्द का उपयोग तब किया जाता है जब कुछ गलत हो गया कि प्रक्रिया पूरी होने में विफल रही। हालांकि यह एक त्रुटि प्राप्त करने के लिए कष्टप्रद है, त्रुटि आपको समस्या से निपटने के लिए मजबूर करती है। हमारी सोच यह है कि त्रुटि को फेंकना बेहतर है, क्योंकि इससे भी अधिक है ERDDAP™ साथ में hobble, जिस तरह से आप उम्मीद नहीं की थी।
- जब कुछ गलत हो गया तो "वारने" शब्द का उपयोग किया जाता है, लेकिन प्रक्रिया पूरी होने में सक्षम थी। ये बहुत दुर्लभ हैं।
- कुछ और सिर्फ एक अनौपचारिक संदेश है। आप इस बात को नियंत्रित कर सकते हैं कि किस तरह की जानकारी लॉग इन है [<लॉग लेवल> (/docs/server-admin/datasets#loglevel) datasets.xml ।
- डेटासेट रीलोड और उपयोगकर्ता प्रतिक्रियाएं जो समाप्त होने के लिए>10 सेकंड लेती हैं (सफलतापूर्वक या असफल) "के साथ चिह्नित कर रहे हैं (>10) "। इस प्रकार, आप इस वाक्यांश के लिए log.txt फ़ाइल को डेटासेट खोजने के लिए खोज सकते हैं जो पुनः लोड करने के लिए धीमा थे या अनुरोधों की अनुरोध संख्या जो समाप्त होने के लिए धीमा थी। फिर आप log.txt फ़ाइल में उच्चतर देख सकते हैं ताकि यह देखने के लिए कि डेटासेट समस्या क्या थी या उपयोगकर्ता का अनुरोध क्या था और यह किससे था। इन धीमी डेटासेट लोड और उपयोगकर्ता अनुरोधों पर कभी-कभी कर रहे हैं ERDDAP । इसलिए इन अनुरोधों के बारे में अधिक जानने से आप समस्याओं को पहचानने और हल करने में मदद कर सकते हैं।
- सूचना को काफी बड़े हिस्से में डिस्क ड्राइव पर लॉग फ़ाइल में लिखा गया है। लाभ यह है कि यह बहुत ही कुशल है - ERDDAP™ कभी भी सूचना के लिए प्रतीक्षा नहीं करेगा। नुकसान यह है कि लॉग लगभग हमेशा आंशिक संदेश के साथ समाप्त हो जाएगा, जो अगले हिस्से को लिखने तक पूरा नहीं किया जाएगा। आप इसे अद्यतन कर सकते हैं (तत्काल के लिए) देखिए ERDDAP पर 'स्थिति वेब पेज'https://your.domain.org/erddap/status.html (या http:// अगर https सक्षम नहीं है) ।
- जब log.txt फ़ाइल 20 MB हो जाती है, फ़ाइल को लॉग नाम दिया गया है। txt.previous और एक नई log.txt फ़ाइल बनाई गई है। इसलिए लॉग फाइलें जमा नहीं हैं।
सेटअप.xml में, आप मेगाबाइट्स में लॉग फ़ाइल के लिए एक अलग अधिकतम आकार निर्दिष्ट कर सकते हैं। न्यूनतम अनुमति 1 है (एमबी) । अधिकतम अनुमति 2000 है (एमबी) । डिफ़ॉल्ट 20 है (एमबी) । उदाहरण के लिए:
<logMaxSizeMB>20</logMaxSizeMB>
- जब भी आप पुनः आरंभ करते हैं ERDDAP™ , ERDDAP™ log.txt और लॉग की एक संग्रह प्रतिलिपि बनाता है। फ़ाइल के नाम में टाइम स्टैम्प के साथ txt.previous फाइलें। यदि पुनरारंभ से पहले परेशानी थी, तो इन संग्रहीत फ़ाइलों का विश्लेषण करने के लिए उपयोगी हो सकता है जैसे कि परेशानी क्या थी। यदि वे अब आवश्यक नहीं हैं तो आप संग्रह फ़ाइलों को हटा सकते हैं।
Parsing log.txt
ERDDAP लॉग इन txt फ़ाइल को पार्सिंग के लिए डिज़ाइन नहीं किया गया है (हालांकि आप नियमित अभिव्यक्ति बनाने में सक्षम हो सकते हैं जो वांछित जानकारी निकालने में सक्षम हो सकते हैं) । यह एक मानव को यह समझने में मदद करता है कि कुछ गलत होने पर क्या गलत हो रहा है। जब आप एक बग या समस्या रिपोर्ट जमा करते हैं ERDDAP™ डेवलपर्स, जब संभव हो, कृपया परेशानी अनुरोध से संबंधित log.txt फ़ाइल से सभी जानकारी शामिल करें।
दक्षता कारणों के लिए, ERDDAP™ केवल लॉग करने के लिए सूचना लिखती है। बड़ी जानकारी के बाद txt संचित हो गया है। इसलिए यदि आप लॉग पर जाते हैं। त्रुटि होने के तुरंत बाद, त्रुटि से संबंधित जानकारी अभी तक log.txt में नहीं लिखी जा सकती है। Log.txt से पूरी तरह से अद्यतन जानकारी प्राप्त करने के लिए, अपनी यात्रा करें ERDDAP ' Status.html page । कब ERDDAP™ प्रक्रियाएं जो अनुरोध करती हैं, यह लॉग.txt के लिए सभी लंबित जानकारी को फ्लश करती है।
के लिए ERDDAP™ उपयोग आँकड़े कृपया उपयोग करें Apache and/or Tomcat log files इसके बजाय ERDDAP 's log.txt. ध्यान दें कि ERDDAP ' Status.html page (कुछ) और दैनिक रिपोर्ट (अधिक) आप के लिए पूर्व निर्धारित उपयोग सांख्यिकी की एक बड़ी संख्या है।
टॉमकैट लॉग
अगर ERDDAP™ शुरू नहीं होता क्योंकि एक त्रुटि बहुत जल्द हुई ERDDAP स्टार्टअप, त्रुटि संदेश टॉमकैट की लॉग फ़ाइलों में दिखाई देगा ( tomcat /logs / catalina। आज .log or tomcat /logs/catalina.out) नहीं ERDDAP 's log.txt file ।
प्रयोग सांख्यिकी: अधिकांश जानकारी के लिए जो लोग लॉग फ़ाइल से इकट्ठा करना चाहते हैं (उदाहरण के लिए, उपयोग आंकड़े) , कृपया अपाचे और / या टॉमकैट लॉग फ़ाइलों का उपयोग करें। वे अच्छी तरह से स्वरूपित होते हैं और उस प्रकार की जानकारी रखते हैं। उन्हें विश्लेषण करने के लिए कई उपकरण हैं, उदाहरण के लिए, AWSTAT , लोचदार खोज Kibana , और जेमीटर , लेकिन अपने उद्देश्यों के लिए सही उपकरण खोजने के लिए वेब खोज।
ध्यान दें कि लॉग फाइलें केवल उपयोगकर्ताओं को आईपी पते के रूप में पहचानती हैं। किसी दिए गए आईपी पते से संबंधित जानकारी प्राप्त करने में आपकी मदद करने के लिए वेबसाइट हैं, उदाहरण के लिए, WhatIsMyIPAddress लेकिन आप आम तौर पर उपयोगकर्ता के नाम को खोजने में सक्षम नहीं होंगे।
इसके अलावा, क्योंकि DHCP , एक दिए गए उपयोगकर्ता का आईपी पता विभिन्न दिनों में अलग हो सकता है, या अलग-अलग उपयोगकर्ताओं के पास अलग-अलग समय पर समान आईपी पता हो सकता है।
वैकल्पिक रूप से, आप कुछ ऐसा कर सकते हैं जैसे Google Analytics । लेकिन सावधान रहें: जब आप गूगल एनालिटिक्स जैसी बाहरी सेवाओं का उपयोग करते हैं, तो आप Google को अपनी साइट पर अपनी गतिविधि तक पूरी तरह से पहुंच प्रदान करके अपने उपयोगकर्ताओं की गोपनीयता दे रहे हैं, जो Google पर Google को अपनी गतिविधि तक पहुंच प्रदान करता है। (अन्य?) हमेशा के लिए रख सकते हैं और किसी भी उद्देश्य के लिए उपयोग कर सकते हैं (शायद तकनीकी रूप से नहीं, बल्कि शायद व्यवहार में) । आपके उपयोगकर्ताओं ने इस पर सहमति नहीं दी है और शायद यह नहीं जानते कि उन्हें आपकी वेबसाइट पर ट्रैक किया जाएगा, जैसा कि वे शायद उन हद तक जागरूक नहीं हैं जिन्हें उन्हें लगभग सभी वेबसाइटों पर ट्रैक किया जा रहा है। इन दिनों, कई उपयोगकर्ता बहुत चिंतित हैं कि वेब पर जो कुछ वे करते हैं, उनकी निगरानी इन बड़ी कंपनियों द्वारा की जा रही है। (गूगल, फेसबुक, आदि) और सरकार के द्वारा, और इसे अपने जीवन में अप्रासंगिक घुसपैठ खोजने के लिए (पुस्तक में, 1984) । इस तरह के उत्पादों को स्थापित करने के लिए कई उपयोगकर्ताओं को प्रेरित किया है गोपनीयता बैजर ट्रैकिंग को कम करने के लिए, वैकल्पिक ब्राउज़रों का उपयोग करना Tor Browser (या पारंपरिक ब्राउज़रों में ट्रैकिंग बंद करें) वैकल्पिक खोज इंजनों का उपयोग करना Duck Duck Go । यदि आप Google Analytics की तरह एक सेवा का उपयोग करते हैं, तो कृपया कम से कम अपने उपयोग और परिणामों को बदलकर दस्तावेज़ करें।<StandardPrivacyPolicy> में टैग ERDDAP ' \[ tomcat \] / webapps/erddap/WEB-INF/classes/gov/noaa/pfel/erddap/util/message.xml फ़ाइल.
ई-मेल लॉग
- साइटमैप
ERDDAP™ हमेशा वर्तमान दिन के ईमेल में सभी आउट-गोइंग ईमेल संदेशों का पाठ लिखता है LogYEAR-MM-DD.txt फ़ाइल in बड़ाParentDirectory /लॉग ( बड़ाParentDirectory में निर्दिष्ट है साइटमैप ) । - यदि सर्वर ईमेल संदेशों को बाहर नहीं भेज सकता है, या यदि आपने कॉन्फ़िगर किया है ERDDAP™ ईमेल संदेश भेजने के लिए नहीं, या यदि आप सिर्फ उत्सुक हैं, तो यह फ़ाइल उन सभी ईमेल संदेशों को देखने का एक सुविधाजनक तरीका है जो भेजे गए हैं।
- यदि वे अब आवश्यक नहीं हैं तो आप पिछले दिनों के ईमेल लॉग फ़ाइलों को हटा सकते हैं।
दैनिक रिपोर्ट
दैनिक रिपोर्ट में बहुत सारी उपयोगी जानकारी है -- आपकी सभी जानकारी से ERDDAP ' /erddap/status.html पृष्ठ और अधिक।
- यह आपकी पूरी सारांश है ERDDAP स्थिति।
- अन्य आंकड़ों में, इसमें डेटासेट की एक सूची शामिल है जो लोड नहीं हुई थी और उनके द्वारा उत्पन्न अपवादों को शामिल किया गया था।
- जब आप शुरू करते हैं तो यह उत्पन्न होता है ERDDAP™ (बस ERDDAP™ सभी डेटासेट को लोड करने की कोशिश कर रहा है) और जल्द ही हर सुबह 7 बजे स्थानीय समय के बाद उत्पन्न हुआ।
- जब भी यह उत्पन्न होता है, तो इसे लिखा जाता है ERDDAP 's log.txt file ।
- जब भी यह उत्पन्न होता है, तो इसे ईमेल किया जाता है<EmailDailyReportsto<ईमेल To> (जो निर्दिष्ट हैं साइटमैप ) बशर्ते आपने ईमेल सिस्टम स्थापित किया है (सेटअप.xml) ।
स्थिति पृष्ठ
आप अपनी स्थिति देख सकते हैं ERDDAP™ किसी भी ब्राउज़र से<बेस यूआरएल /erddap/status.html
- यह पृष्ठ गतिशील रूप से उत्पन्न होता है, इसलिए यह हमेशा आपके लिए-साथ-साथ-साथ-साथ-साथ-साथ-साथ-साथ-साथ-साथ-साथ-साथ-साथ-साथ-साथ-साथ-साथ-साथ-साथ-साथ-साथ अपने-अपने-अपने-अपने-अपने-अपने-अपने-अपने-अपने-अपने-अपने-अपने-अपने-अपने-अपने-अपने-अपने-अपने-अपने-अपने-अपने-अपने-अपने-अपने-अपने-अपने-अपने-अपने-अपने-अपने-अपने-अपने-अपने-अपने-अपने-अपने-अपने-अपने-अपने-अपने-अपने-अपने-अपने-अपने-अपने-अपने-अपने-अपने-अपने-अपने-अपने-अपने-अपने-अपने-अपने-अपने-अपने-अपने-अपने-अपने-अपने-अपने-अपने-अपने-अपने-अपने-अपने-अपने-अपने-अपने-अपने-अपने-अपने-अपने-अपने-अपने-अपने-अपने-अपने-अपने-अपने-अपने-अपने-अपने-अपने-अपने-अपने-अपने-अपने-अपने-अपने-अपने-अपने-अपने-अपने-अपने-अपने-अपने-अपने-अपने- ERDDAP ।
- इसमें अनुरोधों की संख्या, मेमोरी उपयोग, थ्रेड स्टैक ट्रेस, टास्कथ्रेड इत्यादि के बारे में आंकड़े शामिल हैं।
- क्योंकि स्टेटस पेज को किसी के द्वारा देखा जा सकता है, इसमें ज्यादा जानकारी नहीं है क्योंकि इसमें कोई जानकारी नहीं है। दैनिक रिपोर्ट ।
डेटासेट जोड़ना / बदलना
ERDDAP™ आमतौर पर पीछे हटना datasets.xml हर LoadDatasetsMinutes (में निर्दिष्ट साइटमैप ) । इसलिए आप बदलाव कर सकते हैं datasets.xml किसी भी समय ERDDAP™ चल रहा है। एक नया डेटासेट जल्द ही पता लगाया जाएगा, आमतौर पर भीतर LoadDatasetsMinutes । जब यह होता है तो एक परिवर्तित डेटासेट को फिर से लोड किया जाएगा ReloadEveryNMinutes पुराना (यथा निर्दिष्ट datasets.xml ) ।
झंडा
-
** एक ध्वज फ़ाइल टेल ERDDAP™ To reload a Dataset as Soon as Possible.**
-
ERDDAP™ डेटासेट के सेटअप में किसी भी बदलाव को नोटिस नहीं करेगा datasets.xml जब तक ERDDAP™ डेटासेट को फिर से लोड करता है।
-
बताने के लिए ERDDAP™ जितनी जल्दी हो सके डेटासेट को फिर से लोड करना<ReloadEveryNMinutes> इसे पुनः लोड करने का कारण बनता है, एक फ़ाइल को अंदर डाल देता है बड़ाParentDirectory हिन्दी ( बड़ाParentDirectory में निर्दिष्ट है साइटमैप ) इसमें डेटासेट के समान नाम है datasetID । यह बताता है ERDDAP™ उस डेटासेट ASAP को फिर से लोड करने की कोशिश करें। डेटासेट का पुराना संस्करण उपयोगकर्ताओं को तब तक उपलब्ध रहेगा जब तक कि नया संस्करण उपलब्ध न हो और परमाणु रूप से जगह में स्वैप न हो। के लिए EDDGrid FromFiles and EDDTable FromFiles, रीलोडिंग डेटासेट नई या बदली हुई फ़ाइलों की तलाश करेगा, उन्हें पढ़ेगा और उन्हें डेटासेट में शामिल करेगा। इसलिए पुनः लोड करने का समय नई या परिवर्तित फ़ाइलों की संख्या पर निर्भर है। यदि डेटासेट सक्रिय है="false", ERDDAP™ डेटासेट को हटा देगा।
बुरा फ़ाइलें झंडा
-
/flag निर्देशिका का एक संस्करण /badFilesFlag निर्देशिका है। (जोड़ा गया ERDDAP™ v2.12.)
यदि आप एक फ़ाइल में डाल बड़ाParentDirectory एक के साथ /badFilesFlag निर्देशिका datasetID फाइल नाम के रूप में (फ़ाइल सामग्री कोई फर्क नहीं पड़ता) जल्द ही ERDDAP™ बुराफिल फ्लैग फाइल ERDDAP™ होगा:- BadFilesFlag फ़ाइल को हटा दें।
- BadFiles .nc फ़ाइल (यदि कोई हो) , जिसमें उस डेटासेट के लिए खराब फ़ाइलों की सूची है। जैसे डेटासेट के लिए EDDGrid साइडबायसाइड जिसमें चाइल्डडाटासेट होते हैं, यह भी खराब फिल्स को हटा देता है .nc सभी बच्चे डेटासेट के लिए फ़ाइल।
- डेटासेट ASAP को पुनः लोड करें।
इस कारण ERDDAP™ पहले फाइलों के साथ काम करने के लिए फिर से कोशिश करना (अंत में?) बुरा के रूप में चिह्नित।
हार्ड फ्लैग
-
/flag निर्देशिका का एक अन्य संस्करण /hardFlag निर्देशिका है। (जोड़ा गया ERDDAP™ v1.74.)
यदि आप एक फ़ाइल में डाल रहे हैं बड़ाParentDirectory एक के साथ /hardFlag datasetID फाइल नाम के रूप में (फ़ाइल सामग्री कोई फर्क नहीं पड़ता) जल्द ही ERDDAP™ कड़ी मेहनत फ्लैग फाइल ERDDAP™ होगा:- हार्डफ्लैग फ़ाइल को हटा दें।
- से डेटासेट निकालें ERDDAP ।
- सभी जानकारी को हटा दें ERDDAP™ इस डेटासेट के बारे में संग्रहीत है। के लिए EDDGrid FromFiles and EDDTable FromFiles subclasses, यह डेटा फ़ाइलों और उनकी सामग्री के आंतरिक डेटाबेस को हटा देता है। जैसे डेटासेट के लिए EDDGrid SideBySide कि चाइल्डडाटासेट है, यह भी डेटा फ़ाइलों के आंतरिक डेटाबेस और सभी बच्चे डेटासेट के लिए उनकी सामग्री को हटा देता है।
- डेटासेट को पुनः लोड करें। के लिए EDDGrid FromFiles and EDDTable FromFiles subclasses, इस कारण ERDDAP™ पढ़ना सब डेटा फ़ाइलों का। इस प्रकार, पुनः लोड समय डेटासेट में डेटा फ़ाइलों की कुल संख्या पर निर्भर है। क्योंकि डेटासेट को हटा दिया गया था ERDDAP™ जब हार्डफ्लैग को नोटिस किया गया था, तब तक डेटासेट को पुनः लोड होने तक अनुपलब्ध किया जाएगा। रोगी बनें देखो लॉग-इन यदि आप देखना चाहते हैं तो फ़ाइल क्या हो रही है।
हार्डफ्लैग वेरिएंट डेटासेट की संग्रहीत जानकारी को हटा देता है भले ही डेटासेट वर्तमान में लोड न हो ERDDAP ।
कठिन जब आप कुछ ऐसा करते हैं तो झंडे बहुत उपयोगी होते हैं जो कैसे में बदलाव का कारण बनता है ERDDAP™ उदाहरण के लिए, जब आप का एक नया संस्करण स्थापित करते हैं, तो स्रोत डेटा को पढ़ और व्याख्या करता है ERDDAP™ या जब आपने डेटासेट की परिभाषा में बदलाव किया है datasets.xml
- ध्वज की सामग्री, badFilesFlag, और hardFlag फ़ाइलें अप्रासंगिक हैं। ERDDAP™ सिर्फ फाइल नाम को देखने के लिए datasetID ।
- प्रमुख डेटासेट रीलोड के बीच, ERDDAP™ झंडा, badFilesFlag और hardFlag फ़ाइलों के लिए लगातार दिखता है।
- ध्यान दें कि जब डेटासेट को फिर से लोड किया जाता है, तो सभी फाइलों में सभी फाइलें बड़ाParentDirectory / कैश / * datasetID * निर्देशिका हटा दी जाती है। इसमें शामिल हैं .nc और छवि फ़ाइलों कि आम तौर पर ~ 15 मिनट के लिए कैश कर रहे हैं।
- ध्यान दें कि अगर डेटासेट के xml में शामिल हैं सक्रिय एक झंडा डेटासेट को निष्क्रिय करने का कारण बनता है (अगर यह सक्रिय है) किसी भी मामले में, फिर से लोड नहीं हुआ।
- समय ERDDAP™ एक प्रमुख रीलोड करने के लिए लोडडेटासेट चलाता है (समय पर पुनः लोड द्वारा नियंत्रित)<LoadDatasetsMinutes> या एक मामूली पुनः लोड (बाहरी या आंतरिक ध्वज के परिणामस्वरूप) , ERDDAP™ सभी पढ़ता है<DecompressedCacheMaxGB><DecompressedCacheMaxMinutesOld>,<उपयोगकर्ता><अनुरोधब्लैकलिस्ट>,<धीमाडाउनट्रबलमिली>, और<सदस्यताईमेलब्लैकलिस्ट> टैग और नए सेटिंग्स के लिए स्विच करता है। तो आप एक झंडा का उपयोग करने के लिए एक रास्ता के रूप में कर सकते हैं ERDDAP™ उन टैग ASAP में परिवर्तन को नोटिस करने के लिए।
सेट डेटासेट फ्लैग
-
ERDDAP™ एक वेब सेवा है ताकि झंडे यूआरएल के माध्यम से सेट किया जा सके।
- उदाहरण के लिए,
https://coastwatch.pfeg.noaa.gov/erddap/setDatasetFlag.txt?datasetID=rPmelTao&flagKey=123456789
(यह एक नकली झंडा है कुंजी) RPmelTao dataset के लिए एक ध्वज सेट होगा। - प्रत्येक के लिए एक अलग flagKey है datasetID ।
- प्रशासक सभी डेटासेट के लिए ध्वज यूआरएल की एक सूची देख सकते हैं जो उनके नीचे देख सकते हैं दैनिक रिपोर्ट ईमेल
- प्रशासकों को इन यूआरएल को गोपनीय मानते हैं, क्योंकि वे किसी को इच्छा पर डेटासेट को रीसेट करने का अधिकार देते हैं।
- यदि आपको लगता है कि flagkeys उन लोगों के हाथों में पड़ गए हैं जो उन्हें भ्रमित कर रहे हैं, तो आप बदल सकते हैं<flagkey साइटमैप और पुनः आरंभ ERDDAP मजबूर होना ERDDAP™ ध्वज कुंजी का एक अलग सेट उत्पन्न करने और उपयोग करने के लिए।
- यदि आप बदलाव करते हैं<flagkey (अपनी दैनिक रिपोर्ट में सूची देखें) और उन लोगों को नया यूआरएल भेजने के लिए याद रखें जो आप उन्हें करना चाहते हैं।
- उदाहरण के लिए,
https://coastwatch.pfeg.noaa.gov/erddap/setDatasetFlag.txt?datasetID=rPmelTao&flagKey=123456789
ध्वज प्रणाली को बताने के लिए अधिक कुशल तंत्र के आधार के रूप में काम कर सकता है ERDDAP™ जब डेटासेट को फिर से लोड किया जाए। उदाहरण के लिए, आप एक डेटासेट सेट कर सकते हैं<ReloadEveryNMinutes> एक बड़ी संख्या में (उदाहरण के लिए, 10080 = 1 सप्ताह) । फिर, जब आप जानते हैं कि डेटासेट बदल गया है (शायद इसलिए क्योंकि आपने डेटासेट के डेटा डायरेक्टरी में एक फ़ाइल जोड़ा) , एक ध्वज सेट करें ताकि डेटासेट को जल्द ही लोड किया जा सके। आमतौर पर झंडे को जल्दी से देखा जाता है। लेकिन अगर लोडडाटासेट थ्रेड पहले से ही व्यस्त है, तो ध्वज पर कार्य करने के लिए उपलब्ध होने से पहले यह थोड़ी देर हो सकता है। लेकिन ध्वज प्रणाली सेटिंग की तुलना में अधिक उत्तरदायी और अधिक कुशल है<ReloadEveryNMinutes> एक छोटी संख्या में।
डेटासेट हटाने
यदि डेटासेट में सक्रिय है ERDDAP™ और आप इसे अस्थायी रूप से या स्थायी रूप से निष्क्रिय करना चाहते हैं:
- में datasets.xml डेटासेट के लिए सेट सक्रिय डेटासेट टैग में।
- के लिए इंतजार ERDDAP™ अगले प्रमुख रीलोड के दौरान डेटासेट को हटाने के लिए या एक झंडा सेट डाटासेट के लिए बताने के लिए ERDDAP™ इस बदलाव को जल्द से जल्द नोटिस करना। जब आप ऐसा करते हैं, ERDDAP™ यह डाटासेट के बारे में संग्रहीत किसी भी जानकारी को नहीं फेंक सकता है और निश्चित रूप से वास्तविक डेटा के लिए कुछ भी नहीं करता है।
- फिर आप सक्रिय="false" डेटासेट में छोड़ सकते हैं datasets.xml या इसे हटा दें।
डेटासेट रीलोड कब हैं?
एक धागा जिसे RunLoadDatasets कहा जाता है वह मास्टर धागा है जो डेटासेट को फिर से लोड होने पर नियंत्रित करता है। रनलोड डेटासेट हमेशा के लिए लूप:
-
RunLoadDatasets वर्तमान समय को नोट करता है।
-
RunLoadDatasets एक "majorLoad" करने के लिए एक LoadDatasets धागा शुरू होता है। आप वर्तमान/प्रीवियस प्रमुख के बारे में जानकारी देख सकते हैंआपके शीर्ष पर लोड ERDDAP ' /erddap/status.html पृष्ठ (उदाहरण के लिए, स्थिति पृष्ठ उदाहरण ) ।
- LoadDatasets की एक प्रति बनाता है datasets.xml ।
- LoadDatasets की प्रतिलिपि के माध्यम से पढ़ता है datasets.xml और, प्रत्येक डेटासेट के लिए, यह देखता है कि डेटासेट को होना चाहिए या नहीं। (फिर) लोड या हटा दिया गया।
- यदि झंडा इस डेटासेट के लिए फ़ाइल मौजूद है, फ़ाइल को हटा दिया जाता है और यदि सक्रिय="false" या डेटासेट को हटा दिया जाता है। (फिर) अगर Active="true" लोड हो रहा है (डेटासेट की उम्र की परवाह किए बिना) ।
- यदि डेटासेट का डेटासेट.xml खंड सक्रिय है="false" और डेटासेट वर्तमान में लोड हो रहा है (सक्रिय) इसे उतारा जाता है (हटाया) ।
- यदि डेटासेट सक्रिय है="true" और डेटासेट पहले से ही लोड नहीं है, तो यह लोड हो गया है।
- यदि डेटासेट में सक्रिय="true" है और डेटासेट पहले से ही लोड हो चुका है, तो डेटा सेट को फिर से लोड किया जाता है यदि डेटासेट की उम्र बढ़ जाती है। (पिछले लोड के बाद से समय) इसकी तुलना में अधिक है<रीलोड हरमन मिनट> (डिफ़ॉल्ट = 10080 मिनट) अन्यथा, डेटासेट अकेले छोड़ दिया जाता है।
- लोडडेटासेट खत्म होता है।
RunLoadDatasets धागे को खत्म करने के लिए LoadDatasets धागे के लिए इंतजार करता है। यदि लोडडाटासेट लोडडाटासेट से अधिक समय लेता है न्यूनतम (सेटअप.xml में निर्दिष्ट के रूप में) , RunLoadDataset LoadDatasets धागे को बाधित करता है। आदर्श रूप से, लोडडाटासेट ने बाधा और खत्म को नोटिस किया। लेकिन अगर यह एक मिनट के भीतर बाधा को नोटिस नहीं करता है, तो RunLoadDatasets ने loadDatasets को कॉल किया। रुकना () , जो अवांछनीय है। 3. जबकि पिछले प्रमुख के प्रारंभ के बाद से लोडडाटासेट से कम है न्यूनतम (सेटअप.xml में निर्दिष्ट के रूप में, उदाहरण के लिए, 15 मिनट) , RunLoadDatasets बार-बार देखने के लिए झंडा फाइलों में बड़ाParentDirectory /flag निर्देशिका। यदि एक या अधिक ध्वज फ़ाइलों को पाया जाता है, तो उन्हें हटा दिया जाता है, और RunLoadDatasets एक "minorLoad" करने के लिए एक LoadDatasets धागा शुरू होता है। (प्रमुख लोड) । आप अपने बारे में मामूली जानकारी नहीं देख सकते हैं ERDDAP ' /erddap/status.html पृष्ठ ।
- LoadDatasets की एक प्रति बनाता है datasets.xml ।
- LoadDatasets की प्रतिलिपि के माध्यम से पढ़ता है datasets.xml और प्रत्येक डेटासेट के लिए जिसके लिए एक ध्वज फ़ाइल थी:
- यदि डेटासेट का डेटासेट.xml खंड सक्रिय है="false" और डेटासेट वर्तमान में लोड हो रहा है (सक्रिय) इसे उतारा जाता है (हटाया) ।
- यदि डेटासेट सक्रिय है="true", डेटासेट है (फिर) भारित, इसकी उम्र के बावजूद। गैर-ज्वलनशील डेटासेट को नजरअंदाज कर दिया जाता है।
- लोडडेटासेट खत्म होता है।
- रनलोड डेटासेट चरण 1 पर वापस चला जाता है।
नोट्स:
-
स्टार्टअप जब आप पुनः आरंभ करते हैं ERDDAP™ प्रत्येक डेटासेट को सक्रिय रूप से लोड किया जाता है।
-
कैश जब डेटासेट होता है (फिर) लोड हो गया, इसका कैश (किसी भी डेटा प्रतिक्रिया फ़ाइलों और/या छवि फ़ाइलों सहित) खाली है।
-
डेटासेट के बहुत सारे यदि आपके पास बहुत सारे डेटासेट हैं और / या एक या अधिक डेटासेट धीमी हैं (फिर) लोड, एक लोडडाटासेट थ्रेड अपने काम को खत्म करने के लिए लंबे समय तक ले सकता है, शायद लोडडाटासेट से भी अधिक समय तक न्यूनतम।
-
एक LoadDatasets थ्रेड एक से अधिक लोडडाटासेट थ्रेड एक बार में चल रहा है। यदि कोई ध्वज तब निर्धारित होता है जब लोडडाटासेट पहले से ही चल रहा है, तो ध्वज को शायद नोटिस नहीं किया जाएगा या तब तक उस लोडडाटासेट धागे को चालू नहीं किया जाएगा। आप कह सकते हैं: क्यों आप डेटासेट लोड करने के लिए नए धागे का एक गुच्छा शुरू नहीं करते? लेकिन अगर आपके पास बहुत सारे डेटासेट हैं जो एक दूरस्थ सर्वर से डेटा प्राप्त करते हैं, यहां तक कि एक लोडडाटासेट थ्रेड दूरस्थ सर्वर पर पर्याप्त तनाव डालेगा। यदि आपके पास बहुत सारे डेटासेट हैं जो एक RAID पर फ़ाइलों से डेटा प्राप्त करते हैं। एक से अधिक लोडडाटासेट थ्रेड होने से तेजी से कम रिटर्न होते हैं।
-
ध्वज = ASAP एक ध्वज की स्थापना सिर्फ संकेत करती है कि डेटासेट होना चाहिए (फिर) जितनी जल्दी हो सके लोड हो रहा है, तुरंत नहीं। यदि वर्तमान में कोई लोडडाटासेट थ्रेड नहीं चल रहा है, तो डेटासेट कुछ सेकंड के भीतर पुनः लोड होना शुरू हो जाएगा। लेकिन अगर वर्तमान में लोडडाटासेट थ्रेड चल रहा है, तो डेटासेट शायद तब तक लोड नहीं किया जाएगा जब तक कि लोडडाटासेट थ्रेड समाप्त हो जाता है।
-
ध्वज फ़ाइल हटा दिया सामान्य तौर पर, यदि आप में एक ध्वज फ़ाइल डाल दिया है बड़ाParentDirectory /erddap/flag निर्देशिका (डेटासेट के ध्वज का दौरा करके Url या वहाँ एक वास्तविक फ़ाइल डाल) हालांकि, डेटासेट आमतौर पर उस ध्वज फ़ाइल को हटाने के तुरंत बाद पुनः लोड हो जाएगा।
-
फ्लैग बनाम लघु पुनः लोड हरमन यदि आपके पास यह जानने का कुछ बाहरी तरीका है कि डेटासेट को पुनः लोड करने की आवश्यकता होती है और यदि आपके लिए यह सुविधाजनक है, तो यह सुनिश्चित करने का सबसे अच्छा तरीका है कि डेटासेट हमेशा अप-टू-डेट होता है, इसकी पुनः लोड निर्धारित करना है। प्रत्येकNMinutes to a large number (10080?) और एक झंडा सेट (एक स्क्रिप्ट के माध्यम से?) जब भी इसे पुनः लोड करने की आवश्यकता होती है। यह प्रणाली है कि EDDGrid Erddap और EDDTableFromErddap उपयोग से संदेश प्राप्त होता है कि डेटासेट को पुनः लोड करने की आवश्यकता होती है।
-
log.txt प्रासंगिक जानकारी के बहुत सारे के लिए लिखा जाता है बड़ाParentDirectory /logs/log.txt फ़ाइल। यदि आप उम्मीद करते हैं, तो लॉग को देखिए। txt आपको वास्तव में पता लगाने के द्वारा समस्या का निदान करने देता है कि क्या ERDDAP™ किया।
-
प्रमुख LoadDataset धागे की शुरुआत के लिए "majorLoad=true" की खोज करें।
-
मामूली LoadDatasets धागे की शुरुआत के लिए "majorLoad=false" की खोज करें।
-
किसी दिए गए डेटासेट के लिए खोजें datasetID इसके बारे में जानकारी (फिर) लोड या queried।
-
कैश्ड रिस्पांस
सामान्य तौर पर, ERDDAP™ कैश नहीं (दुकान) उपयोगकर्ता अनुरोधों के जवाब तर्क यह था कि अधिकांश अनुरोध थोड़ा अलग होगा, इसलिए कैश बहुत प्रभावी नहीं होगा। सबसे बड़ा अपवाद छवि फ़ाइलों के लिए अनुरोध हैं (जो ब्राउज़रों और प्रोग्रामों जैसे कैश्ड हैं Google Earth अक्सर फिर से खोज छवियां) और अनुरोध .nc फ़ाइलें (क्योंकि उन्हें ऑन-द-फ्लाई नहीं बनाया जा सकता) । ERDDAP™ प्रत्येक डेटासेट की कैश्ड फ़ाइलों को एक अलग डायरेक्टरी में स्टोर करता है: बड़ाParentDirectory / कैश / * datasetID * चूंकि एक एकल कैश डायरेक्टरी में बड़ी संख्या में फाइलें हो सकती हैं जो धीमी गति से पहुंच सकती हैं। फ़ाइलों को कैश से तीन कारणों में से एक के लिए हटा दिया जाता है:
- इस कैश में सभी फाइलें तब हटा दी जाती हैं जब ERDDAP™ पुनः आरंभ किया जाता है।
- आवधिक रूप से, किसी भी फ़ाइल से अधिक<कैश मिनट> पुराना (यथा निर्दिष्ट साइटमैप ) हटा दिया जाएगा। उम्र के आधार पर कैश में फ़ाइलों को निकालना (नहीं पूर्वोत्तर-Recently इस्तेमाल किया) यह सुनिश्चित करता है कि फ़ाइलों को कैश में बहुत लंबे समय तक नहीं रहेगा। हालांकि ऐसा लग सकता है कि किसी दिए गए अनुरोध की तरह हमेशा उसी प्रतिक्रिया को वापस करना चाहिए, यह सच नहीं है। उदाहरण के लिए, एक tabledap अनुरोध जिसमें & time> शामिल है कुछ समय अगर नया डेटा डाटासेट के लिए आता है तो बदलेगा। और एक ग्रिडडैप अनुरोध जिसमें शामिल है \[ अंतिम \] यदि नया डेटा डेटा सेट के लिए आता है तो समय आयाम बदल जाएगा।
- त्रुटि की स्थिति दिखाने वाली छवियां कैश्ड हैं, लेकिन केवल कुछ ही मिनटों के लिए (यह एक कठिन स्थिति है) ।
- हर बार डेटासेट को पुनः लोड किया जाता है, उस डेटासेट के कैश में सभी फाइलें हटा दी जाती हैं। क्योंकि अनुरोध के लिए हो सकता है "last" एक ग्रिड डेटासेट में अनुक्रमणिका, कैश में फाइलें तब अमान्य हो सकती हैं जब डेटासेट को पुनः लोड किया जाता है।
संग्रहीत डेटासेट जानकारी
सभी प्रकार के डेटासेट के लिए, ERDDAP™ डेटासेट लोड होने पर बहुत सारी जानकारी एकत्र करता है और इसे स्मृति में रखता है। यह अनुमति ERDDAP™ खोजों के लिए बहुत जल्दी जवाब देने के लिए, डेटासेट की सूची के लिए अनुरोध और डेटासेट के बारे में जानकारी के लिए अनुरोध।
कुछ प्रकार के डेटासेट के लिए (वास्तव में EDDGrid कॉपी, EDDTableCopy, EDDGrid से XXX फ़ाइलें और EDDTableFrom XXX फ़ाइलें) , ERDDAP™ डिस्क पर स्टोर डेटासेट के बारे में कुछ जानकारी जो डेटासेट को फिर से लोड होने पर पुन: उपयोग किया जाता है। यह पुनः लोड करने की प्रक्रिया को बहुत तेज करता है।
- कुछ डेटासेट सूचना फाइलें मानव पठनीय हैं .json फ़ाइलों को संग्रहीत किया जाता है और इसमें संग्रहीत किया जाता है बड़ाParentDirectory /dataset/ *Last2LettersOfDatasetID/ datasetID * ।
- ERDDAP™ केवल इन फ़ाइलों को असामान्य स्थितियों में हटा देता है, उदाहरण के लिए, यदि आप डेटासेट से चर जोड़ते हैं या हटाते हैं datasets.xml भाग।
- डेटासेट में अधिकांश परिवर्तन datasets.xml चंकी (उदाहरण के लिए, एक वैश्विक विशेषता या एक परिवर्तनीय विशेषता बदल रहा है) यह आवश्यक नहीं है कि आप इन फ़ाइलों को हटा दें। एक नियमित डेटासेट रीलोड इन प्रकार के परिवर्तनों को संभालेगा। आप बता सकते हैं ERDDAP™ एक सेट करके डेटासेट ASAP को फिर से लोड करना झंडा डेटासेट के लिए।
- इसी तरह, डेटा फ़ाइलों के अलावा, विलोपन, या परिवर्तन को तब संभाला जाएगा जब डेटा फ़ाइलों को बदल दिया जाएगा। ERDDAP™ डेटासेट को फिर से लोड करता है। लेकिन ERDDAP™ जल्द ही इस प्रकार के बदलाव को नोटिस करेगा और स्वचालित रूप से अगर डेटासेट का उपयोग कर रहा है तो [[[]]<EveryNMillis (/docs/server-admin/datasets#updateeverynmillis) प्रणाली।
- इन फ़ाइलों को हटाने के लिए केवल शायद ही कभी आवश्यक होना चाहिए। सबसे आम स्थिति जहां आपको मजबूर करना होगा ERDDAP™ संग्रहीत जानकारी को हटाने के लिए (क्योंकि यह बाहर की तारीख / गलत है और स्वचालित रूप से तय नहीं किया जाएगा ERDDAP ) जब आप डेटासेट में परिवर्तन करते हैं datasets.xml किस तरह प्रभावित होता है ERDDAP™ उदाहरण के लिए, स्रोत डेटा फ़ाइलों में डेटा की व्याख्या करता है, समय चर प्रारूप स्ट्रिंग बदलता है।
- डेटासेट की संग्रहीत सूचना फ़ाइलों को एक से हटाने के लिए ERDDAP™ चल रहा है (भले ही डेटासेट वर्तमान में लोड न हो) एक सेट कठिन झंडा उस डेटासेट के लिए। याद रखें कि यदि डेटासेट बड़ी संख्या में फ़ाइलों का एकत्रीकरण है, तो डेटासेट को पुनः लोड करने में काफी समय लग सकता है।
- जब डेटासेट की संग्रहीत सूचना फ़ाइलों को हटाने के लिए ERDDAP™ नहीं चल रहा है, दौड़ना दास उस डेटासेट के लिए (जो फाइलिंग की तुलना में आसान है जिसमें निर्देशिका जानकारी स्थित है और हाथ से फ़ाइलों को हटा रही है) । याद रखें कि यदि डेटासेट बड़ी संख्या में फ़ाइलों का एकत्रीकरण है, तो डेटासेट को पुनः लोड करने में काफी समय लग सकता है।
स्मृति स्थिति
ERDDAP™ कभी दुर्घटनाग्रस्त या फ्रीज नहीं होना चाहिए। यदि यह करता है, तो सबसे संभावित कारणों में से एक अपर्याप्त स्मृति है। आप स्थिति को देख कर मेमोरी उपयोग की निगरानी कर सकते हैं। HTML वेब पेज, जिसमें एक लाइन जैसे शामिल है।
0 gc कॉल, 0 अनुरोध शेड और 0 खतरनाक पिछले प्रमुख LoadDatasets के बाद से मेमोरीईमेल
(वे प्रगतिशील रूप से गंभीर घटनाएँ हैं)
और MB inUse and gc सांख्यिकी की तालिका में कॉलम कॉल करता है। आप बता सकते हैं कि कैसे स्मृति तनाव अपने ERDDAP™ इन नंबरों को देख कर है। उच्च संख्या अधिक तनाव इंगित करती है।
- MB inUse हमेशा आधे से कम होना चाहिए \-Xmx स्मृति सेटिंग । बड़ी संख्या एक बुरा संकेत है।
- जीसी कॉल समय की संख्या को इंगित करता है ERDDAP™ उच्च स्मृति उपयोग को कम करने की कोशिश करने के लिए कचरा कलेक्टर को बुलाया जाता है। यदि यह>100 हो जाता है, तो यह गंभीर परेशानी का संकेत है।
- शेड आने वाले अनुरोधों की संख्या को इंगित करता है जिसे शेड किया गया था (HTTP त्रुटि संख्या 503, सेवा अनुपलब्ध) क्योंकि स्मृति उपयोग पहले से ही बहुत अधिक था। आदर्श रूप से, कोई अनुरोध नहीं किया जाना चाहिए। यदि कुछ अनुरोध किए गए हैं, तो यह ठीक है, लेकिन अगर कई शेड हैं तो गंभीर परेशानी का संकेत है।
- खतरनाक मेमोरीईमेल - यदि मेमोरी उपयोग खतरनाक रूप से उच्च हो जाता है, तो ERDDAP™ में सूचीबद्ध ईमेल पते पर एक ईमेल भेजता है<ईमेल To> (सेटअप.xml) सक्रिय उपयोगकर्ता अनुरोधों की सूची के साथ। जैसा कि ईमेल कहता है, कृपया इन ईमेल को क्रिस को अग्रेषित करें। जॉन नोआ में। इसलिए हम सूचना का उपयोग भविष्य के संस्करणों को बेहतर बनाने के लिए कर सकते हैं ERDDAP ।
अगर आपका ERDDAP™ स्मृति तनावग्रस्त है:
- अपने सर्वर की स्मृति को अधिक आवंटित करने पर विचार करें ERDDAP™ टॉमकैट बदलकर Xmx मेमोरी सेटिंग ।
- यदि आप पहले से ही स्मृति को आवंटित कर चुके हैं तो आप ऐसा कर सकते हैं। ERDDAP™ -Xmx के माध्यम से, अपने सर्वर के लिए अधिक मेमोरी खरीदने पर विचार करें। स्मृति सस्ते है (एक नए सर्वर या अपने समय की कीमत की तुलना में) ! फिर वृद्धि -Xmx।
- में datasets.xml , सेट<nGridThreads> to 1, सेट<nTableThreads> to 1, and set<IpAddressMaxRequestActive> to 1.
- अक्षम या परेशानी के लिए log.txt में अनुरोधों को देखें (लेकिन वैध) अनुरोध अपने IP पते जोड़ें<अनुरोधब्लैकलिस्ट> में datasets.xml । ब्लैकलिस्ट त्रुटि संदेश में शामिल हैं ERDDAP™ प्रशासक का ईमेल पता इस उम्मीद के साथ कि वे उपयोगकर्ता आपसे संपर्क करेंगे ताकि आप उनके साथ काम कर सकें ERDDAP™ अधिक कुशलतापूर्वक। आईपी पते की एक सूची रखने के लिए यह अच्छा है जिसे आप ब्लैकलिस्ट करते हैं और क्यों, ताकि आप उपयोगकर्ताओं के साथ काम कर सकें यदि वे आपसे संपर्क करते हैं।
- दुर्भावनापूर्ण उपयोगकर्ताओं के अनुरोध के लिए log.txt में अनुरोधों को देखें। अपने IP पते जोड़ें<अनुरोधब्लैकलिस्ट> में datasets.xml । यदि समान अनुरोध एकाधिक समान आईपी पते से आते हैं, तो आप कुछ ऐसी सेवाओं का उपयोग कर सकते हैं जो (उदाहरण के लिए https://www.whois.com/whois/ ) उस स्रोत से आईपी पते की सीमा को जानने के लिए और पूरी रेंज को ब्लैकलिस्ट करने के लिए। []<अनुरोधब्लैकलिस्ट> प्रलेखन (/docs/server-admin/datasets#requestblacklist) ।
OutOfMemoryError
जब आप सेट अप ERDDAP™ , आप स्मृति की अधिकतम राशि निर्दिष्ट करते हैं कि Java के माध्यम से उपयोग कर सकते हैं \-Xmx सेटिंग । अगर ERDDAP™ कभी उससे अधिक स्मृति की जरूरत है, यह एक जावा फेंक देगा। लैंग। OutOfMemoryError. ERDDAP™ यह करने के लिए सक्षम करने के लिए यह है कि कृपापूर्वक त्रुटि (उदाहरण के लिए, इसलिए एक परेशानी अनुरोध विफल हो जाएगा, लेकिन सिस्टम अपनी अखंडता को बरकरार रखता है) । लेकिन कभी-कभी त्रुटि प्रणाली की अखंडता को नुकसान पहुंचाती है और आपको पुनः आरंभ करना पड़ता है ERDDAP । उम्मीद है कि यह दुर्लभ है।
एक OutOfMemoryError के लिए त्वरित और आसान समाधान बढ़ाने के लिए है \-Xmx सेटिंग लेकिन आपको कभी-कभी सर्वर में भौतिक मेमोरी के 80% से अधिक -Xmx सेटिंग में वृद्धि नहीं करनी चाहिए (उदाहरण के लिए, 10GB सर्वर के लिए, 8GB से ऊपर -Xmx सेट न करें) । मेमोरी अपेक्षाकृत सस्ता है, इसलिए सर्वर में मेमोरी बढ़ाने का एक अच्छा विकल्प हो सकता है। लेकिन अगर आपने सर्वर में मेमोरी को अधिकतम किया है या अन्य कारणों से इसे बढ़ा नहीं सकता है, तो आपको OutOfMemoryError के कारण से सीधे निपटने की आवश्यकता है।
यदि आप देखते हैं लॉग-इन क्या देखने के लिए फ़ाइल ERDDAP™ जब त्रुटि उत्पन्न हुई थी, तो आप आमतौर पर OutOfMemoryError के कारण के रूप में एक अच्छा सुराग प्राप्त कर सकते हैं। इसमें कई संभावित कारण शामिल हैं:
- एक विशाल डेटा फ़ाइल OutOfMemoryError, विशेष रूप से, विशाल ASCII डेटा फ़ाइलों का कारण बन सकती है। यदि यह समस्या है तो यह स्पष्ट होना चाहिए क्योंकि ERDDAP™ डेटासेट लोड करने में विफल हो जाएगा (सारणीबद्ध डेटासेट के लिए) या उस फाइल से डेटा पढ़ने (ग्रिड डेटासेट के लिए) । यदि संभव हो तो समाधान फ़ाइल को एकाधिक फ़ाइलों में विभाजित करना है। आदर्श रूप से, आप फ़ाइल को तार्किक टुकड़ों में विभाजित कर सकते हैं। उदाहरण के लिए, यदि फ़ाइल में 20 महीने का डेटा है, तो इसे 20 फ़ाइलों में विभाजित करें, प्रत्येक में 1 महीने के डेटा के लायक है। लेकिन अगर मुख्य फ़ाइल मनमाने ढंग से विभाजित हो जाती है तो भी फायदे हैं। इस दृष्टिकोण के कई फायदे हैं: a) यह 1/20 तक डेटा फ़ाइलों को पढ़ने के लिए आवश्यक मेमोरी को कम करेगा, क्योंकि केवल एक फ़ाइल एक समय में पढ़ा जाता है। b) अक्सर, ERDDAP™ अनुरोधों के साथ बहुत तेजी से सौदा कर सकते हैं क्योंकि इसे केवल एक या कुछ फ़ाइलों को देखने के लिए दिए गए अनुरोध के लिए डेटा ढूंढना पड़ता है। c) यदि डेटा संग्रह चल रहा है, तो मौजूदा 20 फाइलें अपरिवर्तित रह सकती हैं, और आपको डेटासेट में डेटा के अगले महीने के लायक डेटा जोड़ने के लिए केवल एक, छोटी, नई फ़ाइल को संशोधित करने की आवश्यकता है।
- एक बहुत बड़ा अनुरोध OutOfMemoryError का कारण बन सकता है। विशेष रूप से, कुछ orderBy विकल्प एक दूसरे के लिए स्मृति में पूरी प्रतिक्रिया है (उदाहरण के लिए, एक तरह से करने के लिए) । यदि प्रतिक्रिया विशाल है, तो यह त्रुटि का कारण बन सकता है। वहाँ हमेशा कुछ अनुरोध जो कर रहे हैं, विभिन्न मायनों में, बहुत बड़ा होगा। आप -Xmx सेटिंग को बढ़ाकर समस्या को हल कर सकते हैं। या, आप उपयोगकर्ता को छोटे अनुरोधों की एक श्रृंखला बनाने के लिए प्रोत्साहित कर सकते हैं।
- यह संभावना नहीं है कि बड़ी संख्या में फाइलें फ़ाइल इंडेक्स का कारण बनती हैं। ERDDAP™ इतना बड़ा होता है कि फ़ाइल त्रुटि का कारण बनती है। यदि हम मानते हैं कि प्रत्येक फ़ाइल 300 बाइट्स का उपयोग करती है, तो 1,000,000 फाइलें केवल 300MB तक ले जाएंगी। लेकिन डेटासेट डेटा फ़ाइलों की एक बड़ी संख्या के साथ अन्य समस्याओं का कारण बनता है ERDDAP विशेष रूप से, यह लंबे समय के लिए लेता है ERDDAP™ डेटा के लिए उपयोगकर्ता अनुरोध का जवाब देते समय उन सभी डेटा फ़ाइलों को खोलने के लिए। इस मामले में, समाधान फ़ाइलों को एकत्रित करने के लिए हो सकता है ताकि कम डेटा फाइलें हो। सारणीबद्ध डेटासेट के लिए, यदि आप वर्तमान डेटासेट से डेटा सेव करते हैं तो यह अक्सर बहुत अच्छा होता है। CF Discrete Sampling Geometries (DSG) Contiguous Ragged Array डेटा फ़ाइलों (अनुरोध .nc से CF फ़ाइलों ERDDAP ) और फिर एक नया डेटासेट बनाते हैं। इन फ़ाइलों को बहुत कुशलतापूर्वक संभाला जा सकता है ERDDAP ' EDDTableFromNcCFFiles । यदि वे तार्किक रूप से व्यवस्थित हैं (प्रत्येक अंतरिक्ष और समय के एक हिस्से के लिए डेटा के साथ) , ERDDAP™ उनमें से बहुत जल्दी डेटा निकाल सकते हैं।
- सारणीबद्ध डेटासेट के लिए जो [ का उपयोग करें]< subsetVariables > (/docs/server-admin/datasets#subsetvariables) विशेषता, ERDDAP™ उन चरों के मूल्यों के अद्वितीय संयोजनों की एक तालिका बनाता है। विशाल डेटासेट के लिए या जब< subsetVariables > गलत विन्यास किया गया है, यह तालिका OutOfMemoryErrors के कारण काफी बड़ी हो सकती है। समाधान की सूची से चर को हटाने के लिए है< subsetVariables > जिसके लिए वहाँ मूल्यों की एक बड़ी संख्या हैं, या उस तालिका के आकार उचित होने तक आवश्यकतानुसार चर को हटा दें। भागों ERDDAP™ कि उपयोग subsetVariables प्रणाली अच्छी तरह से काम नहीं करती (उदाहरण के लिए, वेब पेज बहुत धीरे-धीरे लोड होते हैं) जब उस तालिका में 100,000 से अधिक पंक्तियां हैं।
- यह हमेशा संभव है कि कई बार बड़े अनुरोध (वास्तव में व्यस्त ERDDAP ) स्मृति परेशानी का कारण बन सकता है। उदाहरण के लिए, 8 अनुरोध, प्रत्येक 1GB प्रत्येक का उपयोग करते हुए, एक -Xmx=8GB सेटअप के लिए समस्याएं पैदा करेगा। लेकिन यह दुर्लभ है कि प्रत्येक अनुरोध एक साथ इसके स्मृति उपयोग के शिखर पर होगा। आप आसानी से देख सकते हैं कि आपका ERDDAP™ वास्तव में बड़े अनुरोधों के साथ व्यस्त है। लेकिन यह संभव है। -Xmx सेटिंग को बढ़ाने के अलावा अन्य इस समस्या से निपटने के लिए यह मुश्किल है।
- अन्य परिदृश्य हैं। यदि आप देखते हैं लॉग-इन क्या देखने के लिए फ़ाइल ERDDAP™ जब त्रुटि उत्पन्न हुई, तो आप आमतौर पर कारण के रूप में एक अच्छा सुराग प्राप्त कर सकते हैं। ज्यादातर मामलों में, उस समस्या को कम करने का एक तरीका है (ऊपर देखें) लेकिन कभी-कभी आपको केवल स्मृति और उच्च-एक्सएमएक्स सेटिंग की आवश्यकता होती है।
बहुत सारे ओपन फाइल
शुरू ERDDAP™ v2.12, ERDDAP™ खुला फ़ाइलों की संख्या की निगरानी के लिए एक प्रणाली है (जिसमें सॉकेट और कुछ अन्य चीजें शामिल हैं, न केवल फाइलें) लिनक्स कंप्यूटर पर टॉमकैट में। अगर कुछ फाइलें गलती से बंद नहीं होती हैं ("resource leak") , ओपन फ़ाइलों की संख्या तब तक बढ़ सकती है जब तक यह ऑपरेटिंग सिस्टम द्वारा अधिकतम अनुमति से अधिक न हो और कई वास्तव में खराब चीजें होती हैं। अब, लिनक्स कंप्यूटर पर (क्योंकि विंडोज के लिए जानकारी उपलब्ध नहीं है) :
- स्टेटस के दूर दाईं ओर एक "ओपन फाइल्स" कॉलम है। एचटीएमएल वेब पेज अधिकतम फ़ाइलों का प्रतिशत खुला दिखा रहा है। विंडोज पर, यह सिर्फ "?" दिखाता है।
- कब ERDDAP™ प्रत्येक प्रमुख डेटासेट रीलोड के अंत में उस जानकारी को उत्पन्न करता है, यह लॉग पर प्रिंट करेगा। txt फ़ाइल: OpenFileCount= वर्तमान अधिकतम = अधिकतम %= प्रतिशत
- यदि प्रतिशत>50% है, तो एक ईमेल भेजा जाता है। ERDDAP™ व्यवस्थापक और ईमेल सब कुछ ईमेल पते
यदि प्रतिशत 100% है, ERDDAP™ भयानक परेशानी है। ऐसा न होने दें। यदि प्रतिशत है > 75%, ERDDAP™ भयानक परेशानी के करीब है। यह ठीक नहीं है। यदि प्रतिशत>50% है, तो यह बहुत संभव है कि एक स्पाइक प्रतिशत 100 हिट करने का कारण बन जाएगा। यदि प्रतिशत कभी >50% है, तो आपको चाहिए:
- दोनों द्वारा अनुमति प्राप्त खुली फ़ाइलों की अधिकतम संख्या बढ़ाएं:
- जब आप टॉमकैट शुरू करते हैं तो इन परिवर्तनों को हर बार बनाना (उन्हें टॉमकैट स्टार्टअप.sh फ़ाइल में डाल दिया?) : सीमा -Hn 16384 सीमा -Sn 16384
- या संपादन द्वारा स्थायी परिवर्तन करना (जड़ के रूप में) /etc/security/limits.conf और लाइनों को जोड़ने: tomcat नरम nofile 16384 tomcat हार्ड nofile 16384 उन कमांडों का मानना है कि टॉमकैट चलाने वाले उपयोगकर्ता को "tomcat" कहा जाता है। कई लिनक्स प्रकारों पर, आपको उन परिवर्तनों को लागू करने के लिए सर्वर को फिर से शुरू करना होगा। दोनों विकल्पों के लिए, ऊपर "16384" एक उदाहरण है। आपको लगता है कि संख्या सबसे अच्छा है चुनें।
- प्रारंभ ERDDAP । ऑपरेटिंग सिस्टम किसी भी ओपन फाइल को बंद कर देगा।
विफल अनुरोध
- Unusual गतिविधि:> अनुरोध का 25% विफल
प्रत्येक reloadDatasets के हिस्से के रूप में, जो आमतौर पर हर 15 मिनट में होता है, ERDDAP™ उन अनुरोधों के प्रतिशत को देखता है जो अंतिम पुनः लोडडाटासेट के बाद से विफल रहा। अगर यह है >25%, ERDDAP™ ईमेल भेजता है ERDDAP™ इस विषय के साथ प्रशासक "असामान्य गतिविधि:> अनुरोधों का 25% विफल रहा"। उस ईमेल में "Requester's IP Address" नामक तल के पास एक टैली शामिल है। (विफल) (पिछले मेजर लोडडाटासेट के बाद से) "। इसके लिए खोजें। यह आपको कंप्यूटर के आईपी पते को बताता है जो सबसे असफल अनुरोध करता है। फिर आप उन आईपी पते की खोज कर सकते हैं \[ बड़ाParentDirectory \] /logs/ लॉग-इन फ़ाइल और देखें कि वे किस प्रकार के अनुरोध कर रहे हैं।
आप उपयोगकर्ता के आईपी नंबर का उपयोग कर सकते हैं (उदाहरण के लिए, साथ https://whatismyipaddress.com/ip-lookup ) यह जानने के लिए कि उपयोगकर्ता कौन है या क्या है। कभी-कभी यह आपको सही ढंग से बता देगा कि उपयोगकर्ता क्या है (उदाहरण के लिए, यह एक खोज इंजन का वेब क्रॉलर है) । अधिकांश समय यह सिर्फ आपको एक सुराग देता है (उदाहरण के लिए, यह एक amazonaws कंप्यूटर है, यह कुछ विश्वविद्यालय से है, यह कुछ विशिष्ट शहर में कोई है) ।
वास्तविक अनुरोध को देखते हुए, आईपी नंबर और त्रुटि संदेश (सब से लॉग-इन ) त्रुटियों की एक श्रृंखला के लिए, आप आमतौर पर यह पता लगा सकते हैं कि क्या गलत है। मेरे अनुभव में, बहुत सारे असफल अनुरोधों के चार सामान्य कारण हैं:
-
अनुरोध दुर्भावनापूर्ण हैं (उदाहरण के लिए, सुरक्षा कमजोरियों की तलाश करना, या अनुरोध करना और फिर पूरा होने से पहले उन्हें रद्द करना) । आपको उपयोग करना चाहिए<अनुरोधब्लैकलिस्ट> में datasets.xml उन आईपी पते को ब्लैकलिस्ट करने के लिए।
-
एक खोज इंजन नैनिक रूप से सूचीबद्ध यूआरएल की कोशिश कर रहा है ERDDAP™ वेब पेज और आईएसओ 19115 दस्तावेज़। उदाहरण के लिए, कई स्थान हैं जो आधार को सूचीबद्ध करते हैं OPeNDAP यूआरएल, उदाहरण के लिए,https://coastwatch.pfeg.noaa.gov/erddap/griddap/jplMURSSTजिसके लिए उपयोगकर्ता को फ़ाइल प्रकार जोड़ना चाहिए (जैसे, .das, .dds, एचटीएमएल) । लेकिन खोज इंजन इसे नहीं जानता। और आधार यूआरएल के अनुरोध विफल हो जाता है। संबंधित स्थिति तब होती है जब खोज इंजन विचित्र अनुरोध उत्पन्न करता है या "छिपे हुए" वेब पेज पर जाने के लिए फॉर्म भरने की कोशिश करता है। लेकिन खोज इंजन अक्सर इसका बुरा काम करते हैं, जिससे असफलता होती है। समाधान है: एक बनाना रोबोट.txt फ़ाइल
-
कुछ उपयोगकर्ता एक स्क्रिप्ट चला रहा है जो बार-बार उस चीज़ के लिए पूछ रहा है जो वहां नहीं है। शायद यह एक डेटासेट है जो अस्तित्व में था, लेकिन अब चला गया है (अस्थायी या स्थायी रूप से) । स्क्रिप्ट अक्सर यह उम्मीद नहीं करते हैं और इसलिए बुद्धिमानी से इसके साथ सौदा नहीं करते हैं। इसलिए स्क्रिप्ट सिर्फ अनुरोध करता रहता है और अनुरोध विफल रहता है। यदि आप अनुमान लगा सकते हैं कि उपयोगकर्ता कौन है (ऊपर IP संख्या से) , उनसे संपर्क करें और उन्हें बताएं कि डेटासेट अब उपलब्ध नहीं है और उन्हें अपनी स्क्रिप्ट बदलने के लिए कहें।
-
कुछ डेटासेट के साथ वास्तव में गलत है। आम तौर पर, ERDDAP™ परेशान डेटासेट निष्क्रिय कर देगा। कभी-कभी ऐसा नहीं होता, इसलिए इसके लिए सभी अनुरोध सिर्फ त्रुटियों को जन्म देते हैं। यदि हां, तो डेटासेट के साथ समस्या को ठीक करें या (अगर आप नहीं कर सकते) डेटासेट सेट करने के लिए सक्रिय । बेशक, इससे समस्या #2 हो सकती है।
कभी-कभी त्रुटि इतनी खराब नहीं होती, खासकर अगर ERDDAP™ त्रुटि का पता लगा सकता है और बहुत जल्दी जवाब दे सकता है ()<= 1ms)। इसलिए आप कोई कार्रवाई करने का फैसला कर सकते हैं।
यदि सब कुछ विफल हो जाता है, तो एक सार्वभौमिक समाधान है: उपयोगकर्ता की आईपी संख्या को [[1]] में जोड़ें<अनुरोधब्लैकलिस्ट> (/docs/server-admin/datasets#requestblacklist) । यह उतना बुरा नहीं है जितना कि ऐसा लगता है। तब उपयोगकर्ता को एक त्रुटि संदेश प्राप्त होगा जो कहता है कि वह ब्लैकलिस्ट किया गया है और उन्हें आपके बारे में बता रहा है। (The number of the ERDDAP™ व्यवस्थापक) ईमेल पता कभी-कभी उपयोगकर्ता आपसे संपर्क करेगा और आप समस्या को हल कर सकते हैं। कभी-कभी उपयोगकर्ता आपसे संपर्क नहीं करता है और आप अगले दिन एक अलग आईपी नंबर से आने वाले सटीक व्यवहार को देखेंगे। नए आईपी नंबर को ब्लैकलिस्ट करें और आशा करें कि वे अंततः संदेश प्राप्त करेंगे। (या यह आपका ग्राउंडहोग डे है, जिसमें से आप कभी नहीं बचेंगे। Sorry.)
रोबोट.txt
खोज इंजन कंपनियां वेब क्रॉलर का उपयोग करती हैं (उदाहरण के लिए, गूगल बोत) खोज इंजन में सामग्री जोड़ने के लिए वेब पर सभी पृष्ठों की जांच करना। के लिए ERDDAP™ यह मूल रूप से अच्छा है। ERDDAP™ पृष्ठों के बीच बहुत सारे लिंक हैं, इसलिए क्रॉलर सभी वेब पृष्ठों को ढूंढेंगे और उन्हें सर्च इंजन में जोड़ देंगे। फिर, खोज इंजन के उपयोगकर्ता आपके डेटासेट को खोजने में सक्षम होंगे ERDDAP ।
दुर्भाग्य से, कुछ वेब क्रॉलर (उदाहरण के लिए, गूगल बोत) अब अतिरिक्त सामग्री खोजने के लिए फ़ॉर्म भरने और जमा करने के लिए हैं। वेब वाणिज्य साइटों के लिए यह बहुत अच्छा है। लेकिन यह भयानक है ERDDAP™ क्योंकि यह सिर्फ एक की ओर जाता है अनंत वास्तविक डेटा को क्रॉल करने के लिए अवांछनीय और निर्बाध प्रयासों की संख्या। इससे अन्य सभी उपयोगकर्ताओं की तुलना में डेटा के लिए अधिक अनुरोध हो सकते हैं। और यह खोज इंजन को गॉफी के साथ भर देता है, वास्तविक डेटा के नुकीले सबसेट।
वेब क्रॉलर्स को फॉर्म भरने से रोकने के लिए और आम तौर पर वेब पेजों को देखने के लिए उन्हें देखने की जरूरत नहीं है, आपको एक टेक्स्ट फाइल बनाने की आवश्यकता है जिसे बुलाया जाता है रोबोट.txt अपनी वेबसाइट के दस्तावेज़ पदानुक्रम की मूल निर्देशिका में ताकि इसे किसी के रूप में देखा जा सके, उदाहरण के लिए,http://*www.your.domain*/robots.txt। यदि आप एक नया रोबोट बना रहे हैं। यह एक अच्छी शुरुआत है:
User-Agent: \\*
Disallow: /erddap/files/
Disallow: /files/
Disallow: /images/
Disallow: /\\*?
Disallow: /\\*?\\*
Disallow: /\\*.asc\\*
Disallow: /\\*.csv\\*
Disallow: /\\*.dods\\*
Disallow: /\\*.esriAscii\\*
Disallow: /\\*.esriCsv\\*
Disallow: /\\*.geoJson\\*
Disallow: /\\*.htmlTable\\*
Disallow: /\\*.json\\*
Disallow: /\\*.mat\\*
Disallow: /\\*.nc\\*
Disallow: /\\*.odvTxt\\*
Disallow: /\\*.tsv\\*
Disallow: /\\*.xhtml\\*
Disallow: /\\*.geotif\\*
Disallow: /\\*.itx\\*
Disallow: /\\*.kml\\*
Disallow: /\\*.pdf\\*
Disallow: /\\*.png\\*
Disallow: /\\*.large\\*
Disallow: /\\*.small\\*
Disallow: /\\*.transparentPng\\*
Sitemap: http://***your.institutions.url***/erddap/sitemap.xml
(लेकिन बदलना your.institutions.url अपने साथ ERDDAP आधार यूआरएल)
यह कुछ दिनों के लिए खोज इंजन को नोटिस करने के लिए और प्रभाव लेने के लिए परिवर्तन के लिए ले सकता है।
साइटमैप
जैसा https://www.sitemaps.org वेबसाइट कहते हैं:
Sitemaps are an easy way for webmasters to inform search engines about pages on their sites that are available for crawling. In its simplest form, a Sitemap is an XML file that lists URLs for a site along with additional metadata about each URL (when it was last updated, how often it usually changes, and how important it is, relative to other URLs on the site) so that search engines can more intelligently crawl the site.
Web crawlers usually discover pages from links within the site and from other sites. Sitemaps supplement this data to allow crawlers that support Sitemaps to pick up all URLs in the Sitemap and learn about those URLs using the associated metadata. Using the Sitemap protocol does not guarantee that web pages are included in search engines, but provides hints for web crawlers to do a better job of crawling your site.
वास्तव में, चूंकि ERDDAP™ है RESTful खोज इंजन मकड़ियों आसानी से अपने क्रॉल कर सकते हैं ERDDAP । लेकिन वे इसे अक्सर करते हैं (दैनिक!) आवश्यक (मासिक?) ।
- यह देखते हुए कि प्रत्येक खोज इंजन आपके पूरे क्रॉलिंग हो सकता है ERDDAP™ हर दिन, यह बहुत सारे अनावश्यक अनुरोधों का कारण बन सकता है।
- तो ERDDAP™ अपने लिए एक sitemap.xml फ़ाइल उत्पन्न करता है ERDDAP™ जो खोज इंजन को बताता है कि आपका ERDDAP™ केवल हर महीने क्रॉल होने की जरूरत है।
- आपको एक संदर्भ जोड़ना चाहिए ERDDAP अपने sitemap.xml रोबोट.txt फ़ाइल: साइटमैप:http://**www.yoursite.org**/erddap/sitemap.xml
- यदि ऐसा लगता है कि क्रॉलर्स को संदेश नहीं मिल रहा है, तो आप इन यूआरएल पर जाकर sitemap.xml फ़ाइल के बारे में विभिन्न खोज इंजनों को बता सकते हैं। (लेकिन परिवर्तन आपका संस्थान अपने संस्थान के संक्षिप्त या संक्षिप्तीकरण और www.yoursite.org अपने ERDDAP यूआरएल) :
- https://www.bing.com/webmaster/ping.aspx?siteMap=http://**www.yoursite.org**/erddap/sitemap.xml
- https://www.google.com/ping?sitemap=http://**www.yoursite.org**/erddap/sitemap.xml(Iसोचिए कि आपको हर बार प्रत्येक सर्च इंजन को पिंग करने की आवश्यकता है। इसके बाद खोज इंजन समय-समय पर sitemap.xml में परिवर्तन का पता लगाता है।
डेटा वितरण नेटवर्क: Push और Pull प्रौद्योगिकी
- आम तौर पर, ERDDAP™ एक मध्यस्थ के रूप में कार्य करता है: यह एक उपयोगकर्ता से अनुरोध लेता है; दूरस्थ डेटा स्रोत से डेटा प्राप्त करता है; डेटा को सुधारता है; और इसे उपयोगकर्ता को भेजता है।
- Pull प्रौद्योगिकी : ERDDAP™ इसमें दूरस्थ डेटा स्रोत से सभी उपलब्ध डेटा को सक्रिय रूप से प्राप्त करने की क्षमता भी है और डेटा की एक स्थानीय प्रतिलिपि स्टोर करें ।
- Push प्रौद्योगिकी : उपयोग करके ERDDAP ' सदस्यता सेवाएं जैसे ही नया डेटा उपलब्ध है, अन्य डेटा सर्वर को सूचित किया जा सकता है ताकि वे डेटा का अनुरोध कर सकें (डेटा खींचकर) ।
- ERDDAP ' EDDGrid सेंध और EDDTableFromErddap उपयोग ERDDAP सदस्यता सेवाएं ध्वज प्रणाली इसलिए जब नया डेटा उपलब्ध हो तो इसे तुरंत अधिसूचित किया जाएगा।
- यदि आप इनको महान प्रभाव से जोड़ सकते हैं: यदि आप एक बार लपेटते हैं EDDGrid चारों ओर कॉपी करें EDDGrid FromErddap dataset (या किसी EDDTableCopy को EDDTableFromErddap डेटासेट के आसपास लपेटो) , ERDDAP™ स्वचालित रूप से किसी अन्य की एक स्थानीय प्रति बना देगा और बनाए रखेगा ERDDAP डेटासेट
- चूंकि नए डेटा उपलब्ध होने के बाद सदस्यता सेवाएं काम करती हैं, इसलिए पुश टेक्नोलॉजी डेटा को बहुत जल्दी से प्रसारित करती है (सेकंड के भीतर) ।
इस वास्तुकला प्रत्येक डालता है ERDDAP™ यह निर्धारित करने के आरोप में प्रशासक जहां उसके लिए डेटा ERDDAP™ से आता है।
- अन्य ERDDAP™ व्यवस्थापक ऐसा ही कर सकते हैं। प्रशासकों के बीच समन्वय की कोई आवश्यकता नहीं है।
- यदि कई ERDDAP™ व्यवस्थापक एक दूसरे के लिए लिंक ERDDAP S, डेटा वितरण नेटवर्क का गठन होता है।
- डेटा जल्दी, कुशलतापूर्वक और स्वचालित रूप से डेटा स्रोतों से प्रसारित किया जाएगा ( ERDDAP एस और अन्य सर्वर) डेटा पुनर्वितरण साइटों के लिए ( ERDDAP s) नेटवर्क में कहीं भी।
- देना ERDDAP™ कुछ डेटासेट के लिए डेटा का स्रोत और अन्य डेटासेट के लिए पुनर्वितरण स्थल दोनों हो सकता है।
- परिणामस्वरूप नेटवर्क मोटे तौर पर डेटा वितरण नेटवर्क के समान होता है जैसे कार्यक्रमों के साथ सेट किया जाता है Unidata IDD/IDM लेकिन कम कठोर रूप से संरचित।
सुरक्षा, प्रमाणीकरण और प्राधिकरण
डिफ़ॉल्ट रूप से ERDDAP™ पूरी तरह से सार्वजनिक सर्वर के रूप में चलती है (उपयोग http और/or https ) लॉग इन ( प्रमाणीकरण ) सिस्टम और डेटा एक्सेस के लिए कोई प्रतिबंध नहीं ( प्राधिकरण ) ।
सुरक्षा
यदि आप कुछ उपयोगकर्ताओं के लिए कुछ या सभी डेटासेट तक पहुंच को प्रतिबंधित करना चाहते हैं, तो आप उपयोग कर सकते हैं ERDDAP अंतर्निहित सुरक्षा प्रणाली। जब सुरक्षा प्रणाली का उपयोग किया जाता है:
- ERDDAP™ उपयोग भूमिका आधारित अभिगम नियंत्रण ।
- The The most of the ERDDAP™ व्यवस्थापक उपयोगकर्ताओं को परिभाषित करता है [<उपयोगकर्ता (/docs/server-admin/datasets#user) टैग में datasets.xml । प्रत्येक उपयोगकर्ता का एक उपयोगकर्ता नाम, पासवर्ड होता है (यदि प्रमाणीकरण = कस्टम) , और एक या अधिक भूमिकाएं।
- The The most of the ERDDAP™ व्यवस्थापक को परिभाषित करता है कि किस भूमिकाओं को दिए गए डेटासेट तक पहुँच प्राप्त है।<सुलभ (/docs/server-admin/datasets#accessibleto) टैग में datasets.xml किसी भी डेटासेट के लिए जो सार्वजनिक एक्सेस नहीं होना चाहिए।
- उपयोगकर्ता की लॉगिन स्थिति (और लॉग इन / आउट करने के लिए एक लिंक) प्रत्येक वेब पेज के शीर्ष पर दिखाया जाएगा। (लेकिन उपयोगकर्ता में लॉग इन करने के लिए दिखाई देगा ERDDAP™ यदि वह एक का उपयोग करता है तो लॉग इन नहीं किया जाना चाहिए http यूआरएल)
- यदि<Available in: English(Original), Deutsch, Español, Français, 日本語, मानक हिन्दी, русский язык, tiếng Việt, தமிழ், తెలుగు, Português ** http ** यूआरएल, जो उपयोगकर्ता लॉग इन नहीं कर सकते हैं, का उपयोग कर सकते हैं ERDDAP ' ** http ** यूआरएल अगर<baseHttpsUrl> को भी निर्दिष्ट किया गया है, जो उपयोगकर्ता लॉग इन नहीं कर सकते हैं, वे भी इस्तेमाल कर सकते हैं। https यूआरएल
- केवल HTML यदि<Available in: English(Original), Deutsch, Español, Français, 日本語, मानक हिन्दी, русский язык, tiếng Việt, தமிழ், తెలుగు, Português ** https ** यूआरएल, उपयोगकर्ता जो लॉग इन नहीं हैं उन्हें प्रोत्साहित किया जाता है (मजबूर नहीं) उपयोग करने के लिए ERDDAP ' ** https ** यूआरएल ERDDAP™ वेब पेज https यूआरएल
यदि आप उपयोगकर्ताओं को उपयोग करने के लिए मजबूर करना चाहते हैं https यूआरएल, अंदर एक रीडायरेक्ट स्थायी लाइन जोड़ें<VirtualHost \*:80> अपने अपाचे की विन्यास फ़ाइल में अनुभाग (आम तौर पर http d.conf) , उदाहरण के लिए,
<VirtualHost \\*:80>
\\[...\\]
ServerName example.com
Redirect permanent / https://example.com/
</VirtualHost>
यदि आप चाहते हैं, तो इसके उपयोग को मजबूर करने के लिए एक अतिरिक्त विधि है https: HTTP Strict ट्रांसपोर्ट सुरक्षा (HSTS) । इसका उपयोग करने के लिए:
- अपाचे हेडर मॉड्यूल को सक्षम करें: a2enmod हेडर
- अतिरिक्त हेडर को HTTPS वर्चुअलहोस्ट डायरेक्टिव में जोड़ें। अधिकतम आयु सेकंड में मापा जाता है और कुछ लंबे मूल्य के लिए निर्धारित किया जा सकता है।
<VirtualHost \\*:443>
# Guarantee HTTPS for 1 Year including Sub Domains
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"
कृपया ध्यान दें कि यह हेडर केवल एक HTTPS VirtualHost पर मान्य है।
उपयोगकर्ताओं को उपयोग करने के लिए मजबूर नहीं करना https यूआरएल है: अंतर्निहित SSL/TLS लिंक उपयोगकर्ता और सर्वर के बीच संचारित सभी जानकारी को एन्क्रिप्ट करने और डिक्रिप्ट करने का समय लेता है। लेकिन कुछ संस्थानों की आवश्यकता है https केवल।
- उपयोगकर्ता जो MUST उपयोग में लॉग इन हैं ERDDAP ' ** https ** यूआरएल यदि वे उपयोग करते हैं http यूआरएल, वे दिखाई देते हैं ERDDAP™ लॉग इन नहीं किया जाना चाहिए। यह संचार की गोपनीयता सुनिश्चित करता है और रोकने में मदद करता है सत्र हेजैकिंग और साइडजैकिंग ।
- जो कोई भी लॉग इन नहीं है वह सार्वजनिक डेटासेट तक पहुंच सकता है और उसका उपयोग कर सकता है। डिफ़ॉल्ट रूप से, अगर कोई उपयोगकर्ता लॉग इन नहीं है तो निजी डेटासेट डेटासेट की सूची में दिखाई नहीं देता है। अगर व्यवस्थापक ने सेटअप.xml सेट किया है<listPrivateDatasets> to true, वे दिखाई देंगे। निजी डेटासेट से डेटा का अनुरोध करने का प्रयास (यदि उपयोगकर्ता URL जानता है) लॉगिन पेज पर पुनर्निर्देशित किया जाएगा।
- जो भी लॉग इन है वह किसी भी सार्वजनिक डेटासेट और किसी भी निजी डेटासेट से डेटा को देखने और अनुरोध करने में सक्षम होगा जिसके लिए उनकी भूमिका उन्हें एक्सेस करने की अनुमति देती है। डिफ़ॉल्ट रूप से, निजी डेटासेट जिसमें एक उपयोगकर्ता को डेटासेट की सूची में एक्सेस नहीं दिखाई देता है। अगर व्यवस्थापक ने सेटअप.xml सेट किया है<listPrivateDatasets> to true, वे दिखाई देंगे। निजी डेटासेट से डेटा का अनुरोध करने का प्रयास करता है, जिसके लिए उपयोगकर्ता को एक्सेस नहीं है, लॉग इन पेज पर रीडायरेक्ट किया जाएगा।
- The The most of the RSS पूरी तरह से निजी डेटासेट के लिए जानकारी केवल उपयोगकर्ताओं के लिए उपलब्ध है (और RSS पाठक) जो लॉग इन हैं और उस डेटासेट का उपयोग करने के लिए अधिकृत हैं। यह बनाता है RSS पूरी तरह से निजी डेटासेट के लिए बहुत उपयोगी नहीं है।
यदि कोई डेटासेट निजी है, लेकिन इसका [[]]]<graphsAccessibleTo (/docs/server-admin/datasets#graphsaccessibleto) सार्वजनिक रूप से सेट किया गया है, डेटासेट का सेट RSS किसी के लिए सुलभ है।
- ईमेल सदस्यता केवल तभी स्थापित की जा सकती है जब किसी उपयोगकर्ता को डेटासेट तक पहुंच हो। यदि कोई उपयोगकर्ता निजी डेटासेट की सदस्यता लेता है, तो उपयोगकर्ता लॉग आउट होने के बाद सदस्यता कार्य करना जारी रहता है।
सेटअप सुरक्षा
सुरक्षा/अधिकारी प्रणाली की स्थापना के लिए:
- मानक करो ERDDAP™ प्रारंभिक सेटअप ।
- में साइटमैप ,
- जोड़ें/परिवर्तन करें<प्रमाणीकरण कस्टम करने के लिए कुछ नहीं से मूल्य (इसका उपयोग न करें) ईमेल (इसका उपयोग न करें) गूगल (अनुशंसित) एसिड (अनुशंसित) , या oauth2 (जो Google+orcid है, की सिफारिश की) । नीचे इन विकल्पों के बारे में टिप्पणियां देखें।
- जोड़ें/परिवर्तन करें<आधारHttpsUrl> मान।
- सम्मिलित/संसाधन &loginInfo; में<startBodyHtml> प्रत्येक वेब पेज के शीर्ष पर उपयोगकर्ता की लॉग इन / आउट जानकारी प्रदर्शित करने के लिए।
- अपने व्यक्तिगत कंप्यूटर पर परीक्षण उद्देश्यों के लिए, SSL को समर्थन देने के लिए tomcat को कॉन्फ़िगर करने के लिए इन निर्देशों का पालन करें (आधार https कनेक्शन) एक keystore बनाने के द्वारा स्वयं हस्ताक्षरित प्रमाणपत्र और संशोधित करके tomcat /conf/server.xml बंदरगाह 8443 के लिए कनेक्टर की स्थापना रद्द करने के लिए। विंडोज पर, आपको "c:\Users" से .keystore को स्थानांतरित करने की आवश्यकता हो सकती है आप \keystore" to "c:\Users\Default user\.keystore" or "c:\keystore" (देखें tomcat /logs / catalina। आज यदि अनुप्रयोग लोड नहीं करता है या उपयोगकर्ता लॉग इन पृष्ठ नहीं देख सकते हैं) । जब आप लॉग इन करते हैं तो आप देख सकते हैं।
एक सार्वजनिक रूप से सुलभ सर्वर के लिए, एक स्व-सिग्न प्रमाण पत्र का उपयोग करने के बजाय, यह दृढ़ता से अनुशंसा की जाती है कि आप एक प्रमाण पत्र खरीदते हैं और उसे एक प्रमाण पत्र द्वारा हस्ताक्षरित कर सकते हैं। प्रमाण पत्र क्योंकि यह आपके ग्राहकों को अधिक आश्वासन देता है कि वे वास्तव में आपके से जुड़ रहे हैं ERDDAP™ नहीं, एक आदमी-in-the-middle's संस्करण अपने ERDDAP । कई विक्रेता डिजिटल प्रमाणपत्र बेचते हैं। (वेब खोज) वे महंगे नहीं हैं।
- लिनक्स कंप्यूटर पर, यदि टॉमकैट अपाचे में चल रहा है, तो /etc को संशोधित करें / http D/conf.d/ssl.conf फ़ाइल को HTTPS यातायात को / से अनुमति देने के लिए ERDDAP™ यूआरएल में :8443 पोर्ट नंबर की आवश्यकता के बिना:
- मौजूदा को संशोधित करें<वर्चुअलहोस्ट> टैग (यदि कोई हो) , या फ़ाइल के अंत में एक जोड़ें ताकि यह कम से कम इन लाइनों है:
<VirtualHost \\_default\\_:443>
SSLEngine on
SSLProxyEngine On
ProxyPass /erddap http://localhost:8443/erddap
ProxyPassReverse /erddap http://localhost:8443/erddap
</VirtualHost>
- फिर अपाचे को पुनरारंभ करें: /usr/sbin/apachectl सुंदर (लेकिन कभी-कभी यह एक अलग निर्देशिका में होता है) ।
- में tomcat /conf/server.xml, uncomment the port=8443<कनेक्टर> टैग:
<Connector port="8443"
protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true">
<SSLHostConfig>
<Certificate certificateKeystoreFile="conf/localhost-rsa.jks"
type="RSA" />
</SSLHostConfig>
</Connector>
और प्रमाण पत्र KeystoreFile के स्थान को बदलने।
प्राधिकरण
- में datasets.xml बनाना [<उपयोगकर्ता (/docs/server-admin/datasets#user) उपयोगकर्ता नाम, पासवर्ड के साथ प्रत्येक उपयोगकर्ता के लिए टैग (अगर प्राधिकरण = कस्टम) , और भूमिकाओं की जानकारी। यह प्राधिकरण का हिस्सा है ERDDAP सुरक्षा प्रणाली
- में datasets.xml जोड़ें<सुलभ (/docs/server-admin/datasets#accessibleto) प्रत्येक डेटासेट के लिए टैग जिसमें सार्वजनिक पहुंच नहीं होनी चाहिए।<सुलभ To> आपको निर्दिष्ट करने देता है कि किस भूमिका में उस डेटासेट तक पहुंच है।
- टॉमकैट शुरू करें। मुसीबत? टॉमकैट लॉग की जाँच करें।
- अपने काम की जाँच करें! किसी भी गलती से सुरक्षा दोष हो सकता है।
- जांचें कि लॉगिन पेज का उपयोग करता है https (नहीं http ) । लॉग इन करने का प्रयास http स्वचालित रूप से पुनर्निर्देशित होना चाहिए https पोर्ट 8443 (हालांकि पोर्ट नंबर को अपाचे प्रॉक्सी के माध्यम से छिपाया जा सकता है) । आपको अपने सर्वर पर पोर्ट 8443 तक पहुंचने के लिए बाहरी वेब अनुरोधों की अनुमति देने के लिए अपने नेटवर्क प्रशासक के साथ काम करने की आवश्यकता हो सकती है।
- आप बदल सकते हैं<उपयोगकर्ता<किसी भी समय सुलभटू> टैग। यदि आप किसी डेटासेट का उपयोग करते हैं, तो परिवर्तनों को किसी भी डेटासेट या ASAP के अगले नियमित रीलोड पर लागू किया जाएगा। झंडा ।
प्रमाणीकरण
**प्रमाणीकरण (लॉग इन) **
यदि आप उपयोगकर्ताओं को लॉग इन करने की अनुमति नहीं देना चाहते हैं, तो इसके लिए मूल्य निर्दिष्ट न करें<सेटअप.xml में प्रमाणीकरण>।
यदि आप उपयोगकर्ताओं को लॉग इन करने की अनुमति देना चाहते हैं, तो आपको इसके लिए एक मान निर्दिष्ट करना होगा<प्रमाणीकरण> वर्तमान में, ERDDAP™ समर्थन
अनुकूलन (इसका उपयोग न करें) ,
ईमेल (इसका उपयोग न करें) ,
गूगल (अनुशंसित) ,
मुहावरा (अनुशंसित) , और
oauth2 (अनुशंसित) प्रमाणीकरण विधि के लिए।
यदि आप लॉगिंग को सक्षम करना चाहते हैं, तो हम दृढ़ता से Google, orcid, या oauth2 विकल्पों की सिफारिश करते हैं क्योंकि वे आपको उपयोगकर्ता के पासवर्ड को स्टोर करने और संभालने से मुक्त करते हैं। (कस्टम के लिए आवश्यक) और ईमेल विकल्प की तुलना में अधिक सुरक्षित हैं। याद रखें कि उपयोगकर्ता अक्सर विभिन्न साइटों पर एक ही पासवर्ड का उपयोग करते हैं। इसलिए वे आपके लिए एक ही पासवर्ड का उपयोग कर सकते हैं ERDDAP™ जैसा कि वे अपने बैंक में करते हैं। यह उनके पासवर्ड को बहुत मूल्यवान बनाता है - केवल उन डेटा की तुलना में उपयोगकर्ता को बहुत मूल्यवान। इसलिए आपको ऐसा करने की आवश्यकता है जितना आप पासवर्ड निजी रख सकते हैं। यह एक बड़ी जिम्मेदारी है। ईमेल, गूगल, orcid, और oauth2 विकल्प पासवर्ड की देखभाल करते हैं, इसलिए आपको इकट्ठा करने, स्टोर करने या उनके साथ काम करने की आवश्यकता नहीं है। इसलिए आप उस जिम्मेदारी से मुक्त हैं।
सब<प्रमाणीकरण> विकल्प कुकी उपयोगकर्ता के कंप्यूटर पर, इसलिए उपयोगकर्ता के ब्राउज़र को कुकीज़ की अनुमति देने के लिए सेट किया जाना चाहिए। यदि कोई उपयोगकर्ता बना रहा है ERDDAP™ कंप्यूटर प्रोग्राम से अनुरोध (ब्राउज़र नहीं) , कुकीज़ और प्रमाणीकरण के साथ काम करना मुश्किल है। यह सभी प्रमाणीकरण प्रणालियों के साथ एक आम समस्या है। Sorry.
का विवरण<प्रमाणीकरण> विकल्प हैं:
कस्टम
कस्टम है ERDDAP उपयोगकर्ताओं को वेब पेज पर एक रूप में अपने उपयोगकर्ता नाम और पासवर्ड दर्ज करके लॉग इन करने की अनुमति देने के लिए कस्टम सिस्टम। यदि कोई उपयोगकर्ता 10 मिनट के भीतर 3 बार लॉग इन करने की कोशिश करता है और विफल रहता है, तो उपयोगकर्ता को 10 मिनट के लिए लॉग इन करने की कोशिश करने से रोक दिया जाता है। यह हैकर्स को केवल लाखों पासवर्डों की कोशिश करने से रोकता है जब तक कि वे सही नहीं पाते।
यह कुछ हद तक सुरक्षित है क्योंकि उपयोगकर्ता नाम और पासवर्ड के माध्यम से प्रेषित होते हैं https (नहीं http ) लेकिन प्रमाणीकरण = Google, orcid, या oauth2 बेहतर हैं क्योंकि वे आपको पासवर्ड को संभालने से मुक्त करते हैं। कस्टम दृष्टिकोण के लिए आपको उपयोगकर्ता के नाम और उनके पासवर्ड का एक हैश पचाने की आवश्यकता होती है। (अपने फोन का उपयोग करें! ईमेल सुरक्षित नहीं है!) उन्हें स्टोर करें datasets.xml []<उपयोगकर्ता (/docs/server-admin/datasets#user) टैग
कस्टम विकल्प के साथ, कोई भी आप तक लॉग इन नहीं कर सकता (The number of the ERDDAP™ व्यवस्थापक) बनाना<उपयोगकर्ता> उपयोगकर्ता के लिए टैग, उपयोगकर्ता के नाम को यूज़रनेम के रूप में निर्दिष्ट करना, पासवर्ड के रूप में अपने पासवर्ड का हैश पाचन और उनकी भूमिकाएं।
अनुशंसित नहीं उपयोगकर्ता के पासवर्ड के हैश पाचन को उत्पन्न करने और संचारित करने की इच्छा के कारण और इससे जुड़े जोखिमों के कारण ERDDAP™ पासवर्ड के हैश पाचन पकड़े हुए इस विकल्प की सिफारिश नहीं की जाती है।
इस विकल्प की सुरक्षा को बढ़ाने के लिए:
- आप सुनिश्चित करते हैं कि सर्वर पर अन्य उपयोगकर्ता (i.e., लिनक्स उपयोगकर्ता, नहीं ERDDAP™ उपयोगकर्ता) टॉमकैट निर्देशिका में फ़ाइलों को नहीं पढ़ सकते (विशेष रूप से datasets.xml फ़ाइल!) या ERDDAP 's bigParentDirectory'।
लिनक्स पर, उपयोगकर्ता=tomcat के रूप में, उपयोग:
chmod -R g-rwx बड़ाParentDirectory
chmod -R o-rwx बड़ाParentDirectory
chmod -R g-rwx tomcatDirectory
chmod -R o-rwx tomcatDirectory
- UEPSHA256 का उपयोग करने के लिए<सेटअप.xml में पासवर्ड एन्कोडिंग>।
- उपयोगकर्ता से उपयोगकर्ता के पासवर्ड के हैश पाचन को पारित करने के लिए एक as-secure-as-posable विधि का उपयोग करें ERDDAP™ व्यवस्थापक (फ़ोन?) ।
ईमेल
ईमेल प्रमाणीकरण विकल्प उपयोगकर्ता को प्रमाणित करने के लिए उपयोगकर्ता के ईमेल खाते का उपयोग करता है (उन्हें एक विशेष लिंक के साथ एक ईमेल भेजने के द्वारा जिसे उन्हें लॉग इन करने के लिए एक्सेस करना होगा) । अन्य ईमेल के विपरीत ERDDAP™ भेजना, ERDDAP™ इन आमंत्रण ईमेल को ईमेल लॉग फ़ाइल में नहीं लिखते क्योंकि उनके पास गोपनीय जानकारी होती है। सिद्धांत रूप में, यह बहुत सुरक्षित नहीं है, क्योंकि ईमेल हमेशा एन्क्रिप्ट नहीं होते हैं, इसलिए ईमेल को अवरोधित करने की क्षमता वाला एक बुरा लड़का वैध उपयोगकर्ता के ईमेल पते का उपयोग करके इस प्रणाली का दुरुपयोग कर सकता है और निमंत्रण ईमेल को रोक सकता है। व्यवहार में, यदि आप सेट अप करते हैं ERDDAP™ ईमेल भेजने के लिए Google ईमेल खाते का उपयोग करने के लिए, और यदि आप इसे कनेक्शन के लिए TLS विकल्पों में से एक का उपयोग करने के लिए सेट करते हैं, और यदि उपयोगकर्ता का Google ईमेल खाता है, तो यह कुछ हद तक सुरक्षित है क्योंकि ईमेल को सभी तरह से एन्क्रिप्ट किया जाता है। ERDDAP™ उपयोगकर्ता को।
इस विकल्प की सुरक्षा को बढ़ाने के लिए:
- सुनिश्चित करें कि सर्वर पर अन्य उपयोगकर्ता (i.e., लिनक्स उपयोगकर्ता, नहीं ERDDAP™ उपयोगकर्ता) टॉमकैट निर्देशिका में फ़ाइलों को नहीं पढ़ा जा सकता है या ERDDAP 's bigParentDirectory'।
लिनक्स पर, उपयोगकर्ता=tomcat के रूप में, उपयोग:
chmod -R g-rwx बड़ाParentDirectory
chmod -R o-rwx बड़ाParentDirectory
chmod -R g-rwx tomcatDirectory
chmod -R o-rwx tomcatDirectory
- से भेजे गए ईमेल के लिए एंड-टू-एंड सुरक्षा प्राप्त करने के लिए चीजों को सेट करें ERDDAP™ उपयोगकर्ताओं के लिए। उदाहरण के लिए, आप केवल बनाने के द्वारा Google केंद्रित सिस्टम बना सकते हैं<उपयोगकर्ता> गूगल प्रबंधित ईमेल पते के लिए टैग और अपनी स्थापना करके ERDDAP™ एक सुरक्षित/TLS कनेक्शन के माध्यम से Google ईमेल सर्वर का उपयोग करने के लिए: अपने सेटअप.xml में, उदाहरण के लिए, उपयोग करें।
<emailSmtpHost>smtp.gmail.com</emailSmtpHost>
<emailSmtpPort>587</emailSmtpPort>
<emailProperties>mail.smtp.starttls.enable|true</emailProperties>
अनुशंसित नहीं ईमेल प्रमाणीकरण विकल्प की सिफारिश नहीं की जाती है। इसके बजाय Google, orcid, या oauth2 विकल्प का उपयोग करें।
Google, orcid और oauth2 विकल्पों के साथ, ईमेल के लिए बहुत सुविधाजनक है ERDDAP™ व्यवस्थापक - आपको कभी पासवर्ड या उनके हैश पाचन से निपटने की जरूरत नहीं है। आप सभी को बनाने की जरूरत है एक [<उपयोगकर्ता (/docs/server-admin/datasets#user) एक उपयोगकर्ता के लिए टैग datasets.xml उपयोगकर्ता का ईमेल पता है, जो ERDDAP™ उपयोगकर्ता के नाम के रूप में उपयोग करता है। (जब प्रमाणीकरण = Email, Google, orcid, या oauth2 पासवर्ड विशेषता का उपयोग नहीं किया जाता है।)
ईमेल विकल्प के साथ, केवल उन उपयोगकर्ताओं के पास जो एक है<उपयोगकर्ता> टैग इन datasets.xml लॉग इन करने की कोशिश कर सकते हैं ERDDAP™ अपने ईमेल पते को प्रदान करके और ईमेल में लिंक पर क्लिक करके ERDDAP™ उन्हें भेजना।
ERDDAP™ मामले के प्रति संवेदनशील के रूप में ईमेल पते का इलाज करता है। यह ईमेल पते आप दर्ज करके करता है (in)<उपयोगकर्ता> टैग (लॉगिन फॉर्म पर) उनके सभी लोअरकेस संस्करण के लिए।
प्रमाणीकरण स्थापित करने के लिए = Email:
- अपने सेटअप.xml में, परिवर्तन<baseHttpsUrl> टैग का मान।
अपने व्यक्तिगत कंप्यूटर पर प्रयोग / काम करने के लिए, उपयोग करें
https://localhost:8443
अपनी जनता के लिए ERDDAP™ उपयोग https://your.domain.org:8443
यदि आप अपाचे का उपयोग कर रहे हैं या बिना :8443 प्रॉक्सीपास इसलिए कि बंदरगाह संख्या की आवश्यकता नहीं है। - अपने सेटअप.xml में, परिवर्तन<प्रमाणीकरण> ईमेल करने के लिए टैग का मूल्य:
<authentication>email</authentication>
- अपने सेटअप.xml में, सुनिश्चित करें कि ईमेल सिस्टम सभी के माध्यम से स्थापित किया गया है<ईमेल ERDDAP™ ईमेल भेज सकते हैं। यदि संभव हो, तो इसे सुरक्षित कनेक्शन का उपयोग करने के लिए सेट करें (एसएसएल / टीएलएस) ईमेल सर्वर के लिए।
- अपने datasets.xml बनाना<उपयोगकर्ता (/docs/server-admin/datasets#user) प्रत्येक उपयोगकर्ता के लिए टैग जो निजी डेटासेट तक पहुंच जाएगा। उपयोगकर्ता के ईमेल पते का उपयोग टैग में उपयोगकर्ता नाम के रूप में करें। उपयोगकर्ता टैग में पासवर्ड विशेषता निर्दिष्ट नहीं है।
- प्रारंभ ERDDAP™ इसलिए कि सेटअप.xml में परिवर्तन और datasets.xml प्रभाव डालो।
गूगल, orcid, oauth2
- गूगल , मुहावरा , और oauth2 (अनुशंसित)
इन विकल्पों में से सभी तीन अनुशंसित हैं ERDDAP™ प्रमाणीकरण विकल्प। वे सभी सुरक्षित विकल्प हैं। अन्य विकल्पों में काफी कमजोर सुरक्षा है।
गूगल
- Google प्रमाणीकरण विकल्प का उपयोग करता है साइन गूगल के साथ , जो का कार्यान्वयन है OAuth 2.0 प्रमाणीकरण प्रोटोकॉल । ERDDAP™ उपयोगकर्ता अपने Google ईमेल खाते में साइन इन करते हैं, जिसमें Google-प्रबंधित खाते जैसे Google-प्रबंधित खाते शामिल हैं। @noaa.gov खाता यह अनुमति ERDDAP™ उपयोगकर्ता की पहचान सत्यापित करने के लिए (नाम और ईमेल पता) और उनकी प्रोफ़ाइल छवि तक पहुंचना, लेकिन नहीं देना चाहिए ERDDAP™ उनके ईमेल, उनके Google ड्राइव, या किसी अन्य निजी जानकारी तक पहुंच।
के लिए ERDDAP™ v2.22 और नीचे, ERDDAP™ "गूगल साइन-इन" का इस्तेमाल किया। गूगल कहते हैं कि 31 मार्च, 2023 के बाद इस प्रणाली की व्याख्या की गई है। यदि आपने पहले से ही ऐसा नहीं किया है, तो कृपया स्विच करें ERDDAP™ v2.23+ नए "Sign In with Google" आधारित प्रमाणीकरण प्रणाली का उपयोग करने के लिए।
के लिए ERDDAP™ v2.23 एक Content-Security-Policy के साथ उदाहरण Google प्रमाणीकरण का उपयोग करके, आपको जोड़ने की आवश्यकता हैhttps://accounts.google.comअनुमति स्क्रिप्ट-src की सूची के लिए (या स्क्रिप्ट-src-elem) । ERDDAP™ अब उपयोग नहींhttps://apis.google.comयदि आपके पास ऐसा करने की अनुमति है तो आप इसे हटा सकते हैं।
के लिए ERDDAP™ v2.24+ आपको जोड़ने की भी आवश्यकता हो सकती हैhttps://accounts.google.com/gsi/styleto stlye-src औरhttps://accounts.google.com/gsi/कनेक्ट-src के लिए। स्क्रिप्ट-src के लिए अब आप उपयोग कर सकते हैंhttps://accounts.google.com/gsi/client.
अधिक जानकारी के लिए आप जा सकते हैं गूगल पेज CSP विन्यास के बारे में। यदि आपके पास कोई सवाल है, तो noaa.gov पर chris.john से संपर्क करें।
ऑर्सिड
- orcid प्रमाणीकरण विकल्प Orcid प्रमाणीकरण , जो का कार्यान्वयन है OAuth 2.0 प्रमाणीकरण प्रोटोकॉल । ERDDAP™ उपयोगकर्ता अपने साइन इन करें Orcid खाता आमतौर पर शोधकर्ताओं द्वारा खुद को पहचानने के लिए उपयोग किया जाता है। यह अनुमति ERDDAP™ उपयोगकर्ता की Orcid पहचान को सत्यापित करने और उनके Orcid खाता संख्या प्राप्त करने के लिए, लेकिन देना नहीं है ERDDAP™ उनके अन्य Orcid खाते की जानकारी तक पहुंच।
Oauth2
- oauth2 विकल्प उपयोगकर्ताओं को अपने Google खाते या उनके Orcid खाते के साथ साइन इन करने देता है।
Google, orcid, और oauth2 विकल्प Openid विकल्प के उत्तराधिकारी हैं, जिसे बाद में बंद कर दिया गया था। ERDDAP™ संस्करण 1.68, और जो ओपन के संस्करण पर आधारित था आईडी जो अब आउट-ऑफ-डेट है। कृपया Google, orcid, या oauth2 विकल्प पर स्विच करें।
ये विकल्प बहुत सुविधाजनक हैं ERDDAP™ व्यवस्थापक - आपको कभी पासवर्ड या उनके हैश पाचन से निपटने की जरूरत नहीं है। आप सभी को बनाने की जरूरत है एक [<उपयोगकर्ता (/docs/server-admin/datasets#user) एक उपयोगकर्ता के लिए टैग datasets.xml जो उपयोगकर्ता के Google ईमेल पते या Orcid खाता संख्या को उपयोगकर्ता नाम विशेषता के रूप में निर्दिष्ट करता है। (जब प्रमाणीकरण = Email, Google, orcid या oauth2 पासवर्ड विशेषता का उपयोग नहीं किया जाता है।)
इन विकल्पों के साथ, कोई भी लॉग इन कर सकता है ERDDAP™ अपने Google ईमेल खाते या Orcid खाते में साइन इन करके, लेकिन आपके पास निजी डेटासेट तक पहुंचने का अधिकार नहीं होगा जब तक कि आप अपने Google ईमेल खाते या Orcid खाते में साइन इन कर सकते हैं। (The number of the ERDDAP™ व्यवस्थापक) बनाना<उपयोगकर्ता> टैग, अपने Google ईमेल पते या Orcid खाता संख्या को उपयोगकर्ता नाम के रूप में निर्दिष्ट करना और उनकी भूमिकाओं को निर्दिष्ट करना।
ERDDAP™ मामले के प्रति संवेदनशील के रूप में ईमेल पते का इलाज करता है। यह ईमेल पते आप दर्ज करके करता है (in)<उपयोगकर्ता> टैग (लॉगिन फॉर्म पर) उनके सभी लोअरकेस संस्करण के लिए।
Google, orcid, या oauth2 प्रमाणीकरण स्थापित करने के लिए:
- अपने सेटअप.xml में, परिवर्तन<baseHttpsUrl> टैग का मान।
अपने व्यक्तिगत कंप्यूटर पर प्रयोग / काम करने के लिए, उपयोग करें
https://localhost:8443
अपनी जनता के लिए ERDDAP™ उपयोग https://your.domain.org:8443
यदि आप अपाचे का उपयोग कर रहे हैं, तो या बेहतर :8443 प्रॉक्सीपास इसलिए कि बंदरगाह संख्या की आवश्यकता नहीं है। - अपने सेटअप.xml में, परिवर्तन<प्रमाणीकरण> उदाहरण के लिए Google, orcid, या oauth2 के लिए टैग का मूल्य:
<authentication>oauth2</authentication>
गूगल सेटअप
- Google और oauth2 विकल्पों के लिए:
अपने लिए Google प्रमाणीकरण स्थापित करने के लिए नीचे दिए गए निर्देशों का पालन करें ERDDAP ।
- यदि आपके पास Google ईमेल खाता नहीं है, तो आपके पास Google ईमेल खाता नहीं है। एक बनाना
- पालन करना ये निर्देश Google डेवलपर कंसोल प्रोजेक्ट बनाने और क्लाइंट ID प्राप्त करने के लिए।
- यदि आपके पास Google ईमेल खाता नहीं है, तो आपके पास Google ईमेल खाता नहीं है। एक बनाना
जब गूगल फॉर्म अधिकृत के लिए पूछता है Java स्क्रिप्ट मूल, मूल्य से दर्ज करें<BaseHttpsUrl> अपने व्यक्तिगत कंप्यूटर से ERDDAP™ सेटअप.xml, उदाहरण के लिए,
https://localhost:8443
दूसरी पंक्ति में, जोड़ें<BaseHttpsUrl> अपने जनता से ERDDAP™ सेटअप.xml, उदाहरण के लिए,
https://your.domain.org:8443
किसी भी अधिकृत पुनर्निर्देशित URI को निर्दिष्ट न करें।
जब आप इस परियोजना के लिए अपना क्लाइंट आईडी देखते हैं, तो इसे अपने सेटअप.xml में कॉपी और पेस्ट करें (आमतौर पर सिर्फ नीचे)<प्रमाणीकरण> क्रमानुसार, लेकिन प्लेसमेंट वास्तव में कोई फर्क नहीं पड़ता)<GoogleClientID> टैग, उदाहरण के लिए, <GoogleClientID> आपकाClientID <GoogleClientID> क्लाइंट आईडी लगभग 75 अक्षरों का एक स्ट्रिंग होगा, शायद कई अंकों से शुरू होता है और .apps.googleusercontent.com के साथ समाप्त होता है।
-
अपने datasets.xml बनाना<उपयोगकर्ता (/docs/server-admin/datasets#user) प्रत्येक उपयोगकर्ता के लिए टैग जो निजी डेटासेट तक पहुंच जाएगा। टैग में उपयोगकर्ता नाम विशेषता के लिए:
- उपयोगकर्ताओं के लिए जो Google के साथ साइन इन करेंगे, उपयोगकर्ता के Google ईमेल पते का उपयोग करें।
- उन उपयोगकर्ताओं के लिए जो orcid के साथ साइन इन करेंगे, उपयोगकर्ता के Orcid खाता संख्या का उपयोग करें (डैश के साथ) ।
उपयोगकर्ता टैग के लिए पासवर्ड विशेषता निर्दिष्ट नहीं है। 4. प्रारंभ ERDDAP™ इसलिए कि सेटअप.xml में परिवर्तन और datasets.xml प्रभाव डालो।
Orcid सेटअप
- orcid और oauth2 विकल्प के लिए:
अपने लिए Orcid प्रमाणीकरण स्थापित करने के लिए नीचे दिए गए निर्देशों का पालन करें ERDDAP ।
(विवरण के लिए, देखें Orcid के प्रमाणीकरण एपीआई प्रलेखन ।)
- यदि आपके पास कोई Orcid खाता नहीं है, तो, एक बनाना
- Orcid https://orcid.org/signin अपने व्यक्तिगत Orcid खाते का उपयोग करना।
- "डेवलपर टूल" पर क्लिक करें (शीर्ष पर "For Researchers" के तहत) ।
- "Register for free ORCID public API". इस जानकारी को दर्ज करें:
नाम: ERDDAP™ पर \[ आपका संगठन \]
वेबसाइट: \[ आपका ERDDAP डोमेन \]
वर्णन: ERDDAP™ एक वैज्ञानिक डेटा सर्वर है। उपयोगकर्ता को गैर-सार्वजनिक डेटासेट तक पहुंचने के लिए Google या Orcid के साथ प्रमाणित करने की आवश्यकता है। यूआरआई को पुनर्निर्देशित करें: \[ आपका ERDDAP डोमेन \] /erddap/loginOrcid.html - सेव आइकन पर क्लिक करें (यह 3.5" डिस्क की तरह दिखता है!) । फिर आप अपने ORCID APP क्लाइंट ID और ORCID क्लाइंट गुप्त देख सकते हैं।
- ORCID APP क्लाइंट ID को कॉपी और पेस्ट करें (जो "APP-" के साथ शुरू होगा) सेटअप.xml में<orcidClientID> टैग, जैसे,
- यदि आपके पास कोई Orcid खाता नहीं है, तो, एक बनाना
<orcidClientID>APP-*ALPHANUMERICCHARACTERS*</orcidClientID>
- ORCID क्लाइंट गुप्त को कॉपी और पेस्ट करें (डैश के साथ लोअरकेस अल्फा-न्यूमेरिक वर्ण) सेटअप.xml में<OrcidClientSecret> टैग, उदाहरण के लिए,
<orcidClientSecret>*alpha-numeric-characters-with-dashes*</orcidClientSecret>
-
अपने datasets.xml बनाना<उपयोगकर्ता (/docs/server-admin/datasets#user) प्रत्येक उपयोगकर्ता के लिए टैग जो निजी डेटासेट तक पहुंच जाएगा। टैग में उपयोगकर्ता नाम विशेषता के लिए:
- उपयोगकर्ताओं के लिए जो Google के साथ साइन इन करेंगे, उपयोगकर्ता के Google ईमेल पते का उपयोग करें।
- उन उपयोगकर्ताओं के लिए जो orcid के साथ साइन इन करेंगे, उपयोगकर्ता के Orcid खाता संख्या का उपयोग करें (डैश के साथ) ।
उपयोगकर्ता टैग के लिए पासवर्ड विशेषता निर्दिष्ट नहीं है। 9. प्रारंभ ERDDAP™ इसलिए कि सेटअप.xml में परिवर्तन और datasets.xml प्रभाव डालो।
लॉग इन करें
यदि आप Google, orcid, या oauth2 प्रमाणीकरण विकल्प का उपयोग करते हैं, और Google साइन-इन या Orcid के प्रमाणीकरण एपीआई अचानक काम करना बंद कर देता है (किसी भी कारण के लिए) या काम करना बंद कर देता है ERDDAP™ उम्मीद है, उपयोगकर्ता आपके लिए लॉग इन करने में सक्षम नहीं होगा ERDDAP । अस्थायी रूप से (स्थायी) समाधान, आप उपयोगकर्ताओं को अन्य सिस्टम के साथ साइन अप करने के लिए पूछ सकते हैं (Google ईमेल खाता प्राप्त करें, या Orcid खाता प्राप्त करें) । ऐसा करने के लिए:
- परिवर्तन<प्रमाणीकरण> टैग ताकि यह अन्य प्रमाणीकरण प्रणाली की अनुमति दे। oauth2 विकल्प उपयोगकर्ताओं को सिस्टम के साथ लॉग इन करने की अनुमति देता है।
- प्रत्येक डुप्लिकेट<उपयोगकर्ता> टैग और गूगल ईमेल पते से संबंधित Orcid खाता संख्या में उपयोगकर्ता नाम विशेषता बदल (या इसके विपरीत) लेकिन भूमिकाओं को समान विशेषता रखने के लिए।
ओपनआईडी
ERDDAP™ अब ओपनिड प्रमाणीकरण विकल्प का समर्थन नहीं करता, जो ओपन के संस्करण पर आधारित था आईडी जो अब आउट-ऑफ-डेट है। इसके बजाय Google, orcid, या oauth2 विकल्पों का उपयोग करें।
बेसिक
ERDDAP™ BASIC प्रमाणीकरण का समर्थन नहीं करता क्योंकि:
- BASIC पूर्वनिर्धारित वेब पृष्ठों की ओर गियर लगता है, जो पूरी साइट पर सुरक्षित पहुंच या कंबल की आवश्यकता होती है, लेकिन यह पूरी साइट पर पहुंच की आवश्यकता होती है। ERDDAP™ अनुमति (सीमित पहुंच) डेटासेट को ऑन-द-फ्लाई जोड़ा जाएगा।
- BASIC प्रमाणीकरण उपयोगकर्ताओं को लॉग आउट करने के लिए एक रास्ता प्रदान नहीं करता!
- बेसिक प्रमाणीकरण को सुरक्षित नहीं किया जाना चाहिए।
सुरक्षित डेटा स्रोत
यदि डेटा सेट को प्रतिबंधित करना है ERDDAP™ उपयोगकर्ता, डेटा स्रोत (जहां से ERDDAP™ डेटा प्राप्त करना) सार्वजनिक रूप से सुलभ नहीं होना चाहिए। तो कैसे कर सकते हैं ERDDAP™ प्रतिबंधित एक्सेस डेटासेट के लिए डेटा प्राप्त करें? कुछ विकल्प हैं:
- ERDDAP™ स्थानीय फ़ाइलों से डेटा की सेवा कर सकते हैं (उदाहरण के लिए, EDDTable द्वारा सेफ़िल्स या EDDGrid सेफिल) ।
- ERDDAP™ एक में हो सकता है DMZ और डेटा स्रोत (उदाहरण के लिए, एक OPeNDAP सर्वर या डेटाबेस) पीछे हो सकता है फायरवाल जहां यह सुलभ है ERDDAP™ लेकिन जनता के लिए नहीं।
- डेटा स्रोत एक सार्वजनिक वेबसाइट पर हो सकता है, लेकिन डेटा प्राप्त करने के लिए लॉगिन की आवश्यकता होती है। डेटासेट के दो प्रकार ERDDAP™ प्रवेश करने के लिए लॉग ऑन कर सकते हैं EDDTableFromDatabase और EDDTableFromCassandra । इन डेटासेट समर्थन (हमेशा उपयोग करना चाहिए) उपयोगकर्ता नाम (बनाना ERDDAP™ उपयोगकर्ता जो केवल एकमात्र विशेषाधिकार है) पासवर्ड, एसएसएल कनेक्शन और अन्य सुरक्षा उपायों।
लेकिन आम तौर पर, वर्तमान में, ERDDAP™ इन डेटा स्रोतों से सौदा नहीं कर सकता क्योंकि इसमें डेटा स्रोत पर लॉगिंग के लिए कोई प्रावधान नहीं है। यही कारण है कि किसके लिए पहुँच EDDGrid FromErddap and EDDTable सेर्डडैप डेटासेट प्रतिबंधित नहीं किया जा सकता है। वर्तमान में, स्थानीय ERDDAP™ दूरस्थ से मेटाडाटा की जानकारी को लॉग इन करने और एक्सेस करने का कोई तरीका नहीं है ERDDAP । और "दूरस्थ" डालने ERDDAP™ अपने फ़ायरवॉल के पीछे और उस डेटासेट को हटाने के लिए सुलभ प्रतिबंधों के लिए समस्या को हल नहीं करता है: चूंकि उपयोगकर्ता EDDXxx के लिए अनुरोध करता है FromErddap डेटा को दूरस्थ रूप से रीडायरेक्ट करने की आवश्यकता है ERDDAP™ दूरस्थ ERDDAP™ सुलभ होना चाहिए।
हैकर्स के खिलाफ रक्षा
खराब पुरुष हैकर जो सर्वर सॉफ्टवेयर जैसे सुरक्षा कमजोरियों का उपयोग करने की कोशिश करते हैं ERDDAP । ERDDAP™ रक्षा की कई परतों के लिए आम सुरक्षा सलाह का पालन करें:
- प्रतिबंधित Privilegs -- सबसे महत्वपूर्ण बचावों में से एक टॉमकैट को एक उपयोगकर्ता के माध्यम से चलाने के लिए है जिसे टॉमकैट कहा जाता है जिसमें पासवर्ड नहीं होता है। (इसलिए कोई भी उस उपयोगकर्ता के रूप में लॉग इन नहीं कर सकता) और इसमें सीमित फ़ाइल सिस्टम विशेषाधिकार हैं (उदाहरण के लिए, केवल डेटा तक पहुंच) । देखें ERDDAP के लिए निर्देश Tomcat स्थापित करना ।
- भारी उपयोग - सामान्य तौर पर, ERDDAP™ भारी उपयोग के लिए बनाया गया है, जिसमें स्क्रिप्ट्स शामिल हैं जो हजारों अनुरोधों को एक दूसरे के बाद बनाते हैं। यह कठिन है ERDDAP™ एक साथ खुद को भारी वैध उपयोग तक खोलने और खुद को दुरुपयोग से बचाने के लिए। कभी-कभी भारी वैध उपयोग, अत्यधिक वैध उपयोग और अवैध उपयोग को अलग करना मुश्किल होता है (कभी कभी यह वास्तव में आसान है) । अन्य सुरक्षाओं में, ERDDAP™ सचेत रूप से सिस्टम के संसाधनों के एक अस्थाई अंश का उपयोग करने के लिए एक अनुरोध की अनुमति नहीं देता है (जब तक कि सिस्टम अन्यथा सक्रिय नहीं है) ।
- समस्याग्रस्त उपयोगकर्ताओं की पहचान - अगर ERDDAP™ धीमा या ठंडी है (शायद क्योंकि एक नौसैनिक उपयोगकर्ता या एक बोट एक साथ कई अनुरोधों को जमा करने के लिए कई स्क्रिप्ट चला रहा है या शायद एक बुरे आदमी के कारण डेनियल ऑफ सर्विस हमला) , आप देख सकते हैं दैनिक रिपोर्ट ईमेल (और अधिक लगातार समान जानकारी में ERDDAP™ लॉग इन करें ) जो सबसे सक्रिय उपयोगकर्ताओं द्वारा किए गए अनुरोधों की संख्या को प्रदर्शित करता है ("Requester's IP Address (अनुमति) ") । ERDDAP™ जब भी व्यवस्थापक को ईमेल भेजता है "असामान्य गतिविधि:> अनुरोध का 25% विफल हो गया" । फिर आप देख सकते हैं ERDDAP™ लॉग फ़ाइल उनके अनुरोधों की प्रकृति को देखने के लिए। यदि आपको लगता है कि कोई बहुत अधिक अनुरोध कर रहा है, तो विचित्र अनुरोध (आप नहीं मानते कि मैंने क्या देखा है, ठीक है, शायद आप करेंगे) आप अपने आईपी पते को ब्लैकलिस्ट में जोड़ सकते हैं।
- ब्लैकलिस्ट आप परेशानी वाले उपयोगकर्ताओं, बॉट्स और आईपी पते को जोड़ सकते हैं डेनियल ऑफ सर्विस हमलावरों को ERDDAP ब्लैकलिस्ट इसलिए कि भविष्य के अनुरोधों को तुरंत खारिज कर दिया जाएगा। इस सेटिंग में है datasets.xml ताकि आप जल्दी से सूची में आईपी पते जोड़ सकें और फिर झंडा इसलिए डेटासेट ERDDAP™ तुरंत नोटिस और परिवर्तन लागू होता है। ब्लैकलिस्ट किए गए उपयोगकर्ताओं को भेजे गए त्रुटि संदेश उन्हें संपर्क करने के लिए प्रोत्साहित करता है ERDDAP™ अगर उन्हें लगता है कि उन्हें गलती से ब्लैकलिस्ट पर रखा गया है तो प्रशासक। (हमारे अनुभव में, कई उपयोगकर्ता अनजान हुए हैं कि वे एक साथ कई स्क्रिप्ट चला रहे थे, या उनके स्क्रिप्ट गैर-सेंस अनुरोध कर रहे थे।)
- डेटासेट सुरक्षा - कुछ प्रकार के डेटासेट (विशेष रूप से, EDDTableFromDatabase) अतिरिक्त सुरक्षा जोखिम (उदाहरण के लिए, SQL इंजेक्शन) और अपने स्वयं के सुरक्षा उपाय है। उन प्रकार के डेटासेट के लिए जानकारी देखें साथ काम करना datasets.xml फ़ाइल विशेष रूप से EDDTableFromDatabase सुरक्षा ।
- सुरक्षा लेखा परीक्षा - हालांकि NOAA आईटी सुरक्षा ने वर्षों तक स्कैन के लिए हमारे अनुरोधों को अस्वीकार कर दिया, अब वे नियमित रूप से मेरे स्कैन को स्कैन करते हैं। (बॉब) ERDDAP™ स्थापना। हालांकि प्रारंभिक स्कैन में कुछ समस्याएं आईं तो तय हुईं, बाद में स्कैन के साथ समस्या नहीं मिली है ERDDAP । कुछ बातों के बारे में स्कैन चिंता: विशेष रूप से, चूंकि tabledap अनुरोध SQL अनुरोधों की तरह दिखते हैं, वे SQL इंजेक्शन vulnerability के बारे में चिंता करते हैं। लेकिन उन चिंताओं को अनदेखा किया जाता है क्योंकि ERDDAP™ हमेशा प्रश्नों को पार करता है और फिर अलग से SQL क्वेरी को ऐसे तरीके से बनाता है जो इंजेक्शन vulnerability से बचाता है। वे कभी कभी के बारे में शिकायत करते हैं कि हमारे बारे में Java संस्करण या टॉमकैट संस्करण उतना अद्यतन नहीं हैं जितना वे चाहते हैं, इसलिए हम उन्हें जवाब में अपडेट करते हैं। मैंने पहले लोगों को सुरक्षा रिपोर्ट दिखाने की पेशकश की, लेकिन अब मैंने बताया कि मैं ऐसा नहीं कर सकता।
प्रश्न सुझाव?
यदि आपके पास कोई प्रश्न हैं ERDDAP 'सुरक्षा प्रणाली' या इसके बारे में कोई प्रश्न, संदेह, चिंताएं या सुझाव हैं कि यह कैसे स्थापित है, हमारे देखें अतिरिक्त समर्थन प्राप्त करने पर अनुभाग ।
जो चीज़ें आपको नहीं जानना चाहिए
ये विवरण हैं कि आपको आवश्यकता होने तक जानने की आवश्यकता नहीं है।
दूसरा ERDDAP™
- एक दूसरे की स्थापना ERDDAP™ परीक्षण / विकास के लिए
यदि आप ऐसा करना चाहते हैं, तो दो दृष्टिकोण हैं: - (सर्वश्रेष्ठ) टॉमकैट स्थापित करें और ERDDAP™ कंप्यूटर के अलावा अन्य कंप्यूटर पर जो आपकी सार्वजनिक है ERDDAP । यदि आप अपने व्यक्तिगत कंप्यूटर का उपयोग करते हैं:
- एक समय में स्थापना एक कदम करो। पहले टॉमकैट अप और चल रहा है। जब टॉमकैट चल रहा है, तो टॉमकैट प्रबंधक होना चाहिए http://127.0.0.1:8080/manager/html/ (शायद http://localhost:8080/manager/html/ )
- स्थापित करना ERDDAP ।
- पोर्ट नंबर को समाप्त करने के लिए प्रोक्सीपास का उपयोग न करें ERDDAP™ यूआरएल
- में साइटमैप , baseUrl सेट करने के लिएhttp://127.0.0.1:8080
- शुरू करने के बाद ERDDAP™ आप इसे देख सकते हैं http://127.0.0.1:8080/erddap/status.html (शायद http://localhost:8080/erddap/status.html )
दूसरा टॉमकैट
- (दूसरा सबसे अच्छा) अपने सार्वजनिक रूप से उसी कंप्यूटर पर एक और टॉमकैट स्थापित करें ERDDAP ।
- एक समय में स्थापना एक कदम करो। पहले टॉमकैट अप और चल रहा है। दूसरे टॉमकैट से जुड़े सभी बंदरगाह संख्याओं को बदलें (उदाहरण के लिए, 8080 से 8081 में परिवर्तन) (देखें एकाधिक टॉमकैट इंस्टेंस अनुभाग उस दस्तावेज़ के माध्यम से आधे रास्ते) ।
- स्थापित करना ERDDAP™ नए टॉमकैट में।
- पोर्ट नंबर को समाप्त करने के लिए प्रोक्सीपास का उपयोग न करें ERDDAP™ यूआरएल
- में साइटमैप , baseUrl सेट करने के लिएhttp://www.*yourDomainName*:8081
- शुरू करने के बाद ERDDAP™ आप इसे देख सकते हैं
http://www.*yourDomainName*:8081/erddap/status.html
सॉलिड स्टेट ड्राइव
- सॉलिड स्टेट ड्राइव (एसएसडी) महान!
तेज़, आसान और सस्ता तरीका ERDDAP 'टैबुलर डेटा तक पहुंच डेटा फ़ाइलों को सॉलिड स्टेट ड्राइव पर रखना है (एसएसडी) । अधिकांश सारणीबद्ध डेटासेट अपेक्षाकृत छोटे हैं, इसलिए 1 या 2 टीबी एसएसडी शायद आपके सभी सारणीबद्ध डेटासेट के लिए सभी डेटा फ़ाइलों को रखने के लिए पर्याप्त है। यदि आप किसी सेल में डेटा लिखते हैं, तो एसएसडी अंततः बाहर निकल जाता है, इसे हटा देता है और उस सेल को कई बार नया डेटा लिखता है। इसलिए यदि आप एक बार डेटा लिखने के लिए अपने एसएसडी का उपयोग करते हैं और इसे कई बार पढ़ने के लिए, यहां तक कि एक उपभोक्ता-ग्रेड एसएसडी को बहुत लंबे समय तक रहना चाहिए, शायद किसी भी हार्ड डिस्क ड्राइव की तुलना में बहुत लंबा होना चाहिए। (एचडी) । उपभोक्ता ग्रेड एसएसडी अब सस्ते हैं (2018 में, 2 टीबी के लिए 1 टीबी या ~ $ 400 के लिए $ 200) और कीमतें अभी भी तेजी से गिर रही हैं। कब ERDDAP™ एक डेटा फ़ाइल तक पहुंचता है, एक एसएसडी लघु विलंबता दोनों प्रदान करता है (~0.1ms, एक HDD के लिए बनाम ~ 3ms, बनाम ~ 10 (?) एक RAID के लिए एमएस, बनाम ~ 55ms अमेज़न S3 के लिए) और उच्च throughput (~500 MB/S, versus ~75 MB/s for a HDD, versus ~500 MB/s for a RAID) । तो आप एक बड़ा प्रदर्शन बढ़ा सकते हैं (10X तक HDD बनाम) $200! अपने सिस्टम में अन्य संभावित परिवर्तनों की तुलना में ($10,000 के लिए एक नया सर्वर? $35,000 के लिए एक नया RAID? $5000 के लिए एक नया नेटवर्क स्विच? आदि) यह अब तक निवेश पर सबसे अच्छा रिटर्न है (ROI) । अगर एसएसडी मर जाता है / जब (1, 2, ... 8 साल) इसे बदल दें। लंबे समय तक, डेटा के अभिलेखीय भंडारण के लिए, सिर्फ डेटा की फ्रंट-एंड प्रतिलिपि के लिए इस पर भरोसा न करें। \[ एसएसडी का ग्रिड डेटा के लिए भी बहुत अच्छा होगा, लेकिन अधिकांश ग्रिड डेटासेट बहुत बड़ा हैं, जिससे एसएसडी बहुत महंगा हो जाता है। \]
यदि आपका सर्वर मेमोरी से भरा नहीं है, तो आपके सर्वर के लिए अतिरिक्त मेमोरी भी एक शानदार और अपेक्षाकृत सस्ती तरीका है ताकि सभी पहलुओं को गति दी जा सके ERDDAP ।
हेवी लोड / कंस्ट्रक्शन **
भारी उपयोग के साथ, एक स्टैंडअलोन ERDDAP™ विभिन्न समस्याओं से बाधित हो सकता है। अधिक जानकारी के लिए, देखें बाधाओं और समाधानों की सूची ।
ग्रिड, क्लस्टर और फेडरेशन
बहुत भारी उपयोग के तहत, एक एकल स्टैंडअलोन ERDDAP™ एक या अधिक बाधाओं में भाग लेंगे और यहां तक कि सुझाए गए समाधान अपर्याप्त होंगे। ऐसी स्थितियों के लिए, ERDDAP™ विशेषताएं हैं जो स्केलेबल ग्रिड का निर्माण करना आसान बनाते हैं (इसे क्लस्टर या federations भी कहा जाता है) of ERDDAP जो सिस्टम को बहुत भारी उपयोग को संभालने की अनुमति देता है (उदाहरण के लिए, एक बड़े डेटा सेंटर के लिए) । अधिक जानकारी के लिए, देखें ग्रिड, क्लस्टर, और federations के ERDDAP s ।
क्लाउड कम्प्यूटिंग
कई कंपनियां पेशकश करना शुरू कर रही हैं क्लाउड कम्प्यूटिंग सेवाएं (उदाहरण के लिए अमेज़न वेब सर्विसेज ) । वेब होस्टिंग कंपनियों १९९० के दशक के मध्य से सरल सेवाओं की पेशकश की है, लेकिन "बंद" सेवाओं ने सिस्टम की लचीलापन और पेशकश की सेवाओं की सीमा को काफी बढ़ा दिया है। आप इन सेवाओं का उपयोग एक एकल सेट करने के लिए कर सकते हैं ERDDAP™ या ग्रिड / क्लस्टर का ERDDAP बहुत भारी उपयोग को संभालने के लिए। अधिक जानकारी के लिए, देखें क्लाउड कंप्यूटिंग ERDDAP™ ।
अमेज़न
- ** अमेज़न वेब सर्विसेज (एडब्ल्यूएस) EC2 स्थापना अवलोकन **
अमेज़न वेब सर्विसेज (एडब्ल्यूएस) एक है क्लाउड कम्प्यूटिंग सेवा वह कंप्यूटर इन्फ्रास्ट्रक्चर की एक विस्तृत श्रृंखला प्रदान करता है जिसे आप घंटे तक किराए पर ले सकते हैं। आप स्थापित कर सकते हैं ERDDAP™ पर लोचदार Compute बादल (EC2) उदाहरण (एक कंप्यूटर के लिए उनका नाम जिसे आप घंटों तक किराए पर ले सकते हैं) । AWS एक उत्कृष्ट AWS उपयोगकर्ता गाइड आप Google का उपयोग करके विशिष्ट प्रश्नों के उत्तर ढूंढ सकते हैं। अपने आप को संभालो - यह शुरू करने के लिए काम की एक उचित राशि है। लेकिन एक बार जब आप एक सर्वर ऊपर और चल जाते हैं, तो आप आसानी से कई अतिरिक्त संसाधनों को किराए पर ले सकते हैं (सर्वर, डेटाबेस, एसएसडी-स्पेस आदि।) जैसा कि आपको आवश्यकता है, उचित मूल्य पर। \[ यह अमेज़न वेब सर्विसेज की सिफारिश या समर्थन नहीं है। अन्य क्लाउड प्रदाता हैं। \]
उन चीजों का अवलोकन जो आपको करना है ERDDAP™ AWS पर चल रहा है:
- सामान्य तौर पर, आप में वर्णित सभी चीजें करेंगे AWS उपयोगकर्ता गाइड ।
- AWS खाता सेट करें।
- व्यवस्थापक विशेषाधिकारों के साथ उस खाते में AWS उपयोगकर्ता को सेट करें। इस उपयोगकर्ता को निम्नलिखित सभी चरणों को करने के लिए लॉग इन करें।
- लोचदार ब्लॉक संग्रहण (EBS) आपके सर्वर से जुड़े हार्ड ड्राइव के बराबर AWS है। जब आप पहली बार EC2 उदाहरण बनाते हैं तो कुछ EBS स्पेस आवंटित किया जाएगा। यह लगातार भंडारण है - जब आप अपने EC2 उदाहरण को बंद करते हैं तो जानकारी खो नहीं जाती है। यदि आप उदाहरण प्रकार बदलते हैं, तो आपका EBS स्पेस स्वचालित रूप से नए उदाहरण से जुड़ा हुआ है।
- एक लोचदार आईपी पता बनाएं ताकि आपका EC2 उदाहरण स्थिर, सार्वजनिक यूआरएल हो (केवल एक निजी यूआरएल के विपरीत जो हर बार जब आप अपने उदाहरण को पुनरारंभ करते हैं) ।
- एक EC2 उदाहरण बनाएँ और शुरू करें (कंप्यूटर) । वहाँ की एक विस्तृत श्रृंखला हैं उदाहरण प्रत्येक एक अलग कीमत पर। एक m4.large या m4.xlarge उदाहरण शक्तिशाली है और शायद अधिकांश उपयोगों के लिए उपयुक्त है, लेकिन जो भी आपकी आवश्यकताओं को पूरा करता है उसे चुनें। आप शायद ऑपरेटिंग सिस्टम के रूप में अमेज़न के लिनक्स का उपयोग करना चाहते हैं।
- यदि आपके डेस्कटॉप / लैपटॉप कंप्यूटर एक Windows कंप्यूटर है, तो आप इसका उपयोग कर सकते हैं पुट्टी विंडोज के लिए एक मुफ्त एसएसएच क्लाइंट, अपने EC2 उदाहरण की कमांड लाइन तक पहुंच प्राप्त करने के लिए। या, आपके पास कुछ अन्य एसएसएच प्रोग्राम हो सकता है जिसे आप पसंद करते हैं।
- जब आप अपने EC2 उदाहरण में लॉग इन करते हैं, तो आपको उपयोगकर्ता नाम "ec2-user" के साथ प्रशासनिक उपयोगकर्ता के रूप में लॉग इन किया जाएगा। ec2-user sudo विशेषाधिकार है। इसलिए, जब आपको रूट उपयोगकर्ता के रूप में कुछ करने की आवश्यकता होती है, तो इसका उपयोग करें: sudo कुछ
- यदि आपके डेस्कटॉप / लैपटॉप कंप्यूटर एक Windows कंप्यूटर है, तो आप इसका उपयोग कर सकते हैं फाइलज़िला , एक मुफ्त SFTP कार्यक्रम, फ़ाइलों को अपने EC2 उदाहरण से / से स्थानांतरित करने के लिए। या, आपके पास कुछ अन्य SFTP प्रोग्राम हो सकता है जिसे आप पसंद करते हैं।
- अपाचे स्थापित करें अपने EC2 उदाहरण पर।
- मानक का पालन करें ERDDAP™ स्थापना निर्देश ।
वेटथर्नट्रिआगेन अपवाद
उपयोगकर्ता को त्रुटि संदेश जैसे ही मिल सकता है
वेटथर्नट्रिआगेनएक्ससेप्शन:
वहाँ था (अस्थायी?) समस्या। एक मिनट की प्रतीक्षा करें, फिर फिर से प्रयास करें। (ब्राउज़र में, रीलोड बटन पर क्लिक करें।)
विवरण: GridDataAccessor.increment: आंशिकResults \[ 0 \] ="123542730" की उम्मीद थी "123532800"।
वेटरथिनट्राईअगेनएक्सेप्शन का सामान्य विवरण है: कब ERDDAP™ उपयोगकर्ता अनुरोध का जवाब दे रहा है, डेटासेट के साथ अप्रत्याशित त्रुटि हो सकती है (उदाहरण के लिए, फ़ाइल से डेटा पढ़ने या दूरस्थ डेटासेट तक पहुंचने में त्रुटि) । वेटथर्नट्रिआगेन संकेतों को इंगित करता है ERDDAP™ अनुरोध विफल (अब तक) लेकिन ERDDAP™ डेटासेट को जल्दी से लोड करने की कोशिश करनी चाहिए (यह कॉल अनुरोध ) और अनुरोध को पुनः प्राप्त करें। अक्सर, यह सफल होता है, और उपयोगकर्ता सिर्फ देखता है कि अनुरोध की प्रतिक्रिया धीमी थी। अन्य समय में, पुनः लोड विफल हो जाता है या बहुत धीमा होता है, या अनुरोध के साथ निपटने के बाद के प्रयास में विफल रहता है और एक अन्य वेटरथिन ट्रेन फेंकता है। यदि ऐसा होता है, ERDDAP™ डेटासेट को पुनः लोड करने के लिए चिह्नित करता है लेकिन उपयोगकर्ता को बताता है (एक वेटरथर्नट्रीअगेन अपवाद के माध्यम से) कि अनुरोध के जवाब में असफलता थी।
यह सामान्य व्यवहार है। यह प्रणाली कई सामान्य समस्याओं से निपट सकती है। लेकिन इस प्रणाली के लिए अत्यधिक ट्रिगर होना संभव है। सबसे आम कारण यह है कि ERDDAP डेटासेट की लोडिंग एक समस्या नहीं देखती है, लेकिन ERDDAP डेटा के लिए अनुरोध की प्रतिक्रिया समस्या को देखती है। कोई फर्क नहीं पड़ता कि कारण क्या है, यह समाधान आपके लिए डेटासेट के साथ जो भी गलत है, उससे निपटने के लिए है। वास्तविक त्रुटि संदेश देखने और समस्याओं से निपटने के लिए log.txt को देखें। यदि बहुत सारी फाइलों में वैध हेडर होते हैं लेकिन अवैध डेटा (एक भ्रष्ट फ़ाइल) , फ़ाइलों को निर्बाध फ़ाइलों के साथ बदलें। यदि किसी RAID का संबंध flakey है, तो इसे ठीक करें। यदि दूरस्थ सेवा का संबंध flakey है, तो इसे दूरस्थ स्रोत से सभी फ़ाइलों को flakey या डाउनलोड नहीं करने का एक तरीका ढूंढें और स्थानीय फ़ाइलों से डेटा की सेवा करें।
उस विशिष्ट त्रुटि का विस्तृत विवरण (ऊपर) है: प्रत्येक के लिए EDDGrid डेटासेट ERDDAP™ स्मृति में अक्ष चर मान रखता है। उनका उपयोग किया जाता है, उदाहरण के लिए, अनुरोधित अक्ष मानों को परिवर्तित करने के लिए जो "" का उपयोग करते हैं () " इंडेक्स नंबर में प्रारूप"। उदाहरण के लिए, यदि अक्ष मान "10, 15, 20, 25" हैं, तो इसका अनुरोध (20) इंडेक्स #2 के अनुरोध के रूप में व्याख्या की जाएगी (0-आधारित सूचकांक) । कब ERDDAP™ डेटा के लिए अनुरोध प्राप्त करता है और स्रोत से डेटा प्राप्त करता है, यह सत्यापित करता है कि अक्ष मान जो स्रोत से मिला है वह स्मृति में अक्ष मानों से मेल खाता है। आम तौर पर, वे करते हैं। लेकिन कभी-कभी डेटा स्रोत एक महत्वपूर्ण तरीके से बदल गया है: उदाहरण के लिए, अक्ष चर की शुरुआत से इंडेक्स वैल्यू को हटाया जा सकता है। (उदाहरण के लिए, "10, 15, 20, 25" "20, 25, 30" हो सकता है) । यदि ऐसा होता है तो यह स्पष्ट है कि ERDDAP अनुरोध की व्याख्या (उदाहरण के लिए, " (20) " इंडेक्स #2 है) अब गलत है। तो ERDDAP™ एक अपवाद फेंकता है और अनुरोधReloadASAP कॉल करता है। ERDDAP™ जल्द ही डेटासेट अद्यतन करेगा (अक्सर कुछ सेकंड में, आमतौर पर एक मिनट के भीतर) । अन्य, इसी तरह की समस्याएं भी वेटरथेनट्राईअगेन अपवाद फेंकती हैं।
अनुरोध
आप एक त्रुटि संदेश के ठीक बाद log.txt फ़ाइल में requestReloadASAP को देख सकते हैं और अक्सर एक के पास वेटथर्नट्रिआगेन अपवाद । यह मूल रूप से एक आंतरिक, प्रोग्रामेटिक तरीका है ERDDAP™ सेट करने के लिए झंडा यह संकेत देने के लिए कि डेटासेट को ASAP रीलोड किया जाना चाहिए।
फ़ाइल को हटा नहीं जा रहा है
कुछ के लिए ERDDAP™ स्थापना, कुछ अस्थायी फ़ाइलों द्वारा बनाई जा रही के साथ एक समस्या रही है ERDDAP™ खुला रहना (गलती से) और इस प्रकार हटाया नहीं जा रहा है। कुछ मामलों में, इन फ़ाइलों में से कई संचित हो गए हैं और डिस्क स्थान की एक महत्वपूर्ण राशि ले ली है।
उम्मीद है, इन समस्याओं को तय किया गया है (जैसा ERDDAP™ v2.00) । यदि आप इस समस्या को देखते हैं, तो कृपया क्रिस को ऑफेंडिंग फाइलों की निर्देशिका + नामों को ईमेल करें। जॉन at noaa.gov. आपके पास समस्या से निपटने के लिए कुछ विकल्प हैं:
- यदि फाइलें बड़ी नहीं हैं और आपको डिस्क स्पेस से बाहर निकलने का कोई कारण नहीं है, तो आप समस्या को अनदेखा कर सकते हैं।
- सरल समाधान tomcat बंद करने के लिए है / ERDDAP™ (कुछ उपयोगकर्ता प्रभावित होते हैं) । बंद होने के दौरान, यदि ऑपरेटिंग सिस्टम फ़ाइलों को नहीं हटाता है, तो उन्हें हाथ से हटा दें। फिर शुरू करें ERDDAP ।
JSON-ld
- ** जेसन-एलडी के साथ डाटासेट के सेमनेटिक मार्कअप (JSON लिंक्ड डेटा) **
ERDDAP™ अब उपयोग json-ld (JSON लिंक्ड डेटा) अपने डेटा सूची और डेटासेट का हिस्सा बनाने के लिए semantic वेब , जो टिम Berners-ली का विचार है कि वेब सामग्री को अधिक मशीन पठनीय और मशीन "विरोधी" बनाने के लिए। json-ld content use Schema.org नियम और परिभाषाएं। खोज इंजन ( विशेष रूप से Google ) और अन्य semantic उपकरण खोज और अनुक्रमण को सुविधाजनक बनाने के लिए इस संरचित मार्कअप का उपयोग कर सकते हैं। json-ld संरचित मार्कअप अदृश्य-टू-हंस के रूप में दिखाई देता है<स्क्रिप्ट> पर कोडhttps://.../erddap/info/index.htmlवेब पेज (जो एक semantic वेब है DataCatalog ) और प्रत्येक परhttps://.../erddap/info/datasetID/index.htmlवेब पेज (जो एक semantic वेब है डेटासेट ) । (आयरलैंड में समुद्री संस्थान के एडम लीडबेटर और रॉब फुलर के लिए विशेष धन्यवाद काम के कठिन हिस्सों को करने के लिए ERDDAP ।)
आउट-ऑफ-डेट यूआरएल
वास्तव में, लेकिन निश्चित रूप से, डेटा प्रदाताओं ने डेटा फ़ाइलों में लिखा है कि यूआरएल बाहर से तारीख बन रहे हैं (उदाहरण के लिए, http होना https एनओडीसी/एनजीडीसी/एनसीडीसी/एनसीडीसी जैसे संगठनों को एनसीईआई में पुनर्गठन किया जाता है।) । परिणामस्वरूप टूटे हुए लिंक सभी वेबसाइटों का सामना करने वाली कभी-कभी समस्या है। इससे निपटने के लिए, ERDDAP™ अब स्वचालित रूप से आउट-ऑफ-डेट यूआरएल अद्यतन करने के लिए एक प्रणाली है। अगर GenerateDatasets एक्सएमएल एक आउट-ऑफ-डेट यूआरएल को देखता है, यह अप-टू-डेट यूआरएल को जोड़ता है< addAttributes > इसके अलावा, जब डेटासेट लोड होता है, अगर ERDDAP™ एक आउट-ऑफ-डेट यूआरएल को देखता है, यह चुपचाप इसे अप-टू-डेट URL में बदल देता है। परिवर्तनों को खोज के लिए / प्रतिस्थापन के साथ जोड़े की एक श्रृंखला द्वारा नियंत्रित किया जाता है<अद्यतन यूआरएल> में ERDDAP ' \[ tomcat \] / webapps/erddap/WEB-INF/classes/gov/noaa/pfel/erddap/util/message.xml फ़ाइल. आप वहाँ बदलाव कर सकते हैं। यदि आपके पास परिवर्तन के लिए सुझाव हैं, या यदि आपको लगता है कि यह एक सेवा में बदल दिया जाना चाहिए (कनवर्टर की तरह) , कृपया क्रिस ईमेल करें। जॉन at noaa.gov.
CORS
- CORS ( क्रॉस-ऑरिजिन संसाधन साझा करना )
"एक तंत्र है जो प्रतिबंधित संसाधनों की अनुमति देता है (उदाहरण के लिए फ़ॉन्ट्स या ERDDAP™ डेटा) एक वेब पेज पर डोमेन के बाहर किसी अन्य डोमेन से अनुरोध किया जाएगा जिसके बाद पहला संसाधन सेवा की गई थी। (अरुण रंगनाथन) । मूल रूप से, CORS एक संदेश है जिसे एक प्रतिक्रिया के HTTP शीर्षलेख में रखा जा सकता है, अनिवार्य रूप से कहा जाता है, "यह इस साइट के साथ ठीक है अगर कुछ अन्य साइटों (विशिष्ट, या सभी) संसाधन (उदाहरण के लिए, डेटा) इस साइट से और इसे अपनी साइट पर उपलब्ध कराते हैं। इस प्रकार, यह एक विकल्प है JSONP ।
डेवलपर्स ERDDAP™ सुरक्षा विशेषज्ञ होने का दावा न करें। हम पूरी तरह से CORS से संबंधित सुरक्षा मुद्दों के बारे में स्पष्ट नहीं हैं। हम ऐसा कोई बयान नहीं बनाना चाहते हैं जो सुरक्षा को कम करने वाली कार्रवाई को समाप्त कर देता है। इसलिए हम सिर्फ तटस्थ रहेंगे और इसे प्रत्येक में छोड़ देंगे ERDDAP™ व्यवस्थापक यह तय करने के लिए कि क्या लाभ या सक्षम CORS हेडर जोखिम के लायक हैं। हमेशा के रूप में, अगर आपका ERDDAP™ किसी भी निजी डेटासेट है, यह सुरक्षा के बारे में अतिरिक्त सावधान रहने का एक अच्छा विचार है।
यदि आप अपने लिए CORS को सक्षम करना चाहते हैं तो ERDDAP™ वहाँ रहे हैं आसानी से उपलब्ध निर्देश यह बताते हुए कि कैसे वेबसाइट प्रशासक अपने निचले स्तर के सर्वर सॉफ्टवेयर के माध्यम से एक CORS हेडर को सक्षम कर सकते हैं (उदाहरण के लिए अपाचे या nginx) ।
पैलेट
- पैलेट का उपयोग पैलेट द्वारा किया जाता है ERDDAP™ ग्राफ़ और मानचित्र बनाते समय डेटा मूल्यों की एक श्रृंखला को रंगों की एक श्रृंखला में परिवर्तित करने के लिए।
प्रत्येक पैलेट को एक .cpt-style पैलेट फ़ाइल में परिभाषित किया गया है, जैसा कि उपयोग किया जाता है GMT । सब ERDDAP™ .cpt फाइलें मान्य हैं GMT .cpt फाइलें, लेकिन विपरीत सच नहीं है। उपयोग के लिए ERDDAP™ , .cpt फ़ाइलों है:
- फ़ाइल की शुरुआत में वैकल्पिक टिप्पणियां लाइनें, "#" से शुरू होती हैं।
- पैलेट के खंडों के विवरण के साथ एक मुख्य अनुभाग, प्रति पंक्ति एक खंड। प्रत्येक खंड विवरण लाइन में 8 मान हैं: प्रारंभ मूल्य, startRed, start हरा, शुरू नीला, endValue, endRed, endgreen, endBlue. किसी भी संख्या में खंड हो सकते हैं। ERDDAP™ प्रत्येक सेगमेंट के स्टार्ट रेड / ग्रीन / ब्लू और एंड रेड / ग्रीन / ब्लू के बीच रैखिक संबंध का उपयोग करता है।
हम अनुशंसा करते हैं कि प्रत्येक खंड एक शुरुआत और अंत रंग निर्दिष्ट करता है जो अलग हैं, और प्रत्येक खंड का प्रारंभ रंग पिछले खंड के अंतिम रंग के समान होता है, ताकि पैलेट रंगों के निरंतर मिश्रण का वर्णन हो सके। ERDDAP™ ऑन-द-फ्लाई बनाने के लिए एक प्रणाली है जो रंगों के निरंतर मिश्रण के साथ एक पैलेट से असत रंगों का एक पैलेट है। An ERDDAP™ उपयोगकर्ता निर्दिष्ट कर सकते हैं कि क्या वे पैलेट को सतत बनाना चाहते हैं। (मूल) या भेदभाव (मूल से प्राप्त) । लेकिन कुछ पैलेटों के लिए इन सिफारिशों का पालन नहीं करने के लिए वैध कारण हैं।
- शुरुआतवार और अंतवार पूर्णांक होना चाहिए। पहले खंड में startValue=0 और endValue=1 होना चाहिए। दूसरे खंड में startValue=1 और endValue=2 होना चाहिए। आदि
- लाल, हरे और नीले मूल्यों 0 से पूर्णांक होना चाहिए (कोई नहीं) ... 255 (पूर्ण) ।
- फ़ाइल के अंत के साथ 3 लाइनें होनी चाहिए:
- डेटा मूल्यों के लिए एक पृष्ठभूमि आरजीबी रंग न्यूनतम से कम है, उदाहरण के लिए: B 128 128 128 128 यह अक्सर शुरू होता हैRed, startGreen, and startBlue of the first section.
- डेटा मूल्यों के लिए एक अग्रभूमि आरजीबी रंग अधिकतम रंगबार से अधिक है, उदाहरण के लिए: F 128 0 0 यह अक्सर अंतिम खंड के अंतिम रेड, एंडग्रीन और एंडब्लू है।
- NAN डेटा मानों के लिए एक आरजीबी रंग, उदाहरण के लिए, N 128 128 128 128 यह अक्सर मध्यम धूसर है (128 128) ।
- प्रत्येक पंक्ति पर मूल्यों को टैब द्वारा अलग किया जाना चाहिए, जिसमें कोई बाहरी स्थान नहीं है।
एक नमूना .cpt फ़ाइल BlueWhiteRed.cpt है:
यह BlueWhiteRed.cpt है।
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 2 0 255 255 2 0 255 3 255 255 255 3 255 255 4 255 0 4 255 0 5 0 0 0 0 0 0 0 0 0 0 0 0 F 128 0 128 128
अन्य उदाहरणों के लिए मौजूदा .cpt फ़ाइलों को देखें। अगर वहाँ एक .cpt फ़ाइल के साथ परेशानी है, ERDDAP™ शायद एक त्रुटि को फेंक देगा जब .cpt फ़ाइल को पार किया जाता है (जो जानकारी का दुरुपयोग करने से बेहतर है) ।
आप अतिरिक्त पैलेट जोड़ सकते हैं ERDDAP । आप उन्हें स्वयं बना सकते हैं या उन्हें वेब पर पा सकते हैं (उदाहरण के लिए, Cpt-city ) हालांकि आपको शायद अपने प्रारूप को थोड़ा संपादित करना होगा ERDDAP .cpt आवश्यकताओं. पाने के लिए ERDDAP™ एक नई .cpt फ़ाइल का उपयोग करने के लिए फ़ाइल को स्टोर करें tomcat Webapps/erddap/WEB-INF/cptfiles (आपको ऐसा करने की आवश्यकता होगी कि प्रत्येक नए संस्करण के लिए ERDDAP ) या तो:
- यदि आप डिफ़ॉल्ट संदेश का उपयोग करते हैं.xml फ़ाइल: फ़ाइल का नाम जोड़ें<पैलेट्स> टैग इन tomcat / webapps/erddap/WEB-INF/classs/gov/noaa/pfel/erddap/util/message.xml. यदि आप ऐसा करते हैं, तो आपको इसे हर बार अपग्रेड करना होगा ERDDAP ।
- यदि आप एक कस्टम संदेश का उपयोग करते हैं.xml फ़ाइल: फ़ाइल नाम को एक कस्टम संदेश में जोड़ें<अपने कस्टम संदेश.xml फ़ाइल में पैलेट> टैग: tomcat /content/erddap/message.xml. यदि आप ऐसा करते हैं, तो आपको केवल एक बार ऐसा करने की आवश्यकता है (लेकिन वहाँ एक कस्टम संदेश बनाए रखने के लिए अन्य काम है। xml फ़ाइल) ।
फिर से शुरू करें ERDDAP™ इसलिए ERDDAP™ परिवर्तन की सूचना देता है। इस दृष्टिकोण का लाभ यह है कि आप उपयोगकर्ताओं को प्रस्तुत सूची में पैलेटों के आदेश को निर्दिष्ट कर सकते हैं। यदि आप एक संग्रह जोड़ते हैं, तो हम आपको लेखकों की शुरुआत के साथ एक उपसर्ग जोड़ने के लिए प्रोत्साहित करते हैं। (उदाहरण के लिए, " KT\_ ") प्रत्येक पैलेट के नाम पर संग्रह की पहचान करने के लिए और इसलिए कई पैलेट हो सकते हैं जो अन्यथा समान नाम होंगे।
कृपया किसी भी मानक पैलेट को हटा या परिवर्तित न करें। वे सभी की एक मानक विशेषता हैं ERDDAP™ स्थापना। यदि आपको लगता है कि पैलेट का एक पैलेट या संग्रह मानक में शामिल होना चाहिए ERDDAP™ वितरण क्योंकि यह / वे सामान्य उपयोग के होंगे, कृपया उन्हें क्रिस को ईमेल करें। जॉन at noaa.gov.
कलरबार
- कैसे करता है ERDDAP™ एक रंगबार में रंग उत्पन्न?
- उपयोगकर्ता पूर्वनिर्धारित में से एक का चयन करता है पैलेट या डिफ़ॉल्ट, उदाहरण के लिए, इंद्रधनुष का उपयोग करता है। पैलेट जीएमटी-शैली में संग्रहीत / परिभाषित किए गए हैं। प्रत्येक ERDDAP 'प्रीमेड पैलेट्स' में एक सरल पूर्णांक रेंज है, उदाहरण के लिए, 0 से 1 (यदि पैलेट में सिर्फ एक सेक्शन है) 0 to 4 (यदि पैलेट में चार खंड हैं) । फ़ाइल में प्रत्येक खंड n से n+1 को कवर करता है, जो n=0 से शुरू होता है।
- ERDDAP™ एक नई .cpt फ़ाइल ऑन-द-फ्लाई उत्पन्न करता है, पूर्वनिर्धारित पैलेट की रेंज को स्केल करके (उदाहरण के लिए, 0 से 4) उपयोगकर्ता द्वारा आवश्यक पैलेट की सीमा तक (उदाहरण के लिए, 0.1 से 50) और फिर नए पैलेट के प्रत्येक अनुभाग के लिए नए पैलेट में एक अनुभाग उत्पन्न करना (उदाहरण के लिए, 0.1, 0.5, 1, 5, 10, 50 पर ticks के साथ एक लॉग स्केल में 5 खंड होंगे) । प्रत्येक अनुभाग के अंत बिंदु के लिए रंग .cpt फ़ाइल में पैलेट के प्रासंगिक अनुभाग को खोजने के द्वारा उत्पन्न होता है, फिर नियमित रूप से R, G और B मानों का अनुवाद करता है। (यही कारण है कि कैसे GMT अपने कलर पैलेट टेबल फ़ाइलों से रंग उत्पन्न करता है।) यह प्रणाली अनुमति देती है ERDDAP™ सामान्य पैलेट के साथ शुरू करने के लिए (उदाहरण के लिए, 8 खंडों के साथ इंद्रधनुष, कुल 0 से 8 में फैले) और पर-the-fly कस्टम पैलेट बनाने (उदाहरण के लिए, एक कस्टम इंद्रधनुष, जो 0.1 से 50 मिलीग्राम / एल को इंद्रधनुष रंगों में मैप करता है) ।
- ERDDAP™ फिर उस नए .cpt फ़ाइल का उपयोग रंग बार में प्रत्येक अलग रंगीन पिक्सेल के लिए रंग उत्पन्न करने के लिए करता है (और बाद में प्रत्येक डेटा बिंदु के लिए जब एक ग्राफ या मानचित्र पर डेटा साजिश करना) फिर से .cpt फ़ाइल में पैलेट के प्रासंगिक अनुभाग को ढूंढकर, फिर रेखीय रूप से R, G और B मानों को इंटरपोलेट करके।
यह प्रक्रिया अनावश्यक रूप से जटिल हो सकती है। लेकिन यह लॉग स्केल से संबंधित समस्याओं को हल करता है जो अन्य तरीकों को हल करना मुश्किल है।
कैसे आप क्या नकल कर सकते हैं ERDDAP™ क्या करना है? यह आसान नहीं है। मूल रूप से आपको उस प्रक्रिया को डुप्लिकेट करने की आवश्यकता है जो ERDDAP™ उपयोग करना यदि आप एक हैं Java प्रोग्रामर, आप उसी का उपयोग कर सकते हैं Java कक्षा ERDDAP™ यह सब करने के लिए उपयोग करता है: tomcat / webapps/erddap/WEB-INF/classs/gov/noaa/pfel/coastwatch/sgt/CompoundColorMap.java.
डाटा वितरण प्रणाली के लिए दिशानिर्देश
डेटा वितरण प्रणालियों के डिजाइन और मूल्यांकन के बारे में अधिक सामान्य राय पाई जा सकती है यहाँ ।
पुरालेख ADataset
अपने आप में शामिल ERDDAP™ स्थापना एक कमांड लाइन टूल है जिसे पुरालेखADataset कहा जाता है जो आपको एक संग्रह बनाने में मदद कर सकता है (a .zip या .tar .gz फ़ाइल) भाग के साथ या सभी डेटासेट नेटसीएफ-3 की एक श्रृंखला में संग्रहीत .nc एक फ़ाइल प्रारूप में डेटा फाइलें जो प्रस्तुत करने के लिए उपयुक्त है NOAA एनसीईआरटी ( .nc ग्रिड डेटासेट या .nc सीएफए सारणीबद्ध डेटासेट के लिए, जैसा कि निर्दिष्ट किया गया है एनसीईआरटी NetCDF टेम्पलेट्स v2.0 ) ।
पुरालेख डेटासेट दो अलग-अलग संग्रह प्रारूप बना सकता है:
- "मूल" प्रारूप इन का अनुसरण करता है एनसीईआरटी , इस गाइड के लिए एनसीईआरटी संबंधित डेटा अखंडता को सुनिश्चित करने के लिए अभ्यास ।
- "BagIt" प्रारूप बनाता है BagIt files एक मानकीकृत संग्रह प्रारूप, जिसे कांग्रेस के अमेरिकी पुस्तकालय द्वारा प्रचारित किया गया, जैसा कि निर्दिष्ट किया गया है BagIt v0.97 विनिर्देश । NOAA 'NCEI' संग्रह को प्रस्तुत करने के लिए BagIt फ़ाइलों पर मानकीकृत कर सकता है।
आश्चर्य की बात नहीं, वैश्विक और परिवर्तनीय मेटाडाटा कि ERDDAP™ प्रोत्साहन/आवश्यकता लगभग बिल्कुल उसी फ़ाइल CF और ACDD मेटाडाटा है कि NCEI को प्रोत्साहित/आवश्यकता है, इसलिए आपके सभी डेटासेट NCEI को प्रस्तुत करने के लिए तैयार होना चाहिए। Send2NCEI या ATRAC (संग्रह के लिए NCEI के उन्नत ट्रैकिंग और संसाधन उपकरण) ।
यदि आप (The number of the ERDDAP™ व्यवस्थापक) NCEI को डेटा जमा करने के लिए पुरालेखADataset का उपयोग करें, फिर आप (एनसीईआरटी) यह निर्धारित करेगा कि एनसीईआई को डेटा का एक हिस्सा कब प्रस्तुत किया जाए और किस तरह का हिस्सा होगा, क्योंकि आपको पता चल जाएगा कि नया डेटा कब है और किस तरह उस हिस्से को कैसे निर्दिष्ट किया जाए (एनसीईआरटी) । इस प्रकार, पुरालेखADataset आप NCEI को प्रस्तुत करने के लिए एक पैकेज बनाने के लिए उपयोग करने के लिए एक उपकरण है।
पुरालेख डेटासेट अन्य स्थितियों में उपयोगी हो सकता है, उदाहरण के लिए, ERDDAP™ प्रशासक जिन्हें डेटासेट के सबसेट को बदलने की आवश्यकता है (निजी ERDDAP ) अपने मूल फ़ाइल स्वरूप से एक सेट में .nc CF फ़ाइलें इतना है कि सार्वजनिक ERDDAP™ से डेटा की सेवा कर सकते हैं .nc मूल फ़ाइलों के बजाय CF फ़ाइलें।
एक बार जब आपने स्थापित किया है ERDDAP™ इसे चलाने के लिए (कम से कम एक बार) , आप पुरालेखADataset में पा सकते हैं और उपयोग कर सकते हैं tomcat /webapps/erddap/WEB-INF निर्देशिका। वहाँ एक खोल स्क्रिप्ट है (ADataset.sh) लिनक्स/यूनिक्स और बैच फ़ाइल के लिए (ADataset.bat) विंडोज के लिए।
विंडोज पर, पहली बार जब आप पुरालेखADataset चलाते हैं, तो आपको पुरालेखADataset संपादित करना होगा। जावा को पथ बदलने के लिए पाठ संपादक के साथ बल्लेबाजी फ़ाइल। इसलिए विंडोज को मिल सकता है Java ।
जब आप पुरालेखADataset चलाते हैं, तो यह आपको प्रश्नों की एक श्रृंखला पूछेगा। प्रत्येक प्रश्न के लिए, एक प्रतिक्रिया टाइप करें, फिर एंटर दबाएँ। या किसी भी समय एक कार्यक्रम से बाहर निकलने के लिए ^C दबाएँ।
या, आप कमांड लाइन पर प्रश्नों के उत्तर डाल सकते हैं। ऐसा करने के लिए, प्रोग्राम को एक बार चलाएं और टाइप करें और अपने उत्तर लिखें। फिर, आप एक एकल कमांड लाइन बना सकते हैं (मापदंडों के उत्तर के साथ) जो कार्यक्रम चलाता है और सभी सवालों का जवाब देता है। यदि आप किसी दिए गए पैरामीटर के लिए डिफ़ॉल्ट मान का उपयोग करना चाहते हैं तो शब्द डिफ़ॉल्ट का उपयोग करें। उपयोग "" (दो डबल उद्धरण) एक खाली स्ट्रिंग के लिए प्लेसहोल्डर के रूप में। कमांड लाइन पर निर्दिष्ट पैरामीटर बहुत सुविधाजनक हो सकते हैं, उदाहरण के लिए, यदि आप एक महीने में डेटा के लायक संग्रहित करने के लिए एक महीने में एक बार पुरालेखADataset का उपयोग करते हैं। एक बार जब आपने मापदंड के साथ कमांड लाइन बनाई है और अपने नोट्स में या एक शेल स्क्रिप्ट में सहेज लिया है, तो आपको उस महीने के संग्रह को बनाने के लिए हर महीने छोटे बदलाव करने की आवश्यकता है।
ADataset पूछता है कि प्रश्न आपको अनुमति देते हैं:
- मूल या Bagit फ़ाइल पैकेजिंग निर्दिष्ट करें। NCEI के लिए, Bagit का उपयोग करें।
- ज़िप या टार निर्दिष्ट करें .gz पैकेज के लिए संपीड़न। एनसीईआरटी .gz ।
- इस संग्रह के लिए एक संपर्क ईमेल पता निर्दिष्ट करें (यह संग्रह में READ \_ME.txt फ़ाइल में लिखा जाएगा) ।
- निर्दिष्ट करें datasetID डेटासेट का आप संग्रह करना चाहते हैं।
- निर्दिष्ट करें कि आप कौन से डेटा चर संग्रह करना चाहते हैं (आम तौर पर सभी) ।
- निर्दिष्ट करें कि आप किस डेटासेट को संग्रहित करना चाहते हैं। आपको उसी तरह सबसेट प्रारूपित करने की आवश्यकता है जिस तरह से आप डेटा अनुरोध के लिए एक सबसेट प्रारूपित करेंगे, इसलिए यह सारणीबद्ध डेटासेट की तुलना में ग्रिड के लिए अलग होगा।
- ग्रिड डेटासेट के लिए, आप बाईं ओर आयाम के मूल्यों की एक श्रृंखला निर्दिष्ट कर सकते हैं, आमतौर पर यह समय की एक श्रृंखला है। पुरालेखADataset एक अलग अनुरोध करेगा और मूल्यों की सीमा में प्रत्येक मूल्य के लिए एक अलग डेटा फ़ाइल उत्पन्न करेगा। चूंकि ग्रिड डेटासेट आमतौर पर बड़े होते हैं, इसलिए आपको लगभग हमेशा पूरे डेटासेट के आकार के सापेक्ष एक छोटा सबसेट निर्दिष्ट करना होगा। उदाहरण के लिए, \[ (2015-12-01) : (2015-12-31) \] \[ \] \[ \] \[ \]
- सारणीबद्ध डेटासेट के लिए, आप बाधाओं के किसी भी संग्रह को निर्दिष्ट कर सकते हैं, लेकिन यह अक्सर समय की एक श्रृंखला है। चूंकि सारणीबद्ध डेटासेट आमतौर पर छोटे होते हैं, इसलिए पूरे डेटासेट को संग्रहीत किया जाता है। उदाहरण के लिए, & समय> = 2015-12-01 और समय<2016-01-01
- सारणीबद्ध डेटासेट के लिए: 0 या उससे अधिक चरों की एक कॉमा अलग सूची निर्दिष्ट करें जो यह निर्धारित करेगा कि संग्रहीत डेटा को विभिन्न डेटा फ़ाइलों में आगे कैसे घटाया जाता है। डेटासेट के लिए cdm \_data \_type \= TimeSeries | TimeSeriesProfile | बेदखलदार | ट्रेजेक्टरीप्रोफाइल आपको लगभग हमेशा वेरिएबल को निर्दिष्ट करना चाहिए जिसमें cf \role = timeseries \_id है (उदाहरण के लिए stationID ) या cf \_role = trajectory \_id विशेषता। पुरालेखADataset एक अलग अनुरोध करेगा और प्रत्येक के लिए इन चरों के मूल्यों के प्रत्येक संयोजन के लिए एक अलग डेटा फ़ाइल उत्पन्न करेगा, उदाहरण के लिए, प्रत्येक के लिए stationID । अन्य सभी सारणीबद्ध डेटासेट के लिए, आप शायद इस उद्देश्य के लिए किसी भी परिवर्तनीय को निर्दिष्ट नहीं करेंगे। चेतावनी: यदि आप डेटासेट का सबसेट करते हैं तो आप बहुत बड़े हैं (2GB) और इस उद्देश्य के लिए कोई उपयुक्त चर नहीं है, फिर पुरालेखADataset इस डेटासेट के साथ प्रयोग करने योग्य नहीं है। यह दुर्लभ होना चाहिए।
- डेटा फ़ाइलों के लिए फ़ाइल प्रारूप निर्दिष्ट करें जो बनाया जाएगा। एनसीईआई के लिए ग्रिड डेटासेट के लिए, उपयोग करें .nc । एन.सी.ई.आई. के लिए सारणीबद्ध डेटासेट के लिए उपयोग करें .nc सीएफए अगर यह एक विकल्प है; अन्यथा उपयोग .nc ।
- प्रत्येक डेटा फ़ाइल के लिए और पूरे संग्रह पैकेज के लिए बनाई जाने वाली फ़ाइल पाचन के प्रकार को निर्दिष्ट करें: MD5, SHA-1, या SHA-256। फ़ाइल पाचन क्लाइंट के लिए एक रास्ता प्रदान करता है (उदाहरण के लिए, NCEI) यह जांचने के लिए कि क्या डेटा फ़ाइल भ्रष्ट हो गई है। परंपरागत रूप से, ये थे Md5 फाइलें लेकिन अब बेहतर विकल्प हैं। NCEI के लिए, SHA-256 का उपयोग करें।
सभी सवालों के जवाब देने के बाद, पुरालेखADataset होगा:
-
डेटासेट के अनुरोधों की एक श्रृंखला बनाएं और परिणामस्वरूप डेटा फ़ाइलों को चरणबद्ध करें बड़ाParentDirectory ArchiveADataset * datasetID टाइमस्टैम्प* /। ग्रिड डेटासेट के लिए, बाईं ओर आयाम के प्रत्येक मूल्य के लिए एक फ़ाइल होगी (उदाहरण के लिए, समय) । फ़ाइल का नाम वह मान होगा (उदाहरण के लिए, समय मान) । सारणीबद्ध डेटासेट के लिए, प्रत्येक मूल्य के लिए एक फ़ाइल होगी ... चर (s) । फ़ाइल का नाम वह मान होगा। यदि एक से अधिक चर हैं, तो बाएं चर का उपयोग उपनिर्देशिका नाम बनाने के लिए किया जाएगा, और सबसे सही चर फाइल नाम बनाने के लिए इस्तेमाल किया जाएगा। प्रत्येक डेटा फ़ाइल होना चाहिए<2GB (अधिकतम अनुमति .nc संस्करण 3 फाइलें) ।
-
डेटा फ़ाइल के पाचन के साथ प्रत्येक डेटा फ़ाइल से संबंधित फ़ाइल बनाएं। उदाहरण के लिए, यदि डेटा फ़ाइल 46088 है .nc और पाचन प्रकार .sha256 है, फिर पाचन फ़ाइल का नाम 46088 होगा .nc .sha256 .
-
पुरालेख के बारे में जानकारी के साथ READ \ME.txt फ़ाइल बनाएं, जिसमें आपके द्वारा निर्दिष्ट सभी सेटिंग्स की सूची शामिल है।
-
3 फाइलें बनाना बड़ाParentDirectory / ArchiveADataset/ :
- A .zip या .tar .gz संग्रह फ़ाइल नामित * datasetID टाइमस्टैम्प* .zip (या .tar .gz ) सभी चरणबद्ध डेटा फ़ाइलों को शामिल करना और फ़ाइलों को पचाना। यह फ़ाइल किसी भी आकार का हो सकता है, केवल डिस्क स्पेस द्वारा ही सीमित है।
- उदाहरण के लिए, संग्रह फ़ाइल के लिए एक पाचन फ़ाइल, उदाहरण के लिए, * datasetID टाइमस्टैम्प* .zip .sha256.txt
- "मूल" प्रकार के संग्रह के लिए, एक पाठ फ़ाइल नामित * datasetID टाइमस्टैम्प* .zip .listOfFiles.txt (या .tar .gz ) जो सभी फाइलों को सूचीबद्ध करता है .zip (या .tar .gz ) फ़ाइल
यदि आप NCEI के लिए संग्रह तैयार कर रहे हैं, तो ये ऐसी फाइलें हैं जो आप NCEI को भेज देंगे, शायद Send2NCEI या ATRAC (संग्रह के लिए NCEI के उन्नत ट्रैकिंग और संसाधन उपकरण) । 5. सभी चरणबद्ध फ़ाइलों को हटा दें ताकि केवल संग्रह फ़ाइल (उदाहरण के लिए .zip ) , पाचन (उदाहरण के लिए, .sha256.txt) संग्रह, और (वैकल्पिक) .listOfFiles.txt फाइलें बनी हुई हैं।
ISO 19115.xml Metadata Files
पुरालेखADataset संग्रह पैकेज में डेटासेट के लिए ISO 19115 .xml मेटाडाटा फ़ाइल शामिल नहीं है। यदि आप NCEI को अपने डेटासेट के लिए ISO 19115 फाइल जमा करना चाहते हैं/की जरूरत है, तो आप उन्हें ISO 19115 .xml मेटाडाटा फाइल भेज सकते हैं। ERDDAP™ डेटासेट के लिए बनाया गया (लेकिन NMFS लोगों को इनपोर्ट से अपने डेटासेट के लिए ISO 19115 फाइल प्राप्त करनी चाहिए यदि ERDDAP™ पहले से ही उस फ़ाइल की सेवा नहीं कर रहा है) ।
समस्या? सुझाव? पुरालेखADataset नया है। यदि आपके पास कोई समस्या है या सुझाव है, तो हमारे देखें अतिरिक्त समर्थन प्राप्त करने पर अनुभाग ।