WHOIS-domeinbewakingsservice. Waarom is deze dienst gratis? Python-whois-module voor het monitoren van domeinbetalingen

Bewaking van de responstijd

Bewaking van de responstijd Met het monitoren van de responstijd wordt getest hoe snel uw site is.

Met het monitoren van de responstijd wordt getest hoe snel uw site is. Het is misschien toegankelijk, maar slechte prestaties kunnen het nog steeds onaantrekkelijk maken voor de klanten. Door de responstijd te monitoren, kunt u controleren hoe de site zich in de loop van de tijd gedraagt. Heeft een van de geplande taken, zoals back-up, updates enz. invloed op de prestaties? Werkt de site goed voor de hele wereld, of kunnen bepaalde interessegebieden een verwarrende vertraging oplopen?

Het mondiale monitoringsysteem is behoorlijk nuttig:
aangezien de meeste van mijn storingen in werkelijkheid regionale storingen zijn waarover ik geen controle heb. Het helpt om dit te weten.

"

2017-02-01

Jaarlijks gaan miljoenen domeinnamen verloren. Wat gebeurt er nadat het domein is verlopen? Hoe lang zal uw domein op u wachten voordat iemand het in handen krijgt? En hoe kun je dit weglaten?

Controleer uw domeinen op eventuele wijzigingen. U kunt de status van de beschikbare domeinen die u leuk vindt in de gaten houden, maar vergeet ook uw eigen domeinen niet. Er is een grote verscheidenheid aan services, zoals HostTracker, die een gemakkelijke, efficiënte manier bieden om eventuele wijzigingen in de domeinstatus bij te houden.

Domeinen: hebben ze een hiernamaals?

Iedereen kan te maken krijgen met het probleem van het verliezen van de domeinnaam. Jaarlijks gaan miljoenen domeinnamen verloren. Meestal gebeurt het onbedoeld: de eigenaren missen de verlengingsaankondigingen om verschillende redenen en komen er pas achter dat ze bezig zijn hun gewaardeerde domein te verliezen als het te laat is! In dit artikel maakt u kennis met de bekendste voorbeelden van domeinvervaldagen. Bovendien zullen we zien dat grote bedrijven, zoals Microsoft, Foursquare en Yatra, ook onzeker zijn over "the drop game". Bovendien leest u hoe u de domeinnaam kunt behouden als u vergeet te betalen voor de domeinverlenging. Hoe lang zal uw domein op u wachten voordat iemand het in beslag neemt? En hoe kunt u dit weglaten met behulp van de functies van HostTracker?

Hoe Microsoft hotmail.co.uk verloor

Een van de meest opvallende voorbeelden van het laten vallen van de domeinnaam werd in 2003 afgesloten vanwege wat collectieve nalatigheid wordt genoemd. Ondanks het feit dat mensen probeerden te controleren wat er gebeurde en op de een of andere manier het probleem op te lossen, gedroeg Microsoft zich als een typische bureaucratische organisatie. Er werd een oogje dichtgeknepen voor vragen van mensen. Ondanks dat Microsoft werd gewaarschuwd dat het tijd is voor domeinverlenging, heeft Microsoft deze meldingen over het hoofd gezien. Daarom is het domein teruggestuurd naar de pool met beschikbare domeinen. Bovendien was de postdienst in Engeland niet toegankelijk.

Gelukkig werd het domein meteen in beslag genomen. De nieuwe eigenaar was zo vriendelijk dat hij Microsoft onmiddellijk probeerde te informeren dat ze het domein opnieuw moesten registreren en herstellen de dienst. Microsoft leek echter niet te popelen om hun site terug te krijgen en negeerde deze berichten. Microsoft besefte het probleem net toen journalisten contact met hen opnamen. Pas toen bereikte de softwaregigant een nieuwe eigenaar van hun domein. Bovendien heeft Microsoft zelfs daarna lange tijd gewacht voordat het probleem was opgelost. Het lijkt erop dat niemand in Groot-Brittannië het probleem kon oplossen, omdat alleen het hoofdkantoor verantwoordelijk was voor domeinregistraties.

Gelukkig is hotmail.co.uk weer hersteld. Maar toch heeft Microsoft niet officieel bevestigd dat hotmail.co.uk is verwijderd.

Alleen een registrar voor alle .uk-domeinen wierp licht op deze situatie en kwam tot de conclusie dat hotmail.co.uk niet kon worden verlengd, ondanks een waarschuwing over het belang van de verlengingsprocedure. Bovendien bevestigde de registrar dat het domein door een particulier was afgepakt. Blijkbaar werden alle meldingen via mail door de reus genegeerd. Het is interessant dat het niet de allereerste keer was dat zoiets met dit bedrijf gebeurde. In 1999 had Microsoft soortgelijke slechte ervaringen.

Wat gebeurt er nadat het domein verloopt?

De procedure is afhankelijk van de registrar van de domeinnamen. Bovendien is deze procedure in de loop van de geschiedenis vele malen veranderd. In dit artikel zullen we ons bezighouden met de meest typische up-to-date procedure.

De eerste fase: de registrar toont loyaliteit aan de klant en geeft extra tijd voor domeinverlenging (respijtperiode). Uw respijtperiode kan ongeveer één tot twee tot drie weken duren. Dit venster kan enkele deadlines hebben, bijvoorbeeld een gratis updateperiode, extra kosten, enz. Wanneer het domein zich in een respijtperiode bevindt waarin alle services zijn uitgeschakeld, kan het door niemand anders worden geregistreerd.

De tweede fase - de veiling. Nadat de registrar er zeker van is dat de domeinverlenging niet heeft plaatsgevonden, biedt hij deze aan voor de veiling. Het is de kans voor een registrar om extra inkomsten binnen te halen. Het domein kan worden geveild aan de hoogste bieder. Laten we eerlijk zijn, het werkt: veel domeinen worden op een veiling opgepikt. Laten we eens kijken naar enkele van de meest populaire veilingen:

  • Go Daddy-veilingen
  • NaamJet
  • SnapNames.com

Elke registrar werkt met slechts één van deze veilingdiensten samen. Domeinnamen zijn exclusief voor één veiling, omdat de uitverkoop niet op twee locaties kan plaatsvinden. Hoe werkt de veiling?

Om te beginnen is er vaak de mogelijkheid om een ​​backorder te plaatsen. Bijvoorbeeld als iemand erg geïnteresseerd is in het scoren van jouw domeinnaam. In dit geval krijgt de koper een melding over de vervalstatus van het doeldomein en maakt hij zeker gebruik van deze mogelijkheid. Het is vermeldenswaard dat tijdens deze periode domeinen kunnen worden opgenomen in backorder-veilingen, waarbij een andere deelnemer op uw domeinnaam kan bieden. Over het algemeen kan een veiling uit verschillende fasen bestaan, en na de hoofdveiling kan ook de afsluiting van de minst gewenste domeinnamen volgen.

Daarnaast zijn er sites die informatie verzamelen en deze op een gemakkelijkere manier aanbieden. Deze sites helpen u bijvoorbeeld ontdekken dat er de afgelopen 10 dagen meer dan 3 miljoen domeinen zijn verlopen. Bovendien zult u zich realiseren dat zelfs dure domeinen (die tot $500.000 kunnen kosten) na een tijdje kunnen worden verwijderd.

De derde fase - domein "dood". Het domein verdwijnt en kan op gemeenschappelijke basis worden opgehaald. Helaas is het onwaarschijnlijk dat een domeinnaam enige marginale waarde heeft, uit ondubbelzinnige woorden bestaat en goed gepromoot wordt. Als dat zo is, wordt het domein waarschijnlijk gekocht, aangezien het tegenwoordig ook een soort business is.

Nog wat extra goede voorbeelden

In 2010 vergat een bekende website Foursquare de domeinnaam te verlengen. Gelukkig merkten ze dit op tijd en hebben ze het probleem snel opgelost. Klanten konden de site gedurende deze periode echter niet bereiken. Destijds werd het internet gebombardeerd met dit nieuws, maar het bedrijf heeft van deze situatie geprofiteerd.

Er bestaan ​​echter ook trieste voorbeelden. In 2012 liet een populaire Indiase reissite Yatra.com, met miljoenen bezoekers en enorme inkomsten, zijn domein vallen. Daardoor verloren ze niet alleen geld, maar ook hun reputatie, klanten en het vertrouwen van hun partners. Uiteindelijk is het domein hersteld. Sindsdien is het bedrijf niet meer zo succesvol geweest.
Een dergelijke gemeenschappelijke ervaring heeft bijna iedereen wel eens in zijn geschiedenis meegemaakt, van banken tot gigantische bedrijven. Eigenlijk had HostTracker ook zulke ervaring en dat was de reden waarom we besloten dit artikel te schrijven.

Website monitoring service verloor bijna zijn domein

De waarheid is dat de site bijna verloren was gegaan, ondanks het feit dat er een instrument was om de vervaldatum in de gaten te houden en verlengingswaarschuwingen te verzenden. Eigenlijk werd deze functie het laatste redmiddel van HostTracker, omdat alle domeinen en sites worden gecontroleerd door het eigen monitoringsysteem van HostTracker. Bij wijze van spreken leek alles in orde, ook al kreeg het HostTracker-bedrijf op dat moment de verlengingswaarschuwingen, aangezien de automatische verlenging aan stond. Om de een of andere reden zijn de automatische betalingen echter niet gelukt en is het domein niet verlengd. Eerlijk gezegd weten we nog steeds niet zeker waarom dat is gebeurd, omdat hun steun de kwestie niet duidelijk kon uitleggen. Gelukkig hebben wij het probleem tijdig opgemerkt en snel opgelost.

  • Verleng uw domein vooraf. In dit geval kunt u uw registrar vragen om uw domein vooraf in te stellen op automatische verlenging, met uw voorafgaande toestemming. Bovendien wordt u bij eventuele problemen op de hoogte gesteld.
  • Nabestelling werkt. Vlak voordat HostTracker de respijtperiode inging, had iemand geprobeerd per e-mail contact op te nemen met HostTracker om de domeinnaam te verkrijgen. Let dus op zulke dingen!
  • U kunt beter niet in de respijtperiode stappen. Zodra het domein verloopt, kan het binnen een paar dagen eenvoudig tegen de normale prijs worden verlengd en dit heeft HostTracker laten zien. Het nadeel is dat alle klanten worden begroet met de melding dat de domeinpagina niet beschikbaar is. U mag een domein nooit laten verlopen, omdat het herstellen ervan enorm veel tijd kan kosten.
  • Controleer uw domeinen op eventuele wijzigingen. U kunt de status van de beschikbare domeinen die u leuk vindt in de gaten houden, maar vergeet ook uw eigen domeinen niet. Er is een grote verscheidenheid aan services, zoals HostTracker, die een gemakkelijke, efficiënte manier bieden om eventuele wijzigingen in de domeinstatus bij te houden. Bekijk de beschrijving van dergelijke tools van HostTracker hier in onze blog.
meer bloggen

Vergeten het domein te verlengen en kwijt zijn? Betaald voor verlenging, maar het domein werd niet verlengd en werd onderschept?
Heeft u veel domeinen en vindt u het lastig om verlengingen bij te houden?

Dankzij onze whois-monitoring kunnen we deze problemen vrijwel volledig oplossen.

Werkt voor ELK domein, niet alleen voor de domeinen die bij ons geregistreerd zijn!
Gratis!


Een onderscheidend (en zeer prettig) kenmerk van onze service, vergeleken met verschillende organisatoren en “herinneringen”, is dat u niets hoeft te configureren, geen vervaldatums voor domeinen hoeft op te geven en dat u geen u hoeft zich nergens zorgen over te maken - voeg gewoon een lijst met uw domeinen toe en de service zal alles voor u doen.

Monitoring houdt de vervaldatum van uw domeinen bij vanuit WHOIS en informeert u per e-mail ook in ICQ of Jabber, als de whois van het domein aangeeft dat het vernieuwd moet worden.

In de nabije toekomst zullen ook sms-meldingen worden toegevoegd.

U kunt al uw domeinen controleren, waar u ze ook registreert.
De dienst is geheel gratis.
Krijg nu gemoedsrust en vertrouwen in de toekomst.


Het is gratis! Voor iedereen!



Vond je het leuk? Deel met vrienden /

Vragen en antwoorden:

Wanneer en hoe worden meldingen verzonden?

    Berichten over het verlopen van het domein worden verzonden: 45 dagen vóór het verlopen; binnen 30 dagen; 15, 10 en 5 dagen voordat het domein verloopt, één keer per dag. Vanaf het moment dat er nog 5 dagen resteren totdat het domein verloopt, worden er dagelijks notificaties verzonden. Zodra een domein is verlopen, kunnen er in de loop van een maand nog meerdere keren meldingen worden verzonden, waarna de monitoring en meldingen stoppen. Om de monitoring van een dergelijk domein te activeren, moet het opnieuw aan het systeem worden toegevoegd.

Garandeert u dat alle berichten worden ontvangen?

    Wij geven geen garanties. Maar de berichten komen meestal wel door.

Waarom is deze dienst gratis?

    Onze domeinen omvatten: webxl.ru, webxl.name, webxl.info, webxl.biz, servers.webxl.ru en anderen. We hebben ook veel post en meldingen van registrars komen via e-mail. En automatische verlenging werkt niet altijd - soms kan er plotseling een tekort aan saldo op de balans ontstaan, kan er een storing optreden, enz. Het zou zonde zijn om een ​​domein ter waarde van $$$$ te verliezen door een storing. Daarom hebben wij deze dienst in het leven geroepen. Wij willen er niet van profiteren, maar naarmate de populariteit van de dienst groeit, groeit ook onze bekendheid. Als u ons wilt bedanken, vertel dan uw kennissen en vrienden over onze dienst.

Artikelonderzoek over het onderwerp van het controleren en monitoren van gegevens uit whois-diensten. De taak van het monitoren van de domeindelegatietijd bleek niet zo eenvoudig als het lijkt. Hieronder zal ik in detail praten over alle nuances van het monitoren van de betalingstijd van domeinen met behulp van zabbix.

Dit artikel is oorspronkelijk een paar jaar geleden geschreven. Over het algemeen beantwoordde ze de vraag over het monitoren van de delegatie van domeinen, maar na verloop van tijd begonnen er steeds meer vragen te verschijnen. meer vragen. Er verschenen met name nieuwe domeinzones, waarover met de gekozen methode geen informatie kon worden verkregen. Overigens werd in de originele versie van het artikel slechts één cheque gebruikt robijn.

Hoe meer domeinen ik monitorde, hoe vaker ik tegenkwam dat ik over sommige zones geen informatie kon krijgen. Recente voorbeelden zijn .pro, .fm, .io. Er waren er waarschijnlijk nog meer, maar ik ondervond problemen op deze gebieden. Ik besloot deze kwestie nader te onderzoeken.

Tot mijn verbazing bleek dat er eenvoudigweg geen eenvoudige, duidelijke en betrouwbare oplossing was voor het verkrijgen van informatie over het tijdstip van domeindelegatie. Dit onderwerp wordt uitgebreid besproken in het artikel over Habré. Nadat ik alles wat erin geschreven stond gelezen en begrepen had, besefte ik dat het niet mogelijk zou zijn om de simpele noodzaak van het monitoren van domeinen met weinig moeite te implementeren.

Hieronder zal ik verschillende consolemethoden beschrijven voor het verkrijgen van informatie over de betalingstijd van een domein voor het verzenden van deze informatie naar zabbix:

  • Robijnrode edelsteen Whois.
  • Troosten Linux-hulpprogramma- whois, jwhois.
  • Python-module - python-whois.
  • Whois-client voor node.js.

De eerste methode is lang geleden beschreven, dus de inhoud valt een beetje buiten het algemene verhaal. Ik had geen zin om het hele artikel te editen. Ik heb zojuist aan het begin een beschrijving van het probleem toegevoegd en aan het einde andere manieren om informatie te verkrijgen. De implementatie zelf aan de zabbix-kant blijft hetzelfde. Alleen de scripts die gegevens verzenden over de timing van domeindelegatie naar zabbix veranderen.

Om het kiezen van de juiste methode makkelijker te maken, heb ik een tabel gemaakt waarin wordt aangegeven welke methode welke domeinen ondersteunt. Ik gebruikte alleen de domeinen die ik nodig had. Standaarddomeinen.ru en .com ondersteunen alle beschreven methoden.

methode/domeinproioFM
robijn+ + +
wie is +
Python+ +
knooppunten+ +

Als u nog niet over een eigen server voor monitoring beschikt, raad ik materialen over dit onderwerp aan. Voor degenen die de voorkeur geven aan het CentOS-systeem:

Hetzelfde op Debian 9 als u daar de voorkeur aan geeft:

Voorbereiden om domeinen te monitoren

Om de deadline voor domeindelegatie te bewaken, gebruiken we een script in een programmeertaal Robijn. Om het script te laten werken, moet je Ruby op de server installeren. Als je, zoals ik, een server gebruikt CentOS-gebaseerd 7, dan kun je de mijne gebruiken. Daar hebben we het over het installeren van het benodigde juweeltje whois-parser om de periode van domeindelegatie te monitoren.

Tijdparsering van domeindelegatie via ruby

Als je zabbix hebt geconfigureerd en klaar voor gebruik en ruby ​​hebt geïnstalleerd, gaan we beginnen met het instellen van de scripts. Laten we naar de map gaan /etc/zabbix/scripts en maak daar een script:

# mcedit /etc/zabbix/scripts/domain_left.rb #!/usr/bin/env ruby ​​vereist "whois-parser" record = Whois.whois(ARGV) parser = record.parser verlopen = parser.expires_on.strftime( "% Y-%m-%d") vandaag = Tijd.nu.strftime("%Y-%m-%d") expiratie_date = DateTime.parse(expire) today_date = DateTime.parse(vandaag) left = (expire_date - today_date ).to_i zet links

Je kunt het meteen controleren. Sla het script op en voer het uit opdrachtregel, waarmee de domeinnaam wordt aangegeven die moet worden gecontroleerd, gescheiden door een spatie:

# /etc/zabbix/scripts/domain_left.rb site 394

Geweldig, de uitvoer is slechts een getal, wat erg handig is om door te geven aan zabbix. Dit script Ik heb het niet zelf geschreven, maar bekeek het van de auteur van dit artikel. Het heeft een groot nadeel. Het script maakt gebruik van whois-parser en de functieexpireert_on. Dit werd gedaan om het maken van het script te vereenvoudigen. We hoefden de uitvoer niet handmatig te parseren; de auteurs van de whois-parser-edelsteen deden het voor ons. Maar deze functies werken niet met alle domeinen. De output kan in verschillende zones verschillend zijn. Ik zal het je laten zien met een voorbeeld.

Om dit te doen, gaan we een eenvoudig ruby-script maken dat whois-informatie eenvoudig weergeeft zonder te parseren, in zijn ruwe vorm.

#!/usr/bin/env ruby ​​vereist "whois-parser" domein = ARGV whois = Whois::Client.new r = whois.lookup(domein) zet r

We bewaren het script en gebruiken het om 2 domeinen te controleren: uit de .pro-zone en de .ru-zone.

# ./domein.rb server.pro # ./domein.rb website

Als je goed naar de output kijkt, zie je dat in het eerste geval de regel met informatie over de domeinbetalingstermijn er als volgt uitziet:

Vervaldatum register: 2019-08-18T00:00:00Z

en in de andere zoals dit:

Betaald tot: 2019-08-09T11:01:06Z

Whois-parser kan alleen de eerste regel verwerken, hij begrijpt de tweede niet, dus het bovenstaande script zal een foutmelding geven. Maar over het algemeen verwerkt de ruby ​​whois-bibliotheek, naar mijn ervaring, de meeste domeinen correct. U hoeft alleen de uitvoer correct te parseren. Ik weet niet hoe ik in ruby ​​moet programmeren, ik had geen tijd om erachter te komen, dus ik liet deze oplossing zoals hij is. U kunt uiteraard uitvoeren naar tekstbestand en parseer vervolgens de uitvoer via bash. Ik kan dit, maar ik wilde op deze manier geen krukken gebruiken. En over het algemeen vind ik deze methode niet leuk, omdat hiervoor Ruby moet worden geïnstalleerd en de bibliotheek regelmatig moet worden bijgewerkt. Alleen dit garandeert ondersteuning voor nieuwe zones en alle wijzigingen in oude.

Over het algemeen werkt de methode met het gegeven ruby-script niet slechter dan alle andere methoden, en als je normaal gesproken de conclusies in alle noodzakelijke zones analyseert, dan zal dit de meest informatieve en betrouwbare optie, op voorwaarde dat je ruby ​​overal installeert en de whois-bibliotheek bijwerkt. Alleen deze methode toonde informatie over alle domeinen die ik tegenkwam. Als ik het script compleet heb zodat het met alle domeinen werkt, zal ik het updaten.

Voor nu heb ik gewoon een kruk gemaakt en de uitvoer als volgt geparseerd met bash:

#!/bin/bash DOMAIN="$1" data=$(/etc/zabbix/scripts/domain-simple.rb $1 | grep -E "betaald|Verlopen" | grep -o -E "(4).(2 ).(2)|(2)/(2)/(4)" | tr . / | awk "NR == 1") expiratie=$((`date -d "$data" "+%s"` )) vandaag=$((`datum "+%s"`)) lefts=$(($expire - $today)) leftd=$(($lefts/86400)) echo $leftd

Het script zelf domain-simple.rb:

#!/usr/bin/env ruby ​​vereist "whois-parser" record = Whois.whois(ARGV) zet record

Ik voer gewoon de volledige whois-uitvoer uit via ruby ​​en parseer deze met bash, omdat ik weet hoe ik erin moet werken. Het resultaat is een optie die met alle domeinen werkt. U kunt dit script gebruiken om gegevens naar zabbix over te zetten.

Linux whois- en jwhois-hulpprogramma's

In de commentaren op het originele artikel werd mij verteld over het whois-consolehulpprogramma, en later googlede ik een ander - jwhois. Ik heb ze aandachtig bekeken en een eenvoudig script geschreven om delegatie-informatie te ontleden. Deze methode is de eenvoudigste en handigste. Beide hulpprogramma's worden geïnstalleerd via yum, de eerste vanuit de basisrepository, de tweede vanuit . Geen behoefte extra gereedschap. De informatie-inhoud is gemiddeld: alle populaire domeinen zijn beschikbaar, inclusief .io, maar .pro en .fm worden niet ondersteund. Helaas en ah, ik heb ze nodig.

Installeer het whois-hulpprogramma:

#yum installeer whois

Een eenvoudig script dat de uitvoer van het hulpprogramma parseert en laat zien hoeveel dagen er nog resteren tot het einde van de betaalde periode van het domein.

#!/bin/bash DOMAIN="$1" data=$(whois $1 | grep -E "betaald|Verlopen|verlopen" | grep -o -E "(4).(2).(2)|(2) /(2)/(4)" | tr . / | awk "NR == 1") verlopen=$((`date -d "$data" "+%s"`)) vandaag=$((`datum "+%s"`)) lefts=$(($expire - $today)) leftd=$(($lefts/86400)) echo $leftd

Sla het script op en controleer uw werk. Werkt hetzelfde als het ruby-script.

# ./domain_left.sh-site 358

Ik besloot voor mezelf om me op deze methode te concentreren, als de eenvoudigste en meest universele.

Python-whois-module voor het monitoren van domeinbetalingen

Als onderdeel van mijn onderzoek heb ik besloten om te kijken hoe je whois-informatie kunt krijgen met behulp van Python. Ik vermoedde dat hier een kant-en-klare module voor moest zijn en ik vergiste me niet. Er is zo'n module - Python-whois. Om het te laten werken heb je Python versie 2 nodig, die standaard op CentOS 7 wordt geïnstalleerd, wat erg handig is.

We hoeven deze module alleen via pip te installeren. Pip voor versie 2 wordt geïnstalleerd vanaf .

# yum installeer python2-pip # pip installeer python-whois

#!/usr/bin/env python import whois van datetime import datetime van sys import argv,exit now = datetime.now() domein = argv w = whois.whois(domein) if type(w.expiration_date) == lijst: w.expiration_date = w.expiration_date else: w.expiration_date = w.expiration_date domain_expiration_date = str(w.expiration_date.day) + "/" + str(w.expiration_date.month) + "/" + str(w.expiration_date. jaar) timedelta = w.expiration_date - nu days_to_expire = timedelta.days

Inspectie:

# ./domain-left.py-site 358

Werkt hetzelfde als eerdere scripts. De Python-oplossing ondersteunt .pro- en .fm-zones, maar ondersteunt geen .io.

Whois-client voor Node.js

De laatste consoleoplossing die ik heb beoordeeld voor het ophalen van whois-gegevens is gebaseerd op een Node.js-client. Deze methode is, net als bij ruby, lastig omdat u het knooppunt afzonderlijk op de server moet installeren. Als Python zeker op de centos-server komt te staan, moet de node afzonderlijk worden geïnstalleerd. Laten we dit doen.

# curl --silent --locatie https://rpm.nodesource.com/setup_8.x | sudo bash - # yum installeer nodejs

Whois-client installeren:

# npm installeer whois

Ik weet helemaal niet hoe ik met node.js moet programmeren en heb nog nooit met scripts gewerkt. Ik heb dus geen kant-en-klaar script voor zabbix gemaakt. Ik laat het je zien eenvoudig voorbeeld hoe u de controle uitvoert. Wij maken een script en geven direct aan welk domein gecontroleerd moet worden.

Var whois = require("whois") whois..log(data) ))

Laten we het lanceren:

# knooppunt domein-left.js

In de uitvoer ziet u de gebruikelijke whois-informatie in dezelfde vorm als bij andere controles. Als deze methode alle domeinen zou controleren die ik nodig had, zou ik het voltooien. Het begrijpt .pro- en .io-domeinen, maar niet .fm. Ik heb er dan ook niet uitgebreid op ingegaan.

Automatisch domeindetectiescript voor zabbix

Om al onze domeinen in één keer automatisch naar Zabbix over te zetten, zullen we een ander script maken dat een tekstbestand met een lijst met domeinen parseert en naar zabbix overzet.

# mcedit /etc/zabbix/scripts/domain_discovery.sh #!/bin/bash JSON=$(for i in `cat /etc/zabbix/scripts/domain_list.txt`; doe printf "(\"(#DOMAIN)\ ":\"$i\"),"; klaar |. sed "s/^\(.*\).$/\1/") printf "(\"data\":[" printf "$JSON" printf "])"

En laten we tot slot een bestand maken met een lijst met domeinen. Elk domein staat op een nieuwe regel.

# mcedit /etc/zabbix/scripts/domain_list.txt yandex.ru mail.ru

Laten we het parseerscript controleren:

# /etc/zabbix/scripts/domain_discovery.sh ("data":[("(#DOMAIN)":mail.ru"),("(#DOMAIN)"yandex.ru")])

De uitvoer is geschikt voor verzending naar Zabbix.

Zabbix-agent instellen

Ik ben aan het opzetten zabbix-agent om met een ruby-script te werken. U kunt het script naar wens kiezen. U hoeft alleen het pad naar het script in de itembeschrijving domain.expire te wijzigen.

Laten we scripts toevoegen via aangepaste parameters(UserParameter)-agent. Ga hiervoor naar de map met gebruikersscripts /etc/zabbix/zabbix_agentd.d en maak daar een configuratie voor onze parameters:

# mcedit /etc/zabbix/zabbix_agentd.d/domain.conf UserParameter=domain.discovery[*], /bin/bash /etc/zabbix/scripts/domain_discovery.sh UserParameter=domain.expire[*], /usr/local/bin/ruby/etc/zabbix/scripts/domain_left.rb $1

Ik vestig uw aandacht op het pad naar Ruby. Het kan in verschillende systemen anders zijn. Controleer waar je het hebt geïnstalleerd en bewerk het pad. U kunt dit controleren met het commando:

# waar is ruby ​​​​ruby: /usr/lib64/ruby /usr/local/bin/ruby/usr/local/lib/ruby /usr/share/ruby /usr/src/ruby-2.3.1/ruby.o /usr/src/ruby-2.3.1/ruby /usr/src/ruby-2.3.1 /ruby.c

Sla de configuratie op en start de zabbix-agent opnieuw:

# systemctl herstart zabbix-agent

We hebben de instellingen in de console voltooid, nu gaan we naar het Zabbix-beheerpaneel.

Maak een domeinbewakingssjabloon

Importeer de sjabloon in uw systeem. U wijst het toe aan de host waar u de scripts hebt geconfigureerd en wacht tot de gegevens verschijnen. Controleer na 5 minuten de Laatste gegevens:

Het grappige is dat de delegatietijd voor beide domeinen hetzelfde is. In eerste instantie dacht ik dat het een fout was, dus besloot ik het handmatig te controleren. Het bleek dat alles klopte. Ze hebben dezelfde verlengingsperiode. Het monitoren van .рф-domeinen werkt zonder problemen. Ze moeten worden vertaald naar Punycode en op dezelfde manier worden toegevoegd als reguliere domeinen.

Indien nodig kunt u de domeindelegatietijd configureren. IN in dit geval Dit kan relevant zijn, want als u uw domein niet meteen verlengt, kunt u het later misschien vergeten.

Conclusie

Online cursus "Linux Beheerder"

Als u wilt leren hoe u zeer beschikbare en betrouwbare systemen kunt bouwen en onderhouden, raad ik u aan kennis te maken met online cursus “Linux Beheerder” in OTUS. De cursus is niet voor beginners; om je in te schrijven heb je basiskennis nodig van netwerken en het installeren van Linux op een virtuele machine. De training duurt 5 maanden, waarna succesvolle afgestudeerden interviews met partners kunnen ondergaan. Test jezelf tijdens de toelatingstest en bekijk het programma voor meer details.

Het monitoren van de verlengingsdatum van uw domeinnaam is een actie die niet mag worden onderschat. Ik heb daar al over geschreven, en laten we nu met een andere omgaan gemeenschappelijk probleem— onverwacht verstrijken van de registratieperiode van de domeinnaam. Het lijkt erop dat alle registrars je hier van tevoren (en meestal meerdere keren) aan herinneren. Maar het probleem is dat deze brieven ofwel niet worden gelezen, ofwel op de een of andere manier in de spam terechtkomen. Over het algemeen is niet iedereen ervan op de hoogte dat zijn domeinnaamregistratie afloopt. Als gevolg hiervan werkt de site niet, mensen begrijpen niet waarom en besteden soms veel tijd aan het proberen te begrijpen wat er gebeurt. Ondertussen verdwijnt de domeinnaam uit de DNS-cache en na een paar dagen (of zelfs eerder, afhankelijk van verschillende factoren) hebben bezoekers geen toegang meer tot de site. Laten we eens kijken hoe we de vervaldatum van een domeinnaamregistratie kunnen controleren. Uiteraard met een bash-script.

Hoe u de registratiedatum van een domeinnaam kunt achterhalen

De eenvoudigste optie is om de wereldwijde whois-database te gebruiken. Het slaat informatie op over domeinnamen, zoals organisatie, verantwoordelijke persoon, contactpersonen, registratiedatum en vervaldatum van de registratie. En dit is precies wat we nodig hebben. Laten we een populair domein als voorbeeld nemen. Laat het yandex.ru zijn. Dit is de informatie die over dit domein is opgeslagen in de whois-database:

$ whois yandex.ru % Door een vraag in te dienen bij de Whois-service van RIPN % gaat u akkoord met de volgende gebruiksvoorwaarden: % http://www.ripn.net/about/servpol.html#3.2 (in het Russisch) % http://www.ripn.net/about/en/servpol.html#3.2 (in het Engels). domein: YANDEX.RU nserver: ns1.yandex.ru, 2a02:6b8::1 nserver: ns2.yandex. ru. 93.158.134.1, 2a02:6b8:0:1::1 staat: GEREGISTREERD, GEDELEGEERD, GEVERIFIEERD org: YANDEX, LLC registrar: RU-CENTER-RU admin-contact: https://www aangemaakt: 23.09.1997 betaald tot: 01.10.2017 gratis datum: 01.11.2017 bron: TCI Laatst bijgewerkt op 03.01.2017 05:46:31 MSK

Het veld dat ons interesseert is “paid-till”, dit is de datum tot wanneer wij voor het domein betaald hebben.

Wij monitoren de verlengingsdatum van een domeinnaam op ongeveer dezelfde manier als het monitoren van een certificaat, maar dan veel eenvoudiger. We krijgen gegevens over het domein, zoeken naar het veld met de einddatum van de registratie, als deze aanwezig is (als de whois-gegevens voor dit domein niet gesloten zijn), halen deze datum op, halen de datum van vandaag op en geven het verschil in dagen weer. Als u wilt, kunt u het versturen van een brief toevoegen als er bijvoorbeeld minder dan 30 dagen resteren vóór het einde van de registratie. Maar zo eenvoudig is het niet. Omdat er ten minste drie soorten registratievervalrecords zijn. De eerste ziet er als volgt uit:

Betaald tot: 2017/10/01

De tweede ziet er als volgt uit:

Vervaldatum registratie registratie: 2020-09-13T21:00:00-0700

En de derde ziet er zo uit:

Vervaldatum register: 2018-05-11T04:00:00Z

En daarom moeten we in alle drie de opties voorzien. Of, als er een vierde wordt aangetroffen, dan ook een vierde. Laten we het voorlopig met deze drie hebben.

Zo ziet het script eruit:

#!/bin/bash # Als de parameter niet is opgegeven, geef dan een hint weer en sluit af als [ "$1" == "" ] then cat<< EOF Script that monitors how many days left until domain registration ends. Usage: $(basename $0) domain.name EOF exit fi # Получаем строку, содержащую дату окончания регистрации PAIDTILL=$(whois $1 | grep "paid-till\|Registrar Registration Expiration Date\|Registry Expiry Date") # Если такая строка не найдена, выходим с ошибкой if [ -z "$PAIDTILL" ] then echo "Registration end date is not available in whois database" exit 1 else # Если дата выглядит как ГГГГ.ММ.ДД, то добавляем 00:00:00 в конец [[ "$PAIDTILL" =~ "paid-till" ]] && PAIDTILL=${PAIDTILL//./-}" 00:00:00" # Удаляем из строки всё до двоеточия, само двоеточие # плюс автоматически будут удалены пробелы PAIDTILL=${PAIDTILL#*:} # Получаем текущую дату CURRENTDATE=$(date "+%Y-%m-%d %H:%M:%S") # Находим разницу между датами, получаем количество оставшихся дней DAYS_LEFT=$((($(date -d "$PAIDTILL" +%s) - $(date -d "$CURRENTDATE" +%s)) / 86400)) # Выводим, сколько дней осталось echo $DAYS_LEFT days left fi

Hier is het resultaat van dit script dat op het moment van schrijven voor verschillende domeinen werd uitgevoerd:

$ ./check-dn-reg.sh linux.org Nog 492 dagen $ ./check-dn-reg.sh yahoo.com Nog 2206 dagen $ ./check-dn-reg.sh yandex.ru Nog 270 dagen $ . /check-dn-reg.sh google.com Nog 1349 dagen $ ./check-dn-reg.sh ok.ru Nog 331 dagen $ ./check-dn-reg.sh vk.com Nog 170 dagen $ ./check -dn-reg.sh linux.org nog 492 dagen $ ./check-dn-reg.sh linux.org.ru nog 345 dagen

Mee eens, het ziet er comfortabel uit. Bewaken van de verlengingsdatum van een domeinnaam met een script van slechts 660 bytes groot. Kan al worden gebruikt bij monitoring met Nagios of Zabbix.

Als u aanvullingen of opmerkingen heeft, kunt u deze in de opmerkingen schrijven.