Μετάβαση στο κύριο περιεχόμενο

additional-information

ERDDAP™- Ρυθμίστε το δικό σαςERDDAP™

Πράγματα που πρέπει να ξέρετε

 

Σφάλματα διαμεσολαβητή

Μερικές φορές, ένα αίτημα γιαERDDAP™θα επιστρέψει ένα σφάλμα διαμεσολαβητή, ένα σφάλμα HTTP 502 Bad Gateway, ή κάποιο παρόμοιο σφάλμα. Αυτά τα λάθη ρίχνονται από Απάτσι ή Tomcat, όχιERDDAP™Μόνο του.

  • Εάν κάθε αίτημα δημιουργεί αυτά τα σφάλματα, ειδικά όταν είστε για πρώτη φορά την εγκατάσταση σαςERDDAP™, τότε είναι πιθανώς ένα πληρεξούσιο ή κακό σφάλμα πύλης, και η λύση είναι πιθανώς να διορθώσειERDDAPsettings διαμεσολαβητή. Αυτό μπορεί επίσης να είναι το πρόβλημα όταν μια καθιερωμένηERDDAP™ξαφνικά αρχίζει να ρίχνει αυτά τα λάθη για κάθε αίτημα.
  • Διαφορετικά, "προσέγγιση" λάθη είναι συνήθως στην πραγματικότητα time out λάθη που ρίχνονται από Apache ή Tomcat. Ακόμα και όταν συμβαίνουν σχετικά γρήγορα, είναι ένα είδος απάντησης από Apache ή Tomcat που συμβαίνει ότανERDDAP™είναι πολύ απασχολημένος, περιορισμένη μνήμη, ή περιορίζεται από κάποιο άλλο πόρο. Σε αυτές τις περιπτώσεις, δείτε τις παρακάτω συμβουλές για την αντιμετώπισηERDDAP™απόκριση αργά.

Αιτήσεις για μεγάλο χρονικό διάστημα (> 30 ώρες) από ένα πλέγμα σύνολο δεδομένων είναι επιρρεπείς σε αποτυχίες time out, οι οποίες συχνά εμφανίζονται ως Proxy Σφάλματα, επειδή απαιτεί σημαντικό χρόνο γιαERDDAP™να ανοίξει όλα τα αρχεία δεδομένων ένα προς ένα. ΕάνERDDAP™κατά τα άλλα είναι απασχολημένος κατά τη διάρκεια της αίτησης, το πρόβλημα είναι πιο πιθανό να συμβεί. Εάν τα αρχεία του συνόλου δεδομένων είναι συμπιεσμένα, το πρόβλημα είναι πιο πιθανό να εμφανιστεί, αν και είναι δύσκολο για έναν χρήστη να καθορίσει αν τα αρχεία ενός συνόλου δεδομένων είναι συμπιεσμένα. Η λύση είναι να γίνουν αρκετά αιτήματα, το καθένα με μικρότερο χρονικό εύρος. Πόσο μικρό χρονικό διάστημα; Προτείνω να ξεκινήσουμε πολύ μικρά (~30 ώρες;) , τότε (περίπου) Διπλασίασε το χρονικό εύρος μέχρι να αποτύχει η αίτηση, και μετά πήγαινε πίσω ένα διπλασιασμό. Τότε κάνε όλες τις αιτήσεις. (ο καθένας για ένα διαφορετικό κομμάτι του χρόνου) Έπρεπε να πάρω όλα τα δεδομένα. ΑERDDAP™Ο διαχειριστής μπορεί να μειώσει αυτό το πρόβλημα με την αύξηση τουsettings χρονικού ορίου Apache.

Παρακολούθηση

Όλοι θέλουμε οι υπηρεσίες δεδομένων μας να βρουν το κοινό τους και να χρησιμοποιηθούν εκτενώς, αλλά μερικές φορές σαςERDDAP™μπορεί να χρησιμοποιηθεί πάρα πολύ, προκαλώντας προβλήματα, συμπεριλαμβανομένων των εξαιρετικά αργών απαντήσεων για όλα τα αιτήματα. Το σχέδιό μας για την αποφυγή προβλημάτων είναι:

  • ΠαρακολούθησηERDDAP™μέσω τηςstatus.html ιστοσελίδα. Έχει τόνους χρήσιμες πληροφορίες. Αν δείτε ότι ένας τεράστιος αριθμός αιτημάτων έρχονται, ή τόνοι μνήμης που χρησιμοποιούνται, ή τόνους αποτυχημένων αιτημάτων, ή κάθε μεγάλο φορτίοDatasets παίρνει ένα μεγάλο χρονικό διάστημα, ή να δείτε οποιοδήποτε σημάδι των πραγμάτων να κολλάει κάτω και να ανταποκρίνεται αργά, τότε κοιτάξτε μέσαERDDAPΣαρχείο log.txtΓια να δούμε τι συμβαίνει.

Είναι επίσης χρήσιμο να σημειωθεί απλά πόσο γρήγορα ανταποκρίνεται η σελίδα κατάστασης. Εάν ανταποκρίνεται αργά, αυτός είναι ένας σημαντικός δείκτης πουERDDAP™Είναι πολύ απασχολημένος.

  • ΠαρακολούθησηERDDAP™μέσω τηςΗμερήσια έκθεσηmail.  
  • Προσέξτε για τις παρωχημένες δέσμες δεδομένων μέσω του ΒάσηUrl /erddap/outOfDateDatasets.htmlιστοσελίδα που βασίζεται στο προαιρετικόtestOutOfDateΠαγκόσμια ιδιότητα.  

Εξωτερικές οθόνες

Οι προαναφερόμενες μέθοδοι είναι:ERDDAPΟι τρόποι παρακολούθησης του εαυτού του. Είναι επίσης δυνατό να κάνετε ή να χρησιμοποιήσετε εξωτερικά συστήματα για την παρακολούθηση σαςERDDAP. Ένα σχέδιο για να το κάνουμε αυτό είναιΈργο erddap-metrics του Axiom. Τέτοια εξωτερικά συστήματα έχουν κάποια πλεονεκτήματα:

  • Μπορούν να προσαρμοστούν για να παρέχουν τις πληροφορίες που θέλετε, εμφανίζονται με τον τρόπο που θέλετε.
  • Μπορούν να περιλαμβάνουν πληροφορίες σχετικά μεERDDAP™ότιERDDAP™δεν μπορεί να έχει πρόσβαση εύκολα ή καθόλου (για παράδειγμα, χρήση ΚΜΕ, ελεύθερο χώρο στο δίσκο,ERDDAP™χρόνος απόκρισης όπως φαίνεται από την οπτική γωνία του χρήστη,ERDDAP™uptime,
  • Μπορούν να παρέχουν ειδοποιήσεις (email, τηλεφωνικές κλήσεις, μηνύματα) στους διαχειριστές όταν τα προβλήματα υπερβαίνουν κάποιο όριο.  

Πολλαπλή Ταυτόχρονη Αιτήσεις

  • Οι χρήστες της μαύρης λίστας κάνουν πολλαπλές ταυτόχρονες αιτήσεις! Εάν είναι σαφές ότι κάποιος χρήστης κάνει περισσότερες από μία ταυτόχρονες αιτήσεις, επανειλημμένα και συνεχώς, τότε προσθέστε τη διεύθυνση IP τουςERDDAPΕίναι...<αίτησηBlacklist>] (/docs/server-admin/datasets#ζητώ μαύρη λίστα) σε σαςdatasets.xmlΑρχείο. Μερικές φορές τα αιτήματα είναι όλα από μια διεύθυνση IP. Μερικές φορές είναι από πολλαπλές διευθύνσεις IP, αλλά σαφώς ο ίδιος χρήστης. Μπορείτε επίσης να μαύρη λίστα ανθρώπων που κάνουν τόνους άκυρων αιτημάτων ή τόνους του μυαλού-ασήμαντα αναποτελεσματικά αιτήματα.

Στη συνέχεια, για κάθε αίτημα που κάνουν,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.

Ελπίζω ο χρήστης να δει αυτό το μήνυμα και να επικοινωνήσει μαζί σας για να βρει πώς να διορθώσει το πρόβλημα και να βγει από τη μαύρη λίστα. Μερικές φορές αλλάζουν διευθύνσεις IP και προσπαθούν ξανά.

Είναι σαν την ισορροπία δύναμης μεταξύ επιθετικών και αμυντικών όπλων στον πόλεμο. Εδώ, τα αμυντικά όπλα. (ERDDAP) έχουν σταθερή χωρητικότητα, περιορισμένη από τον αριθμό των πυρήνων στην ΚΜΕ, το εύρος ζώνης πρόσβασης στο δίσκο, και το εύρος ζώνης δικτύου. Αλλά τα επιθετικά όπλα (χρήστες, κυρίως σενάρια) έχουν απεριόριστη χωρητικότητα:

  • Μια ενιαία αίτηση για δεδομένα από πολλά χρονικά σημεία μπορεί να προκαλέσειERDDAPγια να ανοίξετε έναν τεράστιο αριθμό αρχείων (Που έχουν απλώς ελαθεί σε θερμή κατάσταση) . Σε ακραίες περιπτώσεις, ένα " απλό" αίτημα μπορεί εύκολα να συνδέσει το RAID που συνδέεται μεERDDAP™για ένα λεπτό, εμποδίζοντας αποτελεσματικά τον χειρισμό άλλων αιτημάτων.  
  • Ένα μόνο αίτημα μπορεί να καταναλώσει ένα μεγάλο κομμάτι μνήμης (Ακόμα κι ανERDDAP™κωδικοποιείται για να ελαχιστοποιηθεί η μνήμη που απαιτείται για την αντιμετώπιση μεγάλων αιτημάτων) .  
  • Παραλληλισμός - Ναι. Είναι εύκολο για έναν έξυπνο χρήστη να παραλληλίσει μια μεγάλη εργασία δημιουργώντας πολλά νήματα, καθένα από τα οποία υποβάλλει ένα ξεχωριστό αίτημα (που μπορεί να είναι μεγάλα ή μικρά) . Αυτή η συμπεριφορά ενθαρρύνεται από την επιστημονική κοινότητα υπολογιστών ως ένας αποτελεσματικός τρόπος αντιμετώπισης ενός μεγάλου προβλήματος (και η παράλληλη είναι αποτελεσματική σε άλλες περιπτώσεις) . Επιστρέφοντας στην πολεμική αναλογία: οι χρήστες μπορούν να κάνουν έναν ουσιαστικά απεριόριστο αριθμό ταυτόχρονων αιτημάτων με το κόστος του καθενός να είναι ουσιαστικά μηδέν, αλλά το κόστος του κάθε αιτήματος να έρχεται σεERDDAP™μπορεί να είναι μεγάλο καιERDDAPΗ ικανότητα απόκρισης είναι πεπερασμένη. Προφανώς,ERDDAP™θα χάσει αυτή τη μάχη, εκτός αν ηERDDAP™Διαχειριστής μαύρες λίστες χρήστες που κάνουν πολλαπλές ταυτόχρονες αιτήσεις που είναι άδικα συνωστίζοντας άλλους χρήστες.  
  • Πολλαπλά σενάρια - Τώρα σκεφτείτε τι συμβαίνει όταν υπάρχουν αρκετοί έξυπνοι χρήστες ο καθένας τρέχει παράλληλα σενάρια. Αν ένας χρήστης μπορεί να δημιουργήσει τόσα πολλά αιτήματα που άλλοι χρήστες είναι συνωστισμένοι, τότε πολλοί τέτοιοι χρήστες μπορούν να δημιουργήσουν τόσα πολλά αιτήματα πουERDDAP™κατακλύζεται και φαινομενικά δεν ανταποκρίνεται. ΗΕπίθεση DDOSΚαι πάλι, η μόνη άμυνα γιαERDDAP™είναι για τους χρήστες της μαύρης λίστας που κάνουν πολλαπλές ταυτόχρονες αιτήσεις οι οποίες παρακωλύουν άδικα άλλους χρήστες.  
  • Φουσκωμένες Προσδοκίες - Σε αυτόν τον κόσμο των μεγάλων εταιρειών τεχνολογίας (Amazon, Google, Facebook, ...) , οι χρήστες έχουν φτάσει να αναμένουν ουσιαστικά απεριόριστες δυνατότητες από τους παρόχους. Δεδομένου ότι αυτές οι εταιρείες είναι οι πράξεις παραγωγής χρήματος, όσο περισσότερους χρήστες έχουν, τόσο περισσότερα έσοδα πρέπει να επεκτείνουν την υποδομή πληροφορικής τους. Έτσι μπορούν να αντέξουν οικονομικά μια τεράστια υποδομή πληροφορικής για να χειριστούν αιτήματα. Και περιορίζουν έξυπνα τον αριθμό των αιτημάτων και του κόστους κάθε αιτήματος από τους χρήστες περιορίζοντας τα είδη των αιτημάτων που μπορούν να υποβάλουν οι χρήστες έτσι ώστε να μην είναι επαχθείς καμία αίτηση, και ποτέ δεν υπάρχει λόγος (ή έναν τρόπο) για τους χρήστες να κάνουν πολλαπλές ταυτόχρονες αιτήσεις. Έτσι αυτές οι τεράστιες εταιρείες τεχνολογίας μπορεί να έχουν πολύ περισσότερους χρήστες από ό, τιERDDAP™, αλλά έχουν μαζικά περισσότερους πόρους και έξυπνους τρόπους για να περιορίσουν τα αιτήματα από κάθε χρήστη. Είναι μια διαχειρίσιμη κατάσταση για τις μεγάλες εταιρείες πληροφορικής (και πλουτίζουν!) αλλά όχι γιαERDDAP™εγκαταστάσεις. Και πάλι, η μόνη άμυνα γιαERDDAP™είναι για τους χρήστες της μαύρης λίστας που κάνουν πολλαπλές ταυτόχρονες αιτήσεις οι οποίες παρακωλύουν άδικα άλλους χρήστες.  

Έτσι χρήστες: Μην κάνετε πολλαπλές ταυτόχρονες αιτήσεις ή θα μπείτε στη μαύρη λίστα!  

Προφανώς, είναι καλύτερο αν ο διακομιστής σας έχει πολλούς πυρήνες, πολλή μνήμη. (Έτσι μπορείτε να διαθέσετε πολλή μνήμη σεERDDAP™, περισσότερο από ποτέ χρειάζεται) , και μια σύνδεση στο διαδίκτυο υψηλής ζώνης. Στη συνέχεια, η μνήμη είναι σπάνια ή ποτέ ένας περιοριστικός παράγοντας, αλλά το εύρος ζώνης του δικτύου γίνεται ο πιο συνηθισμένος περιοριστικός παράγοντας. Βασικά, καθώς υπάρχουν όλο και περισσότερες ταυτόχρονες αιτήσεις, η ταχύτητα προς οποιονδήποτε χρήστη μειώνεται. Αυτό φυσικά επιβραδύνει τον αριθμό των αιτήσεων που έρχονται σε αν ο κάθε χρήστης απλά υποβάλλει μια αίτηση κάθε φορά.

ERDDAP™Λήψη δεδομένων από ΤΡΕΙΣ

ΕάνERDDAP™παίρνει μερικά από τα δεδομένα του από μια thresedds στην ιστοσελίδα σας, υπάρχουν κάποια πλεονεκτήματα για να κάνει ένα αντίγραφο των αρχείων δεδομένων thresedds (τουλάχιστον για τα πιο δημοφιλή σύνολα δεδομένων) σε ένα άλλο RAID πουERDDAP™έχει πρόσβαση σε έτσι ώστεERDDAP™μπορεί να εξυπηρετήσει τα δεδομένα από τα αρχεία άμεσα. ΣτοERDΑυτό το κάνουμε για τα πιο δημοφιλή σύνολα δεδομένων.

  • ERDDAP™μπορεί να πάρει τα δεδομένα άμεσα και δεν πρέπει να περιμένει για THREDS να επαναφορτώσει το σύνολο δεδομένων ή ...
  • ERDDAP™μπορεί να παρατηρήσει και να ενσωματώσει νέα αρχεία δεδομένων αμέσως, έτσι ώστε να μην χρειάζεται να pester THREDS συχνά για να δείτε αν το σύνολο δεδομένων έχει αλλάξει. Βλέπε [<ενημέρωσηEveryNMillis>] (/docs/server-admin/datasets#updateeverenmillis) .
  • Το φορτίο χωρίζεται μεταξύ 2 διακομιστών RAIDS και 2, αντί το αίτημα να είναι δύσκολο και για τους δύοERDDAP™και τα τρία.
  • Αποφύγετε το πρόβλημα αναντιστοιχίας που προκαλείται από thREDDS έχοντας ένα μικρό (εξ ορισμού) μέγιστο μέγεθος αίτησης.ERDDAP™έχει ένα σύστημα για να χειριστεί την αναντιστοιχία, αλλά η αποφυγή του προβλήματος είναι καλύτερη.
  • Έχετε ένα αντίγραφο ασφαλείας των δεδομένων που είναι πάντα μια καλή ιδέα.

Σε κάθε περίπτωση, μην τρέξεις ποτέ ΤΡΕΙΣ καιERDDAP™στην ίδια Tomcat. Εκτελέστε τους σε ξεχωριστούς Tomcat, ή καλύτερα, σε ξεχωριστούς servers.

Ανακαλύπτουμε ότι οι ΤΡΕΙΣ έρχονται περιοδικά σε μια κατάσταση όπου οι αιτήσεις απλά κρέμονται. ΕάνERDDAP™παίρνει δεδομένα από ένα thredds και το thredds είναι σε αυτή την κατάσταση,ERDDAP™έχει μια άμυνα (λέει ότι το σύνολο δεδομένων με βάση το ThREDS δεν είναι διαθέσιμο) , αλλά εξακολουθεί να είναι ενοχλητικό γιαERDDAP™επειδήERDDAP™πρέπει να περιμένει μέχρι το timeout κάθε φορά που προσπαθεί να φορτώσει εκ νέου ένα σύνολο δεδομένων από ένα κρεμασμένο thredds. Ορισμένες ομάδες (συμπεριλαμβανομένωνERD) Αποφεύγετε αυτό με την εκ των προτέρων επανεκκίνηση ΤΡΕΙΣ συχνά (π.χ., νυκτερινή εργασία) .

Απαντώντας Αργά

  • ΕάνERDDAP™Ανταποκρίνεται Αργά ή αν απλά ορισμένα αιτήματα ανταποκρίνονται αργά, μπορεί να είστε σε θέση να υπολογίσετε αν η βραδύτητα είναι λογική και προσωρινή (π.χ. λόγω πολλών αιτημάτων από σενάρια ήWMSχρήστες) , ή αν κάτι είναι ανεξήγητα λάθος και θα πρέπει ναΚλείστε και επανεκκινήστε Tomcat καιERDDAP™.

ΕάνERDDAP™ανταποκρίνεται αργά, δείτε τις παρακάτω συμβουλές για τον προσδιορισμό της αιτίας, η οποία ελπίζουμε ότι θα σας δώσει τη δυνατότητα να διορθώσετε το πρόβλημα. Μπορεί να έχετε ένα συγκεκριμένο σημείο εκκίνησης (π.χ. ένα συγκεκριμένο URL αίτησης) ή ένα αόριστο σημείο εκκίνησης (π.χ.,ERDDAP™είναι αργή) . Μπορεί να γνωρίζετε τον χρήστη που εμπλέκεται (π.χ., επειδή σου έστειλαν email) Ή όχι. Μπορεί να έχεις άλλα στοιχεία, ή όχι. Δεδομένου ότι όλες αυτές οι καταστάσεις και όλες οι πιθανές αιτίες των προβλημάτων θολώνουν μαζί, οι παρακάτω συμβουλές προσπαθούν να αντιμετωπίσουν όλα τα πιθανά σημεία εκκίνησης και όλα τα πιθανά προβλήματα που σχετίζονται με αργές αντιδράσεις.

  • Ψάξε για στοιχεία.ERDDAPΑρχείο καταγραφής ( bigParentΚατάλογος /logs/log.txt) . \[Σε σπάνιες περιπτώσεις, υπάρχουν ενδείξειςΑρχείο καταγραφής Tomcat ( τομκάτ /logs/καταλίνα.out) .\]
    Ψάξτε για μηνύματα λάθους. Ψάξτε για ένα μεγάλο αριθμό αιτημάτων που προέρχονται από ένα (ή μερικά) χρήστες και ίσως χοάνη πολλών πόρων του διακομιστή σας (μνήμη, χρόνος ΚΜΕ, πρόσβαση στο δίσκο, εύρος ζώνης στο διαδίκτυο) .

Αν το πρόβλημα είναι συνδεδεμένο με ένας χρήστης , μπορείτε συχνά να πάρετε ένα στοιχείο σχετικά με το ποιος είναι ο χρήστης μέσω web υπηρεσίες όπως https://whatismyipaddress.com/ip-lookup που μπορούν να σας δώσουν πληροφορίες σχετικά με τη διεύθυνση IP του χρήστη (το οποίο μπορείτε να βρείτε σεERDDAPΣlog.txtαρχείο) .

  • Εάν ο χρήστης φαίνεται να είναι bot να συμπεριφέρονται άσχημα (Ειδικότερα, μια μηχανή αναζήτησης που προσπαθεί να συμπληρώσει τοERDDAP™μορφές με κάθε δυνατή διαφοροποίηση των τιμών εισόδου) , βεβαιωθείτε ότι έχετε δημιουργήσει σωστά server σαςρομπότ.txtΑρχείο.
  • Εάν ο χρήστης φαίνεται να είναι **σενάριο (α) ** που κάνει πολλαπλές ταυτόχρονες αιτήσεις, επικοινωνήστε με το χρήστη, εξηγήστε ότι σαςERDDAP™έχει περιορισμένους πόρους (π.χ., μνήμη, χρόνος ΚΜΕ, πρόσβαση στο δίσκο, εύρος ζώνης στο διαδίκτυο) , και να τους ζητήσει να είναι προσεκτικοί με άλλους χρήστες και απλά να υποβάλουν ένα αίτημα κάθε φορά. Μπορείτε επίσης να αναφέρετε ότι θα τους μαυρίσετε αν δεν κάνουν πίσω.
  • Εάν ο χρήστης φαίνεται να είναι σενάριο κάνοντας ένα μεγάλο αριθμό χρονοβόρων αιτημάτων, ζητήστε από το χρήστη να είναι διακριτικός των άλλων χρηστών, κάνοντας μια μικρή παύση (Δύο δευτερόλεπτα;) στο σενάριο μεταξύ αιτημάτων.
  • WMSλογισμικό πελάτη Μπορεί να είναι πολύ απαιτητική. Ένας πελάτης συχνά θα ζητήσει 6 προσαρμοσμένες εικόνες κάθε φορά. Εάν ο χρήστης φαίνεται να είναιWMSο πελάτης που κάνει νόμιμα αιτήματα, μπορείτε:
  • Αγνόησέ το. (συνιστάται, γιατί θα προχωρήσουμε πολύ σύντομα)
  • Κλείστε το διακομιστή σαςWMSυπηρεσία μέσωERDDAPΤο αρχείο setup.html. (δεν συνιστάται)
  • Αν τα αιτήματα φαίνονται ηλίθιο, τρελό, υπερβολικό, ή κακόβουλο, ή αν δεν μπορείτε να επιλύσετε το πρόβλημα με οποιονδήποτε άλλο τρόπο, σκεφτείτε προσωρινά ή μόνιμα προσθέτοντας τη διεύθυνση IP του χρήστη στην [<αίτησηBlacklist> στο δικό σαςdatasets.xmlαρχείο] (/docs/server-admin/datasets#ζητώ μαύρη λίστα) .  
  • Προσπαθήστε να αναπαραγάγετε το πρόβλημα μόνοι σας, από τον υπολογιστή σας.
    Αναλύστε αν το πρόβλημα είναι με ένα σύνολο δεδομένων ή όλα τα σύνολα δεδομένων, για έναν χρήστη ή για όλους τους χρήστες, για ορισμένους μόνο τύπους αιτήσεων, κλπ.. Αν μπορείτε να αντιγράψετε το πρόβλημα, προσπαθήστε να περιορίσετε το πρόβλημα. Εάν δεν μπορείτε να αντιγράψετε το πρόβλημα, τότε το πρόβλημα μπορεί να συνδεθεί με τον υπολογιστή του χρήστη, τη σύνδεση στο διαδίκτυο του χρήστη, ή τη σύνδεση στο διαδίκτυο του ιδρύματος σας.  
  • Αν απλά ένα σύνολο δεδομένων ανταποκρίνεται αργά (Ίσως μόνο για ένα είδος αίτησης από έναν χρήστη) , το πρόβλημα μπορεί να είναι:
    • ERDDAP's πρόσβαση στα πηγαία δεδομένα του συνόλου δεδομένων (κυρίως από σχετικές βάσεις δεδομένων, Κασσάνδρα, και απομακρυσμένα σύνολα δεδομένων) μπορεί να είναι προσωρινά ή μόνιμα αργή. Προσπαθήστε να ελέγξετε την ταχύτητα της πηγής ανεξάρτητα απόERDDAP. Αν είναι αργό, ίσως μπορείτε να το βελτιώσετε.
    • Το πρόβλημα σχετίζεται με το συγκεκριμένο αίτημα ή το γενικό είδος αίτησης; Όσο μεγαλύτερο είναι το ζητούμενο υποσύνολο ενός συνόλου δεδομένων, τόσο πιθανότερο είναι να αποτύχει το αίτημα. Εάν ο χρήστης κάνει τεράστια αιτήματα, ζητήστε από τον χρήστη να κάνει μικρότερα αιτήματα που είναι πιο πιθανό να πάρει μια γρήγορη και επιτυχημένη απάντηση.

Σχεδόν όλα τα σύνολα δεδομένων είναι καλύτερα στο χειρισμό ορισμένων τύπων αιτήσεων από άλλους τύπους αιτήσεων. Για παράδειγμα, όταν ένα σύνολο δεδομένων αποθηκεύει διαφορετικά χρονικά κομμάτια σε διαφορετικά αρχεία, τα αιτήματα για δεδομένα από έναν τεράστιο αριθμό χρονικών σημείων μπορεί να είναι πολύ αργά. Εάν τα τρέχοντα αιτήματα είναι δύσκολου τύπου, σκεφτείτε να προσφέρετε μια παραλλαγή του συνόλου δεδομένων που βελτιστοποιείται για αυτά τα αιτήματα. Ή απλά εξηγήστε στο χρήστη ότι αυτό το είδος της αίτησης είναι δύσκολο και χρονοβόρο, και να ζητήσει την υπομονή τους.

  • Το σύνολο δεδομένων μπορεί να μην είναι βέλτιστα ρυθμισμένο. Ίσως μπορείτε να κάνετε αλλαγές στο σύνολο δεδομένωνdatasets.xmlκομμάτι για να βοηθήσειERDDAP™Χειρίσου καλύτερα το σύνολο δεδομένων. Για παράδειγμα,

    • EDDGridFromNcFiles datasets ότι η πρόσβαση σε δεδομένα από συμπιεσμένα αρχεία nc4/hdf5 είναι αργή κατά τη λήψη δεδομένων για ολόκληρο το γεωγραφικό εύρος (π.χ. για παγκόσμιο χάρτη) Γιατί όλο το αρχείο πρέπει να αποσυμπιέζεται. Θα μπορούσατε να μετατρέψετε τα αρχεία σε ασυμπίεστα αρχεία, αλλά στη συνέχεια η απαίτηση χώρου στο δίσκο θα είναι πολύ, πολύ μεγαλύτερη. Είναι ίσως καλύτερα να αποδεχτούμε ότι αυτά τα σύνολα δεδομένων θα είναι αργά σε ορισμένες περιπτώσεις.
    • Η διαμόρφωση του [<subsetVariables>] (/docs/server-admin/datasets#subsetvarariables) tag έχει μια τεράστια επιρροή στο πώςERDDAP™χειρίζεται σύνολα δεδομένων EDDTable.
    • Μπορεί να είστε σε θέση να αυξήσει τοταχύτητα ενός πίνακα EDDFromDatabaseΣύστημα δεδομένων.
    • Πολλά σύνολα δεδομένων EDDTable μπορούν να επιταχυνθούν απόαποθήκευση αντιγράφου των δεδομένωνNetCDFContiguous Ragled Array αρχεία, η οποίαERDDAP™μπορεί να διαβάσει πολύ γρήγορα.

Εάν θέλετε να βοηθήσετε στην επιτάχυνση ενός συγκεκριμένου συνόλου δεδομένων, συμπεριλάβετε μια περιγραφή του προβλήματος και το κομμάτι του συνόλου δεδομένων τουdatasets.xmlκαι να δούμε μαςτμήμα για τη λήψη πρόσθετης υποστήριξης.  

  • Εάν όλα μέσαERDDAP™λέ πάντα αργά, το πρόβλημα μπορεί να είναι:
    • Ο υπολογιστής που τρέχειERDDAP™μπορεί να μην έχει αρκετή μνήμη ή επεξεργαστική ισχύ. Είναι καλό να τρέχεις.ERDDAP™σε ένα σύγχρονο, multi-core server. Για βαριά χρήση, ο διακομιστής θα πρέπει να έχει ένα 64-bit λειτουργικό σύστημα και 8 GB ή περισσότερο μνήμης.
    • Ο υπολογιστής που τρέχειERDDAP™μπορεί επίσης να τρέχει άλλες εφαρμογές που καταναλώνουν πολλούς πόρους του συστήματος. Εάν ναι, μπορείτε να πάρετε ένα ειδικό διακομιστή γιαERDDAP♪ ♪ Για παράδειγμα (Αυτό δεν είναι έγκριση.) , μπορείτε να πάρετε ένα quad-core Mac Mini Server με 8 GB μνήμης για ~ $ 1100.  
  • Εάν όλα μέσαERDDAP™λέ προσωρινά Αργά, δείτε τοERDDAPΣ /erddap/status.htmlσελίδα στον περιηγητή σας.
    • ΤοERDDAP™Αποτυχία φόρτωσης σελίδας κατάστασης; Εάν ναι,επανεκκίνησηERDDAP™.
    • ΤοERDDAP™Φόρτωση σελίδας κατάστασης αργά (π.χ. >5 δευτερόλεπτα) ♪ ♪ Αυτό είναι ένα σημάδι ότι όλα μέσαERDDAP™τρέχει αργά, αλλά δεν είναι απαραίτητα πρόβλημα.ERDDAP™Μπορεί να είναι πολύ απασχολημένος.
    • Για "Η απάντηση απέτυχε ο χρόνος (από το τελευταίο μεγάλο LoadDatasets) - Είναι μεγάλος αριθμός; Αυτό δείχνει ότι υπήρξαν πολλά αποτυχημένα αιτήματα πρόσφατα. Αυτό μπορεί να είναι πρόβλημα ή η αρχή του προβλήματος. Ο μέσος χρόνος για τις αποτυχίες είναι συχνά μεγάλος (π.χ. 210000 ms) , Που σημαίνει ότι υπήρχαν (Αλήθεια;) Πολλά ενεργά νήματα. που έδεναν πολλούς πόρους (όπως μνήμη, ανοιχτά αρχεία, ανοιχτές υποδοχές, ...) , που δεν είναι καλό.
    • Για "Απάντηση Επιτυχής Χρόνος (από το τελευταίο μεγάλο LoadDatasets) - Είναι μεγάλος αριθμός; Αυτό δείχνει ότι υπήρξαν πολλά επιτυχημένα αιτήματα πρόσφατα. Αυτό δεν είναι πρόβλημα. Απλά σημαίνει ότι...ERDDAP™Είναι να πάρει βαριά χρήση.
    • Είναι ο " Αριθμός των μη-Tomcat-αναμονή νήματα" διπλή μια τυπική τιμή; Αυτό είναι συχνά σοβαρό πρόβλημα που θα προκαλέσειERDDAP™να επιβραδύνει και τελικά να παγώσει. Αν αυτό επιμένει για ώρες, ίσως θέλετε να προνοήσετεεπανεκκίνησηERDDAP™.
    • Στο κάτω μέρος της Περίληψης " Χρήση μνήμης" λίστα, είναι η τελευταία "Μνήμη: αυτή τη στιγμή χρησιμοποιώντας" τιμή πολύ υψηλή; Αυτό μπορεί απλώς να υποδηλώνει υψηλή χρήση, ή μπορεί να είναι ένα σημάδι προβλήματος.
    • Κοίτα τη λίστα με τα νήματα και την κατάστασή τους. Κάνουν κάτι ασυνήθιστο;  
  • Είναι σύνδεση στο διαδίκτυο του ιδρύματος σας Αυτή τη στιγμή αργά; Αναζήτηση στο διαδίκτυο για δοκιμή ταχύτητας "internet" και χρήση ενός από τα δωρεάν online δοκιμές, όπως https://www.speakeasy.net/speedtest/ . Εάν η σύνδεση στο διαδίκτυο του ιδρύματος σας είναι αργή, τότε οι συνδέσεις μεταξύERDDAP™και απομακρυσμένες πηγές δεδομένων θα είναι αργή, και συνδέσεις μεταξύERDDAP™και ο χρήστης θα είναι αργός. Μερικές φορές, μπορείτε να το λύσετε αυτό σταματώντας την περιττή χρήση του διαδικτύου (π.χ., άτομα που παρακολουθούν βίντεο streaming ή βιντεοκλήσεις συνεδρίων) .  
  • Είναι σύνδεση με το διαδίκτυο του χρήστη Αυτή τη στιγμή αργά; Ο χρήστης να αναζητήσει το διαδίκτυο για δοκιμή ταχύτητας "internet" και να χρησιμοποιήσει ένα από τα δωρεάν online τεστ, όπως https://www.speakeasy.net/speedtest/ . Εάν η σύνδεση στο διαδίκτυο του χρήστη είναι αργή, επιβραδύνει την πρόσβασή τους σεERDDAP. Μερικές φορές, μπορούν να το λύσουν αυτό σταματώντας την περιττή χρήση του διαδικτύου στο ίδρυμα τους (π.χ., άτομα που παρακολουθούν βίντεο streaming ή βιντεοκλήσεις συνεδρίων) .  
  • Κόλλησες;
    Δείτε μαςτμήμα για τη λήψη πρόσθετης υποστήριξης.

Κλείσιμο και επανεκκίνηση

  • Πώς να κλείσετε και να επανεκκινήσετε Tomcat καιERDDAP™
    Δεν χρειάζεται να κλείσει και να επανεκκινήσει Tomcat καιERDDAPεάνERDDAP™είναι προσωρινά αργή, αργή για κάποιο γνωστό λόγο (όπως πολλά αιτήματα από σενάρια ήWMSχρήστες) , ή να εφαρμόσει τις αλλαγές σεdatasets.xmlΑρχείο.

Θα πρέπει να κλείσει και να επανεκκινήσει Tomcat καιERDDAP™εάν χρειαστεί να εφαρμόσετε αλλαγές στο αρχείο setup.xml, ή εάνERDDAP™παγώνει, κρεμάει ή κλειδώνει. Σε ακραίες συνθήκες,JavaΜπορεί να παγώσει για ένα ή δύο λεπτά ενώ κάνει μια πλήρη συλλογή απορριμμάτων, αλλά στη συνέχεια να ανακτήσει. Έτσι είναι καλό να περιμένουμε ένα ή δύο λεπτά για να δούμε ανJava/ERDDAP™είναι πραγματικά παγωμένο ή αν απλά κάνει μια μεγάλη συλλογή σκουπιδιών. (Αν η συλλογή σκουπιδιών είναι κοινό πρόβλημα,κατανομή περισσότερης μνήμης σε Tomcat.)

Δεν συνιστώ τη χρήση του Tomcat Web Application Manager για να ξεκινήσει ή να κλείσει Tomcat. Αν δεν κλείσεις πλήρως και ξεκινήσεις το Tomcat, αργά ή γρήγορα θα έχεις προβλήματα μνήμης PermGen.

Για να κλείσει και να επανεκκινήσει Tomcat καιERDDAP:

  • Εάν χρησιμοποιείτε Linux ή Mac: (Εάν έχετε δημιουργήσει ένα ειδικό χρήστη για να εκτελέσετε Tomcat, π.χ., tomcat, θυμηθείτε να κάνετε τα ακόλουθα βήματα ως αυτός ο χρήστης.)
     
    1. Χρήση cd τομκάτ /Bin  
    2. Χρήση ps -ef|grep tomcat για την εύρεση της διεργασίας java/tomcat ID (Ελπίζω ότι μόνο μια διαδικασία θα καταχωρηθεί) , την οποία θα ονομάσουμε ΙάβαProcessID κάτω.  
    3. ΕάνERDDAP™είναι κατεψυγμένο/κρεμασμένο/κλειδωμένο, χρήση σκοτώσει -3 ΙάβαProcessID για να πωJava (που τρέχει Tomcat) για να κάνετε μια απόρριψη νήματος στο αρχείο καταγραφής Tomcat: τομκάτ /logs/καταλίνα.out . Μετά την επανεκκίνηση, μπορείτε να διαγνώσετε το πρόβλημα με την εύρεση των πληροφοριών απόρριψης νημάτων (και κάθε άλλη χρήσιμη πληροφορία πάνω από αυτήν) μέσα τομκάτ /logs/catalina.out και επίσης διαβάζοντας σχετικά μέρη τουERDDAP™αρχείο καταγραφής. Αν θέλετε, μπορείτε να συμπεριλάβετε αυτές τις πληροφορίες και να δείτε μαςτμήμα για τη λήψη πρόσθετης υποστήριξης.  
    4. Χρησιμοποιήστε ./sutdown. Σσσ.  
    5. Χρήση ps -ef|grep tomcat επανειλημμένα μέχρι η διαδικασία java/tomcat δεν είναι καταχωρημένη.

Μερικές φορές, η διαδικασία java/tomcat θα πάρει μέχρι δύο λεπτά για να κλείσει πλήρως. Ο λόγος είναι:ERDDAP™στέλνει ένα μήνυμα στα νήματα του φόντου του για να τους πει να σταματήσουν, αλλά μερικές φορές παίρνει αυτά τα νήματα πολύ καιρό για να φτάσουν σε ένα καλό σημείο στάσης.

  1. Αν μετά από ένα λεπτό ή έτσι, java / tomcat δεν σταματήσει από μόνη της, μπορείτε να χρησιμοποιήσετε Σκότωσε -9 ΙάβαProcessID
    να αναγκάσει τη διαδικασία java/tomcat να σταματήσει αμέσως. Αν είναι δυνατόν, χρησιμοποιήστε αυτό μόνο ως έσχατη λύση. Ο διακόπτης -9 είναι ισχυρός, αλλά μπορεί να προκαλέσει διάφορα προβλήματα.  
  2. Για επανεκκίνησηERDDAP™, χρήση ./startup.sh  
  3. ΠροβολήERDDAP™στον περιηγητή σας για να ελέγξετε ότι η επανεκκίνηση πέτυχε. (Μερικές φορές, πρέπει να περιμένεις 30 δευτερόλεπτα και να προσπαθήσεις να φορτώσεις.ERDDAP™ξανά στον browser σας για να πετύχει.)
     
  • Εάν χρησιμοποιείτε Windows:  
    1. Χρήση cd τομκάτ /Bin  
    2. Χρήσηshutdown.bat
       
    3. Ίσως θέλετε/χρειαστείτε να χρησιμοποιήσετε το διαχειριστή εργασιών των Windows (πρόσβαση μέσω Ctrl Alt Del) να εξασφαλίσει ότι ηJava/Τομκατ/ERDDAP™διαδικασία / εφαρμογή έχει σταματήσει πλήρως. Μερικές φορές, η διαδικασία / εφαρμογή θα διαρκέσει μέχρι και δύο λεπτά για να κλείσει. Ο λόγος είναι:ERDDAP™στέλνει ένα μήνυμα στα νήματα του φόντου του για να τους πει να σταματήσουν, αλλά μερικές φορές παίρνει αυτά τα νήματα πολύ καιρό για να φτάσουν σε ένα καλό σημείο στάσης.  
    4. Για επανεκκίνησηERDDAP™, χρήση startup.bat  
    5. ΠροβολήERDDAP™στον περιηγητή σας για να ελέγξετε ότι η επανεκκίνηση πέτυχε. (Μερικές φορές, πρέπει να περιμένεις 30 δευτερόλεπτα και να προσπαθήσεις να φορτώσεις.ERDDAP™ξανά στον browser σας για να πετύχει.)
       

Συχνές Συντριβές ή Παγώσεις

ΕάνERDDAP™γίνεται αργό, συντρίβεται ή παγώνει, κάτι δεν πάει καλά. Κοίτα μέσα.ERDDAPΑρχείο καταγραφήςνα προσπαθήσω να καταλάβω την αιτία. Εάν δεν μπορείτε, παρακαλούμε να συμπεριλάβετε τις λεπτομέρειες και να δείτε μαςτμήμα για τη λήψη πρόσθετης υποστήριξης.

Το πιο κοινό πρόβλημα είναι ένας ενοχλητικός χρήστης που εκτελεί διάφορα σενάρια ταυτόχρονα ή/και κάποιος που κάνει έναν μεγάλο αριθμό άκυρων αιτημάτων. Εάν συμβεί αυτό, θα πρέπει πιθανώς να μαύρη λίστα ότι ο χρήστης. Όταν ένας χρήστης της μαύρης λίστας κάνει ένα αίτημα, το μήνυμα σφάλματος στην απάντηση τους ενθαρρύνει να σας στείλουν email για να λύσετε τα προβλήματα. Στη συνέχεια, μπορείτε να τους ενθαρρύνετε να εκτελέσουν μόνο ένα σενάριο τη φορά και να διορθώσουν τα προβλήματα στο σενάριο τους (π.χ., ζητώντας δεδομένα από ένα απομακρυσμένο σύνολο δεδομένων που δεν μπορεί να ανταποκριθεί πριν από το χρονισμό) . Βλέπε [<αίτησηBlacklist> στο δικό σαςdatasets.xmlαρχείο] (/docs/server-admin/datasets#ζητώ μαύρη λίστα) .

Σε ακραίες συνθήκες,JavaΜπορεί να παγώσει για ένα ή δύο λεπτά ενώ κάνει μια πλήρη συλλογή απορριμμάτων, αλλά στη συνέχεια να ανακτήσει. Έτσι είναι καλό να περιμένουμε ένα ή δύο λεπτά για να δούμε ανJava/ERDDAP™είναι πραγματικά παγωμένο ή αν απλά κάνει μια μεγάλη συλλογή σκουπιδιών. (Αν η συλλογή σκουπιδιών είναι κοινό πρόβλημα,κατανομή περισσότερης μνήμης σε Tomcat.)

ΕάνERDDAP™γίνεται αργή ή παγώνει και το πρόβλημα δεν είναι ένας ενοχλητικός χρήστης ή μια μακριά συλλογή απορριμμάτων, μπορείτε συνήθως να λύσετε το πρόβλημα μεεπανεκκίνησηERDDAP™. Η εμπειρία μου είναι ότιERDDAP™μπορεί να τρέξει για μήνες χωρίς να χρειαστεί επανεκκίνηση.  

Παρακολούθηση

Μπορείτε να παρακολουθείτε τοERDDAPΚατάσταση με την εξέταση του/erddap/status.htmlσελίδα, ιδίως τα στατιστικά στοιχεία του ανώτερου τμήματος. ΕάνERDDAP™γίνεται αργή ή παγώνει και το πρόβλημα δεν είναι μόνο εξαιρετικά βαριά χρήση, μπορείτε συνήθως να λύσει το πρόβλημα απόεπανεκκίνησηERDDAP™. Υπάρχουν επιπλέον μετρήσεις διαθέσιμες μέσω της ενσωμάτωσης του Προμηθέα στο /erddap/metrics.

Η εμπειρία μου είναι ότιERDDAP™μπορεί να τρέξει για μήνες χωρίς να χρειαστεί επανεκκίνηση. Θα πρέπει να το επανεκκινήσετε μόνο αν θέλετε να εφαρμόσετε κάποιες αλλαγές που κάνατεERDDAPsetup.xml ή όταν πρέπει να εγκαταστήσετε νέες εκδόσεις τουERDDAP™,Java, Tomcat, ή το λειτουργικό σύστημα. Αν χρειαστεί να κάνετε επανεκκίνησηERDDAP™συχνά, κάτι δεν πάει καλά. Κοίτα μέσα.ERDDAPΑρχείο καταγραφήςνα προσπαθήσω να καταλάβω την αιτία. Εάν δεν μπορείτε, παρακαλούμε να συμπεριλάβετε τις λεπτομέρειες και να δείτε μαςτμήμα για τη λήψη πρόσθετης υποστήριξης. Ως προσωρινή λύση, μπορεί να προσπαθήσετε να χρησιμοποιήσετεΜονίτγια την παρακολούθηση σαςERDDAP™και επανεκκινήστε το αν χρειαστεί. Ή θα μπορούσες να κάνεις μια δουλειά για να ξαναρχίσεις.ERDDAP™ (προληπτικά) περιοδικά. Ίσως είναι λίγο δύσκολο να γράψεις ένα σενάριο για να αυτοματοποιήσεις την παρακολούθηση και την επανεκκίνησηERDDAP. Μερικές συμβουλές που μπορεί να βοηθήσουν:

  • Μπορείτε να απλοποιήσετε τη δοκιμή εάν η διαδικασία Tomcat εξακολουθεί να εκτελείται με τη χρήση του -c διακόπτη με greep: ps - u τομκάτ Χρήστης |grep - c java (στα Αγγλικά) Αυτό θα μειώσει την έξοδο σε "1" αν η διαδικασία τομκατ είναι ακόμα ζωντανή, ή "0" αν η διαδικασία έχει σταματήσει.  
  • Εάν είστε καλοί με το gawk, μπορείτε να εξαγάγετε το processID από τα αποτελέσματα της ps - u τομκάτ Χρήστης |grep java, και χρησιμοποιήστε το processID σε άλλες γραμμές του σεναρίου.  

Αν στήσεις Monit ή μια δουλειά cron, θα ήταν υπέροχο αν μπορούσες να μοιραστείς τις λεπτομέρειες για να ωφεληθούν άλλοι να δουν το δικό μαςτμήμα για τη λήψη πρόσθετης υποστήριξηςόπου μπορείτε να μοιραστείτε.

Περμγόνο

Αν χρησιμοποιείτε επανειλημμένα Tomcat Manager για επαναφόρτωση (ή να σταματήσει και να ξεκινήσει) ERDDAP™,ERDDAP™Μπορεί να μην ξεκινήσει και να ρίξει java.lang. Εκτός μνήμηςError: PermGen. Η λύση είναι περιοδικά (Ή κάθε φορά;) να κλείσει και να επανεκκινήσει tomcat καιERDDAP™, αντί απλά επαναφόρτωσηERDDAP. \[Ενημέρωση: Αυτό το πρόβλημα ελαχιστοποιήθηκε ή στερεώθηκε σε μεγάλο βαθμόERDDAP™έκδοση 1.24.\]
 

Καταγραφή

  • log.txt
    ΕάνERDDAP™δεν ξεκινά ή αν κάτι δεν λειτουργεί όπως αναμένεται, είναι πολύ χρήσιμο να εξετάσουμε το σφάλμα και τα διαγνωστικά μηνύματα στοERDDAP™Αρχείο καταγραφής.
  • Το αρχείο καταγραφής είναι bigParentΚατάλογος /logs/log.txt ( bigParentΚατάλογος προσδιορίζεται στοsetup.xml) . Αν δεν υπάρχει κούτσουρο. txt αρχείο ή αν η καταγραφή. Το αρχείο txt δεν έχει ενημερωθεί από την επανεκκίνησηERDDAP™, κοιτάξτε στοΑρχεία καταγραφής Tomcatγια να δείτε αν υπάρχει κάποιο μήνυμα σφάλματος εκεί.
  • Τύποι διαγνωστικών μηνυμάτων στο αρχείο καταγραφής:
    • Η λέξη "τρομοκρατία" χρησιμοποιείται όταν κάτι πήγε τόσο στραβά που η διαδικασία απέτυχε να ολοκληρωθεί. Αν και είναι ενοχλητικό να πάρει ένα λάθος, το σφάλμα σας αναγκάζει να ασχοληθεί με το πρόβλημα. Η σκέψη μας είναι ότι είναι καλύτερο να ρίχνουμε ένα λάθος, παρά να έχουμεERDDAP™Χώμπλερ, δουλεύοντας με τρόπο που δεν περίμενες.
    • Η λέξη "προειδοποίηση" χρησιμοποιείται όταν κάτι πήγε στραβά, αλλά η διαδικασία ήταν σε θέση να ολοκληρωθεί. Αυτά είναι αρκετά σπάνια.
    • Οτιδήποτε άλλο είναι απλά ένα ενημερωτικό μήνυμα. Μπορείτε να ελέγξετε πόσες πληροφορίες είναι συνδεδεμένο με [<logLevel>] (/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δεν είναι ενεργοποιημένο) .
  • Όταν τα αρχεία καταγραφής.txt φτάσουν στα 20 MB, το αρχείο μετονομάστηκε σε αρχείο καταγραφής. txt.προηγούμενο και δημιουργείται ένα νέο αρχείο καταγραφής.txt. Τα αρχεία καταγραφής δεν συσσωρεύονται.

Στη ρύθμιση.xml, μπορείτε να καθορίσετε ένα διαφορετικό μέγιστο μέγεθος για το αρχείο καταγραφής, στο MegaBytes. Το ελάχιστο επιτρεπόμενο είναι 1 (MB) . Το μέγιστο επιτρεπόμενο όριο είναι το 2000 (MB) . Η προεπιλογή είναι 20 (MB) . Για παράδειγμα:

        <logMaxSizeMB>20</logMaxSizeMB>
  • Όποτε κάνετε επανεκκίνησηERDDAP™, ERDDAP™κάνει ένα αντίγραφο αρχειοθέτησης του αρχείου καταγραφής.txt και καταγραφής. Txt.προηγούμενα αρχεία με χρονική σφραγίδα στο όνομα του αρχείου. Αν υπήρχε πρόβλημα πριν την επανεκκίνηση, μπορεί να είναι χρήσιμο να αναλύσουμε αυτά τα αρχειοθετημένα αρχεία για ενδείξεις σχετικά με το τι ήταν το πρόβλημα. Μπορείτε να διαγράψετε τα αρχεία αρχειοθήκης αν δεν είναι πλέον αναγκαία.  
Αναλυτικό αρχείο καταγραφής.txt

ERDDAPΤο ημερολόγιο. Το αρχείο txt δεν έχει σχεδιαστεί για ανάλυση (αν και μπορεί να είστε σε θέση να δημιουργήσετε κανονικές εκφράσεις που εξάγουν επιθυμητές πληροφορίες) . Έχει σχεδιαστεί για να βοηθήσει έναν άνθρωπο να καταλάβει τι συμβαίνει όταν κάτι πάει στραβά. Όταν υποβάλλετε ένα σφάλμα ή μια αναφορά προβλήματος σεERDDAP™προγραμματιστές, όταν είναι δυνατόν, παρακαλούμε να συμπεριλάβετε όλες τις πληροφορίες από το αρχείο log.txt που σχετίζονται με το ενοχλητικό αίτημα.

Για λόγους αποδοτικότητας,ERDDAP™γράφει μόνο πληροφορίες για καταγραφή. Txt μετά από ένα μεγάλο κομμάτι των πληροφοριών έχει συσσωρευτεί. Οπότε, αν επισκεφτείς το ημερολόγιο. txt αμέσως μετά την εμφάνιση ενός σφάλματος, οι πληροφορίες που σχετίζονται με το σφάλμα μπορεί να μην έχουν ακόμα γραφτεί για την καταγραφή.txt. Για να λάβετε πλήρως ενημερωμένες πληροφορίες από το log.txt, επισκεφθείτε τοERDDAPΣσελίδα status.html. ΠότεERDDAP™διαδικασίες που ζητούν, ξεπλένει όλες τις εκκρεμείς πληροφορίες για να συνδεθείτε.txt.

ΓιαERDDAP™στατιστικά στοιχεία χρήσης, παρακαλώ χρησιμοποιήστε τοΑρχεία καταγραφής Apache ή/και Tomcatαντί γιαERDDAPΤο ημερολόγιο. Σημειώστε ότιERDDAPΣσελίδα status.html (μερικά) καιΗμερήσια έκθεση (περισσότερο) έχουν προυπολογιστεί για εσάς ένας μεγάλος αριθμός στατιστικών χρήσης.

Καταγραφές Tomcat

ΕάνERDDAP™δεν ξεκινά επειδή ένα σφάλμα συνέβη πολύ νωρίς στοERDDAPΗ εκκίνηση, το μήνυμα σφάλματος θα εμφανιστεί στα αρχεία καταγραφής του Tomcat ( τομκάτ /λογισμοί/καταλίνα. σήμερα log ή τομκάτ /logs/καταλίνα.out) , όχι μέσαERDDAPΑρχείο καταγραφής txt.

Στατιστικά χρήσης: Για τις περισσότερες πληροφορίες που οι άνθρωποι θέλουν να συλλέξουν από ένα αρχείο καταγραφής (π.χ. στατιστικά στοιχεία χρήσης) , παρακαλώ χρησιμοποιήστε τα αρχεία καταγραφής Apache ή / και Tomcat. Είναι όμορφα σχηματοποιημένα και έχουν αυτόν τον τύπο πληροφοριών. Υπάρχουν πολλά εργαλεία για την ανάλυση τους, για παράδειγμα,Καταστάσεις,Κιμπάνα Ελαστικής Αναζήτησης, καιJMeter, αλλά αναζητήστε το διαδίκτυο για να βρείτε το σωστό εργαλείο για τους σκοπούς σας.

Σημειώστε ότι τα αρχεία καταγραφής προσδιορίζουν μόνο τους χρήστες ως διευθύνσεις IP. Υπάρχουν ιστοσελίδες για να σας βοηθήσουν να πάρετε πληροφορίες σχετικά με μια δεδομένη διεύθυνση IP, π.χ.,Τι είναι η Address MyIP, αλλά κανονικά δεν θα μπορείτε να βρείτε το όνομα του χρήστη.

Επίσης, λόγω τηςDHCP, η διεύθυνση IP ενός συγκεκριμένου χρήστη μπορεί να είναι διαφορετική σε διαφορετικές ημέρες, ή διαφορετικοί χρήστες μπορεί να έχουν την ίδια διεύθυνση IP σε διαφορετικές ώρες.

Εναλλακτικά, μπορείτε να χρησιμοποιήσετε κάτι σανΑνάλυση Google. Αλλά προσέξτε: όταν χρησιμοποιείτε εξωτερικές υπηρεσίες όπως το Google Analytics, εγκαταλείπετε το απόρρητο των χρηστών σας δίνοντας στην Google πλήρη πρόσβαση στη δραστηριότητά τους στην ιστοσελίδα σας την οποία Google (Και άλλοι;) μπορεί να κρατήσει για πάντα και να χρησιμοποιήσει για οποιοδήποτε σκοπό (Ίσως όχι τεχνικά, αλλά πιθανόν στην πράξη) . Οι χρήστες σας δεν έχουν συναινέσει σε αυτό και πιθανότατα δεν γνωρίζουν ότι θα εντοπιστούν στην ιστοσελίδα σας, ακριβώς όπως πιθανότατα δεν γνωρίζουν τον βαθμό που εντοπίζονται σε όλες σχεδόν τις ιστοσελίδες. Αυτές τις μέρες, πολλοί χρήστες ανησυχούν πολύ ότι ό, τι κάνουν στο διαδίκτυο παρακολουθείται από αυτές τις μεγάλες εταιρείες (Google, Facebook, κλπ.) και από την κυβέρνηση, και βρείτε αυτό μια αδικαιολόγητη εισβολή στη ζωή τους (Όπως και στο βιβλίο, 1984) . Αυτό έχει οδηγήσει πολλούς χρήστες να εγκαταστήσετε προϊόντα όπωςΑσβός προσωπικών δεδομένωνγια την ελαχιστοποίηση της παρακολούθησης, για τη χρήση εναλλακτικών προγραμμάτων περιήγησης όπωςΠεριηγητής Tor (ή να απενεργοποιήσετε την παρακολούθηση σε παραδοσιακούς περιηγητές) , και να χρησιμοποιήσει εναλλακτικές μηχανές αναζήτησης όπωςΠάπια Πάπια Go. Εάν χρησιμοποιείτε μια υπηρεσία όπως η Google Analytics, παρακαλούμε τουλάχιστον να τεκμηριώσετε τη χρήση της και τις συνέπειες με την αλλαγή της<standardPrivacyPolicy> tag inERDDAPΣ \[τομκάτ\]/webapps/erddap/WEB-INF/classes/gov/noaa/pfel/erddap/util/messages.xml αρχείο.

Καταγραφή e-mail

  • emailLogYEAR-MM-DD.txt
    ERDDAP™γράφει πάντα το κείμενο όλων των εξωτερικών μηνυμάτων ηλεκτρονικού ταχυδρομείου στο email της τρέχουσας ημέρας Αρχείο LogYEAR-MM-DD.txt στο bigParentΚατάλογος logs ( bigParentΚατάλογος προσδιορίζεται στοsetup.xml) .
  • Αν ο διακομιστής δεν μπορεί να στείλει μηνύματα email, ή αν έχετε ρυθμίσειERDDAP™να μην στείλετε μηνύματα ηλεκτρονικού ταχυδρομείου, ή αν είστε απλά περίεργοι, αυτό το αρχείο είναι ένας βολικός τρόπος για να δείτε όλα τα μηνύματα ηλεκτρονικού ταχυδρομείου που έχουν σταλεί.
  • Μπορείτε να διαγράψετε τα αρχεία καταγραφής email των προηγούμενων ημερών αν δεν είναι πλέον αναγκαία.  

Ημερήσια έκθεση

Η Daily Report έχει πολλές χρήσιμες πληροφορίες -- όλες τις πληροφορίες από εσάςERDDAPΣ/erddap/status.htmlσελίδακαι περισσότερα.

  • Είναι η πιο πλήρης περίληψη σαςERDDAPΚατάσταση.
  • Μεταξύ άλλων στατιστικών, περιλαμβάνει μια λίστα συνόλων δεδομένων που δεν φορτώνουν και τις εξαιρέσεις που δημιούργησαν.
  • Δημιουργείται όταν ξεκινάτεERDDAP™ (αμέσως μετάERDDAP™τελειώνει προσπαθώντας να φορτώσει όλα τα σύνολα δεδομένων) και παράγεται σύντομα μετά τις 7 π.μ. τοπική ώρα κάθε πρωί.
  • Κάθε φορά που δημιουργείται, είναι γραμμένο σεERDDAPΑρχείο καταγραφής txt.
  • Κάθε φορά που δημιουργείται, αποστέλλεται με email<emailDailyReportsT> και<Αποστολή στα πάντα Στο> (που προσδιορίζονται στοsetup.xml) υπό την προϋπόθεση ότι έχετε δημιουργήσει το σύστημα email (σε setup.xml) .

Σελίδα κατάστασης

Μπορείτε να δείτε την κατάσταση τουERDDAP™από οποιοδήποτε πρόγραμμα περιήγησης<βάσηUrl>/erddap/status.html

  • Αυτή η σελίδα δημιουργείται δυναμικά, έτσι ώστε να έχει πάντα μέχρι στιγμής στατιστικά στοιχεία για σαςERDDAP.
  • Περιλαμβάνει στατιστικά στοιχεία σχετικά με τον αριθμό των αιτημάτων, τη χρήση μνήμης, τα ίχνη στοίβας νημάτων, το taskThread, κλπ.
  • Επειδή η σελίδα κατάστασης μπορεί να προβληθεί από οποιονδήποτε, δεν περιλαμβάνει αρκετά πολλές πληροφορίες όπως ηΗμερήσια έκθεση.  

Προσθήκη/αλλαγή συνόλων δεδομένων

ERDDAP™συνήθως ξαναδιαβάσειςdatasets.xmlκάθε φόρτωσηΣτοιχεία δεδομένωνminutes (προσδιορίζονται στοsetup.xml) . Έτσι μπορείτε να κάνετε αλλαγές σεdatasets.xmlοποιαδήποτε στιγμή, ακόμη και ότανERDDAP™τρέχει. Ένα νέο σύνολο δεδομένων θα ανιχνευθεί σύντομα, συνήθως μέσα φόρτωσηΣτοιχεία δεδομένωνminutes . Ένα αλλαγμένο σύνολο δεδομένων θα επαναφορτωθεί όταν είναι επαναφόρτωση όλων των λεπτών παλιά (όπως προσδιορίζεται στοdatasets.xml) .

Σημαία

  • Αρχείο σημαίαςΣημειώσειςERDDAP™Για να προσπαθήσετε να επαναφορτώσετε ένα σύνολο δεδομένων όσο το δυνατόν συντομότερα

  • ERDDAP™δεν θα παρατηρήσετε καμία αλλαγή στη ρύθμιση ενός συνόλου δεδομένων σεdatasets.xmlέωςERDDAP™επαναφορτώνει το σύνολο δεδομένων.  

  • Για να πωERDDAP™να επαναφορτώσει ένα σύνολο δεδομένων το συντομότερο δυνατόν (πριν από το σύνολο δεδομένων)<reloadEveryNMinutes> θα προκαλούσε την επαναφόρτωσή του), βάλτε ένα αρχείο bigParentΚατάλογος /σημαία ( bigParentΚατάλογος προσδιορίζεται στοsetup.xml) που έχει το ίδιο όνομα με το σύνολο δεδομένωνdatasetID. Αυτό λέειERDDAP™να προσπαθήσουμε να ξαναφορτώσουμε το σύνολο δεδομένων το συντομότερο δυνατόν. Η παλιά έκδοση του συνόλου δεδομένων θα παραμείνει διαθέσιμη στους χρήστες μέχρι η νέα έκδοση να είναι διαθέσιμη και να ανταλλάξει ατομικά στη θέση της. ΓιαEDDGridΑπό αρχεία και πίνακα EDD FromFiles, το σύνολο δεδομένων επαναφόρτωσης θα αναζητήσει νέα ή αλλαγμένα αρχεία, θα τα διαβάσει και θα τα ενσωματώσει στο σύνολο δεδομένων. Έτσι ο χρόνος επαναφόρτωσης εξαρτάται από τον αριθμό των νέων ή τροποποιημένων αρχείων. Εάν το σύνολο δεδομένων έχει ενεργό="ψευδής",ERDDAP™θα αφαιρέσει το σύνολο δεδομένων.  

Σημαία κακών αρχείων
  • Μία παραλλαγή του καταλόγου /flag είναι ο κατάλογος /badFilesFlag. (ΠροστέθηκεERDDAP™v2.12.)
    Εάν βάλετε ένα αρχείο στο bigParentΚατάλογος /badFilesFlag κατάλογος με έναdatasetIDως όνομα αρχείου (το περιεχόμενο του αρχείου δεν έχει σημασία) , τότε αμέσως μόλιςERDDAP™βλέπει τους κακούς φακέλους Αρχείο σημαίας,ERDDAP™Θα:

    1. Διαγραφή του αρχείου badFilesFlag.
    2. Διαγραφή των κακών αρχείων.ncαρχείο (αν υπάρχει) , η οποία έχει τη λίστα των κακών αρχείων για το σύνολο δεδομένων. Για σύνολα δεδομένων όπωςEDDGridSideBySide που έχουν παιδιάDatasets, αυτό επίσης διαγράφει τα κακάΑρχεία.ncαρχείο για όλα τα σύνολα δεδομένων παιδιών.
    3. Επαναφόρτωση του συνόλου δεδομένων το συντομότερο δυνατόν.

Έτσι, αυτό προκαλείERDDAP™να προσπαθήσει ξανά να συνεργαστεί με τα αρχεία προηγουμένως (Λάθος;) Σημαδεμένος ως κακός.  

Σκληρή σημαία
  • Μια άλλη παραλλαγή του καταλόγου /flag είναι ο κατάλογος /hardFlag. (ΠροστέθηκεERDDAP™v1.74.)
    Αν βάλετε ένα αρχείο bigParentΚατάλογος /σκληρή πλάκα με έναdatasetIDως όνομα αρχείου (το περιεχόμενο του αρχείου δεν έχει σημασία) , τότε αμέσως μόλιςERDDAP™βλέπει το σκληρό Αρχείο σημαίας,ERDDAP™Θα:

    1. Διαγραφή του αρχείου hardFlag.
    2. Αφαίρεση του συνόλου δεδομένων απόERDDAP.
    3. Διαγραφή όλων των πληροφοριών πουERDDAP™έχει αποθηκευτεί σχετικά με αυτό το σύνολο δεδομένων. ΓιαEDDGridΑπό αρχεία και πίνακα EDD FromFiles subclasses, αυτό διαγράφει την εσωτερική βάση δεδομένων των αρχείων δεδομένων και των περιεχομένων τους. Για σύνολα δεδομένων όπωςEDDGridSideBySide που έχουν παιδιάDatasets, αυτό επίσης διαγράφει την εσωτερική βάση δεδομένων των αρχείων δεδομένων και το περιεχόμενό τους για όλα τα σύνολα δεδομένων παιδιών.
    4. Ξαναφόρτωσε το σύνολο δεδομένων. ΓιαEDDGridΑπό αρχεία και πίνακα EDD Από αρχεία υποκλάσεις, αυτό προκαλείERDDAP™για να ξαναδιαβάσει όλα των αρχείων δεδομένων. Έτσι, ο χρόνος επαναφόρτωσης εξαρτάται από τον συνολικό αριθμό των αρχείων δεδομένων στο σύνολο δεδομένων. Επειδή το σύνολο δεδομένων είχε αφαιρεθεί απόERDDAP™όταν το hardFlag έγινε αντιληπτό, το σύνολο δεδομένων δεν θα είναι διαθέσιμο μέχρι να ολοκληρωθεί η επαναφόρτωση του συνόλου δεδομένων. Κάνε υπομονή. Κοιτάξτε στοlog.txtαρχειοθετείτε αν θέλετε να δείτε τι συμβαίνει.

Η παραλλαγή hardFlag διαγράφει τις αποθηκευμένες πληροφορίες του συνόλου δεδομένων ακόμα και αν το σύνολο δεδομένων δεν είναι φορτωμένο επί του παρόντοςERDDAP.

Σκληρό Οι σημαίες είναι πολύ χρήσιμες όταν κάνεις κάτι που προκαλεί μια αλλαγή στο πώςERDDAP™διαβάζει και ερμηνεύει τα δεδομένα πηγής, για παράδειγμα, όταν εγκαταστήσετε μια νέα έκδοση τουERDDAP™ή όταν έχετε κάνει μια αλλαγή στον ορισμό ενός συνόλου δεδομένων στοdatasets.xml

  • Τα περιεχόμενα της σημαίας, των κακών ΑρχείωνFlag, και των σκληρών αρχείων Flag είναι άσχετα.ERDDAP™απλά κοιτάζει το όνομα του αρχείου για να πάρει τοdatasetID.  
  • Μεταξύ σημαντικών επαναφορτισμών συνόλου δεδομένων,ERDDAP™ψάχνει συνεχώς για σημαία, badFilesFlag, και σκληρά αρχεία Flag.  
  • Σημειώστε ότι όταν ένα σύνολο δεδομένων επαναφορτώνεται, όλα τα αρχεία στο bigParentΚατάλογος /κρύπτη/ datasetID ο κατάλογος διαγράφεται. Αυτό περιλαμβάνει.ncκαι αρχεία εικόνων που συνήθως είναι κρυμμένα για ~15 λεπτά.  
  • Σημειώστε ότι εάν το σύνολο δεδομένων περιλαμβάνει xmlενεργό="ψευδής", μια σημαία θα προκαλέσει το σύνολο δεδομένων να γίνει ανενεργό (εάν είναι ενεργό) , και σε κάθε περίπτωση, δεν επαναφορτώνεται.  
  • Όποτε θες.ERDDAP™εκτελεί το LoadDatasets για να κάνει μια σημαντική επαναφόρτωση (η χρονομετρημένη επαναφόρτωση ελέγχεται από<φόρτωσηΣτοιχεία δεδομένωνMinutes>) ή μια μικρή επαναφόρτωση (ως αποτέλεσμα εξωτερικής ή εσωτερικής σημαίας) ,ERDDAP™διαβάζει όλα<αποσυμπιεσμένοCacheMaxGB>,<αποσυμπιεσμένοCacheMaxMinutesOld>,<χρήστη>,<αίτησηBlacklist>,<αργάDownTroubleMillis>, και<συνδρομήEmailBlacklist> ετικέτες και διακόπτες στις νέες ρυθμίσεις. Έτσι μπορείτε να χρησιμοποιήσετε μια σημαία για να πάρετεERDDAP™να παρατηρήσετε αλλαγές σε αυτές τις ετικέτες το συντομότερο δυνατόν.
Ορισμός σημαίας συνόλου δεδομένων
  • ERDDAP™έχει μια υπηρεσία ιστού, έτσι ώστε οι σημαίες μπορούν να οριστούν μέσω URL.

    • Για παράδειγμα, https://coastwatch.pfeg.noaa.gov/erddap/setDatasetFlag.txt?datasetID=rPmelTao&flagKey=123456789
      (Αυτή είναι ψεύτικη σημαία. Κλειδί) θα ορίσει μια σημαία για το σύνολο δεδομένων rPmelTao.
    • Υπάρχει μια διαφορετική σημαίαKey για κάθεdatasetID.
    • Οι διαχειριστές μπορούν να δουν μια λίστα με URL σημαίας για όλα τα σύνολα δεδομένων κοιτάζοντας το κάτω μέρος τουςΗμερήσια έκθεσηmail.
    • Οι διαχειριστές θα πρέπει να αντιμετωπίζουν αυτές τις διευθύνσεις URL ως εμπιστευτικές, δεδομένου ότι δίνουν σε κάποιον το δικαίωμα να επαναφέρει ένα σύνολο δεδομένων κατά βούληση.
    • Αν νομίζετε ότι τα κλειδιά της σημαίας έχουν πέσει στα χέρια κάποιου που τους κακοποιεί, μπορείτε να αλλάξετε<σημαίαKeykey> insetup.xmlκαι επανεκκίνησηERDDAPστη βίαERDDAP™για να δημιουργήσετε και να χρησιμοποιήσετε ένα διαφορετικό σύνολο κλειδιών σημαίας.
    • Αν αλλάξεις<σημαίαKeyKey>, διαγραφή όλων των παλαιών συνδρομών (δείτε τη λίστα στην Καθημερινή Αναφορά σας) και θυμηθείτε να στείλετε τα νέα URL στους ανθρώπους που θέλετε να τα έχετε.

Το σύστημα σημαίας μπορεί να χρησιμεύσει ως βάση για έναν αποτελεσματικότερο μηχανισμό για την αφήγησηERDDAP™πότε να φορτώσετε εκ νέου ένα σύνολο δεδομένων. Για παράδειγμα, θα μπορούσατε να ορίσετε ένα σύνολο δεδομένων<reloadEveryNMinutes> σε μεγάλο αριθμό (π.χ. 10080 = 1 εβδομάδα) . Μετά, όταν ξέρεις ότι το σύνολο δεδομένων έχει αλλάξει (Ίσως επειδή πρόσθεσες ένα αρχείο στον κατάλογο δεδομένων του συνόλου δεδομένων.) , να θέσει μια σημαία έτσι ώστε το σύνολο δεδομένων επαναφορτώνεται το συντομότερο δυνατόν. Οι σημαίες συνήθως φαίνονται γρήγορα. Αλλά αν το νήμα LoadDatasets είναι ήδη απασχολημένο, μπορεί να είναι λίγο πριν είναι διαθέσιμο να δράσει στη σημαία. Αλλά το σύστημα σημαίας είναι πολύ πιο ανταποκρίνεται και πολύ πιο αποτελεσματική από ό, τι ο καθορισμός<reloadEveryNMinutes> σε ένα μικρό αριθμό.

Αφαίρεση συνόλων δεδομένων

Εάν ένα σύνολο δεδομένων είναι ενεργόERDDAP™και θέλετε να το απενεργοποιήσετε προσωρινά ή μόνιμα:

  1. Μέσαdatasets.xmlγια το σύνολο δεδομένων, σύνολοενεργό="ψευδής"στην ετικέτα του συνόλου δεδομένων.
  2. Περίμενε.ERDDAP™για την αφαίρεση του συνόλου δεδομένων κατά την επόμενη σημαντική επαναφόρτωση ήθέση σημαίαςγια να πει το σύνολο δεδομένωνERDDAP™να παρατηρήσετε αυτή την αλλαγή το συντομότερο δυνατόν. Όταν το κάνεις αυτό,ERDDAP™δεν πετάει καμία πληροφορία που μπορεί να έχει αποθηκεύσει για το σύνολο δεδομένων και σίγουρα δεν κάνει τίποτα στα πραγματικά δεδομένα.
  3. Στη συνέχεια, μπορείτε να αφήσετε το ενεργό=" false" σύνολο δεδομένωνdatasets.xmlή να το αφαιρέσετε.  

Πότε επαναφορτώνονται τα Datasets;

Ένα νήμα που ονομάζεται RunLoadDatasets είναι το κύριο νήμα που ελέγχει όταν επαναφορτώνονται τα σύνολα δεδομένων. Διαδρομή Τα σύνολα δεδομένων βρόχους για πάντα:

  1. Το RunLoadDatasets σημειώνει την τρέχουσα ώρα.

  2. RunLoadDatasets ξεκινά ένα νήμα φορτίωνDatasets για να κάνει μια " majorLoad". Μπορείτε να δείτε πληροφορίες σχετικά με την τρέχουσα/προηγούμενη μεγάλη θέση στην κορυφή τουERDDAPΣ /erddap/status.htmlσελίδα (για παράδειγμα,παράδειγμα σελίδας κατάστασης) .

    1. Φόρτωση συνόλων δεδομένωνdatasets.xml.
    2. Το LoadDatasets διαβάζει μέσω του αντιγράφου τουdatasets.xmlκαι, για κάθε σύνολο δεδομένων, βλέπει αν το σύνολο δεδομένων πρέπει να είναι (οπ) φορτώνεται ή αφαιρείται.
      • Εάν ασημαίααρχείο υπάρχει για αυτό το σύνολο δεδομένων, το αρχείο διαγράφεται και το σύνολο δεδομένων αφαιρείται εάν ενεργό="ψευδής" ή (οπ) φορτωμένο εάν ενεργό =" true" (ανεξάρτητα από την ηλικία του συνόλου δεδομένων) .
      • Εάν το σύνολο δεδομένων.xml κομμάτι έχει ενεργό="ψευδής" και το σύνολο δεδομένων φορτώνεται σήμερα (ενεργό) , είναι ξεφορτωμένο (αφαίρεση) .
      • Εάν το σύνολο δεδομένων έχει ενεργό="αλήθεια" και το σύνολο δεδομένων δεν είναι ήδη φορτωμένο, φορτώνεται.
      • Εάν το σύνολο δεδομένων έχει ενεργό="αλήθεια" και το σύνολο δεδομένων έχει ήδη φορτωθεί, το σύνολο δεδομένων επαναφορτίζεται εάν η ηλικία του συνόλου δεδομένων (χρόνος από την τελευταία φόρτωση) είναι μεγαλύτερη από την<επαναφόρτωση Κάθε λεπτό> (προεπιλογή = 10080 λεπτά) , διαφορετικά, το σύνολο δεδομένων αφήνεται μόνο του.
    3. Η φόρτωση δεδομένων τελειώνει.

Το νήμα RunLoadDatasets περιμένει το νήμα LoadDatasets να τελειώσει. Αν το σύνολο φορτίων απαιτεί περισσότερο χρόνο από το φορτίο Λεπτά λεπτά (όπως ορίζεται στο setup.xml) , RunLoadDatasets διακόπτει το νήμα LoadDatasets. Ιδανικά, το LoadDatasets παρατηρεί τη διακοπή και τελειώνει. Αλλά αν δεν παρατηρήσει τη διακοπή μέσα σε ένα λεπτό, RunLoadDatasets καλεί φόρτωσηDatasets. Σταμάτημα () , το οποίο είναι ανεπιθύμητο. 3. Ενώ ο χρόνος από την έναρξη του τελευταίου μείζονοςLoad είναι μικρότερος από το φορτίοDatasets Λεπτά λεπτά (όπως ορίζεται στο setup.xml, π.χ., 15 λεπτά) , RunLoadDatasets επανειλημμένα ψάχνει γιασημαίααρχεία στο bigParentΚατάλογος Κατάλογος σημαδιών. Εάν βρεθεί ένα ή περισσότερα αρχεία σημαίας, διαγράφονται, και RunLoadDatasets ξεκινά ένα νήμα φορτίωνDatasets για να κάνει ένα "minorLoad" (majorLoad=ψευδής) . Δεν μπορείτε να δείτε μικρές πληροφορίες Load σαςERDDAPΣ/erddap/status.htmlσελίδα.

  1. Φόρτωση συνόλων δεδομένωνdatasets.xml.
  2. Το LoadDatasets διαβάζει μέσω του αντιγράφου τουdatasets.xmlκαι, για κάθε σύνολο δεδομένων για το οποίο υπήρχε αρχείο σημαίας:
    • Εάν το σύνολο δεδομένων.xml κομμάτι έχει ενεργό="ψευδής" και το σύνολο δεδομένων φορτώνεται σήμερα (ενεργό) , είναι ξεφορτωμένο (αφαίρεση) .
    • Εάν το σύνολο δεδομένων έχει ενεργό="αλήθεια", το σύνολο δεδομένων είναι (οπ) φορτωμένο, ανεξάρτητα από την ηλικία του. Τα σύνολα δεδομένων που δεν έχουν σφραγιστεί αγνοούνται.
  3. Η φόρτωση δεδομένων τελειώνει.
  4. Διαδρομή Τα Datasets επιστρέφουν στο 1ο βήμα.

Σημειώσεις:

  • Εκκίνηση Όταν κάνετε επανεκκίνησηERDDAP™, κάθε σύνολο δεδομένων με ενεργό=" true" φορτώνεται.

  • λανθάνουσα μνήμη Όταν ένα σύνολο δεδομένων είναι (οπ) φορτωμένο, λανθάνουσα μνήμη του (συμπεριλαμβανομένων τυχόν αρχείων απόκρισης δεδομένων ή/και αρχείων εικόνας) είναι άδειο.

  • Πολλά Datasets Εάν έχετε πολλά σύνολα δεδομένων ή/και ένα ή περισσότερα σύνολα δεδομένων αργούν να (οπ) φορτίο, ένα νήμα φορτίων μπορεί να πάρει πολύ χρόνο για να τελειώσει το έργο του, ίσως ακόμη και περισσότερο από το φορτίοDatasets Λίγα λεπτά.

  • Ένα νήμα φορτωμένων δεδομένων Δεν υπάρχει ποτέ πάνω από ένα νήμα LoadDatasets να τρέχει ταυτόχρονα. Εάν μια σημαία οριστεί όταν το LoadDatasets είναι ήδη σε λειτουργία, η σημαία πιθανότατα δεν θα γίνει αντιληπτή ή δεν θα ενεργοποιηθεί μέχρι να ολοκληρωθεί το thread του LoadDatasets. YouΑυτό είναι ηλίθιο. Γιατί δεν ξεκινάς ένα σωρό νέα νήματα για να φορτώσεις σύνολα δεδομένων; Αλλά αν έχετε πολλά σύνολα δεδομένων που παίρνουν δεδομένα από έναν απομακρυσμένο εξυπηρετητή, ακόμη και ένα νήμα LoadDatasets θα θέσει σημαντική πίεση στον απομακρυσμένο εξυπηρετητή. Το ίδιο ισχύει αν έχετε πολλά σύνολα δεδομένων που παίρνουν δεδομένα από τα αρχεία σε ένα RAID. Υπάρχουν ταχέως μειωμένες αποδόσεις από την ύπαρξη περισσότερων από ένα νημάτων LoadDatasets.

  • Σημαία = το συντομότερο δυνατόν Θέτοντας μια σημαία μόνο σήματα ότι το σύνολο δεδομένων θα πρέπει να (οπ) φορτώθηκε το συντομότερο δυνατόν, όχι απαραίτητα αμέσως. Εάν δεν εκτελείται αυτή τη στιγμή το νήμα του συνόλου δεδομένων φόρτωσηςDatasets, το σύνολο δεδομένων θα αρχίσει να επαναφορτώνεται μέσα σε λίγα δευτερόλεπτα. Αλλά αν ένα νήμα LoadDatasets εκτελείται αυτή τη στιγμή, το σύνολο δεδομένων πιθανότατα δεν θα επαναφορτωθεί μέχρι να τελειώσει το νήμα LoadDatasets.

  • Το αρχείο σημαίας διαγράφηκε Γενικά, αν βάλετε ένα αρχείο σημαίας στο bigParentΚατάλογος Κατάλογος /erddap/flag (με επίσκεψη στη σημαία του συνόλου δεδομένων Url ή βάζοντας ένα πραγματικό αρχείο εκεί) , το σύνολο δεδομένων θα επαναφορτωθεί συνήθως πολύ σύντομα μετά τη διαγραφή του αρχείου σημαίας.

  • Σημαία έναντι μικρής επαναφόρτωσης Κάθε λεπτό Εάν έχετε κάποιο εξωτερικό τρόπο να γνωρίζετε πότε ένα σύνολο δεδομένων πρέπει να επαναφορτωθεί και αν είναι βολικό για εσάς, ο καλύτερος τρόπος για να βεβαιωθείτε ότι ένα σύνολο δεδομένων είναι πάντα ενημερωμένο είναι να ρυθμίσετε την επαναφόρτωσή του Κάθε λεπτό σε μεγάλο αριθμό (10080;) και να θέσει σημαία (μέσω σεναρίου;) όποτε χρειάζεται να ξαναγεμίσει. Αυτό είναι το σύστημα πουEDDGridΑπό το Erddap και το EDDTableFromErddap λαμβάνουν μηνύματα ότι το σύνολο δεδομένων πρέπει να επαναφορτωθεί.

  • Κοιτάξτε στο log.txt Πολλές σχετικές πληροφορίες έχουν γραφτεί στο bigParentΚατάλογος Αρχείο /logs/log.txt. Αν τα πράγματα δεν λειτουργούν όπως περιμένεις, κοιτάζοντας τον κορμό. txt σας επιτρέπει να διαγνώσετε το πρόβλημα με την εύρεση ακριβώς τιERDDAP™Ναι.

    • Αναζήτηση for majorLoad=true" για την έναρξη των μεγάλων νημάτων LoadDataset.

    • Αναζήτηση για " majorLoad=ψευδής" για την έναρξη των μικρών threads LoadDatasets.

    • Αναζήτηση ενός δοσμένου συνόλου δεδομένωνdatasetIDγια πληροφορίες σχετικά με αυτό (οπ) φορτωμένο ή queried.

       

Ακυρωμένες Απαντήσεις

Γενικά,ERDDAP™δεν αποθηκεύει (Αποθήκευση) απαντήσεις στα αιτήματα των χρηστών. Το σκεπτικό ήταν ότι τα περισσότερα αιτήματα θα ήταν ελαφρώς διαφορετικά ώστε η κρύπτη να μην είναι πολύ αποτελεσματική. Οι μεγαλύτερες εξαιρέσεις είναι οι αιτήσεις για αρχεία εικόνας (τα οποία είναι κρυμμένα από περιηγητές και προγράμματα όπωςGoogle Earthσυχνά re-ζητούν εικόνες) και αιτήσεις για.ncαρχεία (Γιατί δεν μπορούν να δημιουργηθούν κατά την πτήση.) .ERDDAP™αποθηκεύει τα αποθηκευμένα αρχεία κάθε συνόλου δεδομένων σε διαφορετικό κατάλογο: bigParentΚατάλογος - Ναι. datasetID δεδομένου ότι ένας ενιαίος κατάλογος cache μπορεί να έχει ένα τεράστιο αριθμό αρχείων που μπορεί να γίνει αργή στην πρόσβαση. Τα αρχεία αφαιρούνται από την κρύπτη για έναν από τους τρεις λόγους:

  • Όλα τα αρχεία σε αυτή την κρύπτη διαγράφονται ότανERDDAP™επανεκκινήθηκε.
  • Περιοδικά, κάθε αρχείο περισσότερο από<λανθάνουσα μνήμηMinutes> παλιά (όπως προσδιορίζεται στοsetup.xml) θα διαγραφεί. Αφαίρεση αρχείων στην κρύπτη με βάση την ηλικία (δεν χρησιμοποιείται λιγότερο πρόσφατα) εξασφαλίζει ότι τα αρχεία δεν θα παραμείνουν στην κρύπτη πολύ καιρό. Αν και μπορεί να φαίνεται ότι ένα δεδομένο αίτημα πρέπει πάντα να επιστρέφει την ίδια απάντηση, αυτό δεν είναι αλήθεια. Για παράδειγμα, αtabledapαίτημα που περιλαμβάνει & χρόνο> μερικά Χρόνος θα αλλάξει εάν καταφθάσουν νέα δεδομένα για το σύνολο δεδομένων. Και ένα αίτημα που περιλαμβάνει\[τελευταίο\]για τη χρονική διάσταση θα αλλάξει εάν καταφθάνουν νέα δεδομένα για το σύνολο δεδομένων.
  • Οι εικόνες που δείχνουν τις συνθήκες σφάλματος είναι κρυμμένες, αλλά μόνο για λίγα λεπτά (Είναι δύσκολη κατάσταση.) .
  • Κάθε φορά που ένα σύνολο δεδομένων επαναφορτώνεται, όλα τα αρχεία στην κρύπτη του συνόλου δεδομένων διαγράφονται. Επειδή τα αιτήματα μπορεί να είναι για την"last"δείκτης σε ένα πλέγμα σύνολο δεδομένων, τα αρχεία της λανθάνουσας μνήμης μπορεί να είναι άκυρα όταν ένα σύνολο δεδομένων επαναφορτώνεται.  

Αποθηκευμένες πληροφορίες συνόλου δεδομένων

Για όλους τους τύπους συνόλων δεδομένων,ERDDAP™συγκεντρώνει πολλές πληροφορίες όταν φορτώνεται ένα σύνολο δεδομένων και τις διατηρεί στη μνήμη. Αυτό επιτρέπειERDDAP™να ανταποκρίνεται πολύ γρήγορα σε αναζητήσεις, αιτήσεις για λίστες συνόλων δεδομένων και αιτήματα για πληροφορίες σχετικά με ένα σύνολο δεδομένων.

Για μερικούς τύπους συνόλων δεδομένων (κυρίωςEDDGridΕλήφθη, EDDTableCopy,EDDGridΑπό Xxx Αρχεία και EDDTableFrom Xxx Αρχεία) ,ERDDAP™αποθηκεύει στο δίσκο κάποιες πληροφορίες σχετικά με το σύνολο δεδομένων που επαναχρησιμοποιείται όταν επαναφορτίζεται το σύνολο δεδομένων. Αυτό επιταχύνει σημαντικά τη διαδικασία επαναφόρτωσης.

  • Μερικά από τα αρχεία πληροφοριών συνόλου δεδομένων είναι ανθρώπινα αναγνώσιμα.jsonαρχεία και αποθηκεύονται σε bigParentΚατάλογος / σύνολο δεδομένων/ τελευταία2LettersOfDatasetID/datasetID .
  • ERDDAP™διαγράφει αυτά τα αρχεία μόνο σε ασυνήθιστες περιπτώσεις, π.χ., εάν προσθέσετε ή διαγράψετε μια μεταβλητή από το σύνολο δεδομένωνdatasets.xmlΚομμάτι.
  • Οι περισσότερες αλλαγές σε ένα σύνολο δεδομένωνdatasets.xmlκομμάτι (π.χ., αλλαγή ενός παγκόσμιου χαρακτηριστικού ή ενός μεταβλητού χαρακτηριστικού) δεν απαιτούν να διαγράψετε αυτά τα αρχεία. Ένα κανονικό σύνολο δεδομένων θα χειριστεί αυτούς τους τύπους αλλαγών. Μπορείς να καταλάβεις.ERDDAP™να επαναφορτώσει ένα σύνολο δεδομένων το συντομότερο δυνατόν με τον καθορισμό ενόςσημαίαγια το σύνολο δεδομένων.
  • Ομοίως, η προσθήκη, διαγραφή, ή αλλαγή των αρχείων δεδομένων θα χειριστεί ότανERDDAP™επαναφορτώνει ένα σύνολο δεδομένων. Αλλά...ERDDAP™θα παρατηρήσετε αυτό το είδος της αλλαγής σύντομα και αυτόματα εάν το σύνολο δεδομένων χρησιμοποιεί το [<ενημέρωσηEveryNMillis>] (/docs/server-admin/datasets#updateeverenmillis) σύστημα.
  • Θα πρέπει μόνο σπάνια να είναι απαραίτητο για να διαγράψετε αυτά τα αρχεία. Η πιο κοινή κατάσταση όπου θα πρέπει να αναγκάσειERDDAP™για τη διαγραφή των αποθηκευμένων πληροφοριών (επειδή είναι ξεπερασμένη/μη σωστή και δεν θα καθοριστεί αυτόματα απόERDDAP) είναι όταν κάνετε αλλαγές στο σύνολο δεδομένωνdatasets.xmlκομμάτι που επηρεάζει το πώςERDDAP™ερμηνεύει τα δεδομένα στα αρχεία πηγαίων δεδομένων, για παράδειγμα, αλλάζοντας τη συμβολοσειρά μορφής της μεταβλητής χρόνου.
  • Για τη διαγραφή των αποθηκευμένων αρχείων πληροφοριών ενός συνόλου δεδομένων από έναERDDAP™Αυτό τρέχει. (ακόμα και αν το σύνολο δεδομένων δεν είναι φορτωμένο) , ορίστε ένασκληρό Σημαίαγια το σύνολο δεδομένων. Θυμηθείτε ότι αν ένα σύνολο δεδομένων είναι μια συγκέντρωση ενός μεγάλου αριθμού αρχείων, η επαναφόρτωση του συνόλου δεδομένων μπορεί να πάρει σημαντικό χρόνο.
  • Για να διαγράψετε τα αποθηκευμένα αρχεία πληροφοριών ενός συνόλου δεδομένων ότανERDDAP™Δεν τρέχει, τρέχει.ΔΑΠγια το εν λόγω σύνολο δεδομένων (το οποίο είναι ευκολότερο από το να υπολογίζετε σε ποιον κατάλογο βρίσκεται η πληροφορία και να διαγράφετε τα αρχεία με το χέρι) . Θυμηθείτε ότι αν ένα σύνολο δεδομένων είναι μια συγκέντρωση ενός μεγάλου αριθμού αρχείων, η επαναφόρτωση του συνόλου δεδομένων μπορεί να πάρει σημαντικό χρόνο.  

Κατάσταση μνήμης

ERDDAP™Δεν πρέπει ποτέ να πέσει ή να παγώσει. Αν ναι, μια από τις πιο πιθανές αιτίες είναι η ανεπαρκής μνήμη. Μπορείτε να παρακολουθείτε τη χρήση μνήμης κοιτάζοντας την ιστοσελίδα status.html, η οποία περιλαμβάνει μια γραμμή όπως

0 gc κλήσεις, 0 αιτήσεις υπόστεγο, και 0 επικίνδυνες MemoryEmails από την τελευταία μεγάλη φορτωτική

(αυτά είναι προοδευτικά πιο σοβαρά γεγονότα)
και MB inUse και gc Καλεί στήλες στον πίνακα των στατιστικών. Μπορείς να καταλάβεις πόσο νευρίασε η μνήμη σου.ERDDAP™Είναι βλέποντας αυτούς τους αριθμούς. Υψηλότεροι αριθμοί δείχνουν περισσότερο άγχος.

  • MB inUse πρέπει πάντα να είναι λιγότερο από το ήμισυ του\ μνήμης \ Xmx. Οι μεγαλύτεροι αριθμοί είναι κακό σημάδι.
  • Το gc καλεί δηλώνει τον αριθμό των φορέςERDDAP™ονομάζεται ο συλλέκτης απορριμμάτων για να προσπαθήσει να ανακουφίσει τη χρήση υψηλής μνήμης. Αν αυτό φτάσει να είναι > 100, αυτό είναι ένα σημάδι σοβαρών προβλημάτων.
  • η αποθήκη δείχνει τον αριθμό των εισερχόμενων αιτήσεων που απορρίφθηκαν (με αριθμό σφάλματος HTTP 503, υπηρεσία μη διαθέσιμη) Γιατί η χρήση μνήμης ήταν ήδη πολύ υψηλή. Ιδανικά, κανένα αίτημα δεν πρέπει να απορριφθεί. Είναι εντάξει αν μερικά αιτήματα απορρίπτονται, αλλά ένα σημάδι σοβαρών προβλημάτων αν πολλά απορρίπτονται.
  • επικίνδυνο MemoryEmails - Εάν η χρήση μνήμης γίνεται επικίνδυνα υψηλή,ERDDAP™στέλνει ένα email στις διευθύνσεις email που αναφέρονται στο<Αποστολή στα πάντα Στο> (σε setup.xml) με μια λίστα με τα αιτήματα του ενεργού χρήστη. Όπως λέει το email, στείλε αυτά τα email στον Κρις. Τζον στο Νόα. gov ώστε να μπορούμε να χρησιμοποιήσουμε τις πληροφορίες για να βελτιώσουμε τις μελλοντικές εκδόσεις τηςERDDAP.  

ΕάνERDDAP™έχει άγχος μνήμης:

  • Σκεφτείτε την κατανομή περισσότερης μνήμης του διακομιστή σας σεERDDAP™αλλάζοντας το Tomcat μνήμης ‐Xmx.
  • Αν έχετε ήδη δώσει όσο περισσότερη μνήμη μπορείτε ναERDDAP™μέσω -Xmx, σκεφτείτε να αγοράσετε περισσότερη μνήμη για το διακομιστή σας. Η μνήμη είναι φθηνή. (σε σύγκριση με την τιμή ενός νέου εξυπηρετητή ή το χρόνο σας) - Όχι! Τότε αύξησε -Xmx.
  • Μέσαdatasets.xml, σετ<nGridThreads> to 1, σετ<nTableThreads> to 1, και σετ<ipAddressMaxRequestsActive> to 1.
  • Δείτε τα αιτήματα στο log.txt για αναποτελεσματική ή προβληματική (αλλά νόμιμο) αιτήματα. Προσθήκη των διευθύνσεων IP τους<αίτησηBlacklist> μέσαdatasets.xml. Το μήνυμα σφάλματος μαύρης λίστας περιλαμβάνει τοERDDAP™Διεύθυνση ηλεκτρονικού ταχυδρομείου διαχειριστή με την ελπίδα ότι αυτοί οι χρήστες θα επικοινωνήσουν μαζί σας έτσι ώστε να μπορείτε να συνεργαστείτε μαζί τους για να χρησιμοποιήσετεERDDAP™πιο αποτελεσματικά. Είναι καλό να κρατήσει μια λίστα με διευθύνσεις IP σας μαύρη λίστα και γιατί, έτσι ώστε να μπορείτε να συνεργαστείτε με τους χρήστες, αν επικοινωνούν μαζί σας.
  • Δείτε τις αιτήσεις στο log.txt για αιτήματα κακόβουλων χρηστών. Προσθήκη των διευθύνσεων IP τους<αίτησηBlacklist> μέσαdatasets.xml. Εάν παρόμοια αιτήματα προέρχονται από πολλαπλές παρόμοιες διευθύνσεις IP, μπορείτε να χρησιμοποιήσετε κάποιες υπηρεσίες who-is (π.χ., https://www.whois.com/whois/ ) για να μάθετε το εύρος των διευθύνσεων IP από αυτή την πηγή και μαύρη λίστα όλο το εύρος. Δείτε το [<αίτησηBlacklist> τεκμηρίωση] (/docs/server-admin/datasets#ζητώ μαύρη λίστα) .  

Εκτός μνήμης

Όταν το έστησεςERDDAP™, θα ορίσετε το μέγιστο ποσό της μνήμης πουJavaμπορεί να χρησιμοποιηθεί μέσω του\ \ Xmx. ΕάνERDDAP™ποτέ δεν χρειάζεται περισσότερη μνήμη από αυτό, θα ρίξει ένα java. Λανγκ. Εκτός μνήμης.ERDDAP™κάνει πολύ έλεγχο για να μπορεί να χειριστεί αυτό το σφάλμα με χάρη (π.χ., έτσι ένα ενοχλητικό αίτημα θα αποτύχει, αλλά το σύστημα διατηρεί την ακεραιότητά του) . Αλλά μερικές φορές, η βλάβη του συστήματος ακεραιότητα και θα πρέπει να επανεκκινήσετεERDDAP. Ελπίζω να είναι σπάνιο.

Η γρήγορη και εύκολη λύση για ένα OutOfMemoryError είναι να αυξήσει την\ \ Xmx, αλλά δεν θα πρέπει ποτέ να αυξήσει τη ρύθμιση -Xmx σε περισσότερο από 80% της φυσικής μνήμης στο διακομιστή (π.χ. για έναν εξυπηρετητή 10GB, μην ρυθμίσετε -Xmx πάνω από 8GB) . Η μνήμη είναι σχετικά φθηνή, έτσι μπορεί να είναι μια καλή επιλογή για την αύξηση της μνήμης στον εξυπηρετητή. Αλλά αν έχετε μεγιστοποιήσει τη μνήμη στον διακομιστή ή για άλλους λόγους δεν μπορεί να την αυξήσει, θα πρέπει να ασχοληθείτε πιο άμεσα με την αιτία του OutOfMemoryError.

Αν κοιτάξεις μέσα στοlog.txtαρχείο για να δείτε τιERDDAP™έκανε όταν προέκυψε το σφάλμα, μπορείτε συνήθως να πάρετε μια καλή ένδειξη για την αιτία του OutOfMemoryError. Υπάρχουν πολλές πιθανές αιτίες, συμπεριλαμβανομένων:

  • Ένα ενιαίο τεράστιο αρχείο δεδομένων μπορεί να προκαλέσει το OutOfMemoryError, κυρίως, τεράστια αρχεία δεδομένων ASCII. Αν αυτό είναι το πρόβλημα, θα πρέπει να είναι προφανές γιατίERDDAP™θα αποτύχει να φορτώσει το σύνολο δεδομένων (για σύνολα δεδομένων πίνακα) ή ανάγνωση δεδομένων από το αρχείο (για τα πλέγματα σύνολα δεδομένων) . Η λύση, εάν είναι εφικτό, είναι η διάσπαση του αρχείου σε πολλαπλά αρχεία. Ιδανικά, μπορείτε να χωρίσετε το αρχείο σε λογικά κομμάτια. Για παράδειγμα, αν το αρχείο έχει δεδομένα αξίας 20 μηνών, χωρίστε το σε 20 αρχεία, το καθένα με δεδομένα αξίας 1 μήνα. Αλλά υπάρχουν πλεονεκτήματα ακόμα και αν το κύριο αρχείο χωρίζεται αυθαίρετα. Αυτή η προσέγγιση έχει πολλαπλά οφέλη: α) Αυτό θα μειώσει τη μνήμη που απαιτείται για να διαβάσετε τα αρχεία δεδομένων σε 1/20th, επειδή μόνο ένα αρχείο διαβάζεται σε μια στιγμή. β) Συχνά,ERDDAP™μπορεί να ασχοληθεί με τα αιτήματα πολύ πιο γρήγορα, επειδή πρέπει να ψάξει μόνο σε ένα ή μερικά αρχεία για να βρει τα δεδομένα για ένα δεδομένο αίτημα. γ) Αν η συλλογή δεδομένων είναι σε εξέλιξη, τότε τα υπάρχοντα 20 αρχεία μπορούν να παραμείνουν αμετάβλητα, και το μόνο που χρειάζεται είναι να τροποποιήσετε ένα, μικρό, νέο αρχείο για να προσθέσετε τα δεδομένα του επόμενου μήνα στο σύνολο δεδομένων.
  • Ένα τεράστιο αίτημα μπορεί να προκαλέσει το OutOf MemoryError. Ειδικότερα, ορισμένες από τιςorderByεπιλογές έχουν όλη την απάντηση στη μνήμη για ένα δευτερόλεπτο (π.χ. για να κάνετε ένα είδος) . Αν η απάντηση είναι τεράστια, μπορεί να οδηγήσει στο λάθος. Πάντα θα υπάρχουν κάποια αιτήματα που είναι, με διάφορους τρόπους, πολύ μεγάλα. Μπορείτε να λύσετε το πρόβλημα αυξάνοντας τη ρύθμιση -Xmx. Ή, μπορείτε να ενθαρρύνετε το χρήστη να κάνει μια σειρά από μικρότερα αιτήματα.
  • Είναι απίθανο ένας μεγάλος αριθμός αρχείων να προκαλέσει το ευρετήριο αρχείων πουERDDAP™δημιουργεί να είναι τόσο μεγάλο που το αρχείο θα προκαλέσει το σφάλμα. Αν υποθέσουμε ότι κάθε αρχείο χρησιμοποιεί 300 bytes, τότε 1.000.000 αρχεία θα πάρουν μόνο 300MB. Αλλά τα σύνολα δεδομένων με έναν τεράστιο αριθμό αρχείων δεδομένων προκαλούν άλλα προβλήματα γιαERDDAP, ιδίως, χρειάζεται πολύς χρόνος γιαERDDAP™να ανοίξει όλα αυτά τα αρχεία δεδομένων όταν ανταποκρίνεται σε ένα αίτημα του χρήστη για τα δεδομένα. Στην περίπτωση αυτή, η λύση μπορεί να είναι η συγκέντρωση των αρχείων έτσι ώστε να υπάρχουν λιγότερα αρχεία δεδομένων. Για τα σύνολα δεδομένων πίνακα, είναι συχνά μεγάλη αν αποθηκεύσετε τα δεδομένα από το τρέχον σύνολο δεδομένων σεΚΦ Διακριτές γεωμετρίες δειγματοληψίας (DSG) Contigoul Ragged αρχεία δεδομένων Array (αίτηση.ncΑρχεία CF απόERDDAP) και στη συνέχεια να κάνει ένα νέο σύνολο δεδομένων. Αυτά τα αρχεία μπορούν να αντιμετωπιστούν πολύ αποτελεσματικά μεERDDAPΣΠίνακας EDDFromNcCFΑρχεία. Αν είναι λογικά οργανωμένοι (το καθένα με δεδομένα για ένα κομμάτι χώρου και χρόνου) ,ERDDAP™μπορεί να εξάγει δεδομένα από αυτά πολύ γρήγορα.
  • Για σύνολα δεδομένων πίνακα που χρησιμοποιούν το [<subsetVariables>] (/docs/server-admin/datasets#subsetvarariables) χαρακτηριστικό,ERDDAP™κάνει έναν πίνακα μοναδικών συνδυασμών των τιμών αυτών των μεταβλητών. Για τεράστια σύνολα δεδομένων ή πότε<subsetVariables> παραμορφώνεται, αυτό το τραπέζι μπορεί να είναι αρκετά μεγάλο για να προκαλέσει OutOf MemoryErrors. Η λύση είναι να αφαιρεθούν οι μεταβλητές από τη λίστα των<subsetVariables> για τις οποίες υπάρχει μεγάλος αριθμός τιμών ή να καταργηθούν οι μεταβλητές, όπως απαιτείται, έως ότου το μέγεθος του εν λόγω πίνακα είναι εύλογο. Τα μέρη τηςERDDAP™που χρησιμοποιούν τοsubsetVariablesσύστημα δεν λειτουργεί καλά (π.χ., οι ιστοσελίδες φορτώνουν πολύ αργά) όταν υπάρχουν πάνω από 100.000 σειρές σε αυτό το τραπέζι.
  • Είναι πάντα πιθανό ότι αρκετές ταυτόχρονες μεγάλες αιτήσεις (σε μια πολύ απασχολημένηERDDAP) μπορεί να συνδυαστεί για να προκαλέσει προβλήματα μνήμης. Για παράδειγμα, 8 αιτήματα, το καθένα χρησιμοποιώντας 1GB το καθένα, θα δημιουργούσαν προβλήματα για μια ρύθμιση -Xmx=8GB. Αλλά είναι σπάνιο κάθε αίτημα να βρίσκεται στο αποκορύφωμα της χρήσης της μνήμης του ταυτόχρονα. Και θα μπορούσες εύκολα να δεις ότι ηERDDAP™Είναι πολύ απασχολημένος με μεγάλα αιτήματα. Αλλά είναι πιθανό. Είναι δύσκολο να αντιμετωπιστεί αυτό το πρόβλημα εκτός από την αύξηση της ρύθμισης -Xmx.
  • Υπάρχουν και άλλα σενάρια. Αν κοιτάξεις τοlog.txtαρχείο για να δείτε τιERDDAP™έκανε όταν προέκυψε το λάθος, μπορείτε συνήθως να πάρετε μια καλή ιδέα για την αιτία. Στις περισσότερες περιπτώσεις, υπάρχει ένας τρόπος να ελαχιστοποιηθεί αυτό το πρόβλημα (βλ. παραπάνω) , αλλά μερικές φορές απλά χρειάζεστε περισσότερη μνήμη και μια υψηλότερη -Xmx ρύθμιση.  

Πάρα πολλά ανοιχτά αρχεία

Ξεκινώντας μεERDDAP™v2.12,ERDDAP™έχει ένα σύστημα για την παρακολούθηση του αριθμού των ανοιχτών αρχείων (που περιλαμβάνει υποδοχές και κάποια άλλα πράγματα, όχι μόνο αρχεία) στο Tomcat σε υπολογιστές Linux. Αν κάποια αρχεία λανθασμένα δεν κλείνουν ποτέ (Διαρροή πόρων) , ο αριθμός των ανοιχτών αρχείων μπορεί να αυξηθεί μέχρι να υπερβαίνει το μέγιστο επιτρεπόμενο από το λειτουργικό σύστημα και πολλά πραγματικά άσχημα πράγματα συμβαίνουν. Οπότε τώρα, στους υπολογιστές του Linux (επειδή οι πληροφορίες δεν είναι διαθέσιμες για Windows) :

  • Υπάρχει μια "Open Files" στήλη στην ακροδεξιά της ιστοσελίδας status.html που δείχνει το ποσοστό των αρχείων max ανοιχτά. Στα Windows, απλά δείχνει "?".
  • ΠότεERDDAP™παράγει αυτές τις πληροφορίες στο τέλος κάθε σημαντικής επαναφόρτωσης συνόλου δεδομένων, θα εκτυπώσει στο αρχείο καταγραφής. αρχείο txt: ανοικτό αρχείοCount= ρεύμα του max= max %= %
  • Εάν το ποσοστό είναι > 50%, ένα email αποστέλλεται στοERDDAP™Διαχειριστής και το email Τα πάντα Στις διευθύνσεις email.

Εάν το ποσοστό είναι 100%,ERDDAP™έχει μπλέξει άσχημα. Μην το αφήσεις να συμβεί. Εάν το ποσοστό είναι > 75%,ERDDAP™είναι κοντά σε τρομερά προβλήματα. Δεν είναι εντάξει. Εάν το ποσοστό είναι >50%, είναι πολύ πιθανό ότι μια ακίδα θα προκαλέσει το ποσοστό να χτυπήσει 100. Εάν το ποσοστό είναι ποτέ > 50%, θα πρέπει:

  • Αύξηση του μέγιστου αριθμού ανοιχτών αρχείων που επιτρέπονται είτε από:
    • Κάνοντας αυτές τις αλλαγές κάθε φορά πριν ξεκινήσετε tomcat (Βάλτε τους στο αρχείο Tomcat startup.sh;) : ulimid - Hn 16384 ulimid - Sn 16384
    • Ή να κάνει μια μόνιμη αλλαγή με επεξεργασία (ως ρίζα) /etc/security/limits.conf και προσθήκη των γραμμών: tomcat μαλακό nofile 16384 tomcat σκληρό nofile 16384 Αυτές οι εντολές υποθέτουν ότι ο χρήστης που τρέχει Tomcat ονομάζεται "tomcat". Σε πολλές παραλλαγές Linux, πρέπει να επανεκκινήσετε τον εξυπηρετητή για να εφαρμόσετε αυτές τις αλλαγές. Και για τις δύο επιλογές, το "16384" παραπάνω είναι ένα παράδειγμα. Διαλέγεις τον αριθμό που θεωρείς καλύτερο.
  • ΕπανεκκίνησηERDDAP. Το λειτουργικό σύστημα θα κλείσει όλα τα ανοιχτά αρχεία.  

Αποτυχημένες αιτήσεις

  • Ασυνήθιστη δραστηριότητα: >25% των αιτήσεων απέτυχε
    Ως μέρος κάθε επαναφόρτωσης Datasets, η οποία είναι συνήθως κάθε 15 λεπτά,ERDDAP™εξετάζει το ποσοστό των αιτήσεων που απέτυχαν μετά την τελευταία επαναφόρτωση των δεδομένων. Εάν είναι > 25%,ERDDAP™στέλνει ένα email στοERDDAP™διαχειριστής με το θέμα "Ασυνήθιστη δραστηριότητα: >25% των αιτήσεων απέτυχε". Αυτό το email περιλαμβάνει μια καταμέτρηση κοντά στο κάτω μέρος με τίτλο "Διεύθυνση IP του Requester (Αποτυχία) (από τα τελευταία μεγάλα σύνολα δεδομένων φόρτωσης) .. Ψάξε γι' αυτό. Σας λέει τη διεύθυνση IP των υπολογιστών που κάνουν τις πιο αποτυχημένες αιτήσεις. Στη συνέχεια, μπορείτε να αναζητήσετε αυτές τις διευθύνσεις IP στο\[bigParentΚατάλογος\]/logs/log.txtαρχείο και να δούμε τι είδους αιτήματα κάνουν.

Μπορείτε να χρησιμοποιήσετε τον αριθμό IP του χρήστη (για παράδειγμα, με https://whatismyipaddress.com/ip-lookup ) να προσπαθήσουμε να καταλάβουμε ποιος ή τι είναι ο χρήστης. Μερικές φορές αυτό θα σας πει με αρκετή ακρίβεια ποιος είναι ο χρήστης (π.χ., είναι ένα συρόμενο πλέγμα μηχανής αναζήτησης) . Τις περισσότερες φορές σου δίνει ένα στοιχείο. (π.χ. είναι ένας υπολογιστής αμαζόνων, είναι από κάποιο πανεπιστήμιο, είναι κάποιος σε κάποια συγκεκριμένη πόλη.) .

Εξετάζοντας το πραγματικό αίτημα, τον αριθμό IP και το μήνυμα σφάλματος (όλα απόlog.txt) Για μια σειρά από λάθη, μπορείτε συνήθως να καταλάβετε τι συμβαίνει βασικά. Από την εμπειρία μου, υπάρχουν τέσσερις κοινές αιτίες πολλών αποτυχημένων αιτημάτων:

  1. Τα αιτήματα είναι κακόβουλα (π.χ., αναζήτηση αδυναμιών ασφαλείας, ή υποβολή αιτημάτων και στη συνέχεια ακύρωση τους πριν ολοκληρωθούν) . Θα πρέπει να χρησιμοποιήσετε<αίτησηBlacklist> μέσαdatasets.xmlΓια τη μαύρη λίστα αυτών των διευθύνσεων IP.

  2. Μια μηχανή αναζήτησης δοκιμάζει αφελώς τα URL που αναφέρονται στοERDDAP™ιστοσελίδες και έγγραφα ISO 19115. Για παράδειγμα, υπάρχουν πολλά μέρη που απαριθμούν τη βάσηOPeNDAPURL, για παράδειγμα, https://coastwatch.pfeg.noaa.gov/erddap/griddap/jplMURSST , στην οποία ο χρήστης υποτίθεται ότι θα προσθέσει έναν τύπο αρχείου (π.χ., .das, .dds, .html) . Αλλά η μηχανή αναζήτησης δεν το ξέρει αυτό. Και το αίτημα για τη βασική διεύθυνση αποτυγχάνει. Μια σχετική κατάσταση είναι όταν η μηχανή αναζήτησης δημιουργεί παράξενες αιτήσεις ή προσπαθεί να συμπληρώσει έντυπα προκειμένου να φτάσει σε "κρυμμένες" ιστοσελίδες. Αλλά οι μηχανές αναζήτησης συχνά κάνουν κακή δουλειά, οδηγώντας σε αποτυχίες. Η λύση είναι:ρομπότ.txtΑρχείο.

  3. Κάποιος χρήστης τρέχει ένα σενάριο που επανειλημμένα ζητάει κάτι που δεν υπάρχει. Ίσως είναι ένα σύνολο δεδομένων που υπήρχε παλιά, αλλά έχει φύγει τώρα. (προσωρινά ή μόνιμα) . Τα σενάρια συχνά δεν το περιμένουν αυτό και έτσι μην το αντιμετωπίζεις έξυπνα. Έτσι το σενάριο συνεχίζει να κάνει αιτήματα και τα αιτήματα συνεχίζουν να αποτυγχάνουν. Αν μπορείτε να μαντέψετε ποιος είναι ο χρήστης (από τον παραπάνω αριθμό IP) , επικοινωνήστε μαζί τους και να τους πω το σύνολο δεδομένων δεν είναι πλέον διαθέσιμο και να τους ζητήσει να αλλάξει το σενάριο τους.

  4. Κάτι δεν πάει καλά με κάποιο σύνολο δεδομένων. Συνήθως,ERDDAP™θα κάνει το προβληματικό σύνολο δεδομένων ανενεργό. Μερικές φορές δεν συμβαίνει, οπότε όλες οι αιτήσεις σε αυτό οδηγούν σε λάθη. Εάν ναι, διορθώστε το πρόβλημα με το σύνολο δεδομένων ή (Αν δεν μπορείς) ορίζει το σύνολο δεδομένων στοενεργό="ψευδής". Φυσικά, αυτό μπορεί να οδηγήσει σε πρόβλημα # 2.

Μερικές φορές τα λάθη δεν είναι τόσο άσχημα, ιδιαίτερα, ανERDDAP™μπορεί να ανιχνεύσει το σφάλμα και να ανταποκριθεί πολύ γρήγορα (<=1ms). Έτσι, μπορεί να αποφασίσεις να μην κάνεις τίποτα.

Εάν όλα τα άλλα αποτύχει, υπάρχει μια καθολική λύση: προσθέστε τον αριθμό IP του χρήστη στο [<αίτησηBlacklist>] (/docs/server-admin/datasets#ζητώ μαύρη λίστα) . Δεν είναι τόσο κακή ή τόσο δραστική επιλογή όσο φαίνεται. Στη συνέχεια, ο χρήστης θα λάβει ένα μήνυμα λάθους λέγοντας ότι s/he έχει μαύρη λίστα και λέγοντάς τους ότι σας (τοERDDAP™του διαχειριστή) διεύθυνση ηλεκτρονικού ταχυδρομείου. Μερικές φορές ο χρήστης θα επικοινωνήσει μαζί σας και μπορείτε να επιλύσετε το πρόβλημα. Μερικές φορές ο χρήστης δεν επικοινωνεί μαζί σας και θα δείτε την ίδια ακριβώς συμπεριφορά να προέρχεται από διαφορετικό αριθμό IP την επόμενη μέρα. Μαύρη λίστα ο νέος αριθμός IP και ελπίζω ότι τελικά θα πάρει το μήνυμα. (Ή αυτή είναι η μέρα σου, από την οποία δεν θα ξεφύγεις ποτέ. Συγγνώμη.)

ρομπότ.txt

Οι εταιρίες μηχανών αναζήτησης χρησιμοποιούν συριγμούς ιστού (π.χ., Google Μποτ.) να εξετάσει όλες τις σελίδες στο διαδίκτυο για να προσθέσετε το περιεχόμενο στις μηχανές αναζήτησης. ΓιαERDDAP™Αυτό είναι βασικά καλό.ERDDAP™έχει πολλούς συνδέσμους μεταξύ των σελίδων, έτσι ώστε οι συριγμοί θα βρείτε όλες τις ιστοσελίδες και να τις προσθέσετε στις μηχανές αναζήτησης. Στη συνέχεια, οι χρήστες των μηχανών αναζήτησης θα είναι σε θέση να βρουν σύνολα δεδομένων για σαςERDDAP.

Δυστυχώς, μερικοί συριγμοί ιστού (π.χ., Google Μποτ.) συμπληρώνονται τώρα και υποβάλλουν έντυπα για να βρουν επιπλέον περιεχόμενο. Για ιστοσελίδες, αυτό είναι υπέροχο. Αλλά αυτό είναι τρομερό γιαERDDAP™Γιατί απλά οδηγεί σε ένα άπειρη αριθμός ανεπιθύμητων και άσκοπων προσπαθειών να συρθούν τα πραγματικά δεδομένα. Αυτό μπορεί να οδηγήσει σε περισσότερες αιτήσεις για δεδομένα από ό, τι από όλους τους άλλους χρήστες σε συνδυασμό. Και γεμίζει τη μηχανή αναζήτησης με χαζά, άσκοπα υποσύνολα των πραγματικών δεδομένων.

Για να πείτε στους συρόμενους ιστούς να σταματήσουν να συμπληρώνουν φόρμες και απλά γενικά να μην κοιτάζουν ιστοσελίδες που δεν χρειάζεται να κοιτάξουν, θα πρέπει να δημιουργήσετε ένα αρχείο κειμένου που ονομάζεταιρομπότ.txtστον ριζικό κατάλογο της ιεραρχίας εγγράφων της ιστοσελίδας σας, ώστε να μπορεί να θεωρηθεί από οποιονδήποτε, π.χ., http://*www.your.domain*/robots.txt . Αν δημιουργείς νέα ρομπότ. 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

(Αλλά αντικατάσταση Τα ιδρύματά σας.url με σαςERDDAPΒασικό URL.)
Μπορεί να χρειαστούν μερικές ημέρες για να το προσέξουν οι μηχανές αναζήτησης και να τεθούν σε ισχύ οι αλλαγές.  

χάρτης τοποθεσίας.xml

Ως το 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 με την επίσκεψη σε αυτές τις διευθύνσεις URL (αλλά αλλαγή Το Ίδρυμά σας στο ακρωνύμιο ή τη συντομογραφία του ιδρύματος σας και www.yoursite.org (στα Αγγλικά). στο δικό σαςERDDAPURL) :

Διάδοση δεδομένων / Διανομή δεδομένων Δίκτυα:PushκαιPullΤεχνολογία

  • Κανονικά,ERDDAP™ενεργεί ως ενδιάμεσος: λαμβάνει αίτημα από χρήστη· λαμβάνει δεδομένα από απομακρυσμένη πηγή δεδομένων· αναδιαμορφώνει τα δεδομένα και τα στέλνει στον χρήστη.
  • PullΤεχνολογία:ERDDAP™έχει επίσης τη δυνατότητα να πάρει ενεργά όλα τα διαθέσιμα δεδομένα από μια απομακρυσμένη πηγή δεδομένων καιαποθήκευση τοπικού αντιγράφου των δεδομένων.
  • PushΤεχνολογία: Με τη χρήσηERDDAPΣσυνδρομητικές υπηρεσίες, άλλοι εξυπηρετητές δεδομένων μπορούν να ειδοποιηθούν μόλις νέα δεδομένα είναι διαθέσιμα, έτσι ώστε να μπορούν να ζητήσουν τα δεδομένα (τραβώντας τα δεδομένα) .
  • ERDDAPΣEDDGridΑπό τοErddapκαιEDD TableFromErddapχρήσηERDDAPΥπηρεσίες συνδρομών καισύστημα σημαίαςώστε να ειδοποιείται αμέσως όταν υπάρχουν νέα δεδομένα.
  • Μπορείτε να τα συνδυάσετε με μεγάλη επίδραση: αν τυλίξετε έναEDDGridΑντιγραφή γύρω από έναEDDGridΣύνολο δεδομένων FromErddap (ή τύλιξε ένα EDDTableCopy γύρω από ένα EDDTableFromErddap dataset) ,ERDDAP™θα δημιουργήσει αυτόματα και να διατηρήσει ένα τοπικό αντίγραφο ενός άλλουERDDAPΤο σύνολο δεδομένων.
  • Επειδή οι υπηρεσίες συνδρομής λειτουργούν μόλις είναι διαθέσιμα νέα δεδομένα, η τεχνολογία ώθησης διαδίδει τα δεδομένα πολύ γρήγορα (μέσα σε δευτερόλεπτα) .

Αυτή η αρχιτεκτονική βάζει το καθέναERDDAP™διαχειριστής υπεύθυνος για τον προσδιορισμό του πού είναι τα δεδομένα για τον/τηνERDDAP™προέρχεται από.

  • ΆλλαERDDAP™Οι διαχειριστές μπορούν να κάνουν το ίδιο. Δεν υπάρχει ανάγκη συντονισμού μεταξύ των διαχειριστών.
  • Αν είναι πολλοίERDDAP™Οι διαχειριστές συνδέονται μεταξύ τουςERDDAPs, δημιουργείται ένα δίκτυο διανομής δεδομένων.
  • Τα δεδομένα θα διαδοθούν γρήγορα, αποτελεσματικά και αυτόματα από πηγές δεδομένων (ERDDAPs και άλλοι εξυπηρετητές) στους τόπους ανακατανομής δεδομένων (ERDDAPα) οπουδήποτε στο δίκτυο.
  • Ένα δεδομένοERDDAP™μπορεί να είναι τόσο μια πηγή δεδομένων για ορισμένα σύνολα δεδομένων όσο και μια ιστοσελίδα αναδιανομής για άλλα σύνολα δεδομένων.
  • Το δίκτυο που προκύπτει είναι περίπου παρόμοιο με τα δίκτυα διανομής δεδομένων που δημιουργούνται με προγράμματα όπωςUnidataΔΑΚ/IDM, αλλά λιγότερο άκαμπτα δομημένα.  

Ασφάλεια, ταυτοποίηση και εξουσιοδότηση

Εξ ορισμού,ERDDAP™λειτουργεί ως εξ ολοκλήρου δημόσιος εξυπηρετητής (χρήσηhttpή/καιhttps) χωρίς σύνδεση (Ταυτοποίηση) σύστημα και χωρίς περιορισμούς στην πρόσβαση δεδομένων (εξουσιοδότηση) .

Ασφάλεια

Αν θέλετε να περιορίσετε την πρόσβαση σε ορισμένα ή όλα τα σύνολα δεδομένων σε ορισμένους χρήστες, μπορείτε να χρησιμοποιήσετεERDDAPΕίναι ενσωματωμένο σύστημα ασφαλείας. Όταν χρησιμοποιείται το σύστημα ασφαλείας:

  • ERDDAP™χρήσειςέλεγχος πρόσβασης βάσει roleόλων.
    • ΗERDDAP™Ο διαχειριστής ορίζει τους χρήστες με το [<χρήστης>] (/docs/server-admin/datasets#user) ετικέτα indatasets.xml. Κάθε χρήστης έχει ένα όνομα χρήστη, έναν κωδικό πρόσβασης (εάν ταυτοποίηση=custom) , και έναν ή περισσότερους ρόλους.
    • ΗERDDAP™Ο διαχειριστής ορίζει ποιοι ρόλοι έχουν πρόσβαση σε ένα δεδομένο σύνολο δεδομένων μέσω του [<προσιτόTo>] (/docs/server-admin/datasets#accessibleto) ετικέτα indatasets.xmlγια οποιοδήποτε σύνολο δεδομένων που δεν θα έπρεπε να έχει πρόσβαση στο κοινό.
  • Κατάσταση σύνδεσης του χρήστη (και ένα σύνδεσμο για να συνδεθείτε / έξω) θα εμφανιστεί στην κορυφή κάθε ιστοσελίδας. (Αλλά ένας συνδεδεμένος χρήστης θα εμφανιστείERDDAP™να μην συνδεθεί αν χρησιμοποιεί έναhttpΤο URL.)
  • Εάν η<baseUrl> ότι μπορείτε να καθορίσετε στην εγκατάσταση σας.xml είναι ένα http URL, χρήστες που δεν είναι συνδεδεμένοι μπορούν να χρησιμοποιήσουνERDDAPΣ http URLs (στα Αγγλικά). Εάν<καθορίζεται επίσης βάσηHttpsUrl>, οι χρήστες που δεν είναι συνδεδεμένοι μπορούν επίσης να χρησιμοποιήσουνhttpsURLs (στα Αγγλικά).
  • Μόνο HTTPS - Εάν η<baseUrl> ότι μπορείτε να καθορίσετε στην εγκατάσταση σας.xml είναι ένα https URL, οι χρήστες που δεν είναι συνδεδεμένοι ενθαρρύνονται (χωρίς εξαναγκασμό) για χρήσηERDDAPΣ https URL -- όλοι οι σύνδεσμοιERDDAP™ιστοσελίδες θα αναφέρονται σεhttpsURLs (στα Αγγλικά).

Αν θέλετε να πιέσετε τους χρήστες να χρησιμοποιήσουνhttpsURL, προσθήκη μιας Redirect μόνιμης γραμμής μέσα στο<VirtualHost \*:80> ενότητα στο αρχείο ρυθμίσεων Apache σας (συνήθωςhttpδ.conf) , π.χ.,

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

Εάν θέλετε, υπάρχει μια πρόσθετη μέθοδος για να αναγκάσει τη χρήση τουhttps: HTTP Αυστηρή Ασφάλεια Μεταφορών (ΥΔΤ) . Για να το χρησιμοποιήσετε:

  1. Ενεργοποίηση της ενότητας κεφαλίδων Apache: a2enmod headers
  2. Προσθέστε την πρόσθετη επικεφαλίδα στην οδηγία HTTPS VirtualHost. Η μέγιστη ηλικία μετράται σε δευτερόλεπτα και μπορεί να οριστεί σε κάποια μεγάλη τιμή.
        <VirtualHost \\*:443>
# Guarantee HTTPS for 1 Year including Sub Domains
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"

Παρακαλώ σημειώστε ότι αυτή η επικεφαλίδα είναι έγκυρη μόνο σε ένα HTTPS VirtualHost.

Ένας λόγος για να μην αναγκάσει τους χρήστες να χρησιμοποιήσουνhttpsURLs είναι: η υποκείμενη σύνδεση SSL/TLS χρειάζεται χρόνο για να καθοριστεί και στη συνέχεια χρειάζεται χρόνος για να κρυπτογραφήσει και να αποκρυπτογραφήσει όλες τις πληροφορίες που μεταδίδονται μεταξύ του χρήστη και του διακομιστή. Ωστόσο, ορισμένα θεσμικά όργανα απαιτούνhttpsΜόνο.

  • Οι χρήστες που είναι συνδεδεμένοι στο ΠΡΕΠΕΙ να χρησιμοποιούνERDDAPΣ https URLs (στα Αγγλικά). Εάν χρησιμοποιούνhttpURLs, φαίνεται ναERDDAP™να μην συνδεθούν. Αυτό εξασφαλίζει την ιδιωτικότητα των επικοινωνιών και βοηθά στην πρόληψηsession αεροπειρατεία και παραπλάνηση.
  • Όποιος δεν είναι συνδεδεμένος μπορεί να έχει πρόσβαση και να χρησιμοποιεί τα σύνολα δεδομένων του κοινού. Εξ ορισμού, τα ιδιωτικά σύνολα δεδομένων δεν εμφανίζονται σε λίστες συνόλων δεδομένων αν ένας χρήστης δεν είναι συνδεδεμένος. Εάν ο διαχειριστής έχει ορίσει setup.xml του<λίσταΙδιωτικά σύνολα δεδομένων> στην πραγματικότητα, θα εμφανιστούν. Προσπάθειες να ζητήσει δεδομένα από ιδιωτικά σύνολα δεδομένων (εάν ο χρήστης γνωρίζει το URL) θα μεταφερθεί στη σελίδα σύνδεσης.
  • Όποιος είναι συνδεδεμένος θα μπορεί να βλέπει και να ζητά δεδομένα από οποιοδήποτε σύνολο δημόσιων δεδομένων και οποιοδήποτε ιδιωτικό σύνολο δεδομένων στο οποίο ο ρόλος τους επιτρέπει την πρόσβαση. Εξ ορισμού, τα ιδιωτικά σύνολα δεδομένων στα οποία ένας χρήστης δεν έχει πρόσβαση δεν εμφανίζονται σε λίστες συνόλων δεδομένων. Εάν ο διαχειριστής έχει ορίσει setup.xml του<λίσταΙδιωτικά σύνολα δεδομένων> στην πραγματικότητα, θα εμφανιστούν. Οι προσπάθειες να ζητήσετε δεδομένα από ιδιωτικά σύνολα δεδομένων στα οποία ο χρήστης δεν έχει πρόσβαση θα ανακατευθύνονται στη σελίδα σύνδεσης.
  • ΗRSSπληροφορίες για πλήρως ιδιωτικά σύνολα δεδομένων είναι διαθέσιμες μόνο στους χρήστες (καιRSSαναγνώστες) Που είναι συνδεδεμένοι και εξουσιοδοτημένοι να χρησιμοποιούν αυτό το σύνολο δεδομένων. Αυτό κάνειRSSδεν είναι πολύ χρήσιμο για πλήρως ιδιωτικά σύνολα δεδομένων.

Εάν ένα σύνολο δεδομένων είναι ιδιωτικό, αλλά το [<γραφήματα ΠροσιτάTo>] (/docs/server-admin/datasets#phraphsaccessibilto) έχει οριστεί στο κοινό, του συνόλου δεδομένωνRSSείναι προσβάσιμο σε οποιονδήποτε.

  • Οι συνδρομές ηλεκτρονικού ταχυδρομείου μπορούν να ρυθμιστούν μόνο όταν ένας χρήστης έχει πρόσβαση σε ένα σύνολο δεδομένων. Εάν ένας χρήστης εγγραφεί σε ένα ιδιωτικό σύνολο δεδομένων, η συνδρομή συνεχίζει να λειτουργεί μετά την αποσύνδεση του χρήστη.
Set ασφάλειας

Για τη δημιουργία του συστήματος ασφάλειας/εγκατάστασης/έγκρισης:

  • Κάντε το πρότυποERDDAP™ αρχική ρύθμιση.
  • Μέσαsetup.xml,
    • Προσθήκη/αλλαγή του<αυθεντικοποίηση> αξία από το τίποτα στο έθιμο (Μην το χρησιμοποιήσεις αυτό.) , email (Μην το χρησιμοποιήσεις αυτό.) , Google (συνιστάται) , ορχιδέα (συνιστάται) , ή oauth2 (το οποίο είναι google+orcid, συνιστάται) . Δείτε τα σχόλια σχετικά με αυτές τις επιλογές παρακάτω.
    • Προσθήκη/αλλαγή του<τιμή βάσηςHttpsUrl>.
    • Εισαγωγή/αποσύνδεση&loginInfo;μέσα<startBodyHtml> για την εμφάνιση των πληροφοριών καταγραφής του χρήστη στην κορυφή κάθε ιστοσελίδας.
  • Για σκοπούς δοκιμών στον προσωπικό σας υπολογιστή,ακολουθήστε αυτές τις οδηγίες για τη ρύθμιση tomcat για την υποστήριξη SSL (τη βάσηhttpsσυνδέσεις) δημιουργώντας ένα keystore με ένααυτουπογεγραμμένο πιστοποιητικόκαι τροποποιώντας τομκάτ /conf/server.xml για να αποσυνδέσετε το συνδετήρα για τη θύρα 8443. Στα Windows, μπορεί να χρειαστεί να μετακινηθείτε. Εσύ \..\\\\\\\\\\\\\\ " " " " "\ "\\\ " "\ " "\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\""""""""""""""""""""""""""""""""""""""" (Βλέπε τομκάτ /λογισμοί/καταλίνα. σήμερα .log αν η εφαρμογή δεν φορτώνει ή οι χρήστες δεν μπορούν να δουν την καταγραφή στη σελίδα) . Μπορείτε να δείτε πότε το πιστοποιητικό .keystore θα λήξει εξετάζοντας το πιστοποιητικό όταν συνδεθείτε.

Για έναν εξυπηρετητή πρόσβασης στο κοινό, αντί για τη χρήση ενός αυτο-υπογραφόμενου πιστοποιητικού, συνιστάται έντονα να αγοράσετε και να εγκαταστήσετε ένα πιστοποιητικό υπογεγραμμένο από ένααρχή πιστοποίησης, επειδή δίνει στους πελάτες σας μεγαλύτερη βεβαιότητα ότι είναι πράγματι σύνδεση με σαςERDDAP™, όχι μια αντρική εκδοχή της δικής σουERDDAP. Πολλοί πωλητές πωλούν ψηφιακά πιστοποιητικά. (Ψάξε για ιστό.) Δεν είναι ακριβά.

  • Στους υπολογιστές Linux, αν ο Tomcat τρέχει στο Apache, τροποποιήστε το /etc/httpαρχείο d/conf.d/ssl.conf για να επιτραπεί η κυκλοφορία HTTPS προς/απόERDDAP™χωρίς να απαιτείται ο αριθμός θύρας :8443 στο URL:
    1. Τροποποίηση του υπάρχοντος<Εικονική ετικέτα host> (αν υπάρχει) , ή να προσθέσετε ένα στο τέλος του αρχείου έτσι ώστε να έχει τουλάχιστον αυτές τις γραμμές:
        <VirtualHost \\_default\\_:443>
SSLEngine on
SSLProxyEngine On
ProxyPass /erddap http://localhost:8443/erddap
ProxyPassReverse /erddap http://localhost:8443/erddap
</VirtualHost>
  1. Στη συνέχεια επανεκκίνηση Apache: /usr/sbin/apachectl -Χάρηκα. (Αλλά μερικές φορές είναι σε διαφορετικό κατάλογο) .
  • Μέσα τομκάτ /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) ετικέτα για κάθε χρήστη με όνομα χρήστη, κωδικό πρόσβασης (εάν η έγκριση=custom) , και πληροφορίες rolesόλων. Αυτό είναι το τμήμα εξουσιοδότησης τηςERDDAPΤο σύστημα ασφαλείας.  
  • Μέσαdatasets.xml, πρόσθεση α [<προσιτόTo>] (/docs/server-admin/datasets#accessibleto) ετικέτα σε κάθε σύνολο δεδομένων που δεν θα πρέπει να έχουν πρόσβαση στο κοινό.<προσβάσιμοTo> σας επιτρέπει να καθορίσετε ποιοι ρόλοι έχουν πρόσβαση σε αυτό το σύνολο δεδομένων.  
  • Επανεκκίνηση Tomcat. Πρόβλημα; Ελέγξτε τα αρχεία καταγραφής Tomcat.  
  • Ελέγξτε τη δουλειά σας! Κάθε λάθος μπορεί να οδηγήσει σε ελάττωμα ασφαλείας.  
  • Ελέγξτε ότι η σελίδα σύνδεσης χρησιμοποιείhttps (όχιhttp) . Προσπάθειες σύνδεσης μέσωhttpθα πρέπει να ανακατευθύνονται αυτόματα σεhttpsκαι λιμένας 8443 (αν και ο αριθμός θύρας μπορεί να κρύβεται μέσω ενός διαμεσολαβητή Apache) . Μπορεί να χρειαστεί να συνεργαστείτε με τον διαχειριστή του δικτύου σας για να επιτρέψετε σε εξωτερικούς δικτυακούς τόπους να έχουν πρόσβαση στη θύρα 8443 στον server σας.  
  • Μπορείτε να αλλάξετε το<χρήστη> και<προσβάσιμοTo> ετικέτες ανά πάσα στιγμή. Οι αλλαγές θα εφαρμοστούν στην επόμενη τακτική επαναφόρτωση οποιουδήποτε συνόλου δεδομένων, ή ASAP αν χρησιμοποιήσετε ένασημαία.
Ταυτοποίηση

**Ταυτοποίηση (Σύνδεση) **
Αν δεν θέλετε να επιτρέψετε στους χρήστες να συνδεθούν, μην ορίσετε μια τιμή για<ταυτοποίηση> στην εγκατάσταση.xml. Εάν θέλετε να επιτρέψετε στους χρήστες να συνδεθούν, πρέπει να ορίσετε μια τιμή για<Ταυτοποίηση>. Αυτή τη στιγμή,ERDDAP™υποστηρίγματα προσαρμοσμένο (Μην το χρησιμοποιήσεις αυτό.) , email (Μην το χρησιμοποιήσεις αυτό.) , Google (συνιστάται) , ορκίδη (συνιστάται) , και Όουθ2 (συνιστάται) για τη μέθοδο ταυτοποίησης. Αν θέλετε να ενεργοποιήσετε την σύνδεση, σας συνιστούμε θερμά τις επιλογές google, orcid ή oauth2 επειδή σας απαλλάσσουν από την αποθήκευση και τον χειρισμό των κωδικών πρόσβασης του χρήστη (που απαιτούνται για το έθιμο) και είναι πιο ασφαλείς από την επιλογή email. Θυμηθείτε ότι οι χρήστες συχνά χρησιμοποιούν τον ίδιο κωδικό πρόσβασης σε διαφορετικούς ιστότοπους. Έτσι, μπορεί να χρησιμοποιούν τον ίδιο κωδικό πρόσβασης για σαςERDDAP™Όπως κάνουν στην τράπεζά τους. Αυτό κάνει τον κωδικό τους πολύ πολύτιμο -- πολύ πιο πολύτιμο για τον χρήστη από τα δεδομένα που ζητούν. Έτσι, θα πρέπει να κάνετε όσο μπορείτε για να κρατήσει τους κωδικούς πρόσβασης ιδιωτικά. Αυτό είναι μεγάλη ευθύνη. Το ηλεκτρονικό ταχυδρομείο, google, orcid, και outh2 επιλογές να αναλάβει τη φροντίδα των κωδικών πρόσβασης, έτσι ώστε να μην χρειάζεται να συγκεντρώσει, κατάστημα, ή να συνεργαστεί μαζί τους. Οπότε είσαι ελεύθερος από αυτή την ευθύνη.

Όλα<Πιστοποίησημπισκότοστον υπολογιστή του χρήστη, οπότε ο περιηγητής του χρήστη πρέπει να είναι ρυθμισμένος για να επιτρέπει τα cookies. Αν ένας χρήστης κάνειERDDAP™αιτήματα από πρόγραμμα υπολογιστή (όχι περιηγητής) , τα cookies και η πιστοποίηση είναι δύσκολο να εργαστεί με. Αυτό είναι ένα κοινό πρόβλημα με όλα τα συστήματα ταυτοποίησης. Συγγνώμη.

Οι λεπτομέρειες της<ταυτοποίηση> οι επιλογές είναι:

Προσαρμοσμένο

έθιμοERDDAPΠροσαρμοσμένο σύστημα για να επιτρέπει στους χρήστες να συνδεθούν εισάγοντας το Όνομα χρήστη και τον Κωδικό τους σε μια μορφή σε μια ιστοσελίδα. Εάν ένας χρήστης προσπαθήσει και αποτύχει να συνδεθεί 3 φορές μέσα σε 10 λεπτά, ο χρήστης εμποδίζεται από την προσπάθεια σύνδεσης για 10 λεπτά. Αυτό εμποδίζει τους χάκερ να δοκιμάζουν απλά εκατομμύρια κωδικούς μέχρι να βρουν το σωστό.

Αυτό είναι κάπως ασφαλές επειδή το Όνομα χρήστη και ο κωδικός πρόσβασης μεταδίδονται μέσωhttps (όχιhttp) , αλλά η ταυτοποίηση=google, orcid, ή oauth2 είναι καλύτερα επειδή σας απελευθερώνει από το να πρέπει να χειριστεί τους κωδικούς πρόσβασης. Η προσαρμοσμένη προσέγγιση απαιτεί από εσάς να συλλέξετε το Όνομα ενός χρήστη και να χωνέψετε τον κωδικό τους (Χρησιμοποίησε το τηλέφωνό σου! Το email δεν είναι ασφαλές!) και να τα αποθηκεύσετε μέσαdatasets.xmlσε [<χρήστης>] (/docs/server-admin/datasets#user) ετικέτες.

Με την προσαρμοσμένη επιλογή, κανείς δεν μπορεί να συνδεθεί μέχρι να (τοERDDAP™διαχειριστής) δημιουργία ενός<user> tag για το χρήστη, προσδιορίζοντας το όνομα του χρήστη ως όνομα χρήστη, το hash χωνευτικό του κωδικού πρόσβασης ως κωδικό πρόσβασης, και τους ρόλους τους.

Δεν συνιστάται Λόγω της αμηχανίας της παραγωγής και της μετάδοσης της χασίς χωνεύσεως του κωδικού πρόσβασης του χρήστη και λόγω των κινδύνων που συνδέονται μεERDDAP™κρατώντας τα hash χωνεμένα των κωδικών πρόσβασης, αυτή η επιλογή δεν συνιστάται.

Για να αυξήσετε την ασφάλεια αυτής της επιλογής:

  • ΠΡΕΠΕΙ ΝΑ βεβαιωθείτε ότι άλλοι χρήστες στον εξυπηρετητή (Δηλαδή, χρήστες Linux, όχιERDDAP™χρήστες) δεν μπορεί να διαβάσει αρχεία στον κατάλογο Tomcat (ιδιαίτερα τοdatasets.xmlΦάκελος!) ήERDDAPΤο μεγάλο μητρικό. Στο Linux, ως user=tomcat, χρησιμοποιήστε: chmod -R g-rwx bigParentΚατάλογος
    chmod -R o-rwx Αριθ. CAS: bigParentΚατάλογος
    chmod -R g-rwx tomcatΚατάλογος
    chmod -R o-rwx Αριθ. CAS: tomcatΚατάλογος
     
  • Χρήση UEPSHA256 για<κωδικός πρόσβασηςEncoding> in setup.xml.  
  • Χρήση μιας ως ασφαλούς-ως-δυνατής μεθόδου για να περάσει το hash πέψη του κωδικού πρόσβασης του χρήστη από το χρήστη στοERDDAP™διαχειριστής (Τηλέφωνο;) .  
email

Η επιλογή ταυτοποίησης ηλεκτρονικού ταχυδρομείου χρησιμοποιεί το λογαριασμό ηλεκτρονικού ταχυδρομείου ενός χρήστη για την ταυτοποίηση του χρήστη (στέλνοντάς τους ένα email με έναν ειδικό σύνδεσμο που πρέπει να έχουν πρόσβαση για να συνδεθούν) . Σε αντίθεση με άλλα emails πουERDDAP™στέλνει,ERDDAP™δεν γράφει αυτά τα μηνύματα ηλεκτρονικού ταχυδρομείου πρόσκλησης στο αρχείο καταγραφής email επειδή περιέχουν εμπιστευτικές πληροφορίες. Θεωρητικά, αυτό δεν είναι πολύ ασφαλές, επειδή τα μηνύματα ηλεκτρονικού ταχυδρομείου δεν είναι πάντα κρυπτογραφημένα, οπότε ένας κακός με τη δυνατότητα να αναχαιτίζει τα μηνύματα ηλεκτρονικού ταχυδρομείου θα μπορούσε να καταχραστεί αυτό το σύστημα χρησιμοποιώντας έγκυρη διεύθυνση ηλεκτρονικού ταχυδρομείου του χρήστη και υποκλοπή του ηλεκτρονικού ταχυδρομείου πρόσκλησης. Στην πράξη, αν στήσετεERDDAP™για να χρησιμοποιήσετε ένα λογαριασμό ηλεκτρονικού ταχυδρομείου Google για να στείλετε emails, και αν το ρυθμίσετε για να χρησιμοποιήσετε μια από τις επιλογές TLS για τη σύνδεση, και αν ο χρήστης έχει ένα λογαριασμό ηλεκτρονικού ταχυδρομείου Google, αυτό είναι κάπως ασφαλές, επειδή τα μηνύματα ηλεκτρονικού ταχυδρομείου κρυπτογραφούνται σε όλη τη διαδρομή απόERDDAP™στον χρήστη.

Για να αυξήσετε την ασφάλεια αυτής της επιλογής:

  • Βεβαιωθείτε ότι άλλοι χρήστες στον εξυπηρετητή (Δηλαδή, χρήστες Linux, όχιERDDAP™χρήστες) δεν μπορεί να διαβάσει τα αρχεία στον κατάλογο Tomcat ήERDDAPΤο μεγάλο μητρικό. Στο Linux, ως user=tomcat, χρησιμοποιήστε: chmod -R g-rwx bigParentΚατάλογος
    chmod -R o-rwx Αριθ. CAS: bigParentΚατάλογος
    chmod -R g-rwx tomcatΚατάλογος
    chmod -R o-rwx Αριθ. CAS: tomcatΚατάλογος
     
  • Ρυθμίστε τα πράγματα για να πάρετε την ασφάλεια end-to-end για τα μηνύματα ηλεκτρονικού ταχυδρομείου που αποστέλλονται απόERDDAP™στους χρήστες. Για παράδειγμα, θα μπορούσατε να κάνετε ένα σύστημα Google-centric μόνο με τη δημιουργία<user> tags για διευθύνσεις ηλεκτρονικού ταχυδρομείου μέσω Google και με τη ρύθμιση σαςERDDAP™για να χρησιμοποιήσετε έναν εξυπηρετητή ηλεκτρονικού ταχυδρομείου Google μέσω ασφαλούς σύνδεσης / TLS: στην εγκατάσταση σας.xml, χρησιμοποιήστε π.χ.,
    <emailSmtpHost>smtp.gmail.com</emailSmtpHost>  
<emailSmtpPort>587</emailSmtpPort>
<emailProperties>mail.smtp.starttls.enable|true</emailProperties>

Δεν συνιστάται Η επιλογή ταυτοποίησης email δεν συνιστάται. Παρακαλώ χρησιμοποιήστε την επιλογή google, orcid ή oauth2.

Όπως και με το google, orcid, και oauth2 επιλογές, το email είναι πολύ βολικό γιαERDDAP™διαχειριστές -- δεν χρειάζεται ποτέ να ασχοληθείς με κωδικούς πρόσβασης ή με τα χασίς τους. Το μόνο που χρειάζεται να δημιουργήσετε είναι ένα [<χρήστης>] (/docs/server-admin/datasets#user) ετικέτα για έναν χρήστη indatasets.xmlείναι η διεύθυνση ηλεκτρονικού ταχυδρομείου του χρήστη, η οποίαERDDAP™χρησιμοποιεί ως όνομα του χρήστη. (Το χαρακτηριστικό κωδικού πρόσβασης δεν χρησιμοποιείται κατά την ταυτοποίηση=email, google, orcid, ή oauth2.)

Με την επιλογή email, μόνο οι χρήστες που έχουν<χρήστης> tag indatasets.xmlμπορεί να προσπαθήσει να συνδεθεί σεERDDAP™παρέχοντας τη διεύθυνση email τους και κάνοντας κλικ στο σύνδεσμο στο email πουERDDAP™Τα στέλνει.

ERDDAP™αντιμετωπίζει τις διευθύνσεις ηλεκτρονικού ταχυδρομείου ως περίπτωση-αναίσθητη. Το κάνει αυτό με τη μετατροπή των διευθύνσεων email που εισάγετε (in<χρήστη> tags) ή οι χρήστες εισάγετε (στο έντυπο σύνδεσης) σε όλες τις πεζές εκδόσεις τους.

Για να ρυθμίσετε την ταυτοποίηση=email:

  1. Στην εγκατάσταση σας.xml, αλλάξτε το<βάσηHttpsUrl> τιμή ετικέτας. Για πειραματισμό/εργασία στον προσωπικό σας υπολογιστή, χρησιμοποιήστε https://localhost:8443
    Για το κοινό σαςERDDAP™, χρήση https://your.domain.org:8443
    ή χωρίς το :8443 αν χρησιμοποιείτε ApacheμεσολάβησηΈτσι ώστε ο αριθμός θύρας δεν χρειάζεται.  
  2. Στην εγκατάσταση σας.xml, αλλάξτε το<ταυτοποίηση> αξία ετικέτας για το email:
    <authentication>email</authentication>  
  1. Στην εγκατάσταση σας.xml, βεβαιωθείτε ότι το σύστημα ηλεκτρονικού ταχυδρομείου έχει συσταθεί μέσω όλων των<email...> ετικέτες, έτσι ώστεERDDAP™μπορεί να στείλει emails. Αν είναι δυνατόν, ρυθμίστε αυτό για να χρησιμοποιήσετε μια ασφαλή σύνδεση (SSL / TLS) στον εξυπηρετητή email.  
  2. Στο δικό σουdatasets.xml, δημιουργία [<χρήστης>] (/docs/server-admin/datasets#user) ετικέτες για κάθε χρήστη που θα έχει πρόσβαση σε ιδιωτικά σύνολα δεδομένων. Χρησιμοποιήστε τη διεύθυνση ηλεκτρονικού ταχυδρομείου του χρήστη ως το όνομα χρήστη στην ετικέτα. Μην ορίσετε το χαρακτηριστικό κωδικού πρόσβασης στην ετικέτα χρήστη.  
  3. ΕπανεκκίνησηERDDAP™έτσι ώστε οι αλλαγές σε setup.xml καιdatasets.xmlπαράγει αποτελέσματα.  
Google, orcid, oath2
  • Google , ορκίδη , και Όουθ2   (συνιστάται)
    Και οι τρεις αυτές επιλογές είναι οι συνιστώμενεςERDDAP™Επιλογές ταυτοποίησης. Είναι όλες οι πιο ασφαλείς επιλογές. Οι άλλες επιλογές έχουν σημαντικά ασθενέστερη ασφάλεια.  
Google
  • Η επιλογή ταυτοποίησης Google χρησιμοποιείΥπογραφή Στο Google, η οποία αποτελεί εφαρμογή τηςΠρωτόκολλο ταυτοποίησης OAuth 2.0.ERDDAP™οι χρήστες υπογράφουν στο λογαριασμό ηλεκτρονικού ταχυδρομείου της Google, συμπεριλαμβανομένων των λογαριασμών που διαχειρίζεται η Google, όπως@noaa.govλογαριασμούς. Αυτό επιτρέπειERDDAP™για την επαλήθευση της ταυτότητας του χρήστη (όνομα και διεύθυνση ηλεκτρονικού ταχυδρομείου) και πρόσβαση στην εικόνα προφίλ τους, αλλά δεν δίνειERDDAP™πρόσβαση στα email τους, στο Google Drive τους ή σε οποιαδήποτε άλλη ιδιωτική πληροφορία.

ΓιαERDDAP™v2.22 και κάτω,ERDDAP™χρησιμοποιείται "Google Sign-In". Η Google αναφέρει ότι το σύστημα υποτιμάται μετά τις 31 Μαρτίου 2023. Αν δεν το έχεις κάνει ήδη, σε παρακαλώ άλλαξε σεERDDAP™v2.23+ για χρήση του νέου "Sign In με το σύστημα ταυτοποίησης με βάση την Google.

ΓιαERDDAP™v2.23 περιπτώσεις με ένα Content-Security-Policy ρυθμισμένο και χρησιμοποιώντας το Google Authentication, θα πρέπει να προσθέσετε https://accounts.google.com στη λίστα επιτρεπόμενων σεναρίων- sc (ή σενάριο-src-elem) .ERDDAP™δεν χρησιμοποιείται πλέον https://apis.google.com , έτσι αν έχετε ότι επιτρέπεται, μπορεί να είναι σε θέση να το αφαιρέσετε τώρα.

ΓιαERDDAP™v2.24+ μπορεί επίσης να χρειαστεί να προσθέσετε https://accounts.google.com/gsi/style στ) στο stlye-src και https://accounts.google.com/gsi/ για να συνδέσετε-src. Για το σενάριο-src μπορείτε τώρα να χρησιμοποιήσετε https://accounts.google.com/gsi/client.

Για περισσότερες πληροφορίες μπορείτε να μεταβείτε στοΣελίδα Googleσχετικά με τις ρυθμίσεις CSP. Αν έχετε απορίες, επικοινωνήστε με τον Κρις Τζον στο Noaa.gov.  

Ορτσίδα
  • Η ορχιδέα επιλογή ταυτοποίησης χρησιμοποιείΟρθολογική ταυτοποίηση, η οποία αποτελεί εφαρμογή τηςΠρωτόκολλο ταυτοποίησης OAuth 2.0.ERDDAP™οι χρήστες υπογράφουν στηνΛογαριασμός Orcid, η οποία χρησιμοποιείται συνήθως από τους ερευνητές για να αυτοπροσδιορίζονται. Αυτό επιτρέπειERDDAP™για να επαληθεύσει την ταυτότητα του χρήστη Orcid και να πάρει τον αριθμό του λογαριασμού Orcid, αλλά δεν δίνειERDDAP™πρόσβαση στις άλλες πληροφορίες του Ορκιδικού λογαριασμού τους.
Όουθ2
  • Η επιλογή oauth2 επιτρέπει στους χρήστες να συνδεθούν είτε με τον λογαριασμό τους στο Google είτε με τον λογαριασμό τους στο Orcid.

Οι επιλογές google, orcid και oauth2 είναι οι διάδοχοι της επιλογής openid, η οποία διακόπηκε μετάERDDAP™έκδοση 1,68, και η οποία βασίστηκε σε μια έκδοση του ανοικτού Ταυτότητα που είναι πλέον ξεπερασμένη. Παρακαλώ μεταβείτε στην επιλογή google, orcid ή oauth2.

Αυτές οι επιλογές είναι πολύ βολικό γιαERDDAP™διαχειριστές -- δεν χρειάζεται ποτέ να ασχοληθείς με κωδικούς πρόσβασης ή με τα χασίς τους. Το μόνο που χρειάζεται να δημιουργήσετε είναι ένα [<χρήστης>] (/docs/server-admin/datasets#user) ετικέτα για έναν χρήστη indatasets.xmlπου προσδιορίζει τη διεύθυνση ηλεκτρονικού ταχυδρομείου του χρήστη ή τον αριθμό λογαριασμού Orcid ως χαρακτηριστικό όνομα χρήστη. (Το χαρακτηριστικό κωδικού πρόσβασης δεν χρησιμοποιείται κατά την ταυτοποίηση=email, google, orcid ή oauth2.)

Με αυτές τις επιλογές, ο καθένας μπορεί να συνδεθείERDDAP™με την υπογραφή στο λογαριασμό ηλεκτρονικού ταχυδρομείου της Google ή του λογαριασμού Orcid, αλλά κανείς δεν θα έχει το δικαίωμα να έχει πρόσβαση σε ιδιωτικά σύνολα δεδομένων μέχρι να σας (τοERDDAP™διαχειριστής) δημιουργία ενός<user> tag, προσδιορίζοντας τη διεύθυνση ηλεκτρονικού ταχυδρομείου της Google ή τον αριθμό λογαριασμού Orcid ως όνομα χρήστη, και καθορίζοντας τους ρόλους τους.

ERDDAP™αντιμετωπίζει τις διευθύνσεις ηλεκτρονικού ταχυδρομείου ως περίπτωση-αναίσθητη. Το κάνει αυτό με τη μετατροπή των διευθύνσεων email που εισάγετε (in<χρήστη> tags) ή οι χρήστες εισάγετε (στο έντυπο σύνδεσης) σε όλες τις πεζές εκδόσεις τους.

Για να ρυθμίσετε την ταυτοποίηση Google, orcid, ή oauth2:

  • Στην εγκατάσταση σας.xml, αλλάξτε το<βάσηHttpsUrl> τιμή ετικέτας. Για πειραματισμό/εργασία στον προσωπικό σας υπολογιστή, χρησιμοποιήστε https://localhost:8443
    Για το κοινό σαςERDDAP™, χρήση https://your.domain.org:8443
    ή, καλύτερα, χωρίς το :8443 αν χρησιμοποιείτε ApacheμεσολάβησηΈτσι ώστε ο αριθμός θύρας δεν χρειάζεται.  
  • Στην εγκατάσταση σας.xml, αλλάξτε το<ταυτοποίηση> τιμή ετικέτας στο google, orcid, ή outh2, για παράδειγμα:
    <authentication>oauth2</authentication>  
setup Google
  • Για τις επιλογές google και oauth2: Ακολουθήστε τις παρακάτω οδηγίες για να ρυθμίσετε την ταυτοποίηση Google για σαςERDDAP.  
    1. Εάν δεν έχετε λογαριασμό ηλεκτρονικού ταχυδρομείου Google,δημιουργία ενός
       
    2. ΣυνέχειαΑυτές οι οδηγίεςγια να δημιουργήσετε ένα έργο Google Developers Console και να πάρετε μια ταυτότητα πελάτη.

Όταν το έντυπο Google ζητά άδειαJavaΠροέλευση σεναρίου, εισάγετε την τιμή από<βάσηHttpsUrl> από τον προσωπικό σας υπολογιστήERDDAP™setup.xml, π.χ., https://localhost:8443
Σε μια δεύτερη γραμμή, προσθέστε το<βάσηHttpsUrl> από το κοινό σαςERDDAP™setup.xml, π.χ., https://your.domain.org:8443

Μην καθορίσετε οποιαδήποτε εξουσιοδοτημένη ανακατευθύνει URIs.

Όταν δείτε την ταυτότητα πελάτη σας για αυτό το έργο, αντιγράψτε και επικολλήστε το στην εγκατάσταση σας.xml (συνήθως ακριβώς παρακάτω)<Πιστοποίηση > να είναι ομαλή, αλλά η τοποθέτηση δεν έχει πραγματικά σημασία), στο<ετικέτα googleClientID>, π.χ., <googleClientID> το ClientID σας </googleClientID> Το ID του πελάτη θα είναι μια συμβολοσειρά περίπου 75 χαρακτήρων, πιθανώς ξεκινώντας με αρκετά ψηφία και καταλήγοντας με .apps.googleusercontent.com .  

  1. Στο δικό σουdatasets.xml, δημιουργία ενός [<χρήστης>] (/docs/server-admin/datasets#user) ετικέτα για κάθε χρήστη που θα έχει πρόσβαση σε ιδιωτικά σύνολα δεδομένων. Για το χαρακτηριστικό όνομα χρήστη στην ετικέτα:

    • Για τους χρήστες που θα συνδεθούν με το google, χρησιμοποιήστε τη διεύθυνση ηλεκτρονικού ταχυδρομείου του χρήστη.
    • Για τους χρήστες που θα συνδεθούν με occid, χρησιμοποιήστε τον αριθμό λογαριασμού Orcid του χρήστη (με παύλες) .

Μην ορίσετε το χαρακτηριστικό κωδικού πρόσβασης για την ετικέτα χρήστη.   4. ΕπανεκκίνησηERDDAP™έτσι ώστε οι αλλαγές σε setup.xml καιdatasets.xmlπαράγει αποτελέσματα.  

setup οργίου
  • Για τις επιλογές Orcid και oauth2: Ακολουθήστε τις παρακάτω οδηγίες για τη ρύθμιση της ταυτοποίησης Orcid για σαςERDDAP. (Για λεπτομέρειες, βλ.Τεκμηρίωση ταυτοποίησης API του Orcid.)
     
    1. Αν δεν έχετε λογαριασμό Orcid,δημιουργία ενός
       
    2. Σύνδεση σε Orcid https://orcid.org/signin χρησιμοποιώντας τον προσωπικό σας λογαριασμό Orcid.  
    3. Κάντε κλικ στο " Εργαλεία Developer" (κάτω "Για ερευνητές" στην κορυφή) .  
    4. Κάντε κλικ στο "Εγγραφείτε για το δωρεάν δημόσιο API ORCID". Εισάγετε αυτές τις πληροφορίες: Όνομα:ERDDAP™σε\[την οργάνωσή σας\]
      Ιστοσελίδα:\[ισχERDDAPΤομέας\]
      Περιγραφή:ERDDAP™είναι ένας επιστημονικός διακομιστής δεδομένων. Οι χρήστες πρέπει να πιστοποιήσουν με Google ή Orcid την πρόσβαση σε μη δημόσια σύνολα δεδομένων. Ανακατεύθυνση URI:\[ισχERDDAPΤομέας\]/erddap/loginOrcid.html  
    5. Κάντε κλικ στο εικονίδιο Αποθήκευση (Μοιάζει με δίσκο 3,5"1!) . Στη συνέχεια, μπορείτε να δείτε την ταυτότητα του πελάτη σας ORCID App και το μυστικό πελάτη ORCID.  
    6. Αντιγραφή και επικόλληση του αναγνωριστικού πελάτη ORCID APP (η οποία θα ξεκινήσει με "APP-") στο setup.xml στο<ετικέτα orcidClientID>, π.χ.,
        <orcidClientID>APP-*ALPHANUMERICCHARACTERS*</orcidClientID>
  1. Αντιγραφή και επικόλληση του μυστικού πελάτη ORCID (πεζοί αλφαριθμητικοί χαρακτήρες με παύλες) στο setup.xml στο<orcidClientSecret> tag, π.χ.,
        <orcidClientSecret>*alpha-numeric-characters-with-dashes*</orcidClientSecret>
  1. Στο δικό σουdatasets.xml, δημιουργία ενός [<χρήστης>] (/docs/server-admin/datasets#user) ετικέτα για κάθε χρήστη που θα έχει πρόσβαση σε ιδιωτικά σύνολα δεδομένων. Για το χαρακτηριστικό όνομα χρήστη στην ετικέτα:

    • Για τους χρήστες που θα συνδεθούν με το google, χρησιμοποιήστε τη διεύθυνση ηλεκτρονικού ταχυδρομείου του χρήστη.
    • Για τους χρήστες που θα συνδεθούν με occid, χρησιμοποιήστε τον αριθμό λογαριασμού Orcid του χρήστη (με παύλες) .

Μην ορίσετε το χαρακτηριστικό κωδικού πρόσβασης για την ετικέτα χρήστη.   9. ΕπανεκκίνησηERDDAP™έτσι ώστε οι αλλαγές σε setup.xml καιdatasets.xmlπαράγει αποτελέσματα.  

Σύνδεση με οποιονδήποτε τρόπο

Εάν χρησιμοποιείτε τις επιλογές ταυτοποίησης google, orcid ή oauth2, και το API ταυτοποίησης Google Sign-In ή Orcid ξαφνικά παύει να λειτουργεί (για οποιονδήποτε λόγο) ή παύει να εργάζεται ωςERDDAP™Αναμένει, οι χρήστες δεν θα είναι σε θέση να συνδεθείτε με σαςERDDAP. Ως προσωρινό (ή μόνιμα) λύση, μπορείτε να ζητήσετε από τους χρήστες να εγγραφούν στο άλλο σύστημα (Πάρτε ένα λογαριασμό email Google, ή να πάρετε ένα λογαριασμό Orcid) . Για να το κάνουμε αυτό:

  1. Αλλαγή του<ταυτοποίηση> ετικέτα έτσι ώστε να επιτρέπει το άλλο σύστημα ταυτοποίησης. Η επιλογή oauth2 επιτρέπει στους χρήστες να συνδεθούν με οποιοδήποτε σύστημα.
  2. Διπλώστε κάθε ένα από τα<user> ετικέτες και αλλαγή του χαρακτηριστικού του ονόματος χρήστη από τη διεύθυνση email της Google στον αντίστοιχο αριθμό λογαριασμού Orcid (ή αντίστροφα) , αλλά να κρατήσει τους ρόλους αποδίδουν το ίδιο.
OpenId

ERDDAP™δεν υποστηρίζει πλέον την επιλογή ταυτοποίησης openid, η οποία βασίστηκε σε μια έκδοση του open Ταυτότητα που είναι πλέον ξεπερασμένη. Παρακαλώ χρησιμοποιήστε τις επιλογές google, orcid, ή oauth2.

ΒΑΣΙΚΟ

ERDDAP™δεν υποστηρίζει την ταυτοποίηση BASIC επειδή:

  • Η BASIC φαίνεται προσανατολισμένη προς προκαθορισμένες ιστοσελίδες που χρειάζονται ασφαλή πρόσβαση ή κουβέρτα on/off πρόσβαση σε ολόκληρο το site, αλλάERDDAP™επιτρέπει (περιορισμένη πρόσβαση) σύνολα δεδομένων που προστίθενται κατά την πτήση.
  • BASIC ταυτοποίηση δεν προσφέρει έναν τρόπο για τους χρήστες να αποσυνδεθούν!
  • Η ταυτοποίηση BASIC είναι γνωστό ότι δεν είναι ασφαλής.
Ασφαλείς πηγές δεδομένων

Εάν ένα σύνολο δεδομένων πρόκειται να έχει περιορισμένη πρόσβαση σεERDDAP™χρήστες, η πηγή δεδομένων (από όπουERDDAP™παίρνει τα δεδομένα) δεν θα πρέπει να είναι προσβάσιμη στο κοινό. Έτσι, πώς μπορείERDDAP™να πάρει τα δεδομένα για τα σύνολα δεδομένων περιορισμένης πρόσβασης; Ορισμένες επιλογές είναι:

  • ERDDAP™μπορεί να εξυπηρετήσει δεδομένα από τοπικά αρχεία (Για παράδειγμα, μέσω του EDDTable ΑπόΑρχεία ήEDDGridΑπό αρχεία) .  
  • ERDDAP™μπορεί να είναι σε έναDMZ και η piηγή δεδοένων (π.χ.OPeNDAPεξυπηρετητής ή βάση δεδομένων) μπορεί να είναι πίσω από ένατείχος προστασίας, όπου είναι προσβάσιμοERDDAP™Αλλά όχι στο κοινό.  
  • Η πηγή δεδομένων μπορεί να είναι σε μια δημόσια ιστοσελίδα, αλλά απαιτούν μια σύνδεση για να πάρει τα δεδομένα. Οι δύο τύποι συνόλου δεδομένων πουERDDAP™μπορεί να συνδεθεί στην πρόσβαση είναιΠίνακας EDD από τη βάση δεδομένωνκαιΠίνακας EDD από την Κασάνδρα. Αυτά τα σύνολα δεδομένων υποστηρίζουν (και θα πρέπει πάντα να χρησιμοποιείται) ονόματα χρηστών (δημιουργία ενόςERDDAP™χρήστη που έχει μόνο δικαιώματα ανάγνωσης) , κωδικούς πρόσβασης, συνδέσεις SSL, και άλλα μέτρα ασφαλείας.

Αλλά γενικά, προς το παρόν,ERDDAP™δεν μπορεί να ασχοληθεί με αυτές τις πηγές δεδομένων επειδή δεν έχει διατάξεις για την καταγραφή στην πηγή δεδομένων. Αυτός είναι ο λόγος για τον οποίο η πρόσβαση σεEDDGridΑπό το Erddap και τον πίνακα EDD Από τοErddapΤα σύνολα δεδομένων δεν μπορούν να περιοριστούν. Επί του παρόντος, η τοπικήERDDAP™δεν έχει τρόπο σύνδεσης και πρόσβασης στις πληροφορίες μεταδεδομένων από το απομακρυσμένοERDDAP. Και βάζοντας το "απόμακρο"ERDDAP™Πίσω από το τείχος προστασίας σας και την αφαίρεση του συνόλου δεδομένων είναι προσβάσιμο Στους περιορισμούς δεν λύνεται το πρόβλημα: δεδομένου ότι ο χρήστης ζητά EDDXxx Από τα δεδομένα Erddap πρέπει να ανακατευθύνονται στο τηλεχειριστήριοERDDAP™, το απομακρυσμένοERDDAP™Πρέπει να είναι προσβάσιμο.

Άμυνες Κατά Χάκερς

Υπάρχουν κακοί χάκερ που προσπαθούν να εκμεταλλευτούν αδυναμίες ασφαλείας στο λογισμικό server όπωςERDDAP.ERDDAP™Ακολουθεί η κοινή συμβουλή ασφαλείας για να έχουν διάφορα επίπεδα άμυνας:

  • Περιορισμένα Προνόμια -- Μια από τις πιο σημαντικές άμυνες είναι να τρέξει Tomcat μέσω ενός χρήστη που ονομάζεται tomcat που δεν έχει κωδικό πρόσβασης (έτσι κανείς δεν μπορεί να συνδεθεί ως ο χρήστης) και έχει περιορισμένα δικαιώματα συστήματος αρχείων (π.χ. πρόσβαση μόνο για ανάγνωση στα δεδομένα) . Βλέπεις;ERDDAPΟδηγίες γιαδημιουργία tomcat.
  • Βαριά Χρήση - Γενικά,ERDDAP™είναι χτισμένο για βαριά χρήση, συμπεριλαμβανομένων των σεναρίων που κάνουν δεκάδες χιλιάδες αιτήματα, το ένα μετά το άλλο. Είναι δύσκολο γιαERDDAP™να ανοιχτεί ταυτόχρονα σε βαριά νόμιμη χρήση και να προστατευτεί από την κακοποίηση. Είναι μερικές φορές δύσκολο να διαφοροποιηθεί βαριά νόμιμη χρήση, υπερβολική νόμιμη χρήση, και παράνομη χρήση (Και μερικές φορές είναι πολύ εύκολο.) . Μεταξύ άλλων άμυνων,ERDDAP™συνειδητά δεν επιτρέπει ούτε ένα αίτημα να χρησιμοποιηθεί ένα υπέρμετρο κλάσμα των πόρων του συστήματος (εκτός εάν το σύστημα δεν είναι σε διαφορετική περίπτωση ενεργό) .
  • Εντοπισμός ενοχλητικών χρηστών - ΑνERDDAP™επιβραδύνει ή παγώνει (Ίσως επειδή ένας αφελής χρήστης ή ένα bot τρέχει πολλαπλά σενάρια για να υποβάλει πολλαπλές αιτήσεις ταυτόχρονα ή ίσως λόγω ενός κακού τύπουΆρνηση υπηρεσίαςεπίθεση) , μπορείτε να δείτε τοΗμερήσιο email Αναφοράς (και συχνότερες ίδιες πληροφορίες στοERDDAP™αρχείο καταγραφής) που εμφανίζει τον αριθμό των αιτήσεων που υπέβαλαν οι πιο ενεργοί χρήστες (Βλέπε "Διεύθυνση IP του Requester (Επιτρέπεται) ") .ERDDAP™στέλνει επίσης email στον διαχειριστή όποτε υπάρχει" Ασυνήθιστη δραστηριότητα: > 25% των αιτήσεων απέτυχε". Στη συνέχεια, μπορείτε να κοιτάξετε στοERDDAP™αρχείο καταγραφής για να δείτε τη φύση των αιτήσεών τους. Αν αισθάνεστε ότι κάποιος κάνει πάρα πολλά αιτήματα, παράξενες αιτήσεις (Δεν θα πίστευες αυτό που είδα, ίσως να το πίστευες.) , ή αιτήματα τύπου επίθεσης, μπορείτε να προσθέσετε τη διεύθυνση IP τους στη μαύρη λίστα.
  • Μαύρη λίστα... Μπορείτε να προσθέσετε τη διεύθυνση IP των προβληματικών χρηστών, bot, καιΆρνηση υπηρεσίαςεπιτιθέμενοι στοERDDAP μαύρη λίστα, έτσι ώστε τα μελλοντικά αιτήματα τους να απορριφθούν αμέσως. Αυτή η ρύθμιση είναι σεdatasets.xmlώστε να μπορείτε να προσθέσετε γρήγορα μια διεύθυνση IP στη λίστα και στη συνέχειασημαίασύνολο δεδομένων έτσι ώστεERDDAP™ειδοποιεί αμέσως και εφαρμόζει την αλλαγή. Το μήνυμα σφάλματος που αποστέλλεται στους χρήστες της μαύρης λίστας τους ενθαρρύνει να επικοινωνήσουν με τοERDDAP™διαχειριστή εάν αισθάνονται ότι έχουν τοποθετηθεί λανθασμένα στη μαύρη λίστα. (Από την εμπειρία μας, αρκετοί χρήστες δεν γνώριζαν ότι εκτελούσαν πολλαπλά σενάρια ταυτόχρονα, ή ότι τα σενάριά τους έκαναν ανόητα αιτήματα.)
  • Dataset Security - Ορισμένοι τύποι συνόλων δεδομένων (Ειδικότερα, EDDTableFromDatabase) παρουσιάζουν πρόσθετους κινδύνους ασφάλειας (π.χ., ένεση SQL) και έχουν τα δικά τους μέτρα ασφαλείας. Δείτε τις πληροφορίες για αυτούς τους τύπους συνόλων δεδομένωνΣυνεργασία με τοdatasets.xmlΑρχείο, ιδίωςEDDTableΑπό την ασφάλεια βάσης δεδομένων.
  • Έλεγχος ασφαλείας -- Αν καιNOAAΗ ασφάλεια της πληροφορικής αρνήθηκε τις αιτήσεις μας για σαρώσεις για χρόνια, τώρα συνήθως σαρώνουν μου (Του Μπομπ.) ERDDAP™εγκατάσταση. Αν και οι αρχικές σαρώσεις βρήκαν κάποια προβλήματα που στη συνέχεια έφτιαξα, οι επόμενες σαρώσεις δεν έχουν βρει προβλήματα μεERDDAP. Οι σαρώσεις ανησυχούν για πολλά πράγματα.tabledapαιτήματα μοιάζουν με αιτήματα SQL, ανησυχούν για ευπαθείς SQL ένεση. Αλλά αυτές οι ανησυχίες είναι αβάσιμες επειδήERDDAP™πάντα αναλύει και επικυρώνει ερωτήματα και στη συνέχεια δημιουργεί ξεχωριστά το ερώτημα SQL με τρόπο που αποφεύγει τρωτά σημεία ένεσης. Το άλλο πράγμα που μερικές φορές παραπονιούνται είναι ότι μαςJavaΗ έκδοση ή οι εκδόσεις Tomcat δεν είναι τόσο ενημερωμένες όσο θέλουν, οπότε τις ενημερώνουμε σε απάντηση. Πριν προσφέρθηκα να δείξω στους ανθρώπους τις αναφορές ασφαλείας, αλλά τώρα μου είπαν ότι δεν μπορώ να το κάνω αυτό.

Ερωτήσεις; Προτάσεις;

Εάν έχετε οποιεσδήποτε ερωτήσεις σχετικά μεERDDAPΣυζητήσεις του Ευρωπαϊκού Κοινοβουλίουτμήμα για τη λήψη πρόσθετης υποστήριξης.

Πράγματα που δεν χρειάζεται να ξέρεις

Αυτές είναι λεπτομέρειες που δεν χρειάζεται να ξέρεις μέχρι να προκύψει μια ανάγκη.

ΔεύτερηERDDAP™

  • Setting ενός δευτερολέπτουERDDAP™για δοκιμή/ανάπτυξη
    Αν θέλετε να το κάνετε αυτό, υπάρχουν δύο προσεγγίσεις:
  • (Καλύτερο) Εγκατάσταση Tomcat καιERDDAP™σε υπολογιστή διαφορετικό από τον υπολογιστή που έχει το κοινό σαςERDDAP. Εάν χρησιμοποιείτε τον προσωπικό σας υπολογιστή:
  1. Κάντε την εγκατάσταση ένα βήμα τη φορά. Φέρε πρώτα τον Τόμκατ. Όταν ο Tomcat τρέχει, ο Tomcat Manager θα πρέπει να είναι στο http://127.0.0.1:8080/manager/html/ (Ή ίσως http://localhost:8080/manager/html/ )

  2. ΕγκατάστασηERDDAP.

  3. Μην χρησιμοποιήσετε το ProxyPass για να εξαλείψετε τον αριθμό θύρας από τοERDDAP™Το URL.

  4. Μέσαsetup.xml, set baseUrl to http://127.0.0.1:8080

  5. Αφού ξεκινήσεις αυτόERDDAP™, θα πρέπει να είναι σε θέση να το δείτε στο http://127.0.0.1:8080/erddap/status.html (Ή ίσως http://localhost:8080/erddap/status.html )

Δεύτερο Tomcat

  • (Δεύτερο καλύτερο) Εγκαταστήστε ένα άλλο Tomcat στον ίδιο υπολογιστή με το κοινό σαςERDDAP.
  1. Κάντε την εγκατάσταση ένα βήμα τη φορά. Φέρε πρώτα τον Τόμκατ. Αλλαγή όλων των αριθμών θύρας που σχετίζονται με το δεύτερο Tomcat (π.χ. αλλαγή 8080 σε 8081) (Δείτε τοΠολλαπλά Tomcat Τμήμαστα μισά του εγγράφου) .

  2. ΕγκατάστασηERDDAP™Στο νέο Tomcat.

  3. Μην χρησιμοποιήσετε το ProxyPass για να εξαλείψετε τον αριθμό θύρας από τοERDDAP™Το URL.

  4. Μέσαsetup.xml, set baseUrl to http://www.*yourDomainName*:8081

  5. Αφού ξεκινήσεις αυτόERDDAP™, θα πρέπει να είναι σε θέση να το δείτε στο http://www.*yourDomainName*:8081/erddap/status.html
     

Δίσκοι στερεάς κατάστασης

  • Δίσκοι στερεάς κατάστασης (ΟΣΔ) Είναι υπέροχα!
    Ο πιο γρήγορος, ευκολότερος και φθηνότερος τρόπος για να επιταχύνετεERDDAPΗ πρόσβαση σε δεδομένα πίνακα είναι να θέσει τα αρχεία δεδομένων σε μια στερεά κατάσταση Drive (SSD) . Τα περισσότερα σύνολα δεδομένων πίνακα είναι σχετικά μικρά, έτσι ένα 1 ή 2 TB SSD είναι πιθανώς επαρκή για να κρατήσει όλα τα αρχεία δεδομένων για όλα τα σύνολα δεδομένων πίνακα σας. Το SSD τελικά φθείρεται αν γράψετε δεδομένα σε ένα κύτταρο, το διαγράψετε και γράψετε νέα δεδομένα σε αυτό το κελί πάρα πολλές φορές. Έτσι, αν απλά χρησιμοποιήσετε SSD σας για να γράψετε τα δεδομένα μια φορά και να τα διαβάσετε πολλές φορές, ακόμη και ένα SSD βαθμού καταναλωτή θα πρέπει να διαρκέσει πολύ μεγάλο χρονικό διάστημα, πιθανώς πολύ περισσότερο από κάθε σκληρό δίσκο (ΟΔΔ) . Τα SSD είναι πλέον φτηνά. (το 2018, ~200 δολάρια για 1 TB ή ~400 δολάρια για 2 TB) και οι τιμές εξακολουθούν να πέφτουν γρήγορα. ΠότεERDDAP™πρόσβαση σε ένα αρχείο δεδομένων, ένα SSD προσφέρει τόσο μικρότερη λανθάνουσα ικανότητα (~0.1ms, έναντι ~3ms για HDD, έναντι ~10 (♪ ♪) ms για ένα RAID, έναντι ~55ms για το Amazon S3) και υψηλότερη απόδοση (~500 MB/S, έναντι ~75 MB/s για HDD, έναντι ~500 MB/s για RAID) . Έτσι μπορείτε να πάρετε μια μεγάλη ώθηση απόδοσης (έως 10X έναντι HDD) για 200 δολάρια! Σε σύγκριση με τις περισσότερες πιθανές αλλαγές στο σύστημά σας (Νέο σέρβερ για 10.000 δολάρια; Ένα νέο RAID για 35.000 δολάρια; Ένας νέος διακόπτης δικτύου για 5000 δολάρια; κ.λπ.) , αυτό είναι μακράν η καλύτερη απόδοση των επενδύσεων (ΡΟΙ) . Εάν/όταν το SSD πεθάνει (σε 1, 2, ... 8 χρόνια) , να το αντικαταστήσει. Μην βασίζεστε σε αυτό όπως για μακροπρόθεσμη, αρχειακή αποθήκευση των δεδομένων, μόνο για το μπροστινό αντίγραφο των δεδομένων.\[Το SSD θα ήταν πολύ καλό και για τα δεδομένα του δικτύου, αλλά τα περισσότερα δίκτυα δεδομένων είναι πολύ μεγαλύτερα, καθιστώντας το SSD πολύ ακριβό.\]

Εάν ο server σας δεν είναι φορτωμένος με μνήμη, επιπλέον μνήμη για τον server σας είναι επίσης ένας μεγάλος και σχετικά φθηνός τρόπος για να επιταχύνει όλες τις πτυχές τουERDDAP.  

Βαριά φορτία / περιορισμούς **

Με βαριά χρήση, αυτόνομηERDDAP™μπορεί να περιοριστεί από διάφορα προβλήματα. Για περισσότερες πληροφορίες, βλ.Κατάλογος περιορισμών και λύσεων.  

Δίχτυα, συστάδες και ομοσπονδίες

Υπό πολύ βαριά χρήση, ένα μόνο αυτόνομοERDDAP™θα αντιμετωπίσει έναν ή περισσότερους περιορισμούς και ακόμη και οι προτεινόμενες λύσεις θα είναι ανεπαρκείς. Για τέτοιες περιπτώσεις,ERDDAP™έχει χαρακτηριστικά που καθιστούν εύκολη την κατασκευή κλιμακωτών καννάβων (επίσης ονομάζεται συστάδες ή ομοσπονδίες) τουERDDAPs που επιτρέπουν στο σύστημα να χειρίζεται πολύ βαριά χρήση (π.χ. για μεγάλο data center) . Για περισσότερες πληροφορίες, βλ.πλέγματα, συστάδες και ομοσπονδίεςERDDAPα.  

Υπολογισμός Cloud

Αρκετές εταιρείες αρχίζουν να προσφέρουνΥπηρεσίες υπολογιστικών νεφών (π.χ.,Υπηρεσίες διαδικτύου του Amazon) .Εταιρείες φιλοξενίας ιστοσελίδωνέχουν προσφέρει απλούστερες υπηρεσίες από τα μέσα της δεκαετίας του 1990, αλλά οι υπηρεσίες "σύννεφο" έχουν επεκτείνει σε μεγάλο βαθμό την ευελιξία των συστημάτων και το φάσμα των υπηρεσιών που προσφέρονται. Μπορείτε να χρησιμοποιήσετε αυτές τις υπηρεσίες για να δημιουργήσετε ένα ενιαίοERDDAP™ή ένα πλέγμα/σύμπλεγμαERDDAPs για να χειριστείτε πολύ βαριά χρήση. Για περισσότερες πληροφορίες, βλ.υπολογιστικό σύννεφο μεERDDAP™.

Αμαζόνιος

  • Υπηρεσίες διαδικτύου του Amazon (AWS) EC2 Επισκόπηση εγκατάστασης
    Υπηρεσίες διαδικτύου του Amazon (AWS) αυπηρεσία υπολογιστικού νέφουςπου προσφέρει ένα ευρύ φάσμα υποδομών υπολογιστών που μπορείτε να νοικιάσετε με την ώρα. Μπορείτε να εγκαταστήσετεERDDAP™σε έναΕλαστική υπολογισμού Cloud (EC2) περίπτωση (το όνομά τους για έναν υπολογιστή που μπορείτε να νοικιάσετε με την ώρα) . AWS έχει ένα εξαιρετικόΟδηγός χρήστη AWSκαι μπορείτε να χρησιμοποιήσετε το Google για να βρείτε απαντήσεις σε συγκεκριμένες ερωτήσεις που μπορεί να έχετε. Προετοιμάσου -- είναι μια αρκετά μεγάλη δουλειά για να ξεκινήσεις. Αλλά μόλις πάρετε ένα διακομιστή σε λειτουργία, μπορείτε εύκολα να νοικιάσετε όπως πολλοί πρόσθετοι πόροι (εξυπηρετητές, βάσεις δεδομένων, SSD-space, κλπ.) Όπως χρειάζεστε, σε μια λογική τιμή.\[Αυτό δεν είναι σύσταση ή έγκριση της Amazon Web Services. Υπάρχουν και άλλοι πάροχοι νεφών.\]

Μια επισκόπηση των πραγμάτων που πρέπει να κάνετε για να πάρετεERDDAP™Η εκτέλεση του AWS είναι:

  • Γενικά, θα κάνετε όλα τα πράγματα που περιγράφονται στοΟδηγός χρήστη AWS.
  • Κανόνισε λογαριασμό AWS.
  • Set ενός χρήστη AWS σε αυτόν τον λογαριασμό με δικαιώματα διαχειριστή. Συνδεθείτε ως αυτός ο χρήστης για να κάνετε όλα τα παρακάτω βήματα.
  • Ελαστική αποθήκευση μπλοκ (EBS) είναι το ισοδύναμο AWS ενός σκληρού δίσκου που συνδέεται με το διακομιστή σας. Κάποιος χώρος EBS θα κατανεμηθεί όταν δημιουργήσετε για πρώτη φορά ένα παράδειγμα EC2. Είναι μόνιμη αποθήκευση -- οι πληροφορίες δεν χάνονται όταν σταματάτε το EC2 παράδειγμα σας. Και αν αλλάξετε τους τύπους περιστατικών, ο χώρος EBS σας συνδέεται αυτόματα με τη νέα περίπτωση.
  • Δημιουργήστε μια Ελαστική διεύθυνση IP, έτσι ώστε το EC2 παράδειγμα σας έχει ένα σταθερό, δημόσιο URL (σε αντίθεση με μόνο ένα ιδιωτικό URL που αλλάζει κάθε φορά που επανεκκινείτε την παράστασή σας) .
  • Δημιουργία και εκκίνηση ενός EC2 present (υπολογιστή) . Υπάρχει ένα ευρύ φάσματύποι περιπτώσεων, ο καθένας σε διαφορετική τιμή. Ένα m4.large ή m4.xlarge παράδειγμα είναι ισχυρό και είναι πιθανώς κατάλληλο για τις περισσότερες χρήσεις, αλλά επιλέξτε ό, τι καλύπτει τις ανάγκες σας. Πιθανότατα θα θέλετε να χρησιμοποιήσετε το Linux της Amazon ως το λειτουργικό σύστημα.
  • Αν ο υπολογιστής σας είναι υπολογιστής Windows, μπορείτε να χρησιμοποιήσετεΠΑΤΙ, ένα δωρεάν SSH πελάτη για Windows, για να αποκτήσετε πρόσβαση στη γραμμή εντολών EC2 περίπτωση σας. Ή, μπορεί να έχετε κάποιο άλλο πρόγραμμα SSH που προτιμάτε.
  • Όταν συνδεθείτε στην περίπτωση EC2, θα συνδεθείτε ως ο διοικητικός χρήστης με το όνομα χρήστη "ec2-user". Ο χρήστης του ec2-user έχει δικαιώματα sudo. Έτσι, όταν πρέπει να κάνετε κάτι ως ο χρήστης ρίζας, χρησιμοποιήστε: sudo κάποιος διοικητής
  • Αν ο υπολογιστής σας είναι υπολογιστής Windows, μπορείτε να χρησιμοποιήσετεΑρχείοZilla, ένα δωρεάν πρόγραμμα SFTP, για τη μεταφορά αρχείων σε / από την EC2 περίπτωση σας. Ή, μπορεί να έχετε κάποιο άλλο πρόγραμμα SFTP που προτιμάτε.
  • Εγκατάσταση Apacheστην περίπτωση EC2 σας.
  • Ακολουθήστε το πρότυποERDDAP™οδηγίες εγκατάστασης.  

Περίμενε, τότε δοκίμασε ξανά την εξαίρεση.

Ένας χρήστης μπορεί να λάβει ένα μήνυμα σφάλματος όπως Περίμενε, τότε προσπάθησε ξανά. Υπήρχε ένα (Προσωρινά;) Πρόβλημα. Περίμενε ένα λεπτό, τότε προσπάθησε ξανά. (Σε ένα πρόγραμμα περιήγησης, κάντε κλικ στο κουμπί Επαναφόρτωση.)
Λεπτομέρειες: GridDataAccessor.increment: μερική Αποτελέσματα\[0\]="123542730" αναμενόταν να είναι "123532800".

Η γενική εξήγηση του WaitThenTryAgainException είναι: ΠότεERDDAP™ανταποκρίνεται σε ένα αίτημα χρήστη, μπορεί να υπάρξει ένα απροσδόκητο σφάλμα με το σύνολο δεδομένων (π.χ., σφάλμα κατά την ανάγνωση δεδομένων από το αρχείο, ή σφάλμα πρόσβασης σε ένα απομακρυσμένο σύνολο δεδομένων) . Περίμενε. Ξαναπροσπάθησε.ERDDAP™ότι η αίτηση απέτυχε (μέχρι στιγμής) Αλλά αυτόERDDAP™θα πρέπει να προσπαθήσει να επαναφορτώσει το σύνολο δεδομένων γρήγορα (Με καλεί.ΑίτησηReloadASAP) και ξαναδοκίμασε το αίτημα. Συχνά, αυτό πετυχαίνει, και ο χρήστης απλά βλέπει ότι η απάντηση στο αίτημα ήταν αργή. Άλλες φορές, η επαναφόρτωση αποτυγχάνει ή είναι πολύ αργή, ή η επακόλουθη προσπάθεια αντιμετώπισης του αιτήματος επίσης αποτυγχάνει και ρίχνει ένα άλλο WaitThenTryAgain. Αν συμβεί αυτό,ERDDAP™σημειώνει το σύνολο δεδομένων για επαναφόρτωση αλλά λέει στο χρήστη (μέσω μιας WaitThenTryAξανά Εξαίρεση) ότι υπήρξε αποτυχία ενώ ανταποκρινόταν στο αίτημα.

Αυτή είναι η φυσιολογική συμπεριφορά. Αυτό το σύστημα μπορεί να αντιμετωπίσει πολλά κοινά προβλήματα. Αλλά είναι δυνατόν αυτό το σύστημα να ενεργοποιηθεί υπερβολικά. Η πιο κοινή αιτία είναι ότιERDDAP's φόρτωση του συνόλου δεδομένων δεν βλέπει ένα πρόβλημα, αλλά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™θα ενημερώσει σύντομα το σύνολο δεδομένων (συχνά σε λίγα δευτερόλεπτα, συνήθως μέσα σε ένα λεπτό) . Άλλα, παρόμοια προβλήματα ρίχνουν επίσης την εξαίρεση WaitThenTryAgain.

ΑίτησηReloadASAP

Μπορείτε να δείτε το αίτημαReloadASAP στο αρχείο log.txt αμέσως μετά από ένα μήνυμα σφάλματος και συχνά κοντά σε έναΠερίμενε, τότε δοκίμασε ξανά την εξαίρεση.. Είναι βασικά ένας εσωτερικός, προγραμματικός τρόπος γιαERDDAP™για να ορίσετεσημαίανα σηματοδοτεί ότι το σύνολο δεδομένων θα πρέπει να επαναφορτωθεί το συντομότερο δυνατόν.  

Τα αρχεία δεν διαγράφονται

Για μερικούςERDDAP™Συζητήσεις του Ευρωπαϊκού ΚοινοβουλίουERDDAP™να μένουν ανοιχτά (λανθασμένα) και έτσι να μην διαγραφεί. Σε μερικές περιπτώσεις, πολλά από αυτά τα αρχεία έχουν συσσωρεύσει και καταλαμβάνουν σημαντική ποσότητα χώρου στο δίσκο.

Ελπίζω ότι αυτά τα προβλήματα θα διορθωθούν. (από τηνERDDAP™v2.00) . Αν δείτε αυτό το πρόβλημα, παρακαλούμε στείλτε email στον κατάλογο + ονόματα των προσβλητικών αρχείων στον Chris. Τζον στο Νόαγκοβ. Έχετε μερικές επιλογές για την αντιμετώπιση του προβλήματος:

  • Αν τα αρχεία δεν είναι μεγάλα και δεν σας κάνουν να ξεμείνετε από χώρο στο δίσκο, μπορείτε να αγνοήσετε το πρόβλημα.
  • Η απλούστερη λύση είναι το κλείσιμο του tomcat/ERDDAP™ (μετά από ώρες τόσο λιγότεροι χρήστες επηρεάζονται) . Κατά τη διάρκεια του κλεισίματος, αν το λειτουργικό σύστημα δεν διαγράψει τα αρχεία, διαγράψτε τα με το χέρι. Μετά επανεκκίνησηERDDAP.  

JSON-d

URL εκτός ημερομηνίας

Αργά αλλά σίγουρα, τα URL που οι πάροχοι δεδομένων έχουν γράψει σε αρχεία δεδομένων γίνονται ξεπερασμένα (για παράδειγμα,httpγίνεταιhttps, οι ιστοσελίδες αναδιοργανώνονται και οργανισμοί όπως NODC/NDC/NCDC αναδιοργανώνονται σε NCEI) . Οι προκύπτοντες σπασμένοι σύνδεσμοι είναι ένα συνεχώς παρόν πρόβλημα που αντιμετωπίζουν όλες οι ιστοσελίδες. Για να ασχοληθεί με αυτό,ERDDAP™τώρα έχει ένα σύστημα για να ενημερώνει αυτόματα τα ξεπερασμένα URL. Αν δημιουργήσετε σύνολα δεδομένων Το Xml βλέπει ένα απαρχαιωμένο URL, προσθέτει το ενημερωμένο URL στο<addAttributes>. Επίσης, όταν ένα σύνολο δεδομένων φορτώνει, ανERDDAP™βλέπει ένα ξεπερασμένο URL, το αλλάζει σιωπηλά στο ενημερωμένο URL. Οι αλλαγές ελέγχονται από μια σειρά αναζήτησης/αντικατάστασης-με ζεύγη που ορίζονται στο<ενημέρωσηUrls> μέσαERDDAPΣ \[τομκάτ\]/webapps/erddap/WEB-INF/classes/gov/noaa/pfel/erddap/util/messages.xml αρχείο. Μπορείς να κάνεις αλλαγές εκεί. Εάν έχετε προτάσεις για αλλαγές, ή αν νομίζετε ότι αυτό θα πρέπει να μετατραπεί σε υπηρεσία (Όπως οι μετατροπείς.) , παρακαλώ στείλτε e-mail στον Κρις. Τζον στο Νόαγκοβ.  

CORS

  • CORS (Διασυνοριακή κατανομή πόρων)
    " είναι ένας μηχανισμός που επιτρέπει περιορισμένους πόρους (π.χ. γραμματοσειρές ήERDDAP™δεδομένα) σε μια ιστοσελίδα που θα ζητηθεί από έναν άλλο τομέα εκτός του τομέα από τον οποίο εξυπηρετήθηκε ο πρώτος πόρος. (Αρούν Ρανγκανάθαν) . Βασικά, CORS είναι ένα μήνυμα που μπορεί να τεθεί στην HTTP κεφαλίδα μιας απάντησης, λέγοντας ουσιαστικά, "είναι εντάξει με αυτό το site αν ορισμένες άλλες τοποθεσίες (συγκεκριμένες ή όλες) αρπαγή πόρων (π.χ. δεδομένα) από αυτό το site και να είναι διαθέσιμο στην ιστοσελίδα τους". Έτσι, είναι μια εναλλακτική λύσηΤΣΟΝΠ.

Οι προγραμματιστές τουERDDAP™δεν ισχυρίζονται ότι είναι εμπειρογνώμονες ασφαλείας. Δεν είμαστε απολύτως σαφείς σχετικά με τα ζητήματα ασφάλειας που σχετίζονται με την CORS. Δεν θέλουμε να κάνουμε καμία δήλωση υπέρ μιας δράσης που μειώνει την ασφάλεια. Οπότε θα μείνουμε ουδέτεροι και θα το αφήσουμε στον καθένα.ERDDAP™διαχειριστή να αποφασίσει εάν τα οφέλη ή να επιτρέψει μια κεφαλίδα CORS αξίζουν τους κινδύνους. Όπως πάντα, ανERDDAP™Είναι καλή ιδέα να είμαστε πολύ προσεκτικοί με την ασφάλεια.

Αν θέλετε να ενεργοποιήσετε το CORS για σαςERDDAP™, υπάρχουνάμεσα διαθέσιμες οδηγίεςΠεριγράφοντας τον τρόπο με τον οποίο οι διαχειριστές της ιστοσελίδας μπορούν να ενεργοποιήσουν μια κεφαλίδα CORS μέσω του λογισμικού διακομιστή χαμηλότερου επιπέδου (π.χ., Απάτσι ή γκίνξ) .

Παλέτες

  • Οι παλέτες χρησιμοποιούνται απόERDDAP™να μετατρέψει μια σειρά από τιμές δεδομένων σε μια σειρά χρωμάτων κατά την κατασκευή γραφημάτων και χαρτών.

Κάθε παλέτα ορίζεται σε ένα .cpt-style αρχείο παλέτας όπως χρησιμοποιείται απόGMT. ΌλαERDDAP™.cpt αρχεία είναι έγκυρα αρχεία GMT .cpt, αλλά το αντίθετο δεν είναι αλήθεια. Για χρήση σεERDDAP™, .cpt αρχεία έχουν:

  • Προαιρετικές γραμμές σχολίων στην αρχή του αρχείου, ξεκινώντας με "#".
  • Ένα κύριο τμήμα με περιγραφή των τμημάτων της παλέτας, ένα τμήμα ανά γραμμή. Κάθε γραμμή περιγραφής τμήματος έχει 8 τιμές: έναρξη Τιμή, εκκίνηση κόκκινο, αρχή Πράσινο, ξεκίνα. Μπλε, endValue, end Red, endGreen, endBlue. Μπορεί να υπάρχει οποιοσδήποτε αριθμός τμημάτων.ERDDAP™χρησιμοποιεί γραμμική παρεμβολή μεταξύ του startRed/Green/Blue και του endRed/Green/Blue κάθε τμήματος.

Σας συνιστούμε κάθε τμήμα να καθορίσει ένα χρώμα αρχής και τέλους που είναι διαφορετικό, και το χρώμα έναρξης κάθε τμήματος να είναι το ίδιο με το τελικό χρώμα του προηγούμενου τμήματος, έτσι ώστε η παλέτα περιγράφει ένα συνεχές μείγμα χρωμάτων.ERDDAP™έχει ένα σύστημα για τη δημιουργία on-the-fly μια παλέτα διακριτών χρωμάτων από μια παλέτα με ένα συνεχές μείγμα χρωμάτων. ΑERDDAP™ο χρήστης μπορεί να καθορίσει αν θέλουν η παλέτα να είναι συνεχής (το πρωτότυπο) ή Διακριτικά (προέρχεται από το πρωτότυπο) . Αλλά υπάρχουν βάσιμοι λόγοι για να μην ακολουθούμε αυτές τις συστάσεις για μερικές παλέτες.

  • Η αρχήValue και endValues πρέπει να είναι ακέραιοι. Το πρώτο τμήμα πρέπει να έχει StartValue=0 και endValue=1. Το δεύτερο τμήμα πρέπει να έχει StartValue=1 και endValue=2. Εκδ.
  • Οι κόκκινες, πράσινες και μπλε τιμές πρέπει να είναι ακέραιες από 0 (κανένα) ... 255 (πλήρης σε) .
  • Το τέλος του αρχείου πρέπει να έχει 3 γραμμές με:
    1. Χρώμα φόντου rgb για τιμές δεδομένων μικρότερες από την ελάχιστη γραμμή χρώματος, π.χ.: B 128 128 128 Είναι συχνά το startRed, startGreen, και startBlue του πρώτου τμήματος.
    2. Χρώμα προσκηνίου rgb για τιμές δεδομένων μεγαλύτερες από τη μέγιστη γραμμή χρώματος, π.χ.: F 128 0 0 Είναι συχνά το endRed, endGreen, και endBlue του τελευταίου τμήματος.
    3. Χρώμα rgb για τις τιμές δεδομένων NaN, π.χ., N 128 128 128 Είναι συχνά μεσαία γκρι (128 128 128) .
  • Οι τιμές σε κάθε γραμμή πρέπει να διαχωρίζονται με καρτέλες, χωρίς εξωτερικούς χώρους.

Ένα δείγμα .cpt αρχείο είναι BlueWhiteRed.cpt:

\# Αυτό είναι BlueWhiteRed.cpt. 0 0 0 128 1 0 255 1 0 0 255 2 0 255 255 2 0 255 255 3 255 255 255 3 255 255 255 4 255 255 0 4 255 255 0 5 255 0 5 255 0 0 6 128 0 Β 0 0 128 F 128 0 0 Ν 128 128 128

Δείτε τα υπάρχοντα αρχεία .cpt για άλλα παραδείγματα. Αν υπάρχει πρόβλημα με ένα αρχείο .cpt,ERDDAP™πιθανώς θα ρίξει ένα σφάλμα όταν το αρχείο .cpt αναλυθεί (που είναι καλύτερο από την κατάχρηση των πληροφοριών) .

Μπορείτε να προσθέσετε επιπλέον παλέτες σεERDDAP. Μπορείτε να τα φτιάξετε μόνοι σας ή να τα βρείτε στο διαδίκτυο (Για παράδειγμα, στοcpt-πόλη) Αν και θα πρέπει πιθανώς να επεξεργαστείτε τη μορφή τους ελαφρώς για να συμμορφωθεί μεERDDAPΟι απαιτήσεις του .cpt. Για να πάρειERDDAP™για να χρησιμοποιήσετε ένα νέο αρχείο .cpt, αποθηκεύστε το αρχείο σε τομκάτ /webapps/erddap/WEB-INF/cptfiles (θα πρέπει να το κάνετε αυτό για κάθε νέα έκδοση τουERDDAP) και είτε:

  • Εάν χρησιμοποιείτε το προεπιλεγμένο αρχείο μηνυμάτων.xml: προσθέστε το όνομα αρχείου στο<παλέτες> tag in τομκάτ /webapps/erddap/WEB-INF/classes/gov/noaa/pfel/erddap/util/messages.xml. Αν το κάνετε αυτό, θα πρέπει να το κάνετε κάθε φορά που κάνετε αναβάθμισηERDDAP.
  • Αν χρησιμοποιείτε ένα προσαρμοσμένο αρχείο μηνυμάτων.xml: προσθέστε το όνομα αρχείου στο<palettes> ετικέτα στο προσαρμοσμένο αρχείο μηνυμάτων.xml: τομκάτ /content/erddap/messages.xml . Αν το κάνεις αυτό, πρέπει να το κάνεις μόνο μια φορά. (αλλά υπάρχει και άλλη εργασία για τη διατήρηση ενός προσαρμοσμένου αρχείου μηνυμάτων.xml) .

Μετά επανεκκίνησηERDDAP™Οπότε...ERDDAP™παρατηρεί τις αλλαγές. Ένα πλεονέκτημα αυτής της προσέγγισης είναι ότι μπορείτε να καθορίσετε τη σειρά των παλετών στη λίστα που παρουσιάζεται στους χρήστες. Αν προσθέσετε μια συλλογή, σας ενθαρρύνουμε να προσθέσετε ένα πρόθεμα με τα αρχικά των συγγραφέων (π.χ., "KT\_") στο όνομα κάθε παλέτας για τον προσδιορισμό της συλλογής και έτσι ώστε να υπάρχουν πολλαπλές παλέτες που διαφορετικά θα είχαν το ίδιο όνομα.

Παρακαλώ μην αφαιρέσετε ή αλλάξετε καμία από τις συνήθεις παλέτες. Είναι ένα τυπικό χαρακτηριστικό όλωνERDDAP™εγκαταστάσεις. Εάν νομίζετε ότι μια παλέτα ή συλλογή παλετών θα πρέπει να περιλαμβάνονται στο πρότυποERDDAP™διανομή γιατί θα ήταν γενικής χρήσης, παρακαλούμε στείλτε τα με email στον Chris. Τζον στο Νόαγκοβ.

Γραμμές χρωμάτων

  • Πώς πάει;ERDDAP™παράγει τα χρώματα σε μια γραμμή χρωμάτων;
  1. Ο χρήστης επιλέγει ένα από τα προκαθορισμέναπαλέτεςή χρησιμοποιεί την προεπιλογή, π.χ., Rainbow. Οι παλέτες αποθηκεύονται/ορίζονται σε αρχεία πίνακα χρωμάτων GMT-style .cpt. Καθένα από ταERDDAPΟι προκαθορισμένες παλέτες έχουν ένα απλό ακέραιο εύρος, π.χ. 0 έως 1 (αν υπάρχει μόνο ένα τμήμα στην παλέτα) , ή 0 έως 4 (εάν υπάρχουν τέσσερα τμήματα στην παλέτα) . Κάθε τμήμα του αρχείου καλύπτει n έως n+1, ξεκινώντας από n=0.
  2. ERDDAP™δημιουργεί ένα νέο αρχείο .cpt on-the-fly, με την κλιμάκωση της προκαθορισμένης σειράς παλέτας (π.χ., 0 έως 4) στο εύρος της παλέτας που χρειάζεται ο χρήστης (π.χ., 0.1 έως 50) και στη συνέχεια δημιουργώντας ένα τμήμα στη νέα παλέτα για κάθε τμήμα της νέας παλέτας (π.χ., μια κλίμακα καταγραφής με τσιμπούρια σε 0.1, 0.5, 1, 5, 10, 50 θα έχει 5 τμήματα) . Το χρώμα για το τελικό σημείο κάθε τμήματος δημιουργείται με την εύρεση του σχετικού τμήματος της παλέτας στο .cpt αρχείο, στη συνέχεια γραμμικά παρεμβολή των τιμών R, G, και B. (Αυτό είναι το ίδιο με το πώς GMT παράγει χρώματα από τα αρχεία πίνακα παλέτα χρώμα του.) Αυτό το σύστημα επιτρέπειERDDAP™για να ξεκινήσετε με γενικές παλέτες (π.χ., Ουράνιο τόξο με 8 τμήματα, στο σύνολο που καλύπτουν 0 έως 8) και να δημιουργήσετε προσαρμοσμένες παλέτες on-the-fly (π.χ. ένα προσαρμοσμένο ουράνιο τόξο, το οποίο χαρτογραφεί 0,1 έως 50 mg/L στα χρώματα του ουράνιου τόξου) .
  3. ERDDAP™Στη συνέχεια χρησιμοποιεί το νέο αρχείο .cpt για να δημιουργήσει το χρώμα για κάθε διαφορετικό χρωματιστό pixel στη γραμμή χρωμάτων (και αργότερα για κάθε σημείο δεδομένων κατά τη σχεδίαση δεδομένων σε ένα γράφημα ή χάρτη) , και πάλι με την εύρεση του σχετικού τμήματος της παλέτας στο .cpt αρχείο, στη συνέχεια γραμμικά παρεμβάλλονται οι τιμές R, G, και B.

Αυτή η διαδικασία μπορεί να φαίνεται άσκοπα περίπλοκη. Αλλά λύνει προβλήματα που σχετίζονται με λέπια καταγραφής που είναι δύσκολο να λύσουν άλλους τρόπους.

Πώς μπορείς να μιμηθείς τι;ERDDAP™Κάνει; Δεν είναι εύκολο. Βασικά πρέπει να αντιγράψεις τη διαδικασία πουERDDAP™χρησιμοποιείται. Εάν είστεJavaπρογραμματιστή, μπορείτε να χρησιμοποιήσετε το ίδιοJavaκατηγορία πουERDDAP™χρησιμοποιεί για να κάνει όλα αυτά: τομκάτ /webapps/erddap/WEB-INF/classes/gov/noaa/pfel/coastwatch/sgt/CompoundColorMap.java.

Κατευθυντήριες γραμμές για τα συστήματα διανομής δεδομένων

Περισσότερες γενικές γνώμες για το σχεδιασμό και την αξιολόγηση των συστημάτων διανομής δεδομένων μπορούν να βρεθούνΕδώ..  

ΑρχείοADataset

Περιλαμβάνεται στο δικό σαςERDDAP™εγκατάσταση είναι ένα εργαλείο γραμμής εντολών που ονομάζεται ArchiveADataset το οποίο μπορεί να σας βοηθήσει να κάνετε ένα αρχείο (α.zipή.tar.gzαρχείο) με μέρος ή όλο σύνολο δεδομένων αποθηκευμένο σε σειρά netcdf-3.ncαρχεία δεδομένων σε μορφή αρχείου που είναι κατάλληλο για υποβολή σεNOAAΑρχείο NCEI (.ncγια δέσμες δεδομένων με πλέγμα ή.ncCFMAγια σύνολα δεδομένων πίνακα, όπως καθορίζεται από τοNCEINetCDFΠρότυπα v2.0) .

ΑρχείοA Το Dataset μπορεί να κάνει δύο διαφορετικές μορφές αρχείων:

Δεν προκαλεί έκπληξη, ηκαθολικά και μεταβλητά μεταδεδομέναότιERDDAP™ενθαρρύνει / απαιτεί είναι σχεδόν ακριβώς το ίδιο in-file CF και ACDD μεταδεδομένα που NCEI ενθαρρύνει / απαιτεί, έτσι ώστε όλα τα σύνολα δεδομένων σας θα πρέπει να είναι έτοιμα για υποβολή σε NCEI μέσωSend2NCEIήΑΤΡΑΚ (Το προηγμένο εργαλείο παρακολούθησης και πόρων του NCEI για συλλογές αρχείων) .

Εάν εσείς (τοERDDAP™διαχειριστής) χρήση αρχειοθήκηADataset για την υποβολή δεδομένων σε NCEI, τότε μπορείτε (όχι NCEI) θα καθορίσει πότε να υποβάλει ένα κομμάτι δεδομένων στο NCEI και τι θα είναι αυτό το κομμάτι, επειδή θα ξέρετε πότε υπάρχουν νέα δεδομένα και πώς να καθορίσετε αυτό το κομμάτι (Και η NCEI δεν θα το κάνει.) . Έτσι, το ArchiveADataset είναι ένα εργαλείο για να χρησιμοποιήσετε για να δημιουργήσετε ένα πακέτο για να υποβάλετε στο NCEI.

ΑρχείοA Το σύνολο δεδομένων μπορεί να είναι χρήσιμο σε άλλες περιπτώσεις, για παράδειγμα, γιαERDDAP™διαχειριστές που πρέπει να μετατρέψουν ένα υποσύνολο ενός συνόλου δεδομένων (σε ένα ιδιωτικόERDDAP) από τη μητρική μορφή του αρχείου σε ένα σύνολο.ncΑρχεία CF, έτσι ώστε ένα κοινόERDDAP™μπορεί να εξυπηρετήσει τα δεδομένα από το.ncΑρχεία CF αντί των αρχικών αρχείων.

Μόλις στήσετεERDDAP™και να το τρέξεις (τουλάχιστον μία φορά) , μπορείτε να βρείτε και να χρησιμοποιήσετε ArchiveADataset στο τομκάτ /webapps/erddap/WEB-INF directory. Υπάρχει ένα σενάριο κελύφους (ΑρχείοADataset.sh) για Linux/Unix και ένα αρχείο παρτίδας (ΑρχείοADataset.bat) για τα Windows.

Στα Windows, την πρώτη φορά που τρέχετε ArchiveADataset, θα πρέπει να επεξεργαστείτε το ArchiveADataset. αρχείο νυχτερίδας με επεξεργαστή κειμένου για να αλλάξετε τη διαδρομή προς το java. exe αρχείο έτσι ώστε τα Windows να μπορούν να βρουνJava.

Όταν τρέχετε ArchiveADataset, θα σας κάνει μια σειρά ερωτήσεων. Για κάθε ερώτηση, πληκτρολογήστε μια απάντηση, στη συνέχεια, πιέστε Enter. Ή πατήστε ^C για να βγείτε από ένα πρόγραμμα ανά πάσα στιγμή.

Ή, μπορείτε να βάλετε τις απαντήσεις στις ερωτήσεις, προκειμένου, στη γραμμή εντολών. Για να το κάνετε αυτό, εκτελέστε το πρόγραμμα μία φορά και πληκτρολογήστε και γράψτε τις απαντήσεις σας. Στη συνέχεια, μπορείτε να δημιουργήσετε μια γραμμή εντολών (με τις απαντήσεις ως παραμέτρους) που τρέχει το πρόγραμμα και απαντά σε όλες τις ερωτήσεις. Χρησιμοποιήστε την προεπιλεγμένη λέξη αν θέλετε να χρησιμοποιήσετε την προκαθορισμένη τιμή για μια δεδομένη παράμετρο. Χρήση "" (δύο διπλά εισαγωγικά) ως κάτοχος χώρου για μια άδεια συμβολοσειρά. Ο καθορισμός παραμέτρων στη γραμμή εντολών μπορεί να είναι πολύ βολικός, για παράδειγμα, αν χρησιμοποιείτε το ArchiveADataset μία φορά το μήνα για να αρχειοθετήσετε τα δεδομένα που αξίζουν ένα μήνα. Μόλις έχετε δημιουργήσει τη γραμμή εντολών με παραμέτρους και αποθηκεύσετε ότι στις σημειώσεις σας ή σε ένα σενάριο κελύφους, απλά χρειάζεται να κάνετε μικρές αλλαγές κάθε μήνα για να κάνετε το αρχείο του μήνα.

Οι ερωτήσεις που ζητά το ArchiveADataset σας επιτρέπουν να:

  • Καθορίστε την αρχική ή τη συσκευασία αρχείων Bagit. Για το NCEI, χρησιμοποιήστε το Bagit.
  • Προσδιορίστε το φερμουάρ ή την πίσσα.gzσυμπίεση για το πακέτο. Για το NCEI, χρησιμοποιήστε πίσσα.gz.
  • Καθορίστε μια διεύθυνση email επαφής για αυτή την αρχειοθήκη (θα γραφτεί στο αρχείο READ\_ME.txt στην αρχειοθήκη) .
  • Προσδιορίστε τοdatasetIDτου συνόλου δεδομένων που θέλετε να αρχειοθετήσετε.
  • Καθορίστε τις μεταβλητές δεδομένων που θέλετε να αρχειοθετήσετε (συνήθως όλα) .
  • Καθορίστε το υποσύνολο του συνόλου δεδομένων που θέλετε να αρχειοθετήσετε. Πρέπει να διαμορφώσετε το υποσύνολο με τον ίδιο τρόπο που θα διαμορφώσετε ένα υποσύνολο για ένα αίτημα δεδομένων, έτσι θα είναι διαφορετικό για το πλέγμα από ό, τι για τα σύνολα δεδομένων πίνακα.
    • Για τα πλέγματα δεδομένων, μπορείτε να καθορίσετε ένα εύρος τιμών της πιο αριστερής διάστασης, συνήθως αυτό είναι ένα εύρος χρόνου. ArchiveADataset θα κάνει ένα ξεχωριστό αίτημα και θα δημιουργήσει ένα ξεχωριστό αρχείο δεδομένων για κάθε τιμή στο εύρος των τιμών. Δεδομένου ότι τα πλέγματα δεδομένων είναι συνήθως μεγάλα, θα πρέπει σχεδόν πάντα να καθορίσετε ένα μικρό υποσύνολο σε σχέση με το μέγεθος ολόκληρου του συνόλου δεδομένων. Για παράδειγμα,\[ (2015-12-01) : (2015-12-31) \]\[\]\[\]\[\]
    • Για σύνολα δεδομένων πίνακα, μπορείτε να καθορίσετε οποιαδήποτε συλλογή περιορισμών, αλλά είναι συχνά ένα εύρος χρόνου. Δεδομένου ότι τα σύνολα δεδομένων της καρτέλας είναι συνήθως μικρά, είναι συχνά δυνατόν να προσδιοριστεί κανένας περιορισμός, έτσι ώστε ολόκληρο το σύνολο δεδομένων να αρχειοθετείται. Για παράδειγμα, & time>=2015-12-01&time<2016-01-01
  • Για σύνολα δεδομένων πίνακα: καθορίστε μια λίστα διαχωρισμένων με κόμμα 0 ή περισσότερων μεταβλητών που θα καθορίσουν τον τρόπο με τον οποίο τα αρχειοθετημένα δεδομένα υποδιαιρούνται περαιτέρω σε διαφορετικά αρχεία δεδομένων. Για σύνολα δεδομένων που έχουν cdm\_data\_type\=Σειρά του χρόνου|ΧρόνοςSeriesProfile|Τροχιά|ΤροχιάProfile θα πρέπει σχεδόν πάντα να καθορίσετε τη μεταβλητή που έχει το cf\_role=timeseries\_id (π.χ.,stationID) ή cf\_role=trajectory\_id χαρακτηριστικό. ArchiveADataset θα κάνει ένα ξεχωριστό αίτημα και να δημιουργήσει ένα ξεχωριστό αρχείο δεδομένων για κάθε συνδυασμό των τιμών αυτών των μεταβλητών, π.χ., για κάθεstationID. Για όλα τα άλλα σύνολα δεδομένων πίνακα, πιθανότατα δεν θα ορίσετε καμία μεταβλητή για το σκοπό αυτό. Προειδοποίηση: Εάν το υποσύνολο του συνόλου δεδομένων που αρχειοθετείτε είναι πολύ μεγάλο (>2GB) και δεν υπάρχει κατάλληλη μεταβλητή για το σκοπό αυτό, τότε ArchiveADataset δεν μπορεί να χρησιμοποιηθεί με αυτό το σύνολο δεδομένων. Αυτό πρέπει να είναι σπάνιο.
  • Καθορίστε τη μορφή αρχείου για τα αρχεία δεδομένων που θα δημιουργηθούν. Για δέσμες δεδομένων με πλέγμα, για NCEI, χρήση.nc. Για σύνολα δεδομένων πίνακα, για NCEI, χρήση.ncCFMAεάν πρόκειται για επιλογή· διαφορετικά, χρήση.nc.
  • Προσδιορίστε τον τύπο της πέψης αρχείων που θα δημιουργηθεί για κάθε αρχείο δεδομένων και για ολόκληρο το πακέτο αρχειοθέτησης: MD5, SHA-1, ή SHA-256. Η πέψη αρχείων παρέχει έναν τρόπο για τον πελάτη (π.χ. NCEI) για να ελεγχθεί αν το αρχείο δεδομένων έχει αλλοιωθεί. Παραδοσιακά, αυτά ήταναρχεία . md5Αλλά τώρα υπάρχουν καλύτερες επιλογές. Για το NCEI, χρησιμοποιήστε το SHA-256.

Αφού απαντήσετε σε όλες τις ερωτήσεις, το ArchiveADataset θα:

  1. Κάντε μια σειρά αιτημάτων στο σύνολο δεδομένων και στήστε τα αρχεία δεδομένων που προκύπτουν bigParentΚατάλογος /ArchiveADataset/ datasetID\_ Χρονοσφραγίδα /. Για τα πλέγματα δεδομένων, θα υπάρχει ένα αρχείο για κάθε τιμή της αριστερής διάστασης (π.χ. χρόνος) . Το όνομα του αρχείου θα είναι αυτή η τιμή (π.χ. η τιμή χρόνου) . Για τα σύνολα δεδομένων πίνακα, θα υπάρχει ένα αρχείο για κάθε τιμή της ... μεταβλητής (α) . Το όνομα του αρχείου θα είναι αυτή η τιμή. Εάν υπάρχουν περισσότερες από μία μεταβλητές, οι αριστερές μεταβλητές θα χρησιμοποιηθούν για να γίνουν ονόματα υποκαταλόγου, και η δεξιά μεταβλητή θα χρησιμοποιηθεί για να γίνουν τα ονόματα αρχείων. Κάθε αρχείο δεδομένων πρέπει να είναι<2GB (το μέγιστο επιτρεπόμενο από.ncέκδοση 3 αρχεία) .

  2. Κάντε ένα αρχείο που σχετίζεται με κάθε αρχείο δεδομένων με την πέψη του αρχείου δεδομένων. Για παράδειγμα, εάν το αρχείο δεδομένων είναι 46088.ncκαι ο τύπος πέψης είναι .sha256, τότε το αρχείο πέψης θα έχει το όνομα 46088.nc.sha256 .

  3. Κάντε ένα αρχείο READ\_ME.txt με πληροφορίες σχετικά με την αρχειοθήκη, συμπεριλαμβανομένης μιας λίστας με όλες τις ρυθμίσεις που ορίσατε για τη δημιουργία αυτής της αρχειοθήκης.

  4. Δημιουργία 3 αρχείων bigParentΚατάλογος /ArchiveADataset/:

    • Α.zipή.tar.gzαρχείο με όνομα datasetID\_ Χρονοσφραγίδα .zip (ή.tar.gz) που περιέχει όλα τα σκηνοθετημένα αρχεία δεδομένων και τα αρχεία πέψης. Αυτό το αρχείο μπορεί να είναι οποιοδήποτε μέγεθος, περιορίζεται μόνο από το χώρο του δίσκου.
    • Ένα αρχείο πέψης για το αρχείο αρχειοθήκης, για παράδειγμα, datasetID\_ Χρονοσφραγίδα .zip. sha256.txt
    • Για τον " αρχικό" τύπο αρχείου, ένα αρχείο κειμένου που ονομάζεται datasetID\_ Χρονοσφραγίδα .zip.listOfFiles.txt (ή.tar.gz) που απαριθμεί όλα τα αρχεία στο.zip (ή.tar.gz) Αρχείο.

Εάν προετοιμάζετε το αρχείο για το NCEI, αυτά είναι τα αρχεία που θα στείλετε στο NCEI, ίσως μέσωSend2NCEIήΑΤΡΑΚ (Το προηγμένο εργαλείο παρακολούθησης και πόρων του NCEI για συλλογές αρχείων) . 5. Διαγραφή όλων των σκηνοθετημένων αρχείων έτσι ώστε μόνο το αρχείο (π.χ.,.zip) , η πέψη (π.χ. .sha256.txt) του αρχείου, και (προαιρετικά) Τα αρχεία .listOfFiles.txt παραμένουν.

ISO 19115 .xml Αρχεία μεταδεδομένων

Το αρχείο ArchiveADataset δεν περιλαμβάνει το αρχείο μεταδεδομένων ISO 19115 .xml για το σύνολο δεδομένων. Αν θέλετε/χρειαστείτε να υποβάλετε ένα αρχείο ISO 19115 για το σύνολο δεδομένων σας στο NCEI, μπορείτε να τους στείλετε το αρχείο μεταδεδομένων ISO 19115 .xml πουERDDAP™δημιουργήθηκε για το σύνολο δεδομένων (αλλάNMFSΟι άνθρωποι θα πρέπει να πάρει το αρχείο ISO 19115 για τα σύνολα δεδομένων τους από InPort ανERDDAP™δεν έχει ήδη εξυπηρετήσει αυτό το αρχείο) .

Προβλήματα; Προτάσεις; ΑρχείοADataset είναι νέο. Αν έχετε προβλήματα ή προτάσεις, δείτε τοτμήμα για τη λήψη πρόσθετης υποστήριξης.