Yderligere oplysninger
Ting du har brug for at vide
** Proxy fejl **
Nogle gange, en anmodning om ERDDAP™ vil returnere en Proxy Fejl, en HTTP 502 Bad Gateway Fejl, eller en lignende fejl. Disse fejl bliver kastet af Apache eller Tomcat, ikke ERDDAP™ selv.
- Hvis hver anmodning genererer disse fejl, især når du først opretter din anmodning ERDDAP™ , så er det sandsynligvis en proxy eller dårlig gateway fejl, og løsningen er sandsynligvis at fastsætte ERDDAP 's proxy indstillinger . Dette kan også være problemet, når et etableret ERDDAP™ pludselig begynder at smide disse fejl for hver anmodning.
- Ellers, "proxy" fejl er normalt tidspunkt ud fejl smidt af Apache eller Tomcat. Selv når de sker relativt hurtigt, er det en slags svar fra Apache eller Tomcat, der opstår, når de sker, ERDDAP™ er meget optaget, hukommelsesbegrænset, eller begrænset af nogle andre ressourcer. I disse tilfælde, se råd nedenfor for at beskæftige sig med ERDDAP™ reagerer langsomt .
Anmodninger i lang tidsinterval (>30 point) fra et netded datasæt er tilbøjelig til at time ud af fejl, som ofte vises som Proxy fejl, fordi det tager betydelig tid for at opnå en betydelig tid ERDDAP™ for at åbne alle datafiler en-by-one. Hvis ERDDAP™ er ellers optaget under anmodning, problemet er mere sandsynligt at forekomme. Hvis datasættets filer er komprimeret, er problemet mere sandsynligt at forekomme, selvom det er svært for en bruger at afgøre, om et datasæts filer er komprimeret. Løsningen er at lave flere anmodninger, hver med et mindre tidsinterval. Hvor lille af et tidsinterval? Jeg foreslår at begynde virkelig lille (~30 tid point?) , så (ca. ca.) dobbelt tidsintervallet, indtil anmodningen fejler, så gå tilbage en doubling. Så foretage alle anmodninger (hver for et andet stykke tid) nødvendige for at få alle data. An An An An An ERDDAP™ Administrator kan mindske dette problem ved at øge problemet Apache tidsindstillinger .
Overvågning af overvågning
Vi ønsker alle vores datatjenester til at finde deres publikum og blive grundigt brugt, men nogle gange din ERDDAP™ kan bruges for meget, hvilket forårsager problemer, herunder super langsomme reaktioner for alle anmodninger. Vores plan for at undgå problemer er:
- Skærm skærm ERDDAP™ via via Status.html side . Det har tonsvis af nyttige oplysninger. Hvis du ser, at et stort antal anmodninger kommer i, eller tonsvis af hukommelse, der bruges, eller tonsvis af mislykkede anmodninger, eller hver Major LoadDatasets tager lang tid, eller se alle tegn på ting, der går ned og reagerer langsomt, så kig på ERDDAP 's log.txt-fil for at se, hvad der foregår.
Det er også nyttigt at blot bemærke, hvor hurtigt statussiden reagerer. Hvis det reagerer langsomt, er det en vigtig indikator, der ERDDAP™ er meget optaget.
- Skærm skærm ERDDAP™ via via Daglig rapport email.
- Se efter opdaterede datasæt via baseUrl /erddap/outOfDateDatasets.html webside, der er baseret på den valgfrie testOutOfDate global egenskab.
Eksterne skærme
Metoderne ovenfor er ERDDAP 's måder at overvåge sig selv. Det er også muligt at gøre eller bruge eksterne systemer til at overvåge din ERDDAP . Et projekt til at gøre dette er Axiom's erddap-metrics projekt . Sådanne eksterne systemer har nogle fordele:
- De kan tilpasses til at give de oplysninger, du ønsker, vises på den måde, du ønsker.
- De kan indeholde oplysninger om ERDDAP™ den, der ERDDAP™ kan ikke få adgang til nemt eller på alle (f.eks. CPU-forbrug, diskplads, ERDDAP™ responstid som set fra brugerens perspektiv, ERDDAP™ oppetid,
- De kan give advarsler (e-mails, telefonopkald, tekster) til administratorer, når problemer overstiger nogle tærskel.
Flere Simultane Anmodninger
- Blacklist brugere gør flere samtidige anmodninger! Hvis det er klart, at nogle bruger gør mere end én samtidig anmodning, gentagne gange og kontinuerligt, skal du tilføje deres IP-adresse til ERDDAP []<Anmod om Blacklist>] (/docs/server-admin/datasets#requestblacklist) i din indbakke datasets.xml fil. Nogle gange er anmodningerne alle fra én IP-adresse. Nogle gange er de fra flere IP-adresser, men tydeligt den samme bruger. Du kan også blacklist folk gør tonsvis af ugyldige anmodninger eller tonsvis af mind-numbingly ineffektive anmodninger.
Så for hver anmodning de laver, ERDDAP™ afkast:
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.
Forhåbentlig vil brugeren se denne besked og kontakte dig for at finde ud af, hvordan man løser problemet og får af blacklist. Nogle gange skal de bare skifte IP-adresser og prøve igen.
Det er ligesom balancen mellem offensive og defensive våben i krig. Her, de defensive våben ( ERDDAP ) har en fast kapacitet, begrænset af antallet af kerner i CPU, diskadgangsbredden og netværksbredden. Men de offensive våben (brugere, især scripts) har ubegrænset kapacitet:
- En enkelt anmodning om data fra en masse tid point kan forårsage ERDDAP for at åbne et stort antal filer (i rækkefølge eller delvist multi-threaded) . I ekstreme tilfælde kan en "simple" anmodning nemt binde RAID fastgjort til ERDDAP™ i et minut blokerer effektivt håndteringen af andre anmodninger.
- En enkelt anmodning kan forbruge en stor mængde hukommelse (selvom selvom ERDDAP™ er kodet for at minimere den hukommelse, der er nødvendig for at håndtere store anmodninger) .
- Parallelisering - - - - Det er nemt for en klog bruger at parallelisere en stor opgave ved at generere masser af tråde, hver især sender en separat anmodning (som kan være stor eller lille) . Denne adfærd tilskyndes af computervidenskabssamfundet som en effektiv måde at håndtere et stort problem (og parallelisering er effektiv i andre forhold) . Tag tilbage til krigen analogi: Brugere kan gøre et stort ubegrænset antal samtidige anmodninger med omkostningerne ved hvert enkelt væsen stort set nul, men omkostningerne ved hver anmodning kommer ind i ERDDAP™ kan være stor og ERDDAP 's reaktionsevne er begrænset. klart, klart, ERDDAP™ vil miste denne kamp, medmindre ERDDAP™ administrator blacklists brugere, der foretager flere samtidige anmodninger, som er urimeligt at crowding andre brugere.
- Flere scripts - Tænk nu på, hvad der sker, når der er flere smarte brugere, hver kører parallelle scripts. Hvis en bruger kan generere så mange anmodninger, at andre brugere er overfyldt ud, så kan flere sådanne brugere generere så mange anmodninger, som ERDDAP™ bliver overvældet og tilsyneladende uansvarlig. Det er effektivt en DDOS angreb Igen, det eneste forsvar for ERDDAP™ er til blacklist-brugere, der gør flere samtidige anmodninger, der er urimeligt crowding ud andre brugere.
- Oppustede forventninger - I denne verden af massive tekniske virksomheder (Amazon, Google, Facebook,...) , brugerne er kommet til at forvente væsentlige ubegrænsede kapaciteter fra udbydere. Da disse virksomheder tjener aktiviteter, har de flere brugere, desto flere indtægter, de skal udvide deres IT-infrastruktur. Så de har råd til en massiv IT-infrastruktur til at håndtere anmodninger. Og de begrænser klogt antallet af anmodninger og omkostninger ved hver anmodning fra brugere ved at begrænse de anmodninger, som brugerne kan gøre, så ingen anmodning er byrdefuld, og der er aldrig en grund til (eller en måde) for brugere at foretage flere samtidige anmodninger. Så disse store tekniske virksomheder kan have langt flere brugere end ERDDAP™ , men de har enormt flere ressourcer og smarte måder at begrænse anmodninger fra hver bruger. Det er en overskuelig situation for de store IT-virksomheder (og de bliver rige!) men ikke for ERDDAP™ installationer. Igen, det eneste forsvar for ERDDAP™ er til blacklist-brugere, der gør flere samtidige anmodninger, der er urimeligt crowding ud andre brugere.
Så brugere: Foretag ikke flere samtidige anmodninger, eller du vil blive sortlistet!
Det er klart bedst, hvis din server har en masse kerner, en masse hukommelse (så du kan allokere en masse hukommelse til ERDDAP™ , mere end det nogensinde har brug for) , og en høj båndbredde internetforbindelse. Så hukommelsen er sjældent eller aldrig en begrænsning faktor, men netværksbredden bliver den mere almindelige begrænsende faktor. Dybest set, da der er flere og flere samtidige anmodninger, hastigheden til enhver given bruger falder. Det bremser naturligvis antallet af anmodninger, der kommer i, hvis hver bruger kun sender en anmodning ad gangen.
ERDDAP™ At få data fra THREDDS
Hvis du vil ERDDAP™ Få nogle af dens data fra en THREDDS på dit websted, er der nogle fordele for at gøre en kopi af THREDDS data filer (mindst for de mest populære datasæt) på en anden RAID, der ERDDAP™ har adgang til, så ERDDAP™ kan tjene data fra filerne direkte. At tage på ERD , vi gør det for vores mest populære datasæt.
- ERDDAP™ kan få data direkte og ikke skal vente på, at THREDDS kan indlæse datasættet eller...
- ERDDAP™ kan se og inkorporere nye datafiler med det samme, så det behøver ikke at Pester THREDDS ofte at se, om datasættet har ændret sig. Se [<OpdaterEveryNMillis>] (/docs/server-admin/datasets#updateeverynmillis) .
- belastningen er delt mellem 2 RAIDS og 2 servere, i stedet for, at anmodningen er hård på begge sider ERDDAP™ og EDTH.
- Du undgår forkert problem forårsaget af THREDDS med en lille (som standard) maksimal anmodningsstørrelse. ERDDAP™ har et system til at håndtere forkert kamp, men undgå problemet er bedre.
- Du har en sikkerhedskopi af de data, der altid er en god ide.
I alle tilfælde, behøver du ikke nogensinde køre THREDDS og ERDDAP™ i samme Tomcat. Kør dem i separate Tomcats, eller bedre, på separate servere.
Vi finder, at THREDDS regelmæssigt bliver i en tilstand, hvor anmodninger bare hænger. Hvis du vil ERDDAP™ bliver data fra en THREDDS og THREDDS i denne tilstand, ERDDAP™ har et forsvar (Det siger, at THRDS-baseret datasæt ikke er tilgængelig) , men det er stadig besværlig for ERDDAP™ fordi ERDDAP™ skal vente, indtil tiden hver gang det forsøger at indlæse et datasæt fra en hængt THREDDS. Nogle grupper (herunder ERD ) undgå dette ved proaktivt at genstarte THREDDS ofte (f.eks. Priserne på et cron job) .
At reagere langsomt
- Hvis ERDDAP™ Svarer langsomt eller hvis blot visse anmodninger reagerer langsomt, Du kan muligvis finde ud af, om forsinkelsen er rimelig og midlertidig (f.eks. på grund af mange anmodninger fra scripts eller WMS brugere) , eller hvis noget er uforudsigeligt forkert, og du er nødt til at Luk og genstart Tomcat og ERDDAP™ .
Hvis ERDDAP™ reagerer langsomt, se råd nedenfor for at afgøre årsagen, som forhåbentlig vil give dig mulighed for at løse problemet. Du kan have et bestemt startpunkt (f.eks. en specifik anmodningsadresse) eller et vryg udgangspunkt (fx, ERDDAP™ er langsom) . Du kan kende brugeren (f.eks. fordi de e-mailede dig) eller ej. Du kan have andre spor eller ej. Da alle disse situationer og alle de mulige årsager til problemerne slører sammen, forsøger rådne nedenfor at håndtere alle mulige startpunkter og alle mulige problemer relateret til langsomme reaktioner.
- **Kig efter spor i ERDDAP 's logfil ** ( bigParentDirectory /logs/log.txt) .
\[ Ved sjældne lejligheder, er der spor i Tomcat's logfil ( Tomcat /logs/catalina.out) . \]
Kig efter fejlmeddelelser. Kig efter et stort antal anmodninger, der kommer fra én (eller et par) Brugere og måske hogging en masse af din servers ressourcer (hukommelse, CPU tid, disk adgang, internet båndbredde) .
Hvis problemet er bundet til en bruger , du kan ofte få en anelse om, hvem brugeren er via webtjenester som https://whatismyipaddress.com/ip-lookup der kan give dig oplysninger relateret til brugerens IP-adresse (som du kan finde i ERDDAP 's log.txt filfil) .
- Hvis brugeren synes at være en bot At dyrke dårligt (Især en søgemaskine forsøger at udfylde søgemaskinen ERDDAP™ former med hver mulig permutation af indgangsværdier) Sørg for, at du har konfigureret din servers korrekt robotter.txt fil.
- Hvis brugeren synes at være en **script script script (s s s) ** der gør flere samtidige anmodninger, kontakt brugeren, forklare, at din ERDDAP™ har begrænsede ressourcer (f.eks. hukommelse, CPU-tid, diskadgang, internet båndbredde) , og bede dem om at overveje andre brugere og bare foretage en anmodning ad gangen. Du kan også nævne, at du vil blacklist dem, hvis de ikke vender tilbage.
- Hvis brugeren synes at være en script script script at foretage et stort antal tidskrævende anmodninger, bede brugeren om at overveje andre brugere ved at sætte en lille pause (2 sekunder?) i scriptet mellem anmodninger.
- ** WMS klient software** kan være meget krævende. En klient vil ofte bede om 6 brugerdefinerede billeder på et tidspunkt. Hvis brugeren synes at være en WMS klient, der foretager legitime anmodninger, kan du:
- Ignorer det. (anbefalet, fordi de vil flytte på temmelig hurtigt)
- Sluk din servers WMS service via ERDDAP 's setup.html fil. (Ikke anbefalet)
- Hvis anmodninger synes dum, sindssyg, overdreven eller skadelig, eller hvis du ikke kan løse problemet nogen anden måde, skal du overveje midlertidigt eller permanent tilføje brugerens IP-adresse til [<Anmod om Blacklist> i din datasets.xml fil] (/docs/server-admin/datasets#requestblacklist) .
- Prøv at duplikere problemet selv, fra din computer.
Hvis problemet er med et datasæt eller alle datasæt, for en bruger eller alle brugere, for blot visse typer anmodninger osv. Hvis du kan duplikere problemet, skal du prøve at indsnævre problemet. Hvis du ikke kan duplikere problemet, kan problemet være bundet til brugerens computer, brugerens internetforbindelse eller din institutions internetforbindelse. - Hvis bare En datasæt reagerer langsomt (måske kun for en anmodningstype fra én bruger) , problemet kan være:
- ERDDAP 's adgang til datasættet's kildedata (Især fra relationelle databaser, Cassandra og fjerndatasæt) kan være midlertidigt eller permanent langsom. Prøv at kontrollere kildens hastighed uafhængigt af ERDDAP . Hvis det er langsom, måske kan du forbedre det.
- Er problemet relateret til den specifikke anmodning eller generel anmodningstype? Jo større den ønskede del af et datasæt, desto mere sandsynligt vil anmodningen mislykkes. Hvis brugeren foretager enorme anmodninger, skal du spørge brugeren til at foretage mindre anmodninger, der er mere tilbøjelige til at få et hurtigt og vellykket svar.
Næsten alle datasæt er bedre til håndtering af nogle typer anmodninger end andre typer anmodninger. For eksempel, når et datasæt gemmer forskellige tidsbidder i forskellige filer, anmodninger om data fra et stort antal tidspunkter kan være meget langsom. Hvis de aktuelle anmodninger er af en vanskelig type, skal du overveje at tilbyde en variant af det datasæt, der er optimeret til disse anmodninger. Eller bare forklare for brugeren, at den type anmodning er vanskelig og tidskrævende, og bede om deres tålmodighed.
-
Datasættet kan ikke konfigureres optimalt. Du kan muligvis foretage ændringer i datasættets datasæt datasets.xml bidder til at hjælpe ERDDAP™ håndtere datasættet bedre. For eksempel,
- EDDGrid FraNcFiles-datasæt, der får adgang til data fra komprimeret nc4/hdf5-filer, er langsom, når de får data til hele det geografiske område (f.eks. for et verdenskort) fordi hele filen skal undertrykkes. Du kan konvertere filerne til ukomprimerede filer, men så vil diskrummets krav være meget, meget større. Det er sandsynligvis bedre at bare acceptere, at sådanne datasæt vil være langsom under visse omstændigheder.
- Konfiguration af [< subsetVariables >] (/docs/server-admin/datasæt #subsetvariables) tag har en enorm indflydelse på, hvordan ERDDAP™ håndterer EDDTable datasæt.
- Du kan være i stand til at øge hastighed af en EDDTableFraDatabase Datasæt.
- Mange EDDTable datasæt kan blive spækket med lagring af en kopi af dataene i NetCDF Contiguous Ragged Array filer , som ERDDAP™ kan læse meget hurtigt.
Hvis du vil hjælpe med at fremskynde et bestemt datasæt, skal du inkludere en beskrivelse af problemet og datasættets klump af datasets.xml og se vores sektion om at få ekstra støtte .
- Hvis alt alt alt i in in in in ERDDAP™ er det er altid altid altid langsom, problemet kan være:
- Den computer, der kører ERDDAP™ kan ikke have nok hukommelse eller forarbejdning magt. Det er godt at køre ERDDAP™ på en moderne, multi-core server. Til tung brug skal serveren have et 64-bit operativsystem og 8 GB eller mere hukommelse.
- Den computer, der kører ERDDAP™ kan også køre andre applikationer, der spiser masser af systemressourcer. Hvis det er tilfældet, kan du få en dedikeret server til ERDDAP ? For eksempel (Dette er ikke en godkendelse) , kan du få en quad-core Mac Mini Server med 8 GB hukommelse for ~ $100.
- Hvis alt alt alt i in in in in ERDDAP™ er det er midlertidigt eller permanent langsom, se din ERDDAP 's ** /erddap/status.html sideside** I din browser.
- Gøre det ERDDAP™ Statusside undlader at indlæse? Hvis ja, genstart ERDDAP™ .
- Modtog du ERDDAP™ Statusside belastning langsomt (f.eks. >5 sekunder) ? Det er et tegn på, at alt i ERDDAP™ kører langsomt, men det er ikke nødvendigvis besvær. ERDDAP™ Måske bare være virkelig optaget.
- Søgeresultat for "Response Failed Time (siden sidste store LoadDatasets) ", er n= et stort antal? Det indikerer, at der har været masser af mislykkede anmodninger for nylig. Det kan være besvær eller starten af problemer. Den medianske tid for fiaskoerne er ofte stor (fx 210000 ms) , hvilket betyder, at der var (er?) masser af aktive tråde. som var at binde masser af ressourcer (som hukommelse, åbne filer, åbne stik,...) , som ikke er godt.
- Søgeresultat for "Response Succeed Time (siden sidste store LoadDatasets) ", er n= et stort antal? Det indikerer, at der har været mange vellykkede anmodninger for nylig. Dette er ikke besvær. Det betyder bare din ERDDAP™ bliver tung brug.
- Er "Antal af ikke-Tomcat-waiting tråde" dobbelt en typisk værdi? Dette er ofte alvorlige problemer, der vil forårsage ERDDAP™ at bremse og til sidst fryse. Hvis dette fortsætter i timevis, kan du være proaktivt genstart ERDDAP™ .
- I bunden af listen "Memory Use Resumé" er den sidste "Memory: i øjeblikket ved hjælp af" værdi meget højt? Det kan bare angive høj brug, eller det kan være et tegn på problemer.
- Kig på listen over tråde og deres status. Er et usædvanligt antal af dem, der gør noget usædvanligt?
- Is din institutions internetforbindelse i øjeblikket langsom? Søg internettet for "Internet speed test" og brug en af de gratis online tests, såsom https://www.speakeasy.net/speedtest/ . Hvis din institutions internetforbindelse er langsom, så forbindelser mellem ERDDAP™ og fjerndatakilder vil være langsom, og forbindelser mellem ERDDAP™ og brugeren vil være langsom. Nogle gange kan du løse dette ved at stoppe unødvendige internet brug (f.eks. ser folk streaming videoer eller på videokonferenceopkald) .
- Is brugerens internetforbindelse i øjeblikket langsom? Har brugeren søg på internettet for "Internet speed test" og brug en af de gratis online tests, såsom https://www.speakeasy.net/speedtest/ . Hvis brugerens internetforbindelse er langsom, bremser den deres adgang til ERDDAP . Nogle gange kan de løse dette ved at stoppe unødvendig brug på deres institution (f.eks. ser folk streaming videoer eller på videokonferenceopkald) .
- Stuck?
Se vores udvalg sektion om at få ekstra støtte .
Luk ned og genstart
- **Sådan lukkes du ned og genstart Tomcat og ERDDAP™ **
Du behøver ikke at lukke og genstarte Tomcat og ERDDAP hvis ERDDAP™ er midlertidigt langsom, langsom af nogen kendt grund (som masser af anmodninger fra scripts eller WMS brugere) , eller for at anvende ændringer til datasets.xml fil.
Du behøver at lukke og genstarte Tomcat og ERDDAP™ hvis du har brug for at anvende ændringer i setup.xml-filen, eller hvis du har brug for ERDDAP™ fryser, hænger eller låser op. Under ekstreme omstændigheder, Java kan fryse i et minut eller to, mens det gør en fuld affaldsopsamling, men derefter genvinde. Så det er godt at vente et minut eller to at se om Java / / / / ERDDAP™ er virkelig frosset, eller hvis det bare gør en lang affalds samling. (Hvis affaldsopsamling er et fælles problem, afsætte mere hukommelse til Tomcat .)
Jeg anbefaler ikke at bruge Tomcat Web Application Manager til at starte eller lukke Tomcat. Hvis du ikke er helt lukket og starter Tomcat, før eller senere vil du have PermGen hukommelse problemer.
At lukke og genstarte Tomcat og ERDDAP :
- Hvis du bruger Linux eller en Mac:
(Hvis du har oprettet en speciel bruger til at køre Tomcat, f.eks. tomcat, skal du huske at gøre følgende trin som brugeren.)
- Brug cd Tomcat /bin
- Brug ps -ef | grep tomcat for at finde java/tomcat proces ID (Forhåbentlig vil bare én proces blive opført) , som vi kalder I nærheden af javaProcessID nedenfor.
- Hvis ERDDAP™ er frosset/hung/låset op, brug dræbe -3 I nærheden af javaProcessID at fortælle Java (som kører Tomcat) at gøre en gevind dump til Tomcat logfil: Tomcat /logs/catalina.out . Når du genstarter, kan du diagnosticere problemet ved at finde tråden dump information (og andre nyttige oplysninger ovenfor) i in in in in Tomcat /logs/catalina.out og også ved at læse relevante dele af ERDDAP™ log arkiv . Hvis du vil, kan du inkludere disse oplysninger og se vores sektion om at få ekstra støtte .
- Brug ./shutdown. sh sh
- Brug ps -ef | Sværme tomcat gentagne gange, indtil java/tomcat-processen ikke er opført.
Nogle gange vil java/tomcat-processen tage op til to minutter for fuldt lukket. Årsagen er: ERDDAP™ sender en besked til sine baggrundstråde for at fortælle dem at stoppe, men nogle gange tager det disse tråde lang tid at komme til et godt stop sted.
- Hvis java/tomcat efter et minut eller så ikke stopper af sig selv, kan du bruge
drab -9 I nærheden af javaProcessID
at tvinge java/tomcat-processen til at stoppe med det samme. Hvis det er muligt, skal du kun bruge dette som et sidste feriested. -9 switch er kraftfuld, men det kan forårsage forskellige problemer. - Sådan genstartes ERDDAP™ , brug ./startup.sh
- Udsigt til udsigt ERDDAP™ I din browser for at kontrollere, at genstarten lykkedes. (Nogle gange skal du vente 30 sekunder og prøve at indlæse ERDDAP™ igen i din browser for det at lykkes.)
- Hvis du bruger Windows:
- Brug cd Tomcat /bin
- Brug shutdown.bat
- Du vil muligvis gerne bruge Windows Task Manager (tilgængelig via Ctrl Alt Del) for at sikre, at Java /Tomcat / ERDDAP™ proces/application er helt stoppet. Nogle gange vil processen/applikationen tage op til to minutter at lukke ned. Årsagen er: ERDDAP™ sender en besked til sine baggrundstråde for at fortælle dem at stoppe, men nogle gange tager det disse tråde lang tid at komme til et godt stop sted.
- Sådan genstartes ERDDAP™ , brug af opstart.bat
- Udsigt til udsigt ERDDAP™ I din browser for at kontrollere, at genstarten lykkedes. (Nogle gange skal du vente 30 sekunder og prøve at indlæse ERDDAP™ igen i din browser for det at lykkes.)
Hyppige Crashs eller Fryser
Hvis ERDDAP™ bliver langsom, nedbrud eller fryser, noget er forkert. Kig ind i ERDDAP 's logfil at forsøge at finde ud af årsagen. Hvis du ikke kan, kan du inkludere detaljerne og se vores sektion om at få ekstra støtte .
Det mest almindelige problem er en besværlig bruger, der kører flere scripts på én gang og/eller nogen, der foretager et stort antal ugyldige anmodninger. Hvis dette sker, skal du sandsynligvis blacklist, som bruger. Når en blacklistet bruger gør en anmodning, opfordrer fejlmeddelelsen i svaret dem til at sende dig en e-mail til at arbejde ud af problemerne. Så kan du opfordre dem til at køre blot et script på et tidspunkt og til at løse problemerne i deres script (f.eks. anmode om data fra et fjerndatasæt, der ikke kan svare før timingen ud) . Se [<Anmod om Blacklist> i din datasets.xml fil] (/docs/server-admin/datasets#requestblacklist) .
Under ekstreme omstændigheder, Java kan fryse i et minut eller to, mens det gør en fuld affaldsopsamling, men derefter genvinde. Så det er godt at vente et minut eller to at se om Java / / / / ERDDAP™ er virkelig frosset, eller hvis det bare gør en lang affalds samling. (Hvis affaldsopsamling er et fælles problem, afsætte mere hukommelse til Tomcat .)
Hvis ERDDAP™ bliver langsom eller fryser, og problemet er ikke en besværlig bruger eller en lang affalds samling, kan du normalt løse problemet ved genstart ERDDAP™ . Min oplevelse er, at ERDDAP™ kan køre i måneder uden at skulle bruge en genstart.
Skærm skærm
Du kan overvåge din ERDDAP 's status ved at kigge på /erddap/status.html sideside Især statistikken i topsektionen. Hvis ERDDAP™ bliver langsom eller fryser, og problemet er ikke bare ekstremt tung brug, kan du normalt løse problemet ved genstart ERDDAP™ . Der er yderligere målinger tilgængelige via Prometheus integration på /erddap/metrics.
Min oplevelse er, at ERDDAP™ kan køre i måneder uden at skulle bruge en genstart. Du bør kun genstarte det, hvis du ønsker at anvende nogle ændringer, du har foretaget for ERDDAP 's setup.xml eller når du har brug for at installere nye versioner af ERDDAP™ , Java , Tomcat eller operativsystemet. Hvis du har brug for at genstarte ERDDAP™ Ofte, noget er forkert. Kig ind i ERDDAP 's logfil at forsøge at finde ud af årsagen. Hvis du ikke kan, kan du inkludere detaljerne og se vores sektion om at få ekstra støtte . Som midlertidig løsning kan du prøve at bruge Monit til at overvåge din ERDDAP™ og genstart det, hvis det er nødvendigt. Eller kan du lave et cron job for at genstarte ERDDAP™ (proaktivt proaktivt) periodisk. Det kan være lidt udfordrende at skrive et script til at automatisere overvågning og genstart ERDDAP . Nogle tips, der kan hjælpe:
- Du kan forenkle testen, hvis Tomcat-processen stadig kører ved at bruge -c-kontakten med grep: Ps -u Tomcat Bruger Bruger Bruger Bruger Bruger Bruger Bruger | grep -c java Det vil reducere output til "1" hvis tomcat proces stadig er i live, eller "0" hvis processen er stoppet.
- Hvis du er god med gawk, kan du udtrække procesID fra resultaterne af Ps -u Tomcat Bruger Bruger Bruger Bruger Bruger Bruger Bruger | grep java, og brug procesID i andre linjer af scriptet.
Hvis du opretter Monit eller et cron job, vil det være fantastisk, hvis du kunne dele detaljerne, så andre kunne nyde vores sektion om at få ekstra støtte for hvor du kan dele.
Permgen
Hvis du gentagne gange bruger Tomcat Manager til Reload (eller stop og start) ERDDAP™ , ERDDAP™ Kan ikke starte op og kaste java.lang. Fejl: PermGen. Løsningen er at periodisk (eller hver gang?) lukket ned og genstart tomcat og ERDDAP™ , i stedet for bare at indlæse ERDDAP .
\[ Opdater: Dette problem var stærkt minimeret eller rettet i ERDDAP™ version 1.24. \]
Log ind
- ** log.txt **
Hvis ERDDAP™ starter ikke, eller hvis noget ikke fungerer som forventet, er det meget nyttigt at se på fejlen og diagnostiske meddelelser i fejlen og diagnosticeringsmeddelelser ERDDAP™ logfil. - Logfilen er bigParentDirectory /logs/log.txt ( bigParentDirectory er angivet i opsætning.xml ) . Hvis der ikke er log. txt-fil eller hvis loget. txt-filen er ikke blevet opdateret, da du genstartede ERDDAP™ , se på den Tomcat Log filer for at se, om der er en fejlmeddelelse der.
- Typer af diagnostiske meddelelser i logfilen:
- Ordet "error" bruges, når noget gik så galt, at proceduren mislykkedes at fuldføre. Selvom det er irriterende at få en fejl, de fejlkræfter, du kan håndtere problemet. Vores tænkning er, at det er bedre at smide en fejl, end at have ERDDAP™ komfurer sammen, arbejde på en måde, du ikke forventede.
- Ordet "krig" bruges, når noget gik galt, men proceduren var i stand til at blive afsluttet. Disse er temmelig sjældne.
- Alt andet er bare en informativ besked. Du kan kontrollere, hvor mange oplysninger der er logget ind<LogLevel>] (/docs/server-admin/datasæt#logniveau) datasets.xml .
- Dataset reloads og brugerreaktioner, der tager >10 sekunder for at afslutte (succes eller mislykkedes) er markeret med " (>10s!) ". Således kan du søge log.txt-filen for denne sætning for at finde de datasæt, der var langsom til at indlæse eller anmodningsnummeret af de anmodninger, der var langsom til slut. Du kan derefter se højere i log.txt-filen for at se, hvad datasættet problem var, eller hvad brugerens anmodning var, og hvem det var fra. Disse langsomme datasæt belastninger og brugeranmodninger er nogle gange skattende på ERDDAP . Så vel vidende mere om disse anmodninger kan hjælpe dig med at identificere og løse problemer.
- Oplysninger er skrevet til logfilen på diskdrevet i ret store stykker. Fordelen er, at dette er meget effektivt -- ERDDAP™ vil aldrig blokere vente på, at oplysninger skal skrives til logfilen. Ulempen er, at loget næsten altid ender med en delvis meddelelse, som ikke vil blive afsluttet, indtil næste klump er skrevet. Du kan gøre det opdateret (for et øjeblik) ved at se din ERDDAP 's statusside på sidenhttps://your.domain.org/erddap/status.html (eller eller eller http:// hvis https er ikke aktiveret) .
- Når log.txt-filer bliver til 20 MB, filen er omdøbt log. txt.tidligere og en ny log.txt-fil oprettes. Så log filer akkumuleres ikke.
I setup.xml, kan du angive en anden maksimal størrelse for logfilen, i MegaBytes. Mindst tilladt er 1 (MB MB) . Det maksimale tilladt er 2000 (MB MB) . Standarden er 20 (MB MB) . For eksempel:
<logMaxSizeMB>20</logMaxSizeMB>
- Når du genstarter ERDDAP™ , ERDDAP™ gør en arkivkopi af log.txt og log. txt.tidligere filer med et tidsstempel i filens navn. Hvis der var problemer før genstart, kan det være nyttigt at analysere disse arkiverede filer for spor som for, hvad problemet var. Du kan slette arkiverne, hvis de ikke længere er nødvendige.
Parsing log.txt
ERDDAP 's log. txt-filen er ikke designet til parsing (selvom du måske kan skabe regelmæssige udtryk, der udtrækker ønskede oplysninger) . Det er designet til at hjælpe en menneskelig figur ud af, hvad der går galt, når noget går galt. Når du indsender en fejl eller problemrapport til ERDDAP™ udviklere, når det er muligt, skal du inkludere alle oplysninger fra log.txt-filen relateret til den besværlige anmodning.
Af effektive grunde, ERDDAP™ Skriv kun oplysninger til at logge. txt efter en stor del af oplysninger er akkumuleret. Så hvis du besøger log. txt lige efter en fejl er opstået, oplysninger relateret til fejlen er endnu ikke blevet skrevet til log.txt. For at få perfekt opdaterede oplysninger fra log.txt kan du besøge din konto. ERDDAP 's Status.html side . Hvornår Hvornår skal man Hvornår ERDDAP™ processer, der anmoder om, skyller den alle nødvendige oplysninger til at logge.txt.
For For For For For ERDDAP™ Brug statistik, brug venligst Apache og/eller Tomcat log filer i stedet for ERDDAP 's log.txt. Bemærk, at ERDDAP 's Status.html side (nogle af nogle) og og og Daglig rapport (mere mere) har et stort antal brugsstatistik forudberegnet for dig.
Tomcat Logs
Hvis ERDDAP™ starter ikke, fordi en fejl opstod meget tidligt i ERDDAP 's opstart, vil fejlmeddelelsen dukke op i Tomcat's log filer ( Tomcat /logs/catalina. i dag i dag .log eller Tomcat /logs/catalina.out) , ikke i ERDDAP 's log.txt-fil .
Brugsstatistik: For de fleste af de oplysninger, som folk ønsker at indsamle fra en logfil (f.eks. brugsstatistik) , skal du bruge Apache og/eller Tomcat log filer. De er pænt formateret og har den type oplysninger. Der er mange værktøjer til at analysere dem, for eksempel, AWStats , ElasticSearch's Kibana , og JMeter , men søg på nettet for at finde det rigtige værktøj til dine formål.
Bemærk, at logfilerne kun identificerer brugere som IP-adresser. Der er hjemmesider til at hjælpe dig med at få oplysninger relateret til en given IP-adresse, f.eks. Hvad erMyIPAddress , men du vil normalt ikke kunne finde navnet på brugeren.
Også på grund af DHCP , en given brugers IP-adresse kan være forskellige på forskellige dage, eller forskellige brugere kan have samme IP-adresse på forskellige tidspunkter.
Alternativt kan du bruge noget som helst Google Analytics . Men pas på: Når du bruger eksterne tjenester som Google Analytics, giver du dine brugeres privatliv ved at give Google fuld adgang til deres aktivitet på dit websted, som Google bruger (og andre?) kan holde for evigt og bruge til ethvert formål (måske ikke teknisk, men sandsynligvis i praksis) . Dine brugere har ikke samtykket til dette, og er sandsynligvis ikke klar over, at de vil blive sporet på din hjemmeside, ligesom de sandsynligvis ikke er opmærksomme på, i det omfang de bliver sporet på næsten alle websteder. Disse dage, mange brugere er meget bekymrede over, at alt, hvad de foretager på internettet, overvåges af disse store virksomheder (Google, Facebook osv.) og af regeringen, og find dette en ubesejret indtrængen i deres liv (som i bogen, 1984) . Dette har drevet mange brugere til at installere produkter som Beskyttelse af personlige oplysninger at minimere sporing, til at bruge alternative browsere som Tor Browser (eller slå sporingen fra i traditionelle browsere) , og til at bruge alternative søgemaskiner som Hoteller i nærheden af Duck Go . Hvis du bruger en tjeneste som Google Analytics, skal du mindst dokumentere brugen og konsekvenserne ved at ændre konsekvenserne<standard privacyPolicy> tag i ERDDAP 's \[ Tomcat \] /webapps/erddap/WEB-INF/classes/gov/noaa/pfel/erddap/util/messages.xml-fil.
E-Mail Log
- EmailLogYEAR-MM-DD.txt
ERDDAP™ skriver altid teksten på alle out-going e-mails i den aktuelle dags e-mail LogYEAR-MM-DD.txt-filen i bigParentDirectory /loger ( bigParentDirectory er angivet i opsætning.xml ) . - Hvis serveren ikke kan sende mailbeskeder, eller hvis du har konfigureret ERDDAP™ ikke at sende e-mail beskeder, eller hvis du bare er nysgerrig, er denne fil en praktisk måde at se alle de e-mails, der er blevet sendt ud.
- Du kan slette tidligere dages e-mail log filer, hvis de ikke længere er nødvendige.
Daglig rapport
Daily Report har masser af nyttige oplysninger - alle oplysninger fra dine ERDDAP 's /erddap/status.html sideside og mere.
- Det er den mest komplette oversigt over din ERDDAP 's status.
- Blandt andre statistikker indeholder det en liste over datasæt, der ikke indlæses, og de undtagelser, de har genereret.
- Det genereres, når du starter op ERDDAP™ (lige efter ERDDAP™ Afslutte at indlæse alle datasæt) og genereret snart efter 7 er lokal tid hver morgen.
- Når det er genereret, er det skrevet til ERDDAP 's log.txt-fil .
- Når det genereres, e-mailes det til<e-mail-nyhedsbeskrivelserTo> og<EmailEverything Til> (som er angivet i opsætning.xml ) Har du oprettet e-mailsystemet (i opsætning.xml) .
Status side
Du kan se status for din ERDDAP™ fra enhver browser ved at gå til<Håndbold> /erddap/status.html
- Denne side genereres dynamisk, så den altid har up-to-the-time statistik for din ERDDAP .
- Det omfatter statistik vedrørende antallet af anmodninger, hukommelsesforbrug, tråd stack spor, opgaveThread osv.
- Fordi Statussiden kan ses af nogen, omfatter det ikke helt så meget information som statussiden. Daglig rapport .
Tilføjelse / ophængning af datasæt
ERDDAP™ Normalt relæssere datasets.xml hver eneste hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver eneste hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver hver belastningDatasetsMinMinutes (angivet i opsætning.xml ) . Så du kan foretage ændringer datasets.xml enhver tid, selv mens ERDDAP™ kører. Et nyt datasæt vil blive opdaget snart, normalt inden for belastningDatasetsMinMinutes . Et ændret datasæt vil blive genindlæst, når det er reloadEveryNMinutes gammel gammel gammel gammel (som angivet i datasets.xml ) .
Flag
-
** En Flag fil Fortællinger ERDDAP™ Prøv at indlæse et datasæt så hurtigt som muligt**
-
ERDDAP™ Du vil ikke bemærke ændringer i en datasæts opsætning i datasets.xml indtil indtil indtil ERDDAP™ Genindlæs datasættet.
-
At fortælle ERDDAP™ at genindlæse et datasæt så hurtigt som muligt (før datasættets datasæt)<reloadEveryNMinutes> ville forårsage det at blive genindlæst), sætte en fil i bigParentDirectory / flag ( bigParentDirectory er angivet i opsætning.xml ) der har samme navn som datasættets datasetID . Dette fortæller ERDDAP™ for at forsøge at indlæse, at datasæt ASAP. Den gamle version af datasættet vil forblive tilgængelig for brugere, indtil den nye version er tilgængelig og udskiftet atomisk på plads. For For For For For EDDGrid FraFiles og EDDTable FraFiles vil genindlæsning af datasæt se efter nye eller ændrede filer, læse dem og inkorporere dem i datasættet. Så tiden til at indlæse er afhængig af antallet af nye eller ændrede filer. Hvis datasættet har aktivetfalse", ERDDAP™ fjerner datasættet.
Dårlige filer Flag
-
En variant af /flag-mappen er /badFilesFlag-mappen. (Tilføjet i ERDDAP™ v2.12.)
Hvis du lægger en fil i bigParentDirectory /badFilesFlag mappe med en datasetID som filnavnet (filindholdet betyder ikke) , så snart ERDDAP™ Se de dårligeFiles Flag-fil, ERDDAP™ vil:- Slette den dårligeFilesFlag-fil.
- Slette de dårlige filer .nc filfil (hvis der er en) , som har listen over dårlige filer til den datasæt. Til datasæt som EDDGrid SideBySide, der har barnDatasets, dette også sletter de dårligeFiles .nc fil til alle barns datasæt.
- Genindlæs datasæt ASAP.
Således, dette årsager ERDDAP™ at prøve igen for at arbejde med de filer tidligere (Erigt?) markeret som dårligt.
Hard Flag
-
En anden variant af /flag-mappen er /hardFlag-mappen. (Tilføjet i ERDDAP™ v1.74.)
Hvis du lægger en fil i bigParentDirectory /hardFlag med en datasetID som filnavnet (filindholdet betyder ikke) , så snart ERDDAP™ ser den hårde Flag-fil, ERDDAP™ vil:- Slette harddiskenFlag-filen.
- Fjern datasættet fra ERDDAP .
- Slette alle de oplysninger, der er ERDDAP™ har gemt om denne datasæt. For For For For For EDDGrid FraFiles og EDDTable FraFiles subclasses sletter denne den interne database af datafiler og deres indhold. Til datasæt som EDDGrid SideBySide, der har børneDatasets, sletter også den interne database af datafiler og deres indhold til alle barns datasæt.
- Genindlæs datasættet. For For For For For EDDGrid FraFiles og EDDTable FraFiles subclasses, dette årsager ERDDAP™ at læse alle af datafiler. Således afhænger genindlæsningstiden af det samlede antal datafiler i datasættet. Fordi datasættet blev fjernet fra ERDDAP™ Når harddisken blev bemærket, vil datasættet være utilgængelig, indtil datasættet afslutter reloading. Vær tålmodig. Kig ind i log.txt fil, hvis du vil se, hvad der foregår.
HardFlag-varianten sletter datasættets lagrede oplysninger, selvom datasættet ikke er indlæst i øjeblikket. ERDDAP .
Hårdt hårdt Flag er meget nyttige, når du gør noget, der forårsager en ændring i, hvordan ERDDAP™ Læser og fortolker kildedata, f.eks. når du installerer en ny version af ERDDAP™ eller når du har foretaget en ændring til en datasæts definition i datasets.xml
- Indholdet af flaget, dårligeFilesFlag, og harddiske filer er irrelevante. ERDDAP™ ser bare ud på filnavnet for at få filnavnet datasetID .
- I mellem store datasæt reloads, ERDDAP™ ser kontinuerligt ud til flag, dårligeFilesFlag, og hårdeFlag filer.
- Bemærk, at når et datasæt er indlæst, alle filer i den bigParentDirectory / / / / cache cache cache cache / / / / * datasetID * mappen slettes. Dette inkluderer .nc og billedfiler, der normalt caches i ~15 minutter.
- Bemærk, at hvis datasættets xml indeholder aktivt arbejde , et flag vil forårsage, at datasættet skal gøres inaktiv (hvis det er aktivt) , og i alle tilfælde ikke reloaded.
- Enhver tid ERDDAP™ Kører LoadDatasets for at gøre en større reload (den timed reload kontrolleret af<belastningDatasetsMinMinutes>) eller en mindre reload (som følge af et eksternt eller indre flag) , ERDDAP™ Læser alle<dekomprimeretCacheMaxGB>,<dekomprimeretCacheMaxMinutesOld>,<Bruger>,<Anmod om Blacklist>,<langsomDownTroubleMillis>, og<AbonnementEmailBlacklist> tags og kontakter til de nye indstillinger. Så du kan bruge et flag som en måde at komme på ERDDAP™ for at se ændringer i disse tags ASAP.
Indstil datasæt Flag
-
ERDDAP™ har en webtjeneste, så flag kan indstilles via webadresser.
- For eksempel,
https://coastwatch.pfeg.noaa.gov/erddap/setDatasetFlag.txt?datasetID=rPmelTao&flagKey=123456789
(det er et falsk flag Nøglenøgle) vil indstille et flag til rPmelTao datasættet. - Der er en anden flagnøgle for hver datasetID .
- Administratorer kan se en liste over flag URL'er for alle datasæt ved at se nederst i deres Daglig rapport email.
- Administratorer bør behandle disse webadresser så fortrolige, da de giver nogen ret til at nulstille et datasæt på vilje.
- Hvis du tror, at flagnøglerne er faldet i hænderne på nogen, der er ved at bruge dem, kan du ændre<flagKey> i opsætning.xml og genstart ERDDAP at tvinge ERDDAP™ at generere og bruge et andet sæt flagKeys.
- Hvis du ændrer<flagKey>, slette alle de gamle abonnementer (Se listen i din daglige rapport) Husk at sende de nye webadresser til de personer, du ønsker at have dem.
- For eksempel,
https://coastwatch.pfeg.noaa.gov/erddap/setDatasetFlag.txt?datasetID=rPmelTao&flagKey=123456789
Flagsystemet kan tjene som grundlag for en mere effektiv mekanisme til at fortælle ERDDAP™ når du vil indlæse et datasæt. Du kan f.eks. indstille et datasæts<reloadEveryNMinutes> til et stort antal (f.eks. 10080 = 1 uge) . Så når du kender datasættet har ændret sig (Måske fordi du har tilføjet en fil til datasættets datakatalog) Angiv et flag, så datasættet bliver genindlæst så hurtigt som muligt. Flag ses normalt hurtigt. Men hvis LoadDatasets tråde allerede er optaget, kan det være et stykke tid, før den er tilgængelig for at handle på flaget. Men flagsystemet er meget mere lydhør og meget mere effektiv end indstilling<reloadEveryNMinutes> til et lille nummer.
Fjernelse af data
Hvis et datasæt er aktivt i ERDDAP™ og du vil deaktivere det midlertidigt eller permanent:
- I nærheden af In In In In In In In In In In In In In In datasets.xml for datasættet, sæt aktivt arbejde i datasættet tag.
- Vent på ERDDAP™ for at fjerne datasættet under den næste store reload eller Indstil et flag for datasættet til at fortælle ERDDAP™ for at se denne ændring så hurtigt som muligt. Når du gør dette, ERDDAP™ smider ikke nogen oplysninger, det kan have gemt om datasættet og gør bestemt ikke noget til de faktiske data.
- Så kan du forlade aktivefalse" datasæt i datasets.xml eller fjern det.
Hvornår er Datasets Reloaded?
En tråd kaldet RunLoadDatasets er mestertråden, der styrer, når datasæt er genindlæst. Løb Datasets sløjfer for evigt:
-
RunLoadDatasets noterer den aktuelle tid.
-
RunLoadDatasets starter en LoadDatasets tråd for at gøre en "majorLoad". Du kan se oplysninger om den aktuelle/tidligere storeLoad øverst på din ERDDAP 's /erddap/status.html sideside (for eksempel, Status sideeksempel ) .
- LoadDatasets gør en kopi af datasets.xml .
- LoadDatasets læser gennem kopi af datasets.xml og for hvert datasæt kan du se, om datasættet skal være (gen igen) indlæst eller fjernet.
- Hvis du vil flag flag flag flag fil findes for denne datasæt, filen slettes, og datasættet fjernes, hvis aktiv billedbehandling" eller (gen igen) indlæst, hvis aktiv pisand" (uanset datasættets alder) .
- Hvis datasættets datasæt.xml chunk har aktivefalse" og datasættet er i øjeblikket indlæst (aktiv aktiv aktiv aktiv) , det er ubelastet (fjernet) .
- Hvis datasættet ikke allerede er indlæst, er det indlæst.
- Hvis datasættet allerede er indlæst, bliver datasættet genindlæst, hvis datasættet er alder (tid siden sidste belastning) er større end dens<reload Alle rettigheder> (Standard = 10080 minutter) , ellers er datasættet alene tilbage.
- LoadDatasets afslutter.
RunLoadDatasets tråd venter på LoadDatasets tråd til finish. Hvis LoadDatasets tager længere tid end loadDatasets Minutes (som angivet i opsætning.xml) , RunLoadDatasets afbryder LoadDatasets tråd. Ideelt set bemærker LoadDatasets afbryder og finish. Men hvis det ikke bemærker afbryderen inden for et minut, kalder RunLoadDatasets belastningDatasetsets. stop () , som er uønsket. 3. Mens tiden siden starten af den sidste storeLoad er mindre end loadDatasetsets Minutes (som angivet i opsætning.xml, f.eks. 15 minutter) , RunLoadDatasets gentagne gange ser efter flag flag flag flag filer i filerne bigParentDirectory / flag mappe. Hvis en eller flere flag filer findes, slettes de, og RunLoadDatasets starter en LoadDatasets tråd for at gøre en "minorLoad" (Større plads =false) . Du kan ikke se mindre oplysninger om dine oplysninger ERDDAP 's /erddap/status.html sideside .
- LoadDatasets gør en kopi af datasets.xml .
- LoadDatasets læser gennem kopi af datasets.xml og for hver datasæt, som der var en flagfil:
- Hvis datasættets datasæt.xml chunk har aktivefalse" og datasættet er i øjeblikket indlæst (aktiv aktiv aktiv aktiv) , det er ubelastet (fjernet) .
- Hvis datasættet har aktiv sædvane, er datasættet (gen igen) indlæst, uanset alder. Ikke-flagede datasets ignoreres.
- LoadDatasets afslutter.
- Løb Datasets går tilbage til trin 1.
Noter:
-
Start op Når du genstarter ERDDAP™ , hver datasæt med aktiv plov" er indlæst.
-
Cache Når et datasæt er (gen igen) indlæst, dens cache (herunder dataresponsfiler og/eller billedfiler) er tømt.
-
Masser af datasæt Hvis du har en masse datasæt og/eller en eller flere datasæt er langsom til (gen igen) belastning, en LoadDatasets tråd kan tage lang tid at afslutte sit arbejde, måske endnu længere end belastningDatasetsetsets MinMinutes.
-
En LoadDatasets Tråd Der er aldrig mere end én LoadDatasets tråd, der kører på én gang. Hvis et flag er indstillet, når LoadDatasets allerede kører, vil flaget sandsynligvis ikke blive bemærket eller reageret på, indtil LoadDatasets tråd afsluttes. Du kan sige: "Det er dum. Hvorfor starter du ikke bare en masse nye tråde for at indlæse datasæt? Men hvis du har masser af datasæt, der får data fra en fjern server, vil selv én LoadDatasets tråd sætte betydelig stress på fjernserveren. Det samme er sandt, hvis du har masser af datasæt, der får data fra filer på en RAID. Der er hurtigt faldende afkast fra at have mere end én LoadDatasets tråd.
-
Flag = ASAP Indstilling af et flag signalerer bare, at datasættet skal være (gen igen) indlæst så hurtigt som muligt, ikke nødvendigvis umiddelbart. Hvis ingen LoadDatasets tråd i øjeblikket kører, vil datasættet begynde at blive indlæst inden for et par sekunder. Men hvis en LoadDatasets tråd i øjeblikket kører, vil datasættet sandsynligvis ikke blive genindlæst, indtil efter at LoadDatasets tråd er færdig.
-
Markér fil Slettet Generelt, hvis du sætter en flagfil i den bigParentDirectory /erddap/flag mappe (ved at besøge datasættets flag Url eller sætte en reel fil der) , datasættet vil normalt blive indlæst meget snart, efter at flagfilen er slettet.
-
Flag mod små reload EveryNMinutes Hvis du har en ekstern måde at vide, når et datasæt skal indlæses, og hvis det er praktisk for dig, er den bedste måde at sikre, at et datasæt altid er up-to-date, at sætte dens genindlæsser EveryNMinutes til et stort antal (10080?) og sæt et flag (via et script?) når det skal læsses. Det er det system, der er EDDGrid FraErddap og EDDTableFraErddap bruger beskeder, som datasættet skal indlæses.
-
Kig i log.txt Masser af relevante oplysninger er skrevet til bigParentDirectory /logs/log.txt-fil. Hvis ting ikke fungerer, som du forventer, ser på log. txt lader dig diagnosticere problemet ved at finde ud af præcis, hvad ERDDAP™ gjorde.
-
Søg efter "majorLoad=true" for starten af store LoadDataset tråde.
-
Søg efter "majorLoad=false" for starten af mindre LoadDatasets tråde.
-
Søg efter et givet datasæt's datasetID for information om, at det bliver (gen igen) indlæst eller queried.
-
Cachede svar
Generelt, ERDDAP™ cachen ikke (Store butik) svar på brugeranmodninger. rationalet var, at de fleste anmodninger ville være lidt anderledes, så cachen ikke ville være meget effektiv. De største undtagelser er anmodninger om billedfiler (som caches siden browsere og programmer som Google Earth Ofte re-request billeder) og anmodninger om .nc filer filer filer (fordi de ikke kan skabes på farten) . ERDDAP™ gemmer hver datasæts cachelagrede filer i en anden mappe: bigParentDirectory / cache / * datasetID * Da en enkelt cache mappe kan have et stort antal filer, der kan blive langsom til at få adgang. Filer fjernes fra cachen af en af tre grunde:
- Alle filer i denne cache slettes, når ERDDAP™ genstartes.
- Periodisk, enhver fil mere end<cacheMinutes> gamle (som angivet i opsætning.xml ) vil blive slettet. Fjernelse af filer i cachen baseret på alder (Ikke Mindst-Brugt) sikrer, at filer ikke forbliver i cachen meget lang. Selvom det kan synes som en given anmodning bør altid returnere den samme svar, det er ikke sandt. For eksempel et tabledap anmodning, der indeholder &time> nogle af nogle Tidstid vil ændre, hvis nye data ankommer til datasættet. Og en gitteretap anmodning, der omfatter \[ sidst \] for tidsdimensionen vil ændre, hvis nye data ankommer til datasættet.
- Billeder, der viser fejlforhold, caches, men kun i et par minutter (det er en vanskelig situation) .
- Hver gang et datasæt indlæses, slettes alle filer i den datasæts cache. Fordi anmodninger kan være for te "last" indeks i et gitterded datasæt, filer i cachen kan blive ugyldige, når et datasæt er indlæst.
Oplysninger om lagring af datasæt
Til alle typer datasæt, ERDDAP™ Indsamler masser af oplysninger, når et datasæt er indlæst og holder det i hukommelse. Dette giver mulighed for ERDDAP™ at svare meget hurtigt på søgninger, anmodninger om lister over datasæt og anmodninger om oplysninger om et datasæt.
For et par typer datasæt (mærkbart EDDGrid Kopier, EDDTableCopy, EDDGrid Fra Fra Fra Fra Fra Fra MILF Filer og EDDTableFra MILF Filer) , ERDDAP™ gemmer på disken nogle oplysninger om det datasæt, der genbruges, når datasættet er genindlæst. Dette fremskynder i høj grad reloadingsprocessen.
- Nogle af datasættets informationsfiler er menneskelæsbare .json filer og gemmes i bigParentDirectory / Datasæt / *Seneste2LettersOfDatasetID/ datasetID * .
- ERDDAP™ sletter kun disse filer i usædvanlige situationer, f.eks. hvis du tilføjer eller sletter en variabel fra datasættets datasets.xml Lidt.
- De fleste ændringer i et datasæt's datasets.xml bidder (f.eks. at ændre en global egenskab eller en variabel egenskab) Ikke nødvendigt, at du sletter disse filer. En almindelig dataset-reload vil håndtere disse typer ændringer. Du kan fortælle ERDDAP™ at indlæse et datasæt ASAP ved at indstille en flag flag flag flag for datasættet.
- På samme måde vil tilføjelse, sletning eller ændring af datafiler håndteres, når ERDDAP™ Genindlæs en datasæt. Men men men men men ERDDAP™ vil bemærke denne type ændring snart og automatisk, hvis datasættet bruger [<OpdaterEveryNMillis>] (/docs/server-admin/datasets#updateeverynmillis) system.
- Det bør kun sjældent være nødvendigt for dig at slette disse filer. Den mest almindelige situation, hvor du skal tvinge ERDDAP™ at slette de lagrede oplysninger (fordi det er forældet/incorrect og vil ikke blive automatisk rettet af ERDDAP ) Når du foretager ændringer i datasættets datasæt datasets.xml Det påvirker, hvordan ERDDAP™ fortolker data i kildedatafiler, f.eks. ved at ændre tidsvariets formatstreng.
- Sådan sletter du en datasæts gemte datafiler fra en ERDDAP™ der kører (selvom datasættet ikke er i øjeblikket indlæst) , sæt en hårdt hårdt Flag for denne datasæt. Husk, at hvis et datasæt er en sammenlægning af et stort antal filer, kan genindlæsing af datasættet tage betydelig tid.
- Sådan sletter du en datasæts gemte datafiler, når ERDDAP™ kører ikke, kører Billeder af DasDds for denne datasæt (som er nemmere end at finde ud af, hvor oplysningerne er placeret og slette filerne ved hånden) . Husk, at hvis et datasæt er en sammenlægning af et stort antal filer, kan genindlæsing af datasættet tage betydelig tid.
Hukommelsesstatus
ERDDAP™ bør ikke nogensinde gå ned eller fryse op. Hvis det gør, er en af de mest sandsynlige årsager utilstrækkelig hukommelse. Du kan overvåge hukommelsesforbruget ved at se på status.html-websiden, som indeholder en linje som
0 gc opkald, 0 anmodninger skurer, og 0 farligt HukommelseE-mails siden sidste store LoadDatasets
(de er progressive mere alvorlige begivenheder)
og MB ibrug og gc Calls kolonner i tabellen af statistikker. Du kan fortælle, hvordan hukommelsen stressede din ERDDAP™ er ved at se disse tal. Højere tal angiver mere stress.
- MB ibrug bør altid være mindre end halvdelen af \-Xmx hukommelse indstilling . Større tal er et dårligt tegn.
- gc opkald angiver antallet af gange ERDDAP™ kaldet skraldespanden til at forsøge at lindre høj hukommelse brug. Hvis dette bliver >100, er det et tegn på alvorlig problemer.
- skur angiver antallet af indgående anmodninger, der blev kastet (med HTTP-fejlnummer 503, Service) fordi hukommelse brug allerede var for høj. Ideelt set bør ingen anmodninger kastes. Det er okay, hvis et par anmodninger er skuret, men et tegn på alvorlig besvær, hvis mange er kaste.
- farlig fare HukommelseE-mails - Hvis hukommelsesbrug bliver farligt højt, ERDDAP™ sender en e-mail til de e-mailadresser, der er angivet i<EmailEverything Til> (i opsætning.xml) med en liste over de aktive brugeranmodninger. Når e-mailen siger, bedes du videresende disse e-mails til Chris. John på noaa. gov, så vi kan bruge oplysningerne til at forbedre fremtidige versioner af ERDDAP .
Hvis du vil ERDDAP™ er hukommelsesstresset:
- Overvej alt, hvad der er mere af din servers hukommelse ERDDAP™ ved at ændre Tomcat ‐Xmx hukommelse indstilling .
- Hvis du allerede har tildelt så meget hukommelse, som du kan til ERDDAP™ via -Xmx, overveje at købe mere hukommelse til din server. Hukommelse er billig (sammenlignet med prisen på en ny server eller din tid) ! Derefter øges -Xmx.
- I nærheden af In In In In In In In In In In In In In In datasets.xml , sæt<nGridThreads> til 1, sæt<nTableThreads> til 1, og sæt<ipAddressMaxRequestsActive> til 1.
- Kig på anmodninger i log.txt for ineffektiv eller besværsome (men legitime) anmodninger. Tilføj deres IP-adresser til<Anmod om Blacklist> i in in in in datasets.xml . Den sorte liste fejlmeddelelse indeholder ERDDAP™ administratorens e-mailadresse med håb om, at brugerne kontakter dig, så du kan arbejde med dem for at bruge ERDDAP™ mere effektivt. Det er godt at holde en liste over IP adresser dig blacklist og hvorfor, så du kan arbejde med brugerne, hvis de kontakter dig.
- Kig på anmodninger i log.txt for anmodninger fra ondsindede brugere. Tilføj deres IP-adresser til<Anmod om Blacklist> i in in in in datasets.xml . Hvis lignende anmodninger kommer fra flere lignende IP-adresse, kan du bruge nogle, der er tjenester (fx, https://www.whois.com/whois/ ) for at finde ud af rækken af IP-adresser fra denne kilde og blacklist hele serien. Se [<anmodning Blacklist> dokumentation] (/docs/server-admin/datasets#requestblacklist) .
FjerneMemoryFejl
Når du opsætter ERDDAP™ , du angiver den maksimale mængde hukommelse, der Java kan bruge via \-Xmx indstilling . Hvis ERDDAP™ nogensinde har brug for mere hukommelse end det, vil det smide en java. lang. Fejl ved fejl. ERDDAP™ gør en masse kontrol for at gøre det muligt at håndtere den fejl yndefuldt (f.eks. vil en besværlig anmodning mislykkes, men systemet bevarer sin integritet) . Men nogle gange, fejlen skader system integritet og du er nødt til at genstarte ERDDAP . Forhåbentlig er det sjældent.
Den hurtige og nemme løsning til en OutOfMemory fejl er at øge den \-Xmx indstilling , men du bør ikke nogensinde øge indstillingen -Xmx til mere end 80% af den fysiske hukommelse i serveren (f.eks. for en 10 GB server, skal du ikke indstille -Xmx over 8 GB) . Hukommelse er relativt billig, så det kan være en god mulighed for at øge hukommelsen i serveren. Men hvis du har maxed hukommelsen i serveren eller af andre grunde ikke kan øge det, skal du håndtere mere direkte med årsagen til OutOfMemory Error.
Hvis du ser på det log.txt fil for at se, hvad ERDDAP™ Når fejlen opstod, kan du normalt få en god anelse til årsagen til OutOfMemory fejl. Der er mange mulige årsager, herunder:
- En enkelt enorm datafil kan forårsage OutOfMemory fejl, især store ASCII datafiler. Hvis dette er problemet, bør det være indlysende, fordi ERDDAP™ vil ikke indlæse datasættet (for tabulære datasæt) eller læse data fra denne fil (til gitterede datasæt) . Løsningen, hvis det er muligt, er at opdele filen i flere filer. Ideelt, kan du opdele filen i logiske chunks. Hvis filen f.eks. har 20 måneders værdi af data, opdele den i 20 filer, hver med 1 måneds dataværdi. Men der er fordele, selvom hovedfilen opdeles tilfældigt. Denne tilgang har flere fordele: a) Dette vil reducere den hukommelse, der er nødvendig for at læse datafiler til 1/20th, fordi kun én fil læses på et tidspunkt. b) Ofte, ERDDAP™ kan håndtere anmodninger meget hurtigere, fordi det kun skal se i et eller et par filer for at finde dataene til en given anmodning. c) Hvis dataindsamling løbende, kan de eksisterende 20 filer forblive uændret, og du behøver kun at ændre en, lille, ny fil for at tilføje den næste måneds dataværdi til datasættet.
- En enorm anmodning kan forårsage OutOfMemory fejl. Især nogle af de orderBy Muligheder har hele svar på hukommelse for et sekund (f.eks. at gøre en slags) . Hvis svaret er enorm, kan det føre til fejlen. Der vil altid være nogle anmodninger, som er på forskellige måder, for store. Du kan løse problemet ved at øge indstillingen -Xmx. Eller kan du opfordre brugeren til at foretage en række mindre anmodninger.
- Det er usandsynligt, at et stort antal filer ville forårsage filindekset, at ERDDAP™ skaber at være så stor, at filen ville forårsage fejlen. Hvis vi antager, at hver fil bruger 300 bytes, så ville 1.000.000 filer kun tage op 300 MB. Men datasæt med et stort antal datafiler forårsager andre problemer for ERDDAP , især, det tager lang tid for ERDDAP™ for at åbne alle disse datafiler, når du reagerer på en brugerkonto for data. I dette tilfælde kan løsningen være at aggregere filerne, så der er færre datafiler. For tabulære datasæt, er det ofte fantastisk, hvis du gemmer dataene fra den aktuelle datasæt i CF Diskret Sampling Geometries (DSG) Konguous Ragged Array data filer (anmodning .nc CF-filer fra ERDDAP ) og derefter lave et nyt datasæt. Disse filer kan håndteres meget effektivt med ERDDAP 's EDDTableFraNcCFFiles . Hvis de er logisk organiseret (hver med data til en smule plads og tid) , ERDDAP™ kan udtrække data fra dem meget hurtigt.
- Til tabulære datasæt, der bruger [< subsetVariables >] (/docs/server-admin/datasæt #subsetvariables) attribut, ERDDAP™ gør en tabel af unikke kombinationer af værdierne for disse variabler. Til store datasæt eller når< subsetVariables > er forkert konfigureret, kan denne tabel være stor nok til at forårsage OutOfMemory fejl. Løsningen er at fjerne variabler fra listen over< subsetVariables > for hvilke der er et stort antal værdier eller fjerne variabler efter behov, indtil størrelsen af tabellen er rimelig. Dele af ERDDAP™ der bruger den subsetVariables system fungerer ikke godt (f.eks., websider indlæse meget langsomt) når der er mere end 100.000 rækker i tabellen.
- Det er altid muligt, at flere samtidig store anmodninger (på en virkelig travl ERDDAP ) kan kombinere til at forårsage hukommelse problemer. For eksempel, 8 anmodninger, hver med 1 GB hver, ville forårsage problemer for en -Xmx=8GB opsætning. Men det er sjældent, at hver anmodning ville være på toppen af sin hukommelse brug samtidig. Og du vil nemt kunne se, at din ERDDAP™ er virkelig optaget med store anmodninger. Men det er muligt. Det er svært at håndtere dette problem andre end ved at øge indstillingen -Xmx.
- Der er andre scenarier. Hvis du ser på det log.txt fil for at se, hvad ERDDAP™ Når fejlen opstod, kan du normalt få en god anelse til årsagen. I de fleste tilfælde er der en måde at minimere problemet (Se ovenstående) , men nogle gange behøver du bare mere hukommelse og en højere -Xmx indstilling.
For mange åbne filer
Begyndende med ERDDAP™ v2.12, ERDDAP™ har et system til at overvåge antallet af åbne filer (som indeholder stik og nogle andre ting, ikke bare filer) i Tomcat på Linux-computere. Hvis nogle filer fejlagtigt aldrig bliver lukket (en "kilde lækage") , antallet af åbne filer kan stige, indtil det overstiger det maksimale tilladt af operativsystemet og mange virkelig dårlige ting sker. Så nu på Linux-computere (fordi oplysningerne ikke er tilgængelige for Windows) :
- Der er en "Open Files" kolonne på den langt højre side af status.html-websiden, der viser procent af max-filer åbne. På Windows viser det bare "?".
- Hvornår Hvornår skal man Hvornår ERDDAP™ genererer, at oplysninger i slutningen af hvert større datasæt reload, vil den udskrive til loget. txt-fil: I nærheden af openFileCount= nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende nuværende af max= max % = procent procent procent
- Hvis procentdelen er >50%, sendes en e-mail til den ERDDAP™ administrator og e-mail Alt alt Til e-mail-adresser.
Hvis procentdelen er 100%, ERDDAP™ er i forfærdeligt besvær. Lad ikke dette ske. Hvis procentdelen er >75%, ERDDAP™ er tæt på forfærdeligt besvær. Det er ikke okay. Hvis procentdelen er >50%, er det meget muligt, at en pigge vil forårsage procentdelen at ramme 100. Hvis procentdelen er nogensinde >50%, skal du:
- Forøg det maksimale antal åbne filer tilladt af enten:
- Sådan ændrer du hver gang, før du starter tomcat (sætte dem i Tomcat opstart.sh-filen?) : Begrænsninger -Hn 16384 -Sn 16384
- Eller lav en permanent ændring ved at redigere (som rod) /etc/security/ limits.conf og tilføje linjer: tomcat blød nofile 16384 tomcat harddisk 16384 Disse kommandoer antager, at brugeren kører Tomcat kaldes "tomcat". På mange Linux-varianter skal du genstarte serveren for at anvende ændringerne. For begge muligheder, "16384" ovenfor er et eksempel. Du vælger det nummer, du tror er bedst.
- Genstart genstart ERDDAP . operativsystemet vil lukke alle åbne filer.
Detaljerede anmodninger
- Usædvanlig aktivitet: >25% af anmodninger mislykkedes
Som en del af hver reloadDatasets, som normalt er hver 15 minutter, ERDDAP™ ser på den procentdel af anmodninger, der mislykkedes, da den sidste reloadDatasets. Hvis det er >25%, ERDDAP™ Sende en mail til e-mailen ERDDAP™ administrator med emnet "Unusual Activity: >25% af anmodninger mislykkedes". Denne e-mail indeholder et talligt nær bunden med titlen "Requester's IP Adresse (Detaljeret) (siden sidste major LoadDatasets) ". Søg efter det. Det fortæller dig IP-adressen på computere, der gør de mest mislykkede anmodninger. Du kan derefter søge efter de IP-adresser i IP-adressen \[ bigParentDirectory \] /loger / log.txt fil og se, hvilken type anmodninger de laver.
Du kan bruge brugerens IP-nummer (f.eks. med https://whatismyipaddress.com/ip-lookup ) at forsøge at finde ud af, hvem eller hvad brugeren er. Nogle gange vil det fortælle dig temmelig præcist, hvem brugeren er (f.eks. er det en søgemaskines web crawler) . De fleste af tiden giver det bare dig en anelse (f.eks. er det en amazonaws computer, det er fra nogle universitet, det er en person i en bestemt by) .
Ved at se på den faktiske anmodning, IP-nummeret og fejlmeddelelsen (alt fra log.txt ) for en række fejl, kan du normalt finde ud af dybest set, hvad der foregår forkert. I min erfaring er der fire fælles årsager til mange mislykkede anmodninger:
-
Anmodningerne er ondsindede (f.eks. på udkig efter sikkerhedssvagheder eller anmodninger og derefter annullere dem, før de er afsluttet) . Du bør bruge<Anmod om Blacklist> i in in in in datasets.xml til blacklist disse IP-adresser.
-
En søgemaskine forsøger naivt de webadresser, der er anført i ERDDAP™ websider og ISO 19115 dokumenter. For eksempel er der mange steder, der angiver basen OPeNDAP URL, for eksempelhttps://coastwatch.pfeg.noaa.gov/erddap/griddap/jplMURSST, hvortil brugeren skal tilføje en filtype (f.eks. .das, .dds, .html) . Men søgemaskinen ved ikke dette. Og anmodningen til basen URL mislykkes. En relateret situation er, når søgemaskine genererer bizarre anmodninger eller forsøger at udfylde formularer for at komme til "skjulte" websider. Men søgemaskinerne gør ofte et dårligt job af dette, hvilket fører til fejl. Løsningen er: Opret en robotter.txt fil.
-
Nogle bruger kører et script, der gentagne gange beder om noget, der ikke er der. Måske er det et datasæt, der bruges til at eksistere, men er gået nu (midlertidigt eller permanent) . scripts forventer ofte ikke dette, og så behøver du ikke håndtere det intelligent. Så scriptet bare holder anmodninger og anmodninger holder fejl. Hvis du kan gætte, hvem brugeren er (fra IP-nummeret ovenfor) , kontakt dem og fortæl dem, at datasættet ikke længere er tilgængelige og bede dem om at ændre deres script.
-
Noget er virkelig forkert med nogle datasæt. Normalt, ERDDAP™ vil gøre det besværlige datasæt inaktive. Nogle gange kan det ikke, så alle anmodninger til det bare føre til fejl. Hvis det er tilfældet, skal du rette problemet med datasættet eller (hvis du ikke kan) Indstil datasættet til aktivt arbejde . Selvfølgelig kan dette føre til problem #2.
Nogle gange er fejlene ikke så slemt, især, hvis ERDDAP™ kan opdage fejlen og reagere meget hurtigt (< =ms). Så du kan beslutte at tage ingen handling.
Hvis alt andet mislykkes, er der en universel løsning: tilføje brugerens IP-nummer til [<Anmod om Blacklist>] (/docs/server-admin/datasets#requestblacklist) . Dette er ikke så slemt eller som drastisk en mulighed, som det kan synes. Brugeren vil derefter få en fejlmeddelelse, der siger s/he, er blevet blacklistet og fortæller dem din (te te te te ERDDAP™ administratorens administrator) e-mailadresse. Nogle gange vil brugeren kontakte dig, og du kan løse problemet. Nogle gange kontakter brugeren ikke dig, og du vil se den nøjagtige samme adfærd, der kommer fra et andet IP-nummer den næste dag. Blacklist det nye IP-nummer og håber, at de i sidste ende får beskeden. (Eller dette er din Groundhog Day, hvorfra du aldrig vil flygte. Desværre.)
robotter.txt
Søgemaskineselskaberne bruger web crawlere (f.eks. Google Bot Bot) for at undersøge alle siderne på internettet for at tilføje indholdet til søgemaskinerne. For For For For For ERDDAP™ , det er dybest set godt. ERDDAP™ har masser af links mellem sider, så crawlers vil finde alle websider og tilføje dem til søgemaskinerne. Så vil brugerne af søgemaskinerne kunne finde datasæt på din computer. ERDDAP .
Desværre, nogle web crawlere (f.eks. Google Bot Bot) udfylder nu og indsender formularer for at finde yderligere indhold. For webhandel sites, er dette fantastisk. Men dette er forfærdeligt for ERDDAP™ fordi det bare fører til en uendelig uendelig uendelig uendelig uendelig uendelig Antallet af uønskede og meningsløse forsøg på at gennemgå de faktiske data. Dette kan føre til flere anmodninger om data end fra alle andre brugere kombineret. Og det udfylder søgemaskinen med goofy, pointless subsets af de faktiske data.
For at fortælle web crawlere at stoppe udfylde formularer og bare generelt ikke se på websider, de ikke behøver at se på, skal du oprette en tekstfil kaldet robotter.txt i rodmappen på dit websteds dokumenthierarki, så det kan ses af alle som f.eks.http://*www.your.domain*/robots.txt. Hvis du opretter en ny robotter. txt-filen, dette er en god start:
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
(Men udskifte Din. Institutions.url med din ERDDAP 's base URL.)
Det kan tage et par dage for søgemaskinerne at bemærke og for ændringer, der skal tage effekt.
sitemap.xml
Som det https://www.sitemaps.org website siger:
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.
Faktisk, siden ERDDAP™ er det er RESTful , søgemaskine edderkopper kan nemt crawle din ERDDAP . Men de har tendens til at gøre det oftere (daglig!) end nødvendigt (månedligt?) .
- I betragtning af, at hver søgemaskine kan crawle hele din ERDDAP™ Hver dag kan dette føre til en masse unødvendige anmodninger.
- Så ERDDAP™ genererer en sitemap.xml-fil til din ERDDAP™ som fortæller søgemaskiner, at dine ERDDAP™ behøver kun at blive crawlet hver måned.
- Du skal tilføje en henvisning til ERDDAP 's sitemap.xml til din robotter.txt fil: Sitemap:http://**www.yoursite.org**/erddap/sitemap.xml
- Hvis det ikke synes at få beskeden til crawlers, kan du fortælle de forskellige søgemaskiner om sitemap.xml-filen ved at besøge disse webadresser (men ændring Din institution til din institutions akronym eller forkortelse og www.yoursite.org til din ERDDAP 's URL') :
- https://www.bing.com/webmaster/ping.aspx?siteMap=http://**www.yoursite.org**/erddap/sitemap.xml
- https://www.google.com/ping?sitemap=http://**www.yoursite.org**/erddap/sitemap.xml(ITænk) du skal bare ping hver søgemaskine én gang, for hele tiden. Søgemaskinerne vil derefter opdage ændringer i sitemap.xml periodisk.
Datadistribution / Datadistribution Netværk: Push og og og Pull Teknologiteknologi
- Normalt, ERDDAP™ fungerer som formidler: Det tager en anmodning fra en bruger; får data fra en fjern datakilde; omformaterer dataene; og sender den til brugeren.
- Pull Teknologiteknologi : ERDDAP™ har også mulighed for aktivt at få alle de tilgængelige data fra en fjern datakilde og gemme en lokal kopi af dataene .
- Push Teknologiteknologi : Ved brug af ERDDAP 's Abonnementstjenester , andre dataservere kan få besked, så snart nye data er tilgængelige, så de kan anmode om dataene (ved at trække dataene) .
- ERDDAP 's EDDGrid FraErddap og og og EDDTableFraErddap Brug af brug ERDDAP Abonnementstjenester og flagsystem så det vil blive underrettet umiddelbart, når nye data er tilgængelige.
- Du kan kombinere disse til stor effekt: hvis du pakker en EDDGrid Kopier rundt om en EDDGrid FraErddap datasæt (eller indpakning af en EDDTableCopy omkring en EDDTableFraErddap datasæt) , ERDDAP™ vil automatisk oprette og vedligeholde en lokal kopi af en anden ERDDAP 's datasæt.
- Da abonnementstjenesterne arbejder så snart nye data er tilgængelige, vil push-teknologi sprede data meget hurtigt (inden for få sekunder) .
Denne arkitektur sætter hver ERDDAP™ Administrator med henblik på at afgøre, hvor oplysningerne for hans/hendes ERDDAP™ kommer fra.
- Andre andre ERDDAP™ Administratorer kan gøre det samme. Der er ikke behov for koordinering mellem administratorer.
- Hvis mange ERDDAP™ Administratorer linker til hinandens ERDDAP s, et datadistributionsnet dannes.
- Data vil blive hurtigt, effektivt og automatisk formidlet fra datakilder ( ERDDAP s og andre servere) til datadistributionssteder ( ERDDAP s s s) overalt i netværket.
- En given ERDDAP™ kan være både en kilde til data til nogle datasæt og en omfordelingswebsted for andre datasæt.
- Det resulterende netværk svarer til omkring datadistributionsnetværk oprettet med programmer som Unidata Værelserne er udstyrede med private badeværelser. , men mindre stiv strukturelt.
Sikkerhed, godkendelse og godkendelse
Som standard, ERDDAP™ kører som en helt offentlig server (ved brug af http og/eller https ) uden login ( Godkendelse af godkendelse ) system og ingen begrænsninger for dataadgang ( Godkendelse af tilladelse ) .
Sikkerhed for sikkerhed
Hvis du vil begrænse adgang til nogle eller alle datasæt til nogle brugere, kan du bruge ERDDAP 's indbyggede sikkerhedssystem. Når sikkerhedssystemet er i brug:
- ERDDAP™ Brug af anvendelser rollebaseret adgangskontrol .
- The The The The The The The ERDDAP™ Administrator definerer brugere med [<Bruger>] (/docs/server-admin/datasets#user) tag i tag datasets.xml . Hver bruger har et brugernavn, en adgangskode (hvis godkendelse = brugerdefineret) , og en eller flere roller.
- The The The The The The The ERDDAP™ Administrator definerer, hvilke roller der har adgang til et givet datasæt via [<tilgængeligtil>] (/docs/server-admin/datasæt #accessibleto) tag i tag datasets.xml for alle datasæt, der ikke bør have offentlig adgang.
- Brugerens loginstatus (og et link til at logge ind/out) vises øverst på hver webside. (Men en logget ind bruger vises til ERDDAP™ at være logget ind, hvis han bruger en http URL.)
- Hvis det er tilfældet<baseUrl>, som du angiver i din opsætning.xml er en ** http ** URL, brugere, der ikke er logget ind, kan bruge ERDDAP 's ** http ** URL'er. Hvis<baseHttpsUrl> er også angivet, brugere, der ikke er logget ind, kan også bruge https URL'er.
- HTTPS Only -- Hvis det er tilfældet<baseUrl>, som du angiver i din opsætning.xml er en ** https ** URL, brugere, der ikke er logget ind, opfordres (ikke tvunget) til brug ERDDAP 's ** https ** URL'er - alle links på ERDDAP™ websider henviser til https URL'er.
Hvis du vil tvinge brugere til at bruge https URL, tilføj en lukket linje inde i den<VirtualHost \*:80> sektion i din Apache config-fil (normalt http d.conf) f.eks.
<VirtualHost \\*:80>
\\[...\\]
ServerName example.com
Redirect permanent / https://example.com/
</VirtualHost>
Hvis du ønsker, er der en ekstra metode til at tvinge brugen af https: HTTP Strict Transport Sikkerhed (HSTS) . At bruge det:
- Aktiver Apache-overhoveder modulet: a2enmod overskrifter
- Tilføj den ekstra side til HTTPS VirtualHost-direktivet. Max-age måles på få sekunder og kan indstilles til en lang værdi.
<VirtualHost \\*:443>
# Guarantee HTTPS for 1 Year including Sub Domains
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"
Bemærk venligst, at denne side kun gælder på en HTTPS VirtualHost.
En grund til ikke at tvinge brugere til at bruge https URL'er er: det underliggende SSL/TLS-link tager tid til at etablere og derefter tager tid til at kryptere og dekryptere alle oplysninger, der overføres mellem brugeren og serveren. Men nogle institutioner kræver https kun.
- Brugere, der er logget ind, skal bruge ERDDAP 's ** https ** URL'er. Hvis de bruger http URL'er, de vises til ERDDAP™ at være logget ind. Dette sikrer kommunikationens privatliv og hjælper med at forhindre session kapløb og sidejacking .
- Alle, der ikke er logget ind, kan få adgang til og bruge de offentlige datasæt. Som standard vises private datasæt ikke på lister over datasæt, hvis en bruger ikke er logget ind. Hvis administratoren har konfigureret opsætning.xml's<listePrivateDatasets> for at tro, de vil vises. Forsøg på at anmode data fra private datasæt (hvis brugeren kender webadressen) vil blive omdirigeret til loginsiden.
- Enhver, der er logget ind, vil være i stand til at se og anmode data fra enhver offentlig datasæt og enhver privat datasæt, som deres rolle giver dem adgang. Som standard har private datasæt, som en bruger ikke har adgang til, ikke vises på lister over datasæt. Hvis administratoren har konfigureret opsætning.xml's<listePrivateDatasets> for at tro, de vil vises. Forsøg på at anmode data fra private datasæt, som brugeren ikke har adgang, bliver omdirigeret til loginsiden.
- The The The The The The The RSS Oplysninger til fuldt private datasæt er kun tilgængelige for brugere (og og og RSS læsere) hvem er logget ind og godkendt til at bruge disse datasæt. Dette gør RSS Ikke meget nyttigt for fuldt private datasæt.
Hvis et datasæt er privat, men dets [<GraferAccessibleTo>] (/docs/server-admin/datasets#graphsaccessibleto) er indstillet til offentligheden, datasættets RSS er tilgængelig for alle.
- E-mail-abonnementer kan kun konfigureres, når en bruger har adgang til et datasæt. Hvis en bruger abonnerer på et privat datasæt, fortsætter abonnementet med at fungere efter brugeren har logget ud.
Opsætning af sikkerhed
For at konfigurere sikkerheds-/autentiseringssystemet:
- Gør standarden ERDDAP™ indledende opsætning .
- I nærheden af In In In In In In In In In In In In In In opsætning.xml ,
- Tilføj/ændre<Ansættelse> værdi fra intet til brugerdefineret (Brug ikke dette) e-mail (Brug ikke dette) , Google (anbefalet anbefalet) , eller (anbefalet anbefalet) , eller oauth2 (som er google+orcid, anbefalet) . Se nedenstående kommentarer.
- Tilføj/ændre<baseHttpsUrl> værdi.
- Indsæt/ubrug &loginInfo; i in in in in<StartBodyHtml> for at vise brugerens log ind / ud info på toppen af hver webside.
- Til test af formål på din personlige computer, Følg disse instruktioner for at konfigurere tomcat til at understøtte SSL (grundlaget for https Forbindelsesforbindelser) ved at oprette en nøglebutik med en selvsigned certifikat og ved at ændre Tomcat /conf/server.xml til at undlade forbindelsen til port 8443. På Windows skal du flytte .keystore fra "c: "Brugere" dig du "keystore" til "c: "Brugere"Default Bruger".keystore" eller "c:".keystore" (Se se Tomcat /logs/catalina. i dag i dag .log, hvis programmet ikke indlæses, eller brugerne ikke kan se log på side) . Du kan se, hvornår certifikatet udløber ved at undersøge certifikatet, når du logger ind.
For en offentligt tilgængelig server, i stedet for at bruge et selvsigned certifikat, anbefales det kraftigt, at du køber og installerer et certifikat, der er underskrevet af en certifikat myndighed , fordi det giver dine kunder mere sikkerhed for, at de faktisk er forbundet til dine kunder ERDDAP™ , ikke en mand-in-the-middle version af din ERDDAP . Mange sælgere sælger digitale certifikater. (Søg efter web.) De er ikke dyre.
- På Linux-computere, hvis Tomcat kører i Apache, ændre /etc / http d/conf.d/ssl.conf-filen til at tillade HTTPS-trafik til/fra ERDDAP™ uden at kræve :8443 portnummeret i URL:
- Ændre den eksisterende<VirtualHost> tag (hvis der er en) eller tilføje en i slutningen af filen, så den mindst har disse linjer:
<VirtualHost \\_default\\_:443>
SSLEngine on
SSLProxyEngine On
ProxyPass /erddap http://localhost:8443/erddap
ProxyPassReverse /erddap http://localhost:8443/erddap
</VirtualHost>
- Genstart derefter Apache: /usr/sbin/apachectl -k yndefuld (Men nogle gange er det i en anden mappe) .
- I nærheden af In In In In In In In In In In In In In In Tomcat /conf/server.xml, uoverensstemmelse havnen=8443<Connector> tag:
<Connector port="8443"
protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true">
<SSLHostConfig>
<Certificate certificateKeystoreFile="conf/localhost-rsa.jks"
type="RSA" />
</SSLHostConfig>
</Connector>
og ændre placeringen af certifikatKeystoreFile.
Udførelse
- I nærheden af In In In In In In In In In In In In In In datasets.xml , oprette en [ []<Bruger>] (/docs/server-admin/datasets#user) tag for hver bruger med brugernavn, adgangskode (hvis tilladelse=kunde) , og roller information. Dette er godkendelsesdelen af ERDDAP 's sikkerhedssystem.
- I nærheden af In In In In In In In In In In In In In In datasets.xml Tilføj en [<tilgængeligtil>] (/docs/server-admin/datasæt #accessibleto) tag til hvert datasæt, der ikke bør have offentlig adgang.<AccessTo> lader dig angive, hvilke roller der har adgang til det datasæt.
- Genstart Tomcat. Har du lyst? Tjek Tomcat-logerne.
- Tjek din indsats! Enhver fejl kunne føre til en sikkerhedsfejl.
- Tjek, at loginsiden bruger https (Ikke ikke http ) . Forsøg at logge ind via http bør automatisk blive omdirigeret til https og port 8443 (selvom portnummeret kan være skjult via en Apache proxy) . Du skal muligvis arbejde med din netværksadministrator for at tillade eksterne webanmodninger at få adgang til port 8443 på din server.
- Du kan ændre ændringen<Bruger> og<tilgængeligeTo> tags til enhver tid. Ændringerne vil blive anvendt på den næste regelmæssige genindlæsning af datasæt, eller ASAP, hvis du bruger en flag flag flag flag .
Autenticering
**Autenticering (Log ind) **
Hvis du ikke ønsker at tillade brugere at logge ind, skal du ikke angive en værdi for<Godkendelse> i opsætning.xml.
Hvis du ønsker at tillade brugere at logge ind, skal du angive en værdi for<Godkendelse>. I øjeblikket, ERDDAP™ understøtter
brugerdefinerede (Brug ikke dette) ,
e-mail (Brug ikke dette) ,
Google google (anbefalet anbefalet) ,
orcid (anbefalet anbefalet) , og
I nærheden af oauth2 (anbefalet anbefalet) til godkendelsesmetoden.
Hvis du vil aktivere logning i, anbefaler vi stærkt google, orcid eller oauth2 muligheder, fordi de frigør dig fra at gemme og håndtere brugers adgangskoder (nødvendig for custom) og er mere sikker end e-mail mulighed. Husk, at brugerne ofte bruger den samme adgangskode på forskellige websteder. Så de kan bruge den samme adgangskode til din adgangskode ERDDAP™ som de gør på deres bank. Det gør deres adgangskode meget værdifuldt - meget mere værdifuldt for brugeren end blot de data, de anmoder om. Så du skal gøre så meget, som du kan holde adgangskoderne private. Det er et stort ansvar. e-mailen, google ellercid, og oauth2 muligheder tager sig af adgangskoder, så du ikke behøver at indsamle, gemme eller arbejde med dem. Så du er frigjort fra det ansvar.
Alle<Indstillinger for godkendelse> Cookie cookie på brugerens computer, så brugerens browser skal være indstillet til at tillade cookies. Hvis en bruger laver ERDDAP™ anmodninger fra et computerprogram (Ikke en browser) , cookies og godkendelse er svære at arbejde med. Det er et almindeligt problem med alle godkendelsessystemer. Desværre.
Detaljerne om<Godkendelse> Valgmuligheder er:
Tilpasset tilpasset
brugerdefinerede er ERDDAP 's custom system til at lade brugerne logge ind ved at indtaste deres brugernavn og adgangskode i en formular på en webside. Hvis en bruger forsøger at logge ind på 3 gange inden for 10 minutter, blokeres brugeren fra at forsøge at logge på i 10 minutter. Dette forhindrer hackere fra blot at prøve millioner af adgangskoder, indtil de finder den rigtige.
Dette er noget sikkert, fordi brugernavn og adgangskode overføres via https (Ikke ikke http ) , men godkendelse=google, orcid eller oauth2 er bedre, fordi de fri dig fra at skulle håndtere adgangskoder. Den brugerdefinerede tilgang kræver, at du indsamler en brugers navn og en hash fordøje af deres adgangskode (Brug din telefon! e-mail er ikke sikker!) og gemme dem i datasets.xml i [<Bruger>] (/docs/server-admin/datasets#user) tags.
Med den brugerdefinerede mulighed kan ingen logge ind, indtil du (te te te te ERDDAP™ Administrator) Opret en<Bruger> tag for brugeren, angive brugernavnet som brugernavnet, hash fordøjes af deres adgangskode som adgangskode og deres roller.
Ikke anbefalet På grund af den akavethed af at generere og overføre hash fordøje af brugerens adgangskode og på grund af de risici, der er forbundet med ERDDAP™ At holde hash fordøje af adgangskoder, denne mulighed anbefales ikke.
For at øge sikkerheden af denne mulighed:
- Du skal sørge for, at andre brugere på serveren (f.eks. Linux-brugere, ikke ERDDAP™ brugere) kan ikke læse filer i Tomcat-mappen (især datasets.xml fil!) eller eller eller ERDDAP 's storeParentDirectory.
På Linux, som bruger=tomcat, brug:
chmod -R g-rwx bigParentDirectory
chmod -R o-rwx bigParentDirectory
chmod -R g-rwx TomcatDirectory
chmod -R o-rwx TomcatDirectory
- Brug UEPSHA256 til at<Adgangskode nulstilling> i opsætning.xml.
- Brug en så usikker metode til at videregive hash fordøjet af brugerens adgangskode fra brugeren til brugeren ERDDAP™ Administrator (telefon?) .
e-mail
E-mailgodkendelsen bruger en brugerkonto til at godkende brugeren (ved at sende dem en e-mail med et særligt link, som de skal tilgå for at logge ind) . I modsætning til andre e-mails, der ERDDAP™ Sende, ERDDAP™ Skriv ikke disse invitationsmails til e-mail-filen, fordi de indeholder fortrolige oplysninger. I teorien er dette ikke meget sikkert, fordi e-mails ikke altid er krypteret, så en dårlig fyr med evnen til at opfange e-mails kan misbruge dette system ved at bruge en gyldig brugers e-mailadresse og opfange invitationsmailen. I praksis, hvis du opsætter ERDDAP™ at bruge en Google-mail-konto til at sende e-mails, og hvis du indstiller det til at bruge en af TLS-indstillingerne til forbindelsen, og hvis brugeren har en Google-mail-konto, er dette noget sikkert, fordi e-mails krypteres hele vejen fra ERDDAP™ til brugeren.
For at øge sikkerheden af denne mulighed:
- Sørg for, at andre brugere på serveren (f.eks. Linux-brugere, ikke ERDDAP™ brugere) kan ikke læse filer i Tomcat-mappen eller ERDDAP 's storeParentDirectory.
På Linux, som bruger=tomcat, brug:
chmod -R g-rwx bigParentDirectory
chmod -R o-rwx bigParentDirectory
chmod -R g-rwx TomcatDirectory
chmod -R o-rwx TomcatDirectory
- Indstil tingene op for at få end-to-end sikkerhed for de e-mails, der sendes fra ERDDAP™ til brugerne. Du kan f.eks. foretage et Google-centrisk system ved kun at oprette<Bruger> tags for Google-managed e-mail-adresser og ved at konfigurere dine ERDDAP™ at bruge en Google-mail-server via en sikker/TLS-forbindelse: i din opsætning.xml, brug f.eks.
<emailSmtpHost>smtp.gmail.com</emailSmtpHost>
<emailSmtpPort>587</emailSmtpPort>
<emailProperties>mail.smtp.starttls.enable|true</emailProperties>
Ikke anbefalet Din e-mailgodkendelse er ikke anbefalet. Brug venligst google, orcid eller oauth2 mulighed i stedet.
Som med google, orcid og oauth2 muligheder, e-mail er meget praktisk for ERDDAP™ Administratorer - du behøver ikke nogensinde at beskæftige sig med adgangskoder eller deres hash fordøjes. Alt hvad du behøver for at oprette er en [<Bruger>] (/docs/server-admin/datasets#user) tag for en bruger i datasets.xml er brugerens e-mailadresse, som ERDDAP™ Brug som brugerens navn. (Adgangskode attributten bruges ikke, når godkendelse=email, google ellercid eller oauth2.)
Med e-mail-indstillingen, kun brugere, der har en<Bruger> tag i datasets.xml kan forsøge at logge ind på ERDDAP™ ved at give deres e-mailadresse og klikke på linket i den e-mail, som ERDDAP™ sender dem.
ERDDAP™ Behandle e-mail adresser som case-infølsomme. Det gør dette ved at konvertere e-mail-adresser, du indtaster (in)<Bruger> tags) eller brugere indtaster (på loginformularen) til deres alle undermapper version.
Sådan konfigureres godkendelse=email:
- I din opsætning.xml skal du ændre indstillingen<baseHttpsUrl> tag værdi.
Til eksperimentering/arbejde på din personlige computer, brug
https://localhost:8443
Til din offentlige ERDDAP™ , brug https://your.domain.org:8443
eller uden :8443, hvis du bruger en Apache proxypass så portnummeret ikke er nødvendig. - I din opsætning.xml skal du ændre indstillingen<Godkendelse> Mærkes værdi til e-mail:
<authentication>email</authentication>
- I din opsætning.xml skal du sørge for, at e-mail-systemet er oprettet via alle af e-mailen.<mail...> tags, så at ERDDAP™ kan sende e-mails. Hvis det er muligt, skal du indstille dette op til at bruge en sikker forbindelse (SSL / TLS) til e-mailserveren.
- I din indbakke datasets.xml Opret [<Bruger>] (/docs/server-admin/datasets#user) tags for hver bruger, der vil have adgang til private datasæt. Brug brugerens e-mailadresse som brugernavnet i mærket. Angiv ikke adgangskode attributten i brugernavnet.
- Genstart genstart ERDDAP™ så ændringerne til opsætning.xml og datasets.xml tage virkning.
Google, orcid, oauth2
- Google google , orcid , og I nærheden af oauth2 (anbefalet anbefalet)
Alle tre af disse muligheder er den anbefalede ERDDAP™ Indstillinger for godkendelse. De er alle de mest sikre muligheder. De andre muligheder har signifikant svagere sikkerhed.
Google Google Google Google
- Indstillinger for Google-godkendelse Log ind Med Google , som er en implementering af OAuth 2.0 godkendelse protokol . ERDDAP™ Brugere logger ind på deres Google-mail-konto, herunder Google-managed-konti såsom @noaa.gov Kontoer. Dette giver mulighed for ERDDAP™ at bekræfte brugerens identitet (navn og e-mailadresse) og få adgang til deres profilbillede, men giver ikke ERDDAP™ adgang til deres e-mails, deres Google Drive eller andre private oplysninger.
For For For For For ERDDAP™ v2.22 og nedenfor, ERDDAP™ "Google Sign-In". Google siger, at systemet er forældet efter 31. marts 2023. Hvis du ikke allerede har gjort det, skal du skifte til ERDDAP™ v2.23+ for at bruge det nye "Log ind med Google"-baseret godkendelsessystem.
For For For For For ERDDAP™ v2.23 forekomster med en Content-Sikkerhed-Policy konfigureret og brug af Google Authentication, skal du tilføjehttps://accounts.google.comtil listen over tilladt script-src (eller script-src-elem) . ERDDAP™ ikke længere brughttps://apis.google.com, så hvis du har det tilladt, kan du være i stand til at fjerne det nu.
For For For For For ERDDAP™ v2.24+ kan du også bruge til at tilføjehttps://accounts.google.com/gsi/styletil stlye-src oghttps://accounts.google.com/gsi/at oprette forbindelse. Til script-src kan du nu brugehttps://accounts.google.com/gsi/client.
For mere information kan du gå til den Google-side om CSP konfiguration. Hvis du har spørgsmål, kan du kontakte chris.john på noaa.gov.
Orcid
- Muligheden for godkendelse Orcid-godkendelse , som er en implementering af OAuth 2.0 godkendelse protokol . ERDDAP™ Brugere logger ind på deres Orcid-konto , som ofte anvendes af forskere til at identificere sig selv. Dette giver mulighed for ERDDAP™ at verificere brugerens identitet og få deres Orcid-kontonummer, men giver ikke ERDDAP™ adgang til deres andre Orcid-kontooplysninger.
Oauth2
- oauth2 mulighed lader brugerne logge ind med enten deres Google-konto eller deres Orcid-konto.
Google, orcid og oauth2 muligheder er efterfølgerne til den åbne løsning, som blev afbrudt efter ERDDAP™ version 1.68, og som var baseret på en version af åben ID, der nu er forældet. Skift til Google, orcid eller oauth2 valgmulighed.
Disse muligheder er meget praktiske for ERDDAP™ Administratorer - du behøver ikke nogensinde at beskæftige sig med adgangskoder eller deres hash fordøjes. Alt hvad du behøver for at oprette er en [<Bruger>] (/docs/server-admin/datasets#user) tag for en bruger i datasets.xml som angiver brugerens Google-mailadresse eller Orcid-kontonummer som brugernavn attributten. (Adgangskode attributten bruges ikke, når godkendelse=email, google ellercid eller oauth2.)
Med disse muligheder kan alle logge ind for at ERDDAP™ ved at logge ind på deres Google-mail-konto eller Orcid-konto, men ingen vil have ret til at få adgang til private datasæt, indtil du (te te te te ERDDAP™ Administrator) Opret en<Bruger> tag, angive deres Google-mailadresse eller Orcid-kontonummer som brugernavnet og angive deres roller.
ERDDAP™ Behandle e-mail adresser som case-infølsomme. Det gør dette ved at konvertere e-mail-adresser, du indtaster (in)<Bruger> tags) eller brugere indtaster (på loginformularen) til deres alle undermapper version.
For at oprette Google, orcid eller oauth2 godkendelse:
- I din opsætning.xml skal du ændre indstillingen<baseHttpsUrl> tag værdi.
Til eksperimentering/arbejde på din personlige computer, brug
https://localhost:8443
Til din offentlige ERDDAP™ , brug https://your.domain.org:8443
eller bedre, uden :8443, hvis du bruger en Apache proxypass så portnummeret ikke er nødvendig. - I din opsætning.xml skal du ændre indstillingen<Godkendelse> tags værdi til google, orcid eller oauth2, for eksempel:
<authentication>oauth2</authentication>
Google-opsætning
- Til Google og oauth2 muligheder:
Følg instruktionerne herunder for at oprette Google-godkendelse til din computer. ERDDAP .
- Hvis du ikke har en Google-mail-konto, Opret en
- Følg Følg Følg Følg disse instruktioner Opret et Google Developers Console-projekt og få et klient-id.
- Hvis du ikke har en Google-mail-konto, Opret en
Når Google-formularen beder om godkendt Java Script oprindelser, indtast værdien fra<baseHttpsUrl> fra din personlige computer ERDDAP™ opsætning.xml, f.eks.
https://localhost:8443
På en anden linje, tilføje tilføjelsen<baseHttpsUrl> fra din offentlige ERDDAP™ opsætning.xml, f.eks.
https://your.domain.org:8443
Angiv ikke nogen Authorized redirect URIs.
Når du ser dit klient-id til dette projekt, skal du kopiere og indsætte det i din opsætning.xml (normalt lige nedenfor).<autentificering> at bestilles, men placering er ikke noget, i<GoogleClientID> tag, f.eks. <GoogleClientID> Din ClientID </googleClientID> Klient-id'et vil være en streng af omkring 75 tegn, sandsynligvis begynde med flere cifre og slutter med .apps.googleusercontent.com .
-
I din indbakke datasets.xml Opret en [<Bruger>] (/docs/server-admin/datasets#user) tag for hver bruger, der vil have adgang til private datasæt. For brugernavn attributten i mærket:
- For brugere, der vil logge ind med google, skal du bruge brugerens Google-mailadresse.
- For brugere, der logger ind med orcid, skal du bruge brugerens Orcid-kontonummer (med puder) .
Angiv ikke adgangskode attributten for brugertag. 4. Genstart genstart ERDDAP™ så ændringerne til opsætning.xml og datasets.xml tage virkning.
Orcid opsætning
- Til orcid og oauth2 muligheder:
Følg instruktionerne herunder til at oprette Orcid-godkendelse for din ERDDAP .
(For detaljer, se Orcid's godkendelse API-dokumentation .)
- Hvis du ikke har en Orcid-konto, Opret en
- Log ind Orcid https://orcid.org/signin Brug din personlige Orcid-konto.
- Klik på "Developer Tools" (under "For forskere" på toppen) .
- Klik på "Tilmeld dig gratis ORCID offentlig API". Indtast disse oplysninger:
Navn: ERDDAP™ spiste på \[ din organisation \]
Hjemmeside: \[ Dit din egen ERDDAP 's domæne \]
Beskrivelse: ERDDAP™ er en videnskabelig dataserver. Brugere skal godkende med Google eller Orcid for at få adgang til ikke-offentlige datasæt. Angiv URI'er: \[ Dit din egen ERDDAP 's domæne \] /erddap/loginOrcid.html - Klik på ikonet Gem (det ligner en 3,5" disk!) . Du kan derefter se din ORCID APP Client ID og ORCID Client Secret.
- Kopier og indsæt ORCID APP Client ID (som vil starte med "APP-") i opsætning.xml i te<orcidClientID> tag, f.eks.
- Hvis du ikke har en Orcid-konto, Opret en
<orcidClientID>APP-*ALPHANUMERICCHARACTERS*</orcidClientID>
- Kopier og indsæt ORCID Client Secret (nedrecase alfanumeriske tegn med bindestreger) i opsætning.xml i te<orcidClientSecret> tag, f.eks.
<orcidClientSecret>*alpha-numeric-characters-with-dashes*</orcidClientSecret>
-
I din indbakke datasets.xml Opret en [<Bruger>] (/docs/server-admin/datasets#user) tag for hver bruger, der vil have adgang til private datasæt. For brugernavn attributten i mærket:
- For brugere, der vil logge ind med google, skal du bruge brugerens Google-mailadresse.
- For brugere, der logger ind med orcid, skal du bruge brugerens Orcid-kontonummer (med puder) .
Angiv ikke adgangskode attributten for brugertag. 9. Genstart genstart ERDDAP™ så ændringerne til opsætning.xml og datasets.xml tage virkning.
Log ind på en eller anden måde
Hvis du bruger Google, orcid eller oauth2 godkendelsesmuligheder, og Google Sign-In eller Orcid's Authentication API pludselig ophører med at arbejde (uanset årsag) eller ophører med at arbejde som ERDDAP™ forventer, at brugerne ikke kan logge ind på din konto ERDDAP . Som midlertidig (eller permanent) løsning, kan du bede brugerne om at tilmelde dig med det andet system (få en Google-mail-konto, eller få en Orcid-konto) . For at gøre dette:
- Ændre ændringen<Godkendelse> tag så det giver det andet godkendelsessystem. oauth2 mulighed giver brugerne mulighed for at logge ind med enten system.
- Dubler hver af<Bruger> tags og ændre brugernavn attributten fra Google-mail-adressen til det tilsvarende Orcid-kontonummer (eller omvendt) , men holde roller attributten den samme.
Åbn filen
ERDDAP™ understøtter ikke længere den åbne godkendelsesindstilling, som var baseret på en version af åben ID, der nu er forældet. Brug venligst google, orcid eller oauth2 muligheder i stedet.
BASIC
ERDDAP™ understøtter ikke BASIC-godkendelse, fordi:
- BASIC virker gearet til foruddefinerede websider, der har brug for sikker adgang eller tæppe på/fra adgang til hele webstedet, men ERDDAP™ tillader mulighed (Begrænset adgang) Datasæt, der skal tilføjes på farten.
- BASIC-godkendelse tilbyder ikke en måde for brugere at logge ud!
- BASIC-godkendelse er kendt for at være ikke sikker.
Sikker datakilder
Hvis et datasæt er at have begrænset adgang til ERDDAP™ Brugere, datakilden (hvorfra ERDDAP™ få data) bør ikke være offentligt tilgængelige. Så hvordan kan du ERDDAP™ få data til begrænsede datasæt? Nogle muligheder er:
- ERDDAP™ kan tjene data fra lokale filer (f.eks. via EDDTable FraFiles eller EDDGrid FraFiles) .
- ERDDAP™ Kan være i en DMZ og datakilden (f.eks. en a. OPeNDAP server eller database) kan være bag en firewall firewall , hvor det er tilgængeligt for ERDDAP™ men ikke til offentligheden.
- Datakilden kan være på et offentligt websted, men kræver et login for at få dataene. De to typer datasæt, der ERDDAP™ Log på for at få adgang til EDDTableFraDatabase og og og EDDTableFraCassandra . Disse datasæt understøtter (og bør altid bruge) Brugernavne (Opret en ERDDAP™ bruger, der kun har læserettigheder) , adgangskoder, SSL-forbindelser og andre sikkerhedsforanstaltninger.
Men generelt, i øjeblikket, ERDDAP™ kan ikke håndtere disse datakilder, fordi det ikke har nogen bestemmelser til at logge på datakilden. Dette er grunden til, at adgang til EDDGrid Fra Erddap og EDDTable FraErddap Datasets kan ikke begrænses. I øjeblikket, den lokale ERDDAP™ har ingen måde at logge ind og få adgang til metadataoplysningerne fra fjernbetjeningen ERDDAP . Og sætte "remote" ERDDAP™ bag din firewall og fjerne den datasæt's tilgængelige Hvis restriktioner ikke løser problemet: Da brugeren anmoder om EDDXxx FraErddap-data skal omdirigeres til fjernbetjeningen ERDDAP™ , fjernbetjeningen ERDDAP™ skal være tilgængelig.
Mod Hackere
Der er dårlige fyr hackere, der forsøger at udnytte sikkerhedssvagheder i server software som ERDDAP . ERDDAP™ følger den fælles sikkerhedsrådgivning for at have flere lag af forsvar:
- Begrænsede Privileges -- Et af de vigtigste forsvar er at køre Tomcat via en bruger kaldet tomcat, der ikke har en adgangskode (så ingen kan logge ind som den bruger) og har begrænsede filsystemrettigheder (f.eks. læsebeskyttet adgang til dataene) . Se endnu ERDDAP 's instruktioner til opsætning af tomcat .
- Kraftig brug - Generelt, ERDDAP™ er bygget til tung brug, herunder af scripts, der gør titusinder af anmodninger, en efter en anden. Det er svært for ERDDAP™ til samtidig at åbne sig op til tung legitim brug og skjold sig fra misbrug. Det er nogle gange svært at differentiere tung legitim brug, overdreven legitim brug og illegitimate brug (og nogle gange er det virkelig nemt) . Blandt andre forsvar, ERDDAP™ bevidst tillader ikke en enkelt anmodning om at bruge en inordinate fraktion af systemets ressourcer (med mindre systemet ikke er aktivt) .
- Identificer Troublesome Brugere - Hvis ERDDAP™ er langsommere eller nedfrysning (måske fordi en naiv bruger eller en bot kører flere scripts til at indsende flere anmodninger samtidigt eller måske på grund af en dårlig fyrs Denial-of-service angreb angreb) , du kan se på Daglig rapport e-mail (og hyppigere identiske oplysninger i ERDDAP™ logfil ) som viser antallet af anmodninger fra de mest aktive brugere (Se "Requester's IP Adresse (tilladt) " " " ") . ERDDAP™ sender også e-mails til administratoren, når der er "Usædvanlig aktivitet: >25% af anmodninger mislykkedes" . Du kan så kigge ind i ERDDAP™ logfil for at se karakteren af deres anmodninger. Hvis du føler, at nogen gør for mange anmodninger, bizarre anmodninger (du ville ikke tro, hvad jeg har set, godt, måske ville du) , eller angreb-type anmodninger, kan du tilføje deres IP-adresse til blacklist.
- Sortlist -- Du kan tilføje IP-adressen på besværlige brugere, bots og Denial-of-service angribere til de ERDDAP blacklist , så fremtidige anmodninger fra dem straks vil blive afvist. Denne indstilling er i datasets.xml så du hurtigt kan tilføje en IP-adresse til listen og derefter flag flag flag flag et datasæt, så ERDDAP™ straks meddelelser og anvende ændringen. Fejlmeddelelsen sendt til blacklistede brugere opfordrer dem til at kontakte de ERDDAP™ Administrator, hvis de føler, at de er blevet fejlagtigt sat på blacklist. (I vores erfaring har flere brugere været uvidende om, at de kørte flere scripts samtidigt, eller at deres scripts gjorde ikke anmodninger.)
- Dataset Security - Nogle typer datasæt (Især EDDTableFraDatabase) Yderligere sikkerhedsrisici (f.eks. SQL injektion) og har deres egne sikkerhedsforanstaltninger. Se oplysningerne for disse typer datasæt i Arbejde med arbejdet datasets.xml Filen fil , især EDDTableFraDatabase sikkerhed .
- Sikkerhedsrevision -- Selv om selvom NOAA IT-sikkerhed afviste vores anmodninger om scanninger i årevis, de nu rutinemæssigt scanne min (I nærheden af Bob's) ERDDAP™ installation. Selvom de første scanninger fandt nogle problemer, som jeg så faste, har efterfølgende scanninger ikke fundet problemer med ERDDAP . scanningerne bekymrer sig om en masse ting: særligt, da tabledap anmodninger ligner SQL-anmodninger, de bekymrer sig om SQL-indsprøjtning sårbarheder. Men disse bekymringer er ubegrundet, fordi ERDDAP™ altid parses og validerer forespørgsler og derefter separat opbygger SQL-forespørgsel på en måde, der undgår injektionssårbarheder. Det andet, de undertiden klager over, er, at vores Java version eller Tomcat versioner er ikke så opdateret som de ønsker, så vi opdaterer dem som svar. Jeg har tidligere tilbudt at vise folk sikkerhedsrapporter, men jeg har nu fortalt, at jeg ikke kan gøre det.
Spørgsmål? Forslag?
Hvis du har spørgsmål til ERDDAP 's sikkerhedssystem eller har spørgsmål, tvivl, bekymringer eller forslag om, hvordan det er konfigureret, se vores sektion om at få ekstra støtte .
Ting du behøver ikke at vide
Disse er detaljer, at du ikke behøver at vide, indtil et behov opstår.
Andet ERDDAP™
- Opsætning af et sekund ERDDAP™ Til test/udvikling
Hvis du vil gøre dette, er der to tilgange: - (Bedste) Installer Tomcat og ERDDAP™ på en anden computer end den computer, der har din offentlige ERDDAP . Hvis du bruger din personlige computer:
- Gør installationen et trin på et tidspunkt. Få Tomcat op og køre først. Når Tomcat kører, skal Tomcat Manager være på http://127.0.0.1:8080/manager/html/ (eller måske http://localhost:8080/manager/html/ )
- Installer installation ERDDAP .
- Brug ikke ProxyPass til at fjerne portnummeret fra ERDDAP™ URL.
- I nærheden af In In In In In In In In In In In In In In opsætning.xml , sæt baseUrl tilhttp://127.0.0.1:8080
- Når du starter dette ERDDAP™ , du skal kunne se det på http://127.0.0.1:8080/erddap/status.html (eller måske http://localhost:8080/erddap/status.html )
Anden Tomcat
- (Bedste) Installer en anden Tomcat på samme computer som din offentlige ERDDAP .
- Gør installationen et trin på et tidspunkt. Få Tomcat op og køre først. Ændre alle de portnumre, der er forbundet med den anden Tomcat (f.eks., skift 8080 til 8081) (Se det her Flere Tomcat Instances sektion halvvejs gennem dette dokument) .
- Installer installation ERDDAP™ i den nye Tomcat.
- Brug ikke ProxyPass til at fjerne portnummeret fra ERDDAP™ URL.
- I nærheden af In In In In In In In In In In In In In In opsætning.xml , sæt baseUrl tilhttp://www.yourDomainName:8081
- Når du starter dette ERDDAP™ , du skal kunne se det på
http://www.*yourDomainName*:8081/erddap/status.html
Solid State Drives
- Solid State Drives (SSD'er) er fantastisk!
Den hurtigste, nemmeste og billigste måde at fremskynde ERDDAP 's adgang til tabulære data er at sætte datafiler på en Solid State Drive (SSD) . De fleste tabulære datasæt er relativt små, så en 1 eller 2 TB SSD sandsynligvis er tilstrækkelige til at holde alle datafiler for alle dine tabulære datasæt. SSD'er bruger til sidst, hvis du skriver data til en celle, slette det og skrive nye data til denne celle for mange gange. Så hvis du bare bruger din SSD til at skrive data én gang og læse det mange gange, selv en forbruger-grade SSD bør vare meget lang tid, sandsynligvis meget længere end nogen harddisk Drive (harddisk) . Forbruger-grade SSD'er er nu billig (i 2018, ~$200 for 1 TB eller ~ $ 400 for 2 TB) og priser falder stadig hurtigt. Hvornår Hvornår skal man Hvornår ERDDAP™ adgang til en datafil, en SSD tilbyder både kortere ventetid (~0.1ms, versus ~3ms for en harddisk, versus ~10 (?) ms til en RAID, versus ~55ms til Amazon S3) og højere gennemløb (~500 MB/S, versus ~75 MB/s for en harddisk, versus ~500 MB/s for en RAID) . Så du kan få en stor præstation boost (op til 10X mod en harddisk) for $200! Sammenlignet med de fleste andre mulige ændringer i dit system (en ny server til $10.000? en ny RAID for $5.000? en ny netværkskontakt til $5000? osv.) , dette er langt den bedste Return On Investment (ROI) . Hvis / når SSD dør (i 1, 2, ... 8 år) , udskifte det. Du må ikke bruge det så længe, arkivlagring af data, bare for den forreste kopi af dataene. \[ SSD's ville være fantastisk til gitterded data, også, men de fleste gitterede datasets er meget større, hvilket gør SSD meget dyrt. \]
Hvis din server ikke er indlæst med hukommelse, ekstra hukommelse for din server er også en stor og relativt billig måde at fremskynde alle aspekter af ERDDAP .
Heavy Loads / Kontrainer **
Med tung brug, en enkeltstående ERDDAP™ kan være begrænset af forskellige problemer. Du kan finde flere oplysninger i afsnittet liste over begrænsninger og løsninger .
Gitter, Clusters og føderationer
Under meget tung brug, en enkelt standalone ERDDAP™ vil køre ind i en eller flere begrænsninger, og selv de foreslåede løsninger vil være utilstrækkelig. Til sådanne situationer, ERDDAP™ har funktioner, der gør det nemt at konstruere skalerbare gitter (også kaldet klynger eller føderationer) af ERDDAP s, som tillader systemet at håndtere meget tung brug (f.eks. for et stort datacenter) . For mere information, se gitter, klynger og føderationer af ERDDAP s s s .
Cloud Computing
Flere virksomheder begynder at tilbyde cloud computing tjenester (fx, Amazon Web Services ) . Web hostingfirmaer Siden midten af1990'erne har "cloud"-tjenesterne udvidet fleksibiliteten ved systemerne og de tjenester, der tilbydes. Du kan bruge disse tjenester til at oprette en enkelt ERDDAP™ eller en gitter / cluster af ERDDAP s til at håndtere meget tung brug. For mere information, se cloud computing med ERDDAP™ .
Amazon Amazon
- ** Amazon Web Services (AWS) Oversigt over EC2 **
Amazon Web Services (AWS) er en cloud computing service der tilbyder en bred vifte af computerinfrastruktur, som du kan leje i timen. Du kan installere ERDDAP™ på en måde Elastisk Compute Cloud (EC2) f.eks. (deres navn for en computer, som du kan leje i timen) . AWS har en fremragende Brugerguide og du kan bruge Google til at finde svar på specifikke spørgsmål, du måtte have. Brace selv - det er en fair mængde arbejde at komme i gang. Men når du får en server op og kører, kan du nemt leje så mange ekstra ressourcer (servere, databaser, SSD-space osv.) som du har brug for, til en rimelig pris. \[ Dette er ikke en anbefaling eller godkendelse af Amazon Web Services. Der er andre cloududbydere. \]
Et overblik over ting, du skal gøre for at få ERDDAP™ løb på AWS er:
- Generelt vil du gøre alle de ting, der er beskrevet i de Brugerguide .
- Angiv en AWS-konto.
- Angiv en AWS-bruger inden for denne konto med administratorrettigheder. Log ind som denne bruger for at gøre alle følgende trin.
- Elastisk blok opbevaring (EBS) AWS svarer til en harddisk knyttet til din server. Nogle EBS-plads vil blive tildelt, når du først opretter en EC2-instans. Det er vedvarende opbevaring -- oplysningerne er ikke tabt, når du stopper din EC2-instans. Og hvis du ændrer forekomststyper, bliver din EBS-plads automatisk knyttet til det nye eksempel.
- Opret en Elastisk IP-adresse, så din EC2-instans har en stabil, offentlig URL (i modsætning til blot en privat URL, der ændrer hver gang du genstarter din forekomst) .
- Oprette og starte en EF2-instans (computercomputer) . Der er en bred vifte af instanstyper , hver til en anden pris. En m4. stor eller m4.xlarge forekomst er kraftfuld og er sandsynligvis velegnet til de fleste anvendelser, men vælg hvad der opfylder dine behov. Du vil sandsynligvis bruge Amazons Linux som operativsystem.
- Hvis din computer er en Windows-computer, kan du bruge PuTTY , en gratis SSH-klient til Windows, for at få adgang til din EC2-instanss kommandolinje. Eller kan du have nogle andre SSH program, som du foretrækker.
- Når du logger ind på din EC2-instans, vil du blive logget ind som den administrative bruger med brugernavnet "ec2-bruger". ec2-user har sudo privilegier. Så når du skal gøre noget som root-brugeren, skal du bruge: sudo nogleCommand
- Hvis din computer er en Windows-computer, kan du bruge FileZilla , et gratis SFTP-program, til at overføre filer til / fra din EC2-instans. Eller kan du have nogle andre SFTP program, som du foretrækker.
- Installer Apache på din EC2-instans.
- Følg standarden ERDDAP™ installationsvejledning .
Vent såTryAgain Undtagelse
En bruger kan få en fejlmeddelelse som
VentDaTryAgainException:
Der var en (midlertidig?) problem. Vent et minut, og prøv igen. (Klik på knappen Reload i en browser.)
Detaljer: GridDataAccessor.inkret: delvisResults \[ 0 \] "123532800".
Den generelle forklaring på WaitDaTryAgainException er: Hvornår Hvornår skal man Hvornår ERDDAP™ reagerer på en brugerkonto, der kan være en uventet fejl med datasættet (f.eks. en fejl, mens du læser data fra filen, eller en fejladgang til et fjerndatasæt) . VentDaTryAgain signaler til ERDDAP™ at anmodningen mislykkedes (indtil langt) men det ERDDAP™ bør forsøge at indlæse datasættet hurtigt (det opkald Anmod om tilgængelighed ) og genindrer anmodningen. Ofte, dette lykkes, og brugeren ser bare, at svaret på anmodningen var langsom. Andre gange fejler reloaden eller er for langsom, eller det efterfølgende forsøg på at håndtere anmodningen også mislykkes og kaster en anden WaitDaTryAgain. Hvis det sker, ERDDAP™ markerer datasættet til at indlæse, men fortæller brugeren (via en WaitDaTryAgain Undtagelse) at der var en fejl, mens de reagerer på anmodningen.
Det er den normale adfærd. Dette system kan håndtere mange almindelige problemer. Men det er muligt for dette system at få udløst overdrevent. Den mest almindelige årsag er, at ERDDAP 's indlæsning af datasættet ser ikke et problem, men ERDDAP 's svar på en anmodning om data ser problemet. Uanset hvad årsagen er, er løsningen for dig at håndtere hvad der er galt med datasættet. Kig i log.txt for at se de faktiske fejlmeddelelser og håndtere problemerne. Hvis mange filer har gyldige overskrifter, men ugyldige data (en ødelagt fil) , erstatte filer med ukorrupted filer. Hvis forbindelsen til en RAID er flakey, skal du rette den. Hvis forbindelsen til en fjerntjeneste er flakey, kan du finde en måde at gøre det ikke flakey eller downloade alle filer fra fjernkilden og tjene dataene fra de lokale filer.
Den detaljerede forklaring på den specifikke fejl (ovenfor) er: For hver EDDGrid datasæt, ERDDAP™ holder de akse variable værdier i hukommelsen. De bruges f.eks. til at konvertere ønskede akseværdier, der bruger " () "format i indeksnumre. For eksempel, hvis akseværdierne er "10, 15, 20, 25", en anmodning om anmodning om (20 20 20) fortolkes som anmodning om indeks #2 (0-baseret indekser) . Hvornår Hvornår skal man Hvornår ERDDAP™ får en anmodning om data og får data fra kilden, det bekræfter, at de akseværdier, som den fik fra kilden matcher akseværdierne i hukommelsen. Normalt gør de. Men nogle gange har datakilden ændret sig på en betydelig måde: For eksempel kan indeksværdierne fra starten af aksevariablen fjernes (f.eks. "10, 15, 20, 25" kan være "20, 25, 30") . Hvis det sker, er det klart, at ERDDAP tolkning af anmodningen (f.eks. " (20 20 20) " er indeks #2) er nu forkert. Så ERDDAP™ smider en undtagelse og kalder AnmodReloadASAP. ERDDAP™ vil opdatere datasættet snart (ofte i et par sekunder, normalt inden for et minut) . Andre, lignende problemer også smide WaitDaTryAgain undtagelse.
Anmod om tilgængelighed
Du kan se RequestReloadASAP i log.txt-filen lige efter en fejlmeddelelse og ofte i nærheden af en fejlmeddelelse Vent såTryAgain Undtagelse . Det er dybest set en intern, programmatisk måde for ERDDAP™ at indstille et flag flag flag flag at signalere, at datasættet skal indlæses ASAP.
Filer Ikke at blive slettet
For et par ERDDAP™ installationer, der har været et problem med nogle midlertidige filer, der er oprettet af ERDDAP™ Ophold åbent (fejlagtigt) og dermed ikke blive slettet. I et par tilfælde har mange af disse filer akkumuleret og taget en betydelig mængde diskplads.
Forhåbentlig er disse problemer rettet (som af ERDDAP™ v2.00) . Hvis du ser dette problem, skal du sende dig e-mail til de fornærmede filer til Chris. John på noaa.gov. Du har et par muligheder for at håndtere problemet:
- Hvis filerne ikke er store og ikke forårsager dig at køre ud af diskplads, kan du ignorere problemet.
- Den enkleste løsning er at lukke tomcat / ERDDAP™ (efter timer, så færre brugere påvirkes) . Under nedlukningen sletter operativsystemerne ikke filerne, slette dem ved hånden. Så genstart ERDDAP .
JSON-ld
- ** Semantic Markup af Datasets med json-ld (JSON Disse data) **
ERDDAP™ bruger nu nu json-ld (JSON Disse data) for at gøre dit datakatalog og datasæt en del af semantisk web , som er Tim Berners-Lees ide at gøre webindhold mere maskinlæsbar og maskine "underholdbare". json-ld-indholdet bruger schema.org Betingelser og definitioner. Søgemaskiner ( Google især ) og andre semantiske værktøjer kan bruge denne strukturerede markering til at lette opdagelse og indeksering. json-ld strukturerede markup vises som usynlig-til-humaner<script> kode på kodenhttps://.../erddap/info/index.htmlwebside (som er en semantisk web DataCatalog ) og på hverhttps://.../erddap/info/datasetID/index.htmlwebside (som er en semantisk web Datasæt ) . (Special takket være Adam Leadbetter og Rob Fuller of te Marine Institute i Irland for at gøre de hårde dele af arbejdet til at gøre denne del af ERDDAP .)
Out-Of-Date webadresser
Langsomt men sikkert, de webadresser, som dataudbydere har skrevet til datafiler, bliver forældet (for eksempel, http bliver bliver bliver https , websteder er bagudrettede, og organisationer som NODC/NGDC/NCDC reorganiseres i NCEI) . Det resulterende brudte links er et evigtpræsent problem, der står over for alle hjemmesider. At håndtere dette, ERDDAP™ Nu har et system til automatisk at opdatere forældede webadresser. Hvis GenererDatasets Xml ser en forældet URL, den tilføjer den opdaterede URL-adresse til< addAttributes >. Også, når en datasæt belastninger, hvis ERDDAP™ Se en forældet URL, det ændrer sig roligt til den opdaterede URL. Ændringerne styres af en række søge-til/replace-med par defineret i<OpdaterUrls> i in in in in ERDDAP 's \[ Tomcat \] /webapps/erddap/WEB-INF/classes/gov/noaa/pfel/erddap/util/messages.xml-fil. Du kan foretage ændringer der. Hvis du har forslag til ændringer, eller hvis du mener, at dette skal gøres til en tjeneste (som omformere) , venligst e-mail Chris. John på noaa.gov.
CORS
- CORS ( Cross-Origin Ressourcedeling )
" er en mekanisme, der giver begrænsede ressourcer (f.eks. skrifttyper eller ERDDAP™ Datadata) på en webside, der skal anmodes fra et andet domæne uden for domænet, hvorfra den første ressource blev serveret" (I nærheden af Arun Ranganathan) . Dybest set, CORS er en meddelelse, der kan sættes i HTTP-hovedet af et svar, og siger i det væsentlige, "det er okay med dette websted, hvis visse andre websteder (specifikke, eller alle) Grib ressourcer (f.eks. data) fra dette websted og gøre det tilgængeligt på deres hjemmeside. Således er det et alternativ til JSONP .
Udviklerne af ERDDAP™ påstår ikke at være sikkerhedseksperter. Vi er ikke helt klar over sikkerhedsproblemer relateret til CORS. Vi ønsker ikke at foretage nogen erklæring, der afslutter en handling, der nedsætter sikkerheden. Så vi vil bare forblive neutral og forlade det op til hver ERDDAP™ Administrator for at afgøre, om fordelene eller aktivering af en CORS-headset er de risici, der er værd. Som altid, hvis din ERDDAP™ har alle private datasæt, det er en god ide at være ekstra forsigtig med sikkerhed.
Hvis du ønsker at aktivere CORS for din ERDDAP™ , der er let tilgængelige instruktioner beskrive, hvordan webstedsadministratorer kan aktivere en CORS-overskrift via deres lavere serversoftware (fx, Apache eller nginx) .
Billeder af Palettes
- Palettes bruges af ERDDAP™ til at konvertere en række dataværdier til en række farver, når du laver diagrammer og kort.
Hver palet defineres i en .cpt-style palet fil som bruges af GMT GMT . Alle ERDDAP™ .cpt filer er gyldige GMT .cpt filer, men det modsatte er ikke sandt. Til brug i ERDDAP™ , .cpt filer har:
- Valgfrie kommentarer linjer i starten af filen, startende med "#".
- Et hovedafsnit med en beskrivelse af palettens segmenter, et segment pr. linje. Hver segmentbeskrivelse linje har 8 værdier: startstart Værdi, startRed, start Grøn, start Blå, slutValue, endeRed, endegrøn, endeblå. Der kan være en række segmenter. ERDDAP™ Brug lineær interpolation mellem startRed/Green/Blue og slutRed/Green/Blue af hvert segment.
Vi anbefaler, at hvert segment angiver en start- og slutfarve, der er forskellige, og at startfarven i hvert segment er den samme som slutfarven i det forrige segment, så paletten beskriver en kontinuerlig blanding af farver. ERDDAP™ har et system til at skabe on-the-fly en palet af diskrete farver fra en palet med en kontinuerlig blanding af farver. An An An An An ERDDAP™ Brugeren kan angive, om de ønsker, at paletten skal være kontinuerlig (den originale) eller Diskret (afledt af originalen) . Men der er legitime grunde til ikke at følge disse anbefalinger af nogle paletter.
- StartValue og slutValues skal være integers. Det første segment skal have startValue=0 og slutValue = =0. Det andet segment skal have startValue =2. Etc.
- De røde, grønne og blå værdier skal være integers fra 0 (Ingen ingen ingen) ... 255 (Fuld på) .
- Slutningen af filen skal have 3 linjer med:
- En baggrund rgb farve til dataværdier mindre end farvelinjen minimum, f.eks.: B 128 128 Det er ofte startRed, startGreen og startBlue af det første segment.
- En forgrunds rgb farve til dataværdier mere end farvelinjen maksimum, f.eks.: F 128 0 0 Det er ofte slutrød, endGreen, og slutBlue af det sidste segment.
- En rgb farve til NaN dataværdier, f.eks. N 128 128 128 Det er ofte mellemgrå (128 128) .
- Værdierne på hver linje skal være adskilt af faner, uden ekstra mellemrum.
En prøve .cpt fil er BlueWhiteRed.cpt:
\# Dette er BlueWhiteRed.cpt. 0 0 0 0 128 1 0 255 1 0 0 255 2 0 255 255 2 0 255 255 255 255 255 255 3 255 255 255 255 255 255 0 0 4 255 255 0 5 255 0 0 0 0 0 5 255 0 0 6 128 0 B 0 128 F 128 0 0 N 128 128
Se de eksisterende .cpt-filer for andre eksempler. Hvis der er problemer med en .cpt fil, ERDDAP™ vil sandsynligvis smide en fejl, når .cpt-filen er parsed (som er bedre end at misbruge de oplysninger) .
Du kan tilføje flere paletter til ERDDAP . Du kan gøre dem selv eller finde dem på nettet (f.eks. på Storhed ) selvom du sandsynligvis skal redigere deres format lidt for at overholde ERDDAP 's .cpt krav. Sådan får du ERDDAP™ at bruge en ny .cpt fil, gemme filen i Tomcat /webapps/erddap/WEB-INF/cptfiles (Du skal gøre det for hver ny version af ERDDAP ) og enten:
- Hvis du bruger standardmeddelelser.xml-filen: tilføje filnavnet til filnavnet<paletter> tag i Tomcat /webapps/erddap/WEB-INF/classes/gov/noaa/pfel/erddap/util/messages.xml. Hvis du gør dette, skal du gøre det hver gang du opgraderer ERDDAP .
- Hvis du bruger en brugerdefineret meddelelser.xml-fil: tilføje filnavnet til filnavnet<paletter> tag i dine brugerdefinerede beskeder.xml-fil: Tomcat /content/erddap/messages.xml . Hvis du gør dette, skal du kun gøre det én gang (men der er andre værker til at opretholde en brugerdefinerede meddelelser.xml-fil) .
Så genstart ERDDAP™ så så sådan ERDDAP™ bemærker ændringerne. En fordel ved denne tilgang er, at du kan angive rækkefølgen af paletterne på listen præsenteret for brugere. Hvis du tilføjer en samling, opfordrer vi dig til at tilføje et præfiks med forfatterne initialer (f.eks. " KT\_ " " " ") til navnet på hver palet for at identificere kollektionen og så der kan være flere paletter, som ellers ville have det samme navn.
Fjern ikke eller ændre nogen af standardpallerne. De er en standard funktion af alle ERDDAP™ installationer. Hvis du tror, at en palet eller samling af paletter skal indgå i standarden ERDDAP™ distribution, fordi det/de ville være af generel brug, bedes du sende dem til Chris. John på noaa.gov.
Farvebarer
- Hvordan gør det ERDDAP™ generere farverne i en farvebar?
- Brugeren vælger en af de foruddefinerede paletter eller bruger standarden, f.eks. Rainbow. Palettes gemmes/definéres i GMT-stil .cpt Color Palette Tabel filer. Hver af ERDDAP 's foruddefinerede paletter har et simpelt udvalg, f.eks. 0 til 1 (hvis der kun er én sektion i paletten) , eller 0 til 4 (hvis der er fire sektioner i paletten) . Hvert segment i filen dækker n til n+1, startende på n=0.
- ERDDAP™ genererer en ny .cpt fil på-the-fly, ved at afskalere den foruddefinerede palets sortiment (f.eks. 0 til 4) til den vifte af paletten, der kræves af brugeren (f.eks. 0,1 til 50) og derefter generere en sektion i den nye palet for hver sektion af den nye palet (f.eks. en log skala med krydsninger på 0,1, 0,5, 1, 5, 10, 50 vil have 5 sektioner) . Farven for slutningen af hvert afsnit genereres ved at finde den relevante del af paletten i .cpt-filen, og derefter lineært at krydse R, G og B-værdierne. (Det er det samme, som hvordan GMT genererer farver fra sin Color Palette Table-filer.) Dette system tillader ERDDAP™ at starte med generiske paletter (f.eks. Rainbow med 8 segmenter, i alt strækker 0 til 8) og skabe brugerdefinerede paletter på farten (f.eks. en custom Rainbow, som kortlægger 0,1 til 50 mg/L til regnbuefarverne) .
- ERDDAP™ derefter bruger den nye .cpt-fil til at generere farven for hver anden farvet pixel i farvelinjen (og senere for hvert datapunkt, når du plotter data på en graf eller et kort) , igen ved at finde den relevante del af paletten i .cpt-filen, og derefter lineært at krydse R, G og B-værdierne.
Denne proces kan synes unødvendigt kompliceret. Men det løser problemer relateret til log skalaer, der er svært at løse andre måder.
Så hvordan kan du efterligne hvad ERDDAP™ gør? Det er ikke nemt. Dybest set skal du duplikere den proces, der ERDDAP™ bruger. Hvis du er en Java programmør, du kan bruge den samme Java klasse, der ERDDAP™ bruger til at gøre alt dette: Tomcat /webapps/erddap/WEB-INF/classes/gov/noaa/pfel/coastwatch/sgt/CompoundColorMap.java.
Retningslinjer for datadistributionssystemer
Flere generelle meninger om design og evaluering af datadistributionssystemer kan findes her her .
ArchiveADataset
Inkluderet i dit værelse ERDDAP™ installation er et kommandolinjeværktøj kaldet ArchiveADataset, som kan hjælpe dig med at lave et arkiv (a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a .zip eller eller eller .tar .gz filfil) med del eller alle datasæt gemt i en serie af netcdf-3 .nc datafiler i et filformat, der er egnet til indsendelse til NOAA 's NCEI arkiv ( .nc til gitterede datasæt eller .nc CFMA for tabulære datasæt, som angivet af NCEI NetCDF Skabeloner v2.0 ) .
Arkiv Dataset kan lave to forskellige arkivformater:
- Det "originale" format følger disse Vejledning om NCEI , denne guide til Arkivering af dine data på NCEI , og den relaterede Øvelser for at sikre dataintegritet .
- The "BagIt" format gør BagIt filer , et standardiseret arkivformat fremmet af U.S. Library of Congress, som er angivet af BagIt v0.97 specifikation . NOAA 's NCEI kan standardisere på BagIt-filer til indsendelser til arkivet.
Ikke overraskende, globale og variable metadata den, der ERDDAP™ tilskynder/requires er næsten præcis det samme i-fil CF og ACDD metadata, som NCEI opfordrer/requires, så alle dine datasæt skal være klar til indsendelse af NCEI via Send2NCEI eller eller eller ATRAC (NCEI's Advanced Tracking and Resource værktøj til arkivsamlinger) .
Hvis du (te te te te ERDDAP™ Administrator) Brug ArkivADataset til at indsende data til NCEI, så du (Ikke NCEI) vil afgøre, hvornår du indsender en smule data til NCEI, og hvad der skal være, fordi du vil vide, hvornår der er nye data, og hvordan du angiver, at klumpen (og NCEI vil ikke) . Således er ArchiveADataset et værktøj til dig at bruge til at oprette en pakke til at indsende til NCEI.
Arkiv Datasæt kan være nyttige i andre situationer, for eksempel for ERDDAP™ Administratorer, der har brug for at konvertere et sæt datasæt (på privat ERDDAP ) fra dets oprindelige filformat i et sæt af .nc CF-filer , så en offentlig ERDDAP™ kan tjene dataene fra .nc CF-filer i stedet for de oprindelige filer.
Når du har oprettet ERDDAP™ og køre det (mindst én gang) , du kan finde og bruge ArkivADataset i te Tomcat /webapps/erddap/WEB-INF-mappen. Der er et shell script (ArkivADataset.sh) til Linux/Unix og en batch-fil (ArkivADataset.bat) til Windows.
På Windows, den første gang du kører ArchiveADataset, skal du redigere ArkivADataset. bat fil med en tekst editor til at ændre stien til java. exe fil, så Windows kan finde Java .
Når du kører ArkivADataset, vil det spørge dig en række spørgsmål. Skriv et svar, og tryk derefter på Enter. Eller tryk på ^C for at afslutte et program til enhver tid.
Eller du kan sætte svarene på spørgsmålene, for at kunne på kommandolinjen. For at gøre dette, køre programmet en gang og skrive ind og skrive ned dine svar. Derefter kan du oprette en enkelt kommandolinje (med svarene som parametre) som kører programmet og svarer alle spørgsmål. Brug ordet standard, hvis du ønsker at bruge standardværdien for en given parameter. Brug "" (to dobbelte citater) som pladsholder til en tom streng. Angive parametre på kommandolinjen kan være meget praktisk, for eksempel, hvis du bruger ArkivADataset en gang om måneden til at arkivere en måneds dataværdi. Når du har genereret kommandolinjen med parametre og gemt, at i dine noter eller i et shell-script, skal du blot foretage små ændringer hver måned for at foretage denne måneds arkiv.
De spørgsmål, som ArchiveADataset beder dig om:
- Angiv original eller Bagit-filemballage. Til NCEI, brug Bagit.
- Angiv lynlås eller tar .gz kompression til pakken. Til NCEI, brug tar .gz .
- Angiv en kontaktmailadresse til dette arkiv (den vil blive skrevet i READ\_ME.txt-filen i arkivet) .
- Angive feltet datasetID af det datasæt, du vil arkivere.
- Angiv hvilke datavariabler du vil arkivere (Normalt alle) .
- Angiv, hvilken del af det datasæt, du vil arkivere. Du skal formatere undersættet på samme måde, du ville formatere et subset for en dataforespørgsel, så det vil være anderledes for gitteret end for tabulære datasæt.
- For gitterede datasæt, kan du angive en række værdier af venstre yderste dimension, normalt det er en række tid. ArkivADataset vil gøre en separat anmodning og generere en separat datafil for hver værdi i intervallet værdier. Da gitterded datasæt normalt er store, skal du næsten altid angive en lille delsæt i forhold til størrelsen af hele datasættet. For eksempel, \[ (2015-12-01) : (2015-12-31) \] \[ \] \[ \] \[ \]
- For tabulære datasæt, kan du angive enhver samling af begrænsninger, men det er ofte en række tid. Da tabulære datasæt normalt er små, er det ofte muligt at angive ingen begrænsninger, så hele datasættet er arkiveret. For eksempel, &time>=2015-12-01&tid<2016-01-01
- For tabulære datasæt: angive en komma adskilt liste over 0 eller flere variabler, der vil afgøre, hvordan de arkiverede data er yderligere opdelt i forskellige datafiler. Til datasæt, der har CDm\_data\_type \=TimeSeries | TimeSeriesProfil | Trajectory | TrajectoryProfil du skal næsten altid angive den variable, der har cf\_role=timeseries\_id (fx, stationID ) eller cf\_role=trajectory\_id attribut. ArkivADataset vil lave en separat anmodning og generere en separat datafil for hver kombination af værdierne af disse variabler, f.eks. for hver enkelt stationID . For alle andre tabulære datasæt, vil du sandsynligvis ikke angive variabler til dette formål. Advarsel: Hvis den del af datasættet, du er arkivering, er meget stor (>2 GB) og der er ingen egnet variabel til dette formål, så er ArchiveADataset ikke anvendelig med denne datasæt. Dette skal være sjældent.
- Angiv filformatet for de datafiler, der vil blive oprettet. Til gitterdatasæt, til NCEI, brug .nc . Til tabulære datasæt, til NCEI, brug .nc CFMA hvis det er en mulighed; ellers bruge .nc .
- Angiv den type fil, der fordøjes for hver datafil og for hele arkivpakken: MD5, SHA-1 eller SHA-256. Den fil duest giver en måde for klienten (f.eks. NCEI) at teste, om datafilen er blevet ødelagt. Traditionelt, disse var .md5 filer , men nu er der bedre muligheder. Til NCEI, brug SHA-256 .
Når du besvarer alle spørgsmål, vil ArchiveADataset:
-
Lav en række anmodninger til datasættet og trin resultatet af datafiler i bigParentDirectory /ArchiveADataset / * datasetID \_timestamp* /. For gitterded datasæt, vil der være en fil for hver værdi af den venstre største dimension (f.eks. tid) . Navnet på filen vil være den værdi (f.eks. tidsværdien) . For tabulære datasæt, vil der være en fil for hver værdi af den... variable (s s s) . Navnet på filen vil være den værdi. Hvis der er mere end én variabel, vil de venstre variabler blive brugt til at lave undermapper, og den rigtige variabel vil blive brugt til at gøre filnavnene. Hver datafil skal være<2 GB (den maksimale tilladt af .nc version 3 filer) .
-
Lav en fil relateret til hver datafil med den fordøje af datafilen. Hvis datafilen f.eks. er 46088 .nc og den fordøje type er .sha256, og den fordøje fil vil have navnet 46088 .nc .sha256.
-
Lav en READ\_ME.txt-fil med oplysninger om arkivet, herunder en liste over alle de indstillinger, du har angivet for at generere dette arkiv.
-
Lav 3 filer i bigParentDirectory /ArchiveADataset / :
- A A A A A A .zip eller eller eller .tar .gz Arkiv fil ved navn * datasetID \_timestamp* .zip (eller eller eller .tar .gz ) indeholdende alle de trinvise datafiler og fordøje filer. Denne fil kan være enhver størrelse, begrænset kun af diskplads.
- En digital fil til arkivfilen, f.eks. * datasetID \_timestamp* .zip .sha256.txt
- For den "original" type arkiv, en tekstfil opkaldt * datasetID \_timestamp* .zip .listOfFiles.txt (eller eller eller .tar .gz ) som viser alle filer i filerne .zip (eller eller eller .tar .gz ) fil.
Hvis du forbereder arkivet for NCEI, er disse de filer, du sender til NCEI, måske via Send2NCEI eller eller eller ATRAC (NCEI's Advanced Tracking and Resource værktøj til arkivsamlinger) . 5. Slette alle de trinvise filer, så kun arkivfilen (fx, .zip ) , fordøje (f.eks. .sha256.txt) af arkivet og (valgfrit) .listOfFiles.txt-filer forbliver.
ISO 19115 .xml Metadata filer
ArkivADataset-arkivpakken indeholder ikke ISO 19115 .xml metadata-fil til datasættet. Hvis du vil/need til at indsende en ISO 19115-fil til din datasæt til NCEI, kan du sende dem ISO 19115 .xml-metadatafil, der ERDDAP™ skabt til datasættet (men men men NMFS personer skal få ISO 19115-filen til deres datasæt fra InPort, hvis ERDDAP™ tjener ikke allerede denne fil) .
Problemer? Forslag? ArchiveADataset er nyt. Hvis du har problemer eller forslag, kan du se vores sektion om at få ekstra støtte .