मुख्य सामग्री पर जाएं

additional-information

ERDDAP™- अपना खुद का सेट करेंERDDAP™

जो चीज़ें आपको जानना चाहिए

 

प्रॉक्सी त्रुटियां

कभी-कभी, अनुरोध करनाERDDAP™एक प्रॉक्सी त्रुटि, एक HTTP 502 बुरा गेटवे त्रुटि, या कुछ समान त्रुटि वापस कर देगा। इन त्रुटियों को अपाचे या टॉमकैट द्वारा फेंका जा रहा है, नहींERDDAP™खुद ही।

  • यदि प्रत्येक अनुरोध इन त्रुटियों को उत्पन्न करता है, खासकर जब आप पहली बार अपनी स्थापना कर रहे हैंERDDAP™, तो यह शायद एक प्रॉक्सी या बुरा गेटवे त्रुटि है, और समाधान शायद ठीक करने के लिए हैERDDAPप्रॉक्सी सेटिंग्स। यह भी समस्या हो सकती है जब एक स्थापितERDDAP™अचानक इन त्रुटियों को हर अनुरोध के लिए फेंकना शुरू हो जाता है।
  • अन्यथा, "प्रोक्सी" त्रुटियां आमतौर पर वास्तव में अपाचे या टॉमकैट द्वारा फेंकी गई त्रुटियों को बाहर करती हैं। यहां तक कि जब वे अपेक्षाकृत जल्दी हो जाते हैं, तो यह अपाचे या टॉमकैट से कुछ प्रकार की प्रतिक्रिया है जो तब होती है जबERDDAP™बहुत व्यस्त, स्मृति-सीमित, या कुछ अन्य संसाधनों द्वारा सीमित है। इन मामलों में, के साथ सौदा करने के लिए नीचे सलाह देखेंERDDAP™धीरे जवाब देना

एक लंबे समय सीमा के लिए अनुरोध (30 बार अंक) एक ग्रिड डेटासेट से समय-समय पर असफलता होती है, जो अक्सर प्रॉक्सी त्रुटियों के रूप में दिखाई देती है, क्योंकि यह महत्वपूर्ण समय लेता हैERDDAP™सभी डेटा फ़ाइलों को एक-एक करके खोलने के लिए। अगरERDDAP™अन्यथा अनुरोध के दौरान व्यस्त है, समस्या होने की संभावना अधिक है। यदि डेटासेट की फ़ाइलों को संकुचित किया जाता है, तो समस्या अधिक होने की संभावना है, हालांकि उपयोगकर्ता के लिए यह निर्धारित करना कठिन है कि डेटासेट की फ़ाइलों को संकुचित किया गया है या नहीं। समाधान कई अनुरोधों को बनाने के लिए है, प्रत्येक एक छोटी समय सीमा के साथ। कैसे एक समय सीमा के छोटे? मैं सुझाव देता हूं कि वास्तव में छोटा (~30 समय अंक?) फिर (लगभग) जब तक अनुरोध विफल हो जाता है तब तक डबल टाइम रेंज वापस आती है। फिर सभी अनुरोध करें (प्रत्येक समय के एक अलग हिस्से के लिए) सभी डेटा प्राप्त करने के लिए आवश्यक है। AnERDDAP™प्रशासक इस समस्या को कम कर सकता हैअपाचे टाइमआउट सेटिंग्स

निगरानी

हम सभी चाहते हैं कि हमारी डेटा सेवाएँ अपने दर्शकों को ढूंढ सकें और बड़े पैमाने पर इस्तेमाल की जा सकें, लेकिन कभी-कभी आपकी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 किया जा सकता हैडेटा की एक प्रति संग्रहीत करनाNetCDFContiguous 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, उस उपयोगकर्ता के रूप में निम्नलिखित चरणों को याद रखें।)
     
    1. सीडी tomcat /bin  
    2. ps-ef|JVA/tomcat प्रक्रिया खोजने के लिए grep tomcat आईडी (उम्मीद है कि सिर्फ एक प्रक्रिया सूचीबद्ध होगी) , जिसे हम कॉल करेंगे जावाप्रोसेसिड नीचे।  
    3. अगरERDDAP™जमे हुए / लटका / बंद हो गया है, हत्या का उपयोग -3 जावाप्रोसेसिड बताने के लिएJava (जो टॉमकैट चल रहा है) टॉमकैट लॉग फाइल में एक थ्रेड डंप करने के लिए: tomcat /logs/catalina.out जब आप रिबूट करते हैं, तो आप थ्रेड डंप जानकारी प्राप्त करके समस्या का निदान कर सकते हैं (इसके अलावा अन्य उपयोगी जानकारी) में tomcat /logs/catalina.out और इसके अलावा प्रासंगिक भागों को पढ़करERDDAP™लॉग इन। यदि आप चाहते हैं, तो आप उस जानकारी को शामिल कर सकते हैं और हमारी जानकारी देख सकते हैंअतिरिक्त समर्थन प्राप्त करने पर अनुभाग।  
    4. उपयोग करें। sh  
    5. ps-ef|जब तक जावा / टोमकैट प्रक्रिया को सूचीबद्ध नहीं किया जाता है तब तक बार-बार ग्रैप टोमकैट।

कभी-कभी, जावा / टोमकैट प्रक्रिया पूरी तरह से बंद करने के लिए दो मिनट तक ले जाएगी। कारण है:ERDDAP™उन्हें रोकने के लिए अपने पृष्ठभूमि धागे को संदेश भेजता है, लेकिन कभी-कभी यह इन धागे को एक अच्छा रोक स्थान प्राप्त करने के लिए लंबे समय तक लेता है।

  1. यदि एक मिनट के बाद या तो, जावा/टोमैट अपने आप को रोक नहीं पाता है, तो आप उपयोग कर सकते हैं हत्या-9 जावाप्रोसेसिड
    तुरंत बंद करने के लिए जावा/टोमैट प्रक्रिया को मजबूर करना। यदि संभव हो, तो इसे केवल एक अंतिम सहारा के रूप में उपयोग करें। -9 स्विच शक्तिशाली है, लेकिन यह विभिन्न समस्याओं का कारण बन सकता है।  
  2. पुनः आरंभ करनाERDDAP™, का उपयोग करें / startup.sh  
  3. देखेंERDDAP™अपने ब्राउज़र में यह जांचने के लिए कि पुनरारंभ सफल रहा। (कभी-कभी, आपको 30 सेकंड तक इंतजार करना होगा और लोड करने की कोशिश करनी चाहिएERDDAP™फिर अपने ब्राउज़र में सफल होने के लिए।)
     
  • यदि आप Windows का उपयोग करते हैं:  
    1. सीडी tomcat /bin  
    2. उपयोगshutdown.bat
       
    3. आप विंडोज टास्क मैनेजर का उपयोग करना चाहते हैं / जरूरतमंद हो सकते हैं (Ctrl Alt Del के माध्यम से सुलभ) यह सुनिश्चित करना किJava/Tomcat/ERDDAP™प्रक्रिया / आवेदन पूरी तरह से बंद हो गया है। कभी-कभी, प्रक्रिया / आवेदन बंद करने के लिए दो मिनट तक ले जाएगा। कारण है:ERDDAP™उन्हें रोकने के लिए अपने पृष्ठभूमि धागे को संदेश भेजता है, लेकिन कभी-कभी यह इन धागे को एक अच्छा रोक स्थान प्राप्त करने के लिए लंबे समय तक लेता है।  
    4. पुनः आरंभ करनाERDDAP™स्टार्टअप  
    5. देखें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सेटअप.xmlERDDAP™,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 को फिर से लोड करने की कोशिश करें। डेटासेट का पुराना संस्करण उपयोगकर्ताओं को तब तक उपलब्ध रहेगा जब तक कि नया संस्करण उपलब्ध न हो और परमाणु रूप से जगह में स्वैप न हो। के लिएEDDGridFromFiles and EDDTable FromFiles, रीलोडिंग डेटासेट नई या बदली हुई फ़ाइलों की तलाश करेगा, उन्हें पढ़ेगा और उन्हें डेटासेट में शामिल करेगा। इसलिए पुनः लोड करने का समय नई या परिवर्तित फ़ाइलों की संख्या पर निर्भर है। यदि डेटासेट सक्रिय है="false",ERDDAP™डेटासेट को हटा देगा।  

बुरा फ़ाइलें झंडा
  • /flag निर्देशिका का एक संस्करण /badFilesFlag निर्देशिका है। (जोड़ा गयाERDDAP™v2.12.)
    यदि आप एक फ़ाइल में डाल बड़ाParentDirectory एक के साथ /badFilesFlag निर्देशिकाdatasetIDफाइल नाम के रूप में (फ़ाइल सामग्री कोई फर्क नहीं पड़ता) जल्द हीERDDAP™बुराफिल फ्लैग फाइलERDDAP™होगा:

    1. BadFilesFlag फ़ाइल को हटा दें।
    2. BadFiles.ncफ़ाइल (यदि कोई हो) , जिसमें उस डेटासेट के लिए खराब फ़ाइलों की सूची है। जैसे डेटासेट के लिएEDDGridसाइडबायसाइड जिसमें चाइल्डडाटासेट होते हैं, यह भी खराब फिल्स को हटा देता है.ncसभी बच्चे डेटासेट के लिए फ़ाइल।
    3. डेटासेट ASAP को पुनः लोड करें।

इस कारणERDDAP™पहले फाइलों के साथ काम करने के लिए फिर से कोशिश करना (अंत में?) बुरा के रूप में चिह्नित।  

हार्ड फ्लैग
  • /flag निर्देशिका का एक अन्य संस्करण /hardFlag निर्देशिका है। (जोड़ा गयाERDDAP™v1.74.)
    यदि आप एक फ़ाइल में डाल रहे हैं बड़ाParentDirectory एक के साथ /hardFlagdatasetIDफाइल नाम के रूप में (फ़ाइल सामग्री कोई फर्क नहीं पड़ता) जल्द हीERDDAP™कड़ी मेहनत फ्लैग फाइलERDDAP™होगा:

    1. हार्डफ्लैग फ़ाइल को हटा दें।
    2. से डेटासेट निकालेंERDDAP।
    3. सभी जानकारी को हटा देंERDDAP™इस डेटासेट के बारे में संग्रहीत है। के लिएEDDGridFromFiles and EDDTable FromFiles subclasses, यह डेटा फ़ाइलों और उनकी सामग्री के आंतरिक डेटाबेस को हटा देता है। जैसे डेटासेट के लिएEDDGridSideBySide कि चाइल्डडाटासेट है, यह भी डेटा फ़ाइलों के आंतरिक डेटाबेस और सभी बच्चे डेटासेट के लिए उनकी सामग्री को हटा देता है।
    4. डेटासेट को पुनः लोड करें। के लिएEDDGridFromFiles 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 (अपनी दैनिक रिपोर्ट में सूची देखें) और उन लोगों को नया यूआरएल भेजने के लिए याद रखें जो आप उन्हें करना चाहते हैं।

ध्वज प्रणाली को बताने के लिए अधिक कुशल तंत्र के आधार के रूप में काम कर सकता हैERDDAP™जब डेटासेट को फिर से लोड किया जाए। उदाहरण के लिए, आप एक डेटासेट सेट कर सकते हैं<ReloadEveryNMinutes> एक बड़ी संख्या में (उदाहरण के लिए, 10080 = 1 सप्ताह) । फिर, जब आप जानते हैं कि डेटासेट बदल गया है (शायद इसलिए क्योंकि आपने डेटासेट के डेटा डायरेक्टरी में एक फ़ाइल जोड़ा) , एक ध्वज सेट करें ताकि डेटासेट को जल्द ही लोड किया जा सके। आमतौर पर झंडे को जल्दी से देखा जाता है। लेकिन अगर लोडडाटासेट थ्रेड पहले से ही व्यस्त है, तो ध्वज पर कार्य करने के लिए उपलब्ध होने से पहले यह थोड़ी देर हो सकता है। लेकिन ध्वज प्रणाली सेटिंग की तुलना में अधिक उत्तरदायी और अधिक कुशल है<ReloadEveryNMinutes> एक छोटी संख्या में।

डेटासेट हटाने

यदि डेटासेट में सक्रिय हैERDDAP™और आप इसे अस्थायी रूप से या स्थायी रूप से निष्क्रिय करना चाहते हैं:

  1. मेंdatasets.xmlडेटासेट के लिए सेटसक्रियडेटासेट टैग में।
  2. के लिए इंतजारERDDAP™अगले प्रमुख रीलोड के दौरान डेटासेट को हटाने के लिए याएक झंडा सेटडाटासेट के लिए बताने के लिएERDDAP™इस बदलाव को जल्द से जल्द नोटिस करना। जब आप ऐसा करते हैं,ERDDAP™यह डाटासेट के बारे में संग्रहीत किसी भी जानकारी को नहीं फेंक सकता है और निश्चित रूप से वास्तविक डेटा के लिए कुछ भी नहीं करता है।
  3. फिर आप सक्रिय="false" डेटासेट में छोड़ सकते हैंdatasets.xmlया इसे हटा दें।  

डेटासेट रीलोड कब हैं?

एक धागा जिसे RunLoadDatasets कहा जाता है वह मास्टर धागा है जो डेटासेट को फिर से लोड होने पर नियंत्रित करता है। रनलोड डेटासेट हमेशा के लिए लूप:

  1. RunLoadDatasets वर्तमान समय को नोट करता है।

  2. RunLoadDatasets एक "majorLoad" करने के लिए एक LoadDatasets धागा शुरू होता है। आप वर्तमान/प्रीवियस प्रमुख के बारे में जानकारी देख सकते हैंआपके शीर्ष पर लोडERDDAP' /erddap/status.htmlपृष्ठ (उदाहरण के लिए,स्थिति पृष्ठ उदाहरण) ।

    1. LoadDatasets की एक प्रति बनाता हैdatasets.xml।
    2. LoadDatasets की प्रतिलिपि के माध्यम से पढ़ता हैdatasets.xmlऔर, प्रत्येक डेटासेट के लिए, यह देखता है कि डेटासेट को होना चाहिए या नहीं। (फिर) लोड या हटा दिया गया।
      • यदिझंडाइस डेटासेट के लिए फ़ाइल मौजूद है, फ़ाइल को हटा दिया जाता है और यदि सक्रिय="false" या डेटासेट को हटा दिया जाता है। (फिर) अगर Active="true" लोड हो रहा है (डेटासेट की उम्र की परवाह किए बिना) ।
      • यदि डेटासेट का डेटासेट.xml खंड सक्रिय है="false" और डेटासेट वर्तमान में लोड हो रहा है (सक्रिय) इसे उतारा जाता है (हटाया) ।
      • यदि डेटासेट सक्रिय है="true" और डेटासेट पहले से ही लोड नहीं है, तो यह लोड हो गया है।
      • यदि डेटासेट में सक्रिय="true" है और डेटासेट पहले से ही लोड हो चुका है, तो डेटा सेट को फिर से लोड किया जाता है यदि डेटासेट की उम्र बढ़ जाती है। (पिछले लोड के बाद से समय) इसकी तुलना में अधिक है<रीलोड हरमन मिनट> (डिफ़ॉल्ट = 10080 मिनट) अन्यथा, डेटासेट अकेले छोड़ दिया जाता है।
    3. लोडडेटासेट खत्म होता है।

RunLoadDatasets धागे को खत्म करने के लिए LoadDatasets धागे के लिए इंतजार करता है। यदि लोडडाटासेट लोडडाटासेट से अधिक समय लेता है न्यूनतम (सेटअप.xml में निर्दिष्ट के रूप में) , RunLoadDataset LoadDatasets धागे को बाधित करता है। आदर्श रूप से, लोडडाटासेट ने बाधा और खत्म को नोटिस किया। लेकिन अगर यह एक मिनट के भीतर बाधा को नोटिस नहीं करता है, तो RunLoadDatasets ने loadDatasets को कॉल किया। रुकना () , जो अवांछनीय है। 3. जबकि पिछले प्रमुख के प्रारंभ के बाद से लोडडाटासेट से कम है न्यूनतम (सेटअप.xml में निर्दिष्ट के रूप में, उदाहरण के लिए, 15 मिनट) , RunLoadDatasets बार-बार देखने के लिएझंडाफाइलों में बड़ाParentDirectory /flag निर्देशिका। यदि एक या अधिक ध्वज फ़ाइलों को पाया जाता है, तो उन्हें हटा दिया जाता है, और RunLoadDatasets एक "minorLoad" करने के लिए एक LoadDatasets धागा शुरू होता है। (प्रमुख लोड) । आप अपने बारे में मामूली जानकारी नहीं देख सकते हैंERDDAP'/erddap/status.htmlपृष्ठ

  1. LoadDatasets की एक प्रति बनाता हैdatasets.xml।
  2. LoadDatasets की प्रतिलिपि के माध्यम से पढ़ता हैdatasets.xmlऔर प्रत्येक डेटासेट के लिए जिसके लिए एक ध्वज फ़ाइल थी:
    • यदि डेटासेट का डेटासेट.xml खंड सक्रिय है="false" और डेटासेट वर्तमान में लोड हो रहा है (सक्रिय) इसे उतारा जाता है (हटाया) ।
    • यदि डेटासेट सक्रिय है="true", डेटासेट है (फिर) भारित, इसकी उम्र के बावजूद। गैर-ज्वलनशील डेटासेट को नजरअंदाज कर दिया जाता है।
  3. लोडडेटासेट खत्म होता है।
  4. रनलोड डेटासेट चरण 1 पर वापस चला जाता है।

नोट्स:

  • स्टार्टअप जब आप पुनः आरंभ करते हैंERDDAP™प्रत्येक डेटासेट को सक्रिय रूप से लोड किया जाता है।

  • कैश जब डेटासेट होता है (फिर) लोड हो गया, इसका कैश (किसी भी डेटा प्रतिक्रिया फ़ाइलों और/या छवि फ़ाइलों सहित) खाली है।

  • डेटासेट के बहुत सारे यदि आपके पास बहुत सारे डेटासेट हैं और / या एक या अधिक डेटासेट धीमी हैं (फिर) लोड, एक लोडडाटासेट थ्रेड अपने काम को खत्म करने के लिए लंबे समय तक ले सकता है, शायद लोडडाटासेट से भी अधिक समय तक न्यूनतम।

  • एक LoadDatasets थ्रेड एक से अधिक लोडडाटासेट थ्रेड एक बार में चल रहा है। यदि कोई ध्वज तब निर्धारित होता है जब लोडडाटासेट पहले से ही चल रहा है, तो ध्वज को शायद नोटिस नहीं किया जाएगा या तब तक उस लोडडाटासेट धागे को चालू नहीं किया जाएगा। आप कह सकते हैं: क्यों आप डेटासेट लोड करने के लिए नए धागे का एक गुच्छा शुरू नहीं करते? लेकिन अगर आपके पास बहुत सारे डेटासेट हैं जो एक दूरस्थ सर्वर से डेटा प्राप्त करते हैं, यहां तक कि एक लोडडाटासेट थ्रेड दूरस्थ सर्वर पर पर्याप्त तनाव डालेगा। यदि आपके पास बहुत सारे डेटासेट हैं जो एक RAID पर फ़ाइलों से डेटा प्राप्त करते हैं। एक से अधिक लोडडाटासेट थ्रेड होने से तेजी से कम रिटर्न होते हैं।

  • ध्वज = ASAP एक ध्वज की स्थापना सिर्फ संकेत करती है कि डेटासेट होना चाहिए (फिर) जितनी जल्दी हो सके लोड हो रहा है, तुरंत नहीं। यदि वर्तमान में कोई लोडडाटासेट थ्रेड नहीं चल रहा है, तो डेटासेट कुछ सेकंड के भीतर पुनः लोड होना शुरू हो जाएगा। लेकिन अगर वर्तमान में लोडडाटासेट थ्रेड चल रहा है, तो डेटासेट शायद तब तक लोड नहीं किया जाएगा जब तक कि लोडडाटासेट थ्रेड समाप्त हो जाता है।

  • ध्वज फ़ाइल हटा दिया सामान्य तौर पर, यदि आप में एक ध्वज फ़ाइल डाल दिया है बड़ाParentDirectory /erddap/flag निर्देशिका (डेटासेट के ध्वज का दौरा करके Url या वहाँ एक वास्तविक फ़ाइल डाल) हालांकि, डेटासेट आमतौर पर उस ध्वज फ़ाइल को हटाने के तुरंत बाद पुनः लोड हो जाएगा।

  • फ्लैग बनाम लघु पुनः लोड हरमन यदि आपके पास यह जानने का कुछ बाहरी तरीका है कि डेटासेट को पुनः लोड करने की आवश्यकता होती है और यदि आपके लिए यह सुविधाजनक है, तो यह सुनिश्चित करने का सबसे अच्छा तरीका है कि डेटासेट हमेशा अप-टू-डेट होता है, इसकी पुनः लोड निर्धारित करना है। प्रत्येकNMinutes to a large number (10080?) और एक झंडा सेट (एक स्क्रिप्ट के माध्यम से?) जब भी इसे पुनः लोड करने की आवश्यकता होती है। यह प्रणाली है किEDDGridErddap और 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 कंप्यूटर है, यह कुछ विश्वविद्यालय से है, यह कुछ विशिष्ट शहर में कोई है) ।

वास्तविक अनुरोध को देखते हुए, आईपी नंबर और त्रुटि संदेश (सब सेलॉग-इन) त्रुटियों की एक श्रृंखला के लिए, आप आमतौर पर यह पता लगा सकते हैं कि क्या गलत है। मेरे अनुभव में, बहुत सारे असफल अनुरोधों के चार सामान्य कारण हैं:

  1. अनुरोध दुर्भावनापूर्ण हैं (उदाहरण के लिए, सुरक्षा कमजोरियों की तलाश करना, या अनुरोध करना और फिर पूरा होने से पहले उन्हें रद्द करना) । आपको उपयोग करना चाहिए<अनुरोधब्लैकलिस्ट> मेंdatasets.xmlउन आईपी पते को ब्लैकलिस्ट करने के लिए।

  2. एक खोज इंजन नैनिक रूप से सूचीबद्ध यूआरएल की कोशिश कर रहा हैERDDAP™वेब पेज और आईएसओ 19115 दस्तावेज़। उदाहरण के लिए, कई स्थान हैं जो आधार को सूचीबद्ध करते हैंOPeNDAPयूआरएल, उदाहरण के लिए, https://coastwatch.pfeg.noaa.gov/erddap/griddap/jplMURSST जिसके लिए उपयोगकर्ता को फ़ाइल प्रकार जोड़ना चाहिए (जैसे, .das, .dds, एचटीएमएल) । लेकिन खोज इंजन इसे नहीं जानता। और आधार यूआरएल के अनुरोध विफल हो जाता है। संबंधित स्थिति तब होती है जब खोज इंजन विचित्र अनुरोध उत्पन्न करता है या "छिपे हुए" वेब पेज पर जाने के लिए फॉर्म भरने की कोशिश करता है। लेकिन खोज इंजन अक्सर इसका बुरा काम करते हैं, जिससे असफलता होती है। समाधान है: एक बनानारोबोट.txtफ़ाइल

  3. कुछ उपयोगकर्ता एक स्क्रिप्ट चला रहा है जो बार-बार उस चीज़ के लिए पूछ रहा है जो वहां नहीं है। शायद यह एक डेटासेट है जो अस्तित्व में था, लेकिन अब चला गया है (अस्थायी या स्थायी रूप से) । स्क्रिप्ट अक्सर यह उम्मीद नहीं करते हैं और इसलिए बुद्धिमानी से इसके साथ सौदा नहीं करते हैं। इसलिए स्क्रिप्ट सिर्फ अनुरोध करता रहता है और अनुरोध विफल रहता है। यदि आप अनुमान लगा सकते हैं कि उपयोगकर्ता कौन है (ऊपर IP संख्या से) , उनसे संपर्क करें और उन्हें बताएं कि डेटासेट अब उपलब्ध नहीं है और उन्हें अपनी स्क्रिप्ट बदलने के लिए कहें।

  4. कुछ डेटासेट के साथ वास्तव में गलत है। आम तौर पर,ERDDAP™परेशान डेटासेट निष्क्रिय कर देगा। कभी-कभी ऐसा नहीं होता, इसलिए इसके लिए सभी अनुरोध सिर्फ त्रुटियों को जन्म देते हैं। यदि हां, तो डेटासेट के साथ समस्या को ठीक करें या (अगर आप नहीं कर सकते) डेटासेट सेट करने के लिएसक्रिय। बेशक, इससे समस्या #2 हो सकती है।

कभी-कभी त्रुटि इतनी खराब नहीं होती, खासकर अगरERDDAP™त्रुटि का पता लगा सकता है और बहुत जल्दी जवाब दे सकता है ()<= 1ms)। इसलिए आप कोई कार्रवाई करने का फैसला कर सकते हैं।

यदि सब कुछ विफल हो जाता है, तो एक सार्वभौमिक समाधान है: उपयोगकर्ता की आईपी संख्या को [[1]] में जोड़ें<अनुरोधब्लैकलिस्ट> (/docs/server-admin/datasets#requestblacklist) । यह उतना बुरा नहीं है जितना कि ऐसा लगता है। तब उपयोगकर्ता को एक त्रुटि संदेश प्राप्त होगा जो कहता है कि वह ब्लैकलिस्ट किया गया है और उन्हें आपके बारे में बता रहा है। (The number of theERDDAP™व्यवस्थापक) ईमेल पता कभी-कभी उपयोगकर्ता आपसे संपर्क करेगा और आप समस्या को हल कर सकते हैं। कभी-कभी उपयोगकर्ता आपसे संपर्क नहीं करता है और आप अगले दिन एक अलग आईपी नंबर से आने वाले सटीक व्यवहार को देखेंगे। नए आईपी नंबर को ब्लैकलिस्ट करें और आशा करें कि वे अंततः संदेश प्राप्त करेंगे। (या यह आपका ग्राउंडहोग डे है, जिसमें से आप कभी नहीं बचेंगे। 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यूआरएल) :

डेटा वितरण नेटवर्क:PushऔरPullप्रौद्योगिकी

  • आम तौर पर,ERDDAP™एक मध्यस्थ के रूप में कार्य करता है: यह एक उपयोगकर्ता से अनुरोध लेता है; दूरस्थ डेटा स्रोत से डेटा प्राप्त करता है; डेटा को सुधारता है; और इसे उपयोगकर्ता को भेजता है।
  • Pullप्रौद्योगिकी:ERDDAP™इसमें दूरस्थ डेटा स्रोत से सभी उपलब्ध डेटा को सक्रिय रूप से प्राप्त करने की क्षमता भी है औरडेटा की एक स्थानीय प्रतिलिपि स्टोर करें
  • Pushप्रौद्योगिकी: उपयोग करकेERDDAP'सदस्यता सेवाएंजैसे ही नया डेटा उपलब्ध है, अन्य डेटा सर्वर को सूचित किया जा सकता है ताकि वे डेटा का अनुरोध कर सकें (डेटा खींचकर) ।
  • ERDDAP'EDDGridसेंधऔरEDDTableFromErddapउपयोगERDDAPसदस्यता सेवाएंध्वज प्रणालीइसलिए जब नया डेटा उपलब्ध हो तो इसे तुरंत अधिसूचित किया जाएगा।
  • यदि आप इनको महान प्रभाव से जोड़ सकते हैं: यदि आप एक बार लपेटते हैंEDDGridचारों ओर कॉपी करेंEDDGridFromErddap dataset (या किसी EDDTableCopy को EDDTableFromErddap डेटासेट के आसपास लपेटो) ,ERDDAP™स्वचालित रूप से किसी अन्य की एक स्थानीय प्रति बना देगा और बनाए रखेगाERDDAPडेटासेट
  • चूंकि नए डेटा उपलब्ध होने के बाद सदस्यता सेवाएं काम करती हैं, इसलिए पुश टेक्नोलॉजी डेटा को बहुत जल्दी से प्रसारित करती है (सेकंड के भीतर) ।

इस वास्तुकला प्रत्येक डालता हैERDDAP™यह निर्धारित करने के आरोप में प्रशासक जहां उसके लिए डेटाERDDAP™से आता है।

  • अन्यERDDAP™व्यवस्थापक ऐसा ही कर सकते हैं। प्रशासकों के बीच समन्वय की कोई आवश्यकता नहीं है।
  • यदि कईERDDAP™व्यवस्थापक एक दूसरे के लिए लिंकERDDAPS, डेटा वितरण नेटवर्क का गठन होता है।
  • डेटा जल्दी, कुशलतापूर्वक और स्वचालित रूप से डेटा स्रोतों से प्रसारित किया जाएगा (ERDDAPएस और अन्य सर्वर) डेटा पुनर्वितरण साइटों के लिए (ERDDAPs) नेटवर्क में कहीं भी।
  • देनाERDDAP™कुछ डेटासेट के लिए डेटा का स्रोत और अन्य डेटासेट के लिए पुनर्वितरण स्थल दोनों हो सकता है।
  • परिणामस्वरूप नेटवर्क मोटे तौर पर डेटा वितरण नेटवर्क के समान होता है जैसे कार्यक्रमों के साथ सेट किया जाता हैUnidataIDD/IDMलेकिन कम कठोर रूप से संरचित।  

सुरक्षा, प्रमाणीकरण और प्राधिकरण

डिफ़ॉल्ट रूप सेERDDAP™पूरी तरह से सार्वजनिक सर्वर के रूप में चलती है (उपयोगhttpऔर/orhttps) लॉग इन (प्रमाणीकरण) सिस्टम और डेटा एक्सेस के लिए कोई प्रतिबंध नहीं (प्राधिकरण) ।

सुरक्षा

यदि आप कुछ उपयोगकर्ताओं के लिए कुछ या सभी डेटासेट तक पहुंच को प्रतिबंधित करना चाहते हैं, तो आप उपयोग कर सकते हैंERDDAPअंतर्निहित सुरक्षा प्रणाली। जब सुरक्षा प्रणाली का उपयोग किया जाता है:

  • ERDDAP™उपयोगभूमिका आधारित अभिगम नियंत्रण
    • The The most of theERDDAP™व्यवस्थापक उपयोगकर्ताओं को परिभाषित करता है [<उपयोगकर्ता (/docs/server-admin/datasets#user) टैग मेंdatasets.xml। प्रत्येक उपयोगकर्ता का एक उपयोगकर्ता नाम, पासवर्ड होता है (यदि प्रमाणीकरण = कस्टम) , और एक या अधिक भूमिकाएं।
    • The The most of theERDDAP™व्यवस्थापक को परिभाषित करता है कि किस भूमिकाओं को दिए गए डेटासेट तक पहुँच प्राप्त है।<सुलभ (/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> अपने अपाचे की विन्यास फ़ाइल में अनुभाग (आम तौर परhttpd.conf) , उदाहरण के लिए,

    <VirtualHost \\*:80>
\\[...\\]
ServerName example.com
Redirect permanent / https://example.com/
</VirtualHost>

यदि आप चाहते हैं, तो इसके उपयोग को मजबूर करने के लिए एक अतिरिक्त विधि हैhttps: HTTP Strict ट्रांसपोर्ट सुरक्षा (HSTS) । इसका उपयोग करने के लिए:

  1. अपाचे हेडर मॉड्यूल को सक्षम करें: a2enmod हेडर
  2. अतिरिक्त हेडर को 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 theRSSपूरी तरह से निजी डेटासेट के लिए जानकारी केवल उपयोगकर्ताओं के लिए उपलब्ध है (और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 को संशोधित करें /httpD/conf.d/ssl.conf फ़ाइल को HTTPS यातायात को / से अनुमति देने के लिएERDDAP™यूआरएल में :8443 पोर्ट नंबर की आवश्यकता के बिना:
    1. मौजूदा को संशोधित करें<वर्चुअलहोस्ट> टैग (यदि कोई हो) , या फ़ाइल के अंत में एक जोड़ें ताकि यह कम से कम इन लाइनों है:
        <VirtualHost \\_default\\_:443>
SSLEngine on
SSLProxyEngine On
ProxyPass /erddap http://localhost:8443/erddap
ProxyPassReverse /erddap http://localhost:8443/erddap
</VirtualHost>
  1. फिर अपाचे को पुनरारंभ करें: /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 theERDDAP™व्यवस्थापक) बनाना<उपयोगकर्ता> उपयोगकर्ता के लिए टैग, उपयोगकर्ता के नाम को यूज़रनेम के रूप में निर्दिष्ट करना, पासवर्ड के रूप में अपने पासवर्ड का हैश पाचन और उनकी भूमिकाएं।

अनुशंसित नहीं उपयोगकर्ता के पासवर्ड के हैश पाचन को उत्पन्न करने और संचारित करने की इच्छा के कारण और इससे जुड़े जोखिमों के कारण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:

  1. अपने सेटअप.xml में, परिवर्तन<baseHttpsUrl> टैग का मान। अपने व्यक्तिगत कंप्यूटर पर प्रयोग / काम करने के लिए, उपयोग करें https://localhost:8443
    अपनी जनता के लिएERDDAP™उपयोग https://your.domain.org:8443
    यदि आप अपाचे का उपयोग कर रहे हैं या बिना :8443प्रॉक्सीपासइसलिए कि बंदरगाह संख्या की आवश्यकता नहीं है।  
  2. अपने सेटअप.xml में, परिवर्तन<प्रमाणीकरण> ईमेल करने के लिए टैग का मूल्य:
    <authentication>email</authentication>  
  1. अपने सेटअप.xml में, सुनिश्चित करें कि ईमेल सिस्टम सभी के माध्यम से स्थापित किया गया है<ईमेलERDDAP™ईमेल भेज सकते हैं। यदि संभव हो, तो इसे सुरक्षित कनेक्शन का उपयोग करने के लिए सेट करें (एसएसएल / टीएलएस) ईमेल सर्वर के लिए।  
  2. अपनेdatasets.xmlबनाना<उपयोगकर्ता (/docs/server-admin/datasets#user) प्रत्येक उपयोगकर्ता के लिए टैग जो निजी डेटासेट तक पहुंच जाएगा। उपयोगकर्ता के ईमेल पते का उपयोग टैग में उपयोगकर्ता नाम के रूप में करें। उपयोगकर्ता टैग में पासवर्ड विशेषता निर्दिष्ट नहीं है।  
  3. प्रारंभ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/style to 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 theERDDAP™व्यवस्थापक) बनाना<उपयोगकर्ता> टैग, अपने 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।  
    1. यदि आपके पास Google ईमेल खाता नहीं है, तो आपके पास Google ईमेल खाता नहीं है।एक बनाना
       
    2. पालन करनाये निर्देशGoogle डेवलपर कंसोल प्रोजेक्ट बनाने और क्लाइंट ID प्राप्त करने के लिए।

जब गूगल फॉर्म अधिकृत के लिए पूछता है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 के साथ समाप्त होता है।  

  1. अपनेdatasets.xmlबनाना<उपयोगकर्ता (/docs/server-admin/datasets#user) प्रत्येक उपयोगकर्ता के लिए टैग जो निजी डेटासेट तक पहुंच जाएगा। टैग में उपयोगकर्ता नाम विशेषता के लिए:

    • उपयोगकर्ताओं के लिए जो Google के साथ साइन इन करेंगे, उपयोगकर्ता के Google ईमेल पते का उपयोग करें।
    • उन उपयोगकर्ताओं के लिए जो orcid के साथ साइन इन करेंगे, उपयोगकर्ता के Orcid खाता संख्या का उपयोग करें (डैश के साथ) ।

उपयोगकर्ता टैग के लिए पासवर्ड विशेषता निर्दिष्ट नहीं है।   4. प्रारंभERDDAP™इसलिए कि सेटअप.xml में परिवर्तन औरdatasets.xmlप्रभाव डालो।  

Orcid सेटअप
  • orcid और oauth2 विकल्प के लिए: अपने लिए Orcid प्रमाणीकरण स्थापित करने के लिए नीचे दिए गए निर्देशों का पालन करेंERDDAP। (विवरण के लिए, देखेंOrcid के प्रमाणीकरण एपीआई प्रलेखन।)
     
    1. यदि आपके पास कोई Orcid खाता नहीं है, तो,एक बनाना
       
    2. Orcid https://orcid.org/signin अपने व्यक्तिगत Orcid खाते का उपयोग करना।  
    3. "डेवलपर टूल" पर क्लिक करें (शीर्ष पर "For Researchers" के तहत) ।  
    4. "Register for free ORCID public API". इस जानकारी को दर्ज करें: नाम:ERDDAP™पर\[आपका संगठन\]
      वेबसाइट:\[आपकाERDDAPडोमेन\]
      वर्णन:ERDDAP™एक वैज्ञानिक डेटा सर्वर है। उपयोगकर्ता को गैर-सार्वजनिक डेटासेट तक पहुंचने के लिए Google या Orcid के साथ प्रमाणित करने की आवश्यकता है। यूआरआई को पुनर्निर्देशित करें:\[आपकाERDDAPडोमेन\]/erddap/loginOrcid.html  
    5. सेव आइकन पर क्लिक करें (यह 3.5" डिस्क की तरह दिखता है!) । फिर आप अपने ORCID APP क्लाइंट ID और ORCID क्लाइंट गुप्त देख सकते हैं।  
    6. ORCID APP क्लाइंट ID को कॉपी और पेस्ट करें (जो "APP-" के साथ शुरू होगा) सेटअप.xml में<orcidClientID> टैग, जैसे,
        <orcidClientID>APP-*ALPHANUMERICCHARACTERS*</orcidClientID>
  1. ORCID क्लाइंट गुप्त को कॉपी और पेस्ट करें (डैश के साथ लोअरकेस अल्फा-न्यूमेरिक वर्ण) सेटअप.xml में<OrcidClientSecret> टैग, उदाहरण के लिए,
        <orcidClientSecret>*alpha-numeric-characters-with-dashes*</orcidClientSecret>
  1. अपने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 खाता प्राप्त करें) । ऐसा करने के लिए:

  1. परिवर्तन<प्रमाणीकरण> टैग ताकि यह अन्य प्रमाणीकरण प्रणाली की अनुमति दे। oauth2 विकल्प उपयोगकर्ताओं को सिस्टम के साथ लॉग इन करने की अनुमति देता है।
  2. प्रत्येक डुप्लिकेट<उपयोगकर्ता> टैग और गूगल ईमेल पते से संबंधित 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™इन डेटा स्रोतों से सौदा नहीं कर सकता क्योंकि इसमें डेटा स्रोत पर लॉगिंग के लिए कोई प्रावधान नहीं है। यही कारण है कि किसके लिए पहुँचEDDGridFromErddap 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। यदि आप अपने व्यक्तिगत कंप्यूटर का उपयोग करते हैं:
  1. एक समय में स्थापना एक कदम करो। पहले टॉमकैट अप और चल रहा है। जब टॉमकैट चल रहा है, तो टॉमकैट प्रबंधक होना चाहिए http://127.0.0.1:8080/manager/html/ (शायद http://localhost:8080/manager/html/ )

  2. स्थापित करनाERDDAP।

  3. पोर्ट नंबर को समाप्त करने के लिए प्रोक्सीपास का उपयोग न करेंERDDAP™यूआरएल

  4. मेंसाइटमैप, baseUrl सेट करने के लिए http://127.0.0.1:8080

  5. शुरू करने के बादERDDAP™आप इसे देख सकते हैं http://127.0.0.1:8080/erddap/status.html (शायद http://localhost:8080/erddap/status.html )

दूसरा टॉमकैट

  • (दूसरा सबसे अच्छा) अपने सार्वजनिक रूप से उसी कंप्यूटर पर एक और टॉमकैट स्थापित करेंERDDAP।
  1. एक समय में स्थापना एक कदम करो। पहले टॉमकैट अप और चल रहा है। दूसरे टॉमकैट से जुड़े सभी बंदरगाह संख्याओं को बदलें (उदाहरण के लिए, 8080 से 8081 में परिवर्तन) (देखेंएकाधिक टॉमकैट इंस्टेंस अनुभागउस दस्तावेज़ के माध्यम से आधे रास्ते) ।

  2. स्थापित करनाERDDAP™नए टॉमकैट में।

  3. पोर्ट नंबर को समाप्त करने के लिए प्रोक्सीपास का उपयोग न करेंERDDAP™यूआरएल

  4. मेंसाइटमैप, baseUrl सेट करने के लिए http://www.*yourDomainName*:8081

  5. शुरू करने के बाद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 भी कहा जाता है) ofERDDAPजो सिस्टम को बहुत भारी उपयोग को संभालने की अनुमति देता है (उदाहरण के लिए, एक बड़े डेटा सेंटर के लिए) । अधिक जानकारी के लिए, देखेंग्रिड, क्लस्टर, और federations केERDDAPs।  

क्लाउड कम्प्यूटिंग

कई कंपनियां पेशकश करना शुरू कर रही हैंक्लाउड कम्प्यूटिंग सेवाएं (उदाहरण के लिएअमेज़न वेब सर्विसेज) ।वेब होस्टिंग कंपनियों१९९० के दशक के मध्य से सरल सेवाओं की पेशकश की है, लेकिन "बंद" सेवाओं ने सिस्टम की लचीलापन और पेशकश की सेवाओं की सीमा को काफी बढ़ा दिया है। आप इन सेवाओं का उपयोग एक एकल सेट करने के लिए कर सकते हैं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

आउट-ऑफ-डेट यूआरएल

वास्तव में, लेकिन निश्चित रूप से, डेटा प्रदाताओं ने डेटा फ़ाइलों में लिखा है कि यूआरएल बाहर से तारीख बन रहे हैं (उदाहरण के लिए,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™ऑन-द-फ्लाई बनाने के लिए एक प्रणाली है जो रंगों के निरंतर मिश्रण के साथ एक पैलेट से असत रंगों का एक पैलेट है। AnERDDAP™उपयोगकर्ता निर्दिष्ट कर सकते हैं कि क्या वे पैलेट को सतत बनाना चाहते हैं। (मूल) या भेदभाव (मूल से प्राप्त) । लेकिन कुछ पैलेटों के लिए इन सिफारिशों का पालन नहीं करने के लिए वैध कारण हैं।

  • शुरुआतवार और अंतवार पूर्णांक होना चाहिए। पहले खंड में startValue=0 और endValue=1 होना चाहिए। दूसरे खंड में startValue=1 और endValue=2 होना चाहिए। आदि
  • लाल, हरे और नीले मूल्यों 0 से पूर्णांक होना चाहिए (कोई नहीं) ... 255 (पूर्ण) ।
  • फ़ाइल के अंत के साथ 3 लाइनें होनी चाहिए:
    1. डेटा मूल्यों के लिए एक पृष्ठभूमि आरजीबी रंग न्यूनतम से कम है, उदाहरण के लिए: B 128 128 128 128 यह अक्सर शुरू होता हैRed, startGreen, and startBlue of the first section.
    2. डेटा मूल्यों के लिए एक अग्रभूमि आरजीबी रंग अधिकतम रंगबार से अधिक है, उदाहरण के लिए: F 128 0 0 यह अक्सर अंतिम खंड के अंतिम रेड, एंडग्रीन और एंडब्लू है।
    3. 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™एक रंगबार में रंग उत्पन्न?
  1. उपयोगकर्ता पूर्वनिर्धारित में से एक का चयन करता हैपैलेटया डिफ़ॉल्ट, उदाहरण के लिए, इंद्रधनुष का उपयोग करता है। पैलेट जीएमटी-शैली में संग्रहीत / परिभाषित किए गए हैं। प्रत्येकERDDAP'प्रीमेड पैलेट्स' में एक सरल पूर्णांक रेंज है, उदाहरण के लिए, 0 से 1 (यदि पैलेट में सिर्फ एक सेक्शन है) 0 to 4 (यदि पैलेट में चार खंड हैं) । फ़ाइल में प्रत्येक खंड n से n+1 को कवर करता है, जो n=0 से शुरू होता है।
  2. 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 मिलीग्राम / एल को इंद्रधनुष रंगों में मैप करता है) ।
  3. 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) ।

पुरालेख डेटासेट दो अलग-अलग संग्रह प्रारूप बना सकता है:

आश्चर्य की बात नहीं,वैश्विक और परिवर्तनीय मेटाडाटाकिERDDAP™प्रोत्साहन/आवश्यकता लगभग बिल्कुल उसी फ़ाइल CF और ACDD मेटाडाटा है कि NCEI को प्रोत्साहित/आवश्यकता है, इसलिए आपके सभी डेटासेट NCEI को प्रस्तुत करने के लिए तैयार होना चाहिए।Send2NCEIयाATRAC (संग्रह के लिए NCEI के उन्नत ट्रैकिंग और संसाधन उपकरण) ।

यदि आप (The number of theERDDAP™व्यवस्थापक) NCEI को डेटा जमा करने के लिए पुरालेखADataset का उपयोग करें, फिर आप (एनसीईआरटी) यह निर्धारित करेगा कि एनसीईआई को डेटा का एक हिस्सा कब प्रस्तुत किया जाए और किस तरह का हिस्सा होगा, क्योंकि आपको पता चल जाएगा कि नया डेटा कब है और किस तरह उस हिस्से को कैसे निर्दिष्ट किया जाए (एनसीईआरटी) । इस प्रकार, पुरालेखADataset आप NCEI को प्रस्तुत करने के लिए एक पैकेज बनाने के लिए उपयोग करने के लिए एक उपकरण है।

पुरालेख डेटासेट अन्य स्थितियों में उपयोगी हो सकता है, उदाहरण के लिए,ERDDAP™प्रशासक जिन्हें डेटासेट के सबसेट को बदलने की आवश्यकता है (निजीERDDAP) अपने मूल फ़ाइल स्वरूप से एक सेट में.ncCF फ़ाइलेंइतना है कि सार्वजनिक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 होगा:

  1. डेटासेट के अनुरोधों की एक श्रृंखला बनाएं और परिणामस्वरूप डेटा फ़ाइलों को चरणबद्ध करें बड़ाParentDirectory ArchiveADataset datasetIDटाइमस्टैम्प /। ग्रिड डेटासेट के लिए, बाईं ओर आयाम के प्रत्येक मूल्य के लिए एक फ़ाइल होगी (उदाहरण के लिए, समय) । फ़ाइल का नाम वह मान होगा (उदाहरण के लिए, समय मान) । सारणीबद्ध डेटासेट के लिए, प्रत्येक मूल्य के लिए एक फ़ाइल होगी ... चर (s) । फ़ाइल का नाम वह मान होगा। यदि एक से अधिक चर हैं, तो बाएं चर का उपयोग उपनिर्देशिका नाम बनाने के लिए किया जाएगा, और सबसे सही चर फाइल नाम बनाने के लिए इस्तेमाल किया जाएगा। प्रत्येक डेटा फ़ाइल होना चाहिए<2GB (अधिकतम अनुमति.ncसंस्करण 3 फाइलें) ।

  2. डेटा फ़ाइल के पाचन के साथ प्रत्येक डेटा फ़ाइल से संबंधित फ़ाइल बनाएं। उदाहरण के लिए, यदि डेटा फ़ाइल 46088 है.ncऔर पाचन प्रकार .sha256 है, फिर पाचन फ़ाइल का नाम 46088 होगा.nc.sha256 .

  3. पुरालेख के बारे में जानकारी के साथ READ \ME.txt फ़ाइल बनाएं, जिसमें आपके द्वारा निर्दिष्ट सभी सेटिंग्स की सूची शामिल है।

  4. 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 नया है। यदि आपके पास कोई समस्या है या सुझाव है, तो हमारे देखेंअतिरिक्त समर्थन प्राप्त करने पर अनुभाग।