Serbisyo sa pagsubaybay sa domain ng WHOIS. Bakit libre ang serbisyong ito? Python-whois module para sa pagsubaybay sa mga pagbabayad sa domain

Pagsubaybay sa Oras ng Pagtugon

Pagsubaybay sa oras ng pagtugon Sinusubukan ng pagsubaybay sa oras ng pagtugon kung gaano kabilis ang iyong site.

Sinusubukan ng pagsubaybay sa oras ng pagtugon kung gaano kabilis ang iyong site. Maaaring naa-access ito, ngunit ang hindi magandang pagganap ay maaari pa ring gawin itong hindi kaakit-akit para sa mga kliyente. Ang pagsubaybay sa oras ng pagtugon ay nagbibigay-daan sa iyong suriin kung paano kumikilos ang site habang tumatagal. Ang alinman sa mga naka-iskedyul na gawain, tulad ng pag-backup, pag-update atbp ay nakakaapekto sa pagganap? Gumagana ba nang maayos ang site para sa buong mundo, o maaaring makatagpo ng nakakalito na pagkaantala ang ilang rehiyon ng interes?

Ang pandaigdigang sistema ng pagsubaybay ay lubos na kapaki-pakinabang -
dahil karamihan sa aking mga pagkawala ay talagang rehiyonal na pagkawala sa aking kontrol. Nakakatulong na malaman ito.

"

2017-02-01

Bawat taon, milyon-milyong mga domain name ang nawawala. Ano ang mangyayari pagkatapos mag-expire ang domain? At paano ito aalisin?

Subaybayan ang iyong mga domain para sa anumang mga pagbabago. Maaari mong bantayan ang estado ng mga available na domain na gusto mo, ngunit huwag ding kalimutan ang iyong sariling mga domain. Mayroong malawak na iba't ibang mga serbisyo, tulad ng HostTracker, na nagbibigay ng madali, mahusay na paraan upang subaybayan ang anumang mga pagbabago sa estado ng domain.

Domains: may afterlife ba sila?

Maaaring harapin ng lahat ang problema ng pagkawala ng domain name. Bawat taon, milyon-milyong mga domain name ang nawawala. Kadalasan, ito ay nangyayari nang hindi sinasadya, ang mga may-ari ay nakakaligtaan ang mga abiso sa pag-renew para sa iba't ibang mga kadahilanan at hindi nila alam na sila ay nasa proseso ng pagkawala ng kanilang mahalagang domain hanggang sa huli na! Sa artikulong ito malalaman mo ang tungkol sa mga pinakakilalang halimbawa ng mga pag-expire ng domain. Bukod dito, makikita natin na ang mga malalaking kumpanya, tulad ng Microsoft, Foursquare, Yatra, ay insecure din sa "the drop game". Bukod pa rito, malalaman mo kung paano panatilihin ang domain name kung nakalimutan mong magbayad para sa pag-renew ng domain. Gaano katagal maghihintay sa iyo ang iyong domain bago ito makuha ng isang tao? At paano ito aalisin gamit ang mga function ng HostTracker?

Paano nawala sa Microsoft ang hotmail.co.uk

Isa sa mga pinaka-kapansin-pansing halimbawa ng pag-drop sa domain name ay na-block noong 2003 dahil sa tinatawag na collective negligence. Sa kabila ng katotohanan, na sinusubukan ng mga tao na suriin kung ano ang nangyayari at sa anumang paraan upang harapin ang problema, kumilos ang Microsoft bilang isang tipikal na burukratikong organisasyon. Pumikit ito sa mga pagtatanong ng mga tao. Sa kabila ng babala na oras na para sa pag-renew ng domain, hindi pinansin ng Microsoft ang mga notification na ito. Samakatuwid, ibinalik ang domain sa pool ng mga available na domain. Bukod dito, ang serbisyo ng mail nito ay hindi naa-access sa England.

Sa kabutihang palad, ang domain ay nakuha kaagad. Napakabait ng bagong may-ari na sinubukang ipaalam kaagad sa Microsoft na kailangan nilang muling irehistro ang domain at ibalik ang serbisyo. Gayunpaman, mukhang hindi sabik ang Microsoft na ibalik ang kanilang site at hindi pinansin ang mga mensaheng ito. Napagtanto ng Microsoft ang isyu nang makipag-ugnayan dito ang mga mamamahayag. Noon lang, naabot ng software giant ang isang bagong may-ari ng kanilang domain. Higit pa rito, kahit na pagkatapos nito, sa loob ng mahabang panahon na ang Microsoft ay natigil nang matagal bago ang problema ay inayos. Mukhang walang sinuman sa UK ang maaaring harapin ang problema, dahil ang sentral na tanggapan lamang ang responsable para sa mga pagpaparehistro ng domain.

Sa kabutihang palad, nakuhang muli ang hotmail.co.uk. Ngunit gayon pa man, hindi opisyal na kinumpirma ng Microsoft na ang hotmail.co.uk ay nahulog.

Tanging isang registrar para sa lahat ng .uk na domain ang nagbigay-liwanag sa sitwasyong ito at ipinanganak na ang hotmail.co.uk ay nabigo na ma-renew sa kabila ng pagbabala tungkol sa kahalagahan ng pamamaraan ng pag-renew. Bukod dito, kinumpirma ng registrar na ang domain ay inagaw ng isang pribadong tao. Tila, ang lahat ng mga notification sa pamamagitan ng mail ay hindi pinansin ng higante. Nakatutuwa na hindi ito ang unang pagkakataon na may nangyaring ganoon sa kumpanyang ito. Noong 1999, nagkaroon ng katulad na masamang karanasan ang Microsoft.

Ano ang mangyayari pagkatapos mag-expire ang domain?

Ang pamamaraan ay depende sa registrar ng mga pangalan ng domain. Bilang karagdagan, ang pamamaraang ito ay nagbago ng maraming beses sa kasaysayan. Sa artikulong ito ay mag-aalala tayo sa pinakakaraniwang up-to-date na pamamaraan.

Ang unang yugto - ang registrar ay nagpapakita ng katapatan sa kliyente at nagbibigay ng dagdag na oras para sa pag-renew ng domain (panahon ng palugit). Ang iyong palugit ay maaaring tumagal nang humigit-kumulang mula isa hanggang 2-3 linggo. Ang window na ito ay maaaring magkaroon ng ilang mga deadline - halimbawa, isang libreng panahon ng pag-update, isang karagdagang bayad atbp. Kapag ang domain ay nasa palugit na panahon kung saan naka-shut off ang lahat ng serbisyo, hindi ito available para sa pagpaparehistro ng sinuman.

Ang ikalawang yugto - ang auction. Matapos matiyak ng registrar na hindi pa tapos ang pag-renew ng domain, inilalagay niya ito para sa auction. Ito ay pagkakataon ng isang registrar na magdala ng karagdagang kita- ang domain ay maaaring i-auction sa pinakamataas na bidder. Tayo'y tapat, gumagana ito- maraming domain ang nakuha sa auction. Tingnan natin ang ilan sa mga pinakasikat na auction:

  • Pumunta sa Daddy Auction
  • NameJet
  • SnapNames.com

Ang bawat registrar ay nakikipagtulungan sa isa lamang sa mga serbisyong ito sa auction. Eksklusibo ang mga domain name sa isang auction, dahil hindi maaaring maganap ang sell-off sa dalawang lokasyon. Paano gumagana ang auction?

Upang magsimula, madalas mayroong pagkakataon na maglagay ng backorder. Halimbawa, kung ang isang tao ay napaka-interesado sa pag-iskor ng iyong domain name. Sa kasong ito, matatanggap ng mamimili ang abiso tungkol sa status ng expiration ng target na domain at, tiyak, gagamitin ang pagkakataong ito. Kapansin-pansin na sa panahong ito, maaaring isama ang mga domain sa mga backorder na auction, kung saan maaaring mag-bid ang isa pang kalahok sa iyong domain name. Sa pangkalahatan, ang isang auction ay maaaring binubuo ng ilang mga yugto, gayundin, pagkatapos ng pangunahing auction ay maaaring sundin ang pagsasara ng hindi gaanong gustong mga pangalan ng domain.

Bilang karagdagan dito, may mga ganitong site na nangongolekta ng impormasyon at nagbibigay nito sa isang mas maginhawang paraan. Halimbawa, tutulungan ka ng mga site na ito na matuklasan na higit sa 3 milyong mga domain ang nag-expire sa huling 10 araw. Higit pa rito, malalaman mo na kahit na ang mahal (nagkakahalaga ng hanggang $500K) na mga domain ay maaaring i-drop pagkaraan ng ilang sandali.

Ang ikatlong yugto - domain na "kamatayan". Mawawala ang domain, at maaari itong makuha sa karaniwang batayan. Sa kasamaang palad, hindi malamang kung ang isang domain name ay may anumang marginal na halaga, pati na rin, ay binubuo ng mga hindi malabo na salita at mahusay na na-promote. Kung gayon, malamang na mabibili ang domain, dahil sa ngayon ay uri na rin ito ng negosyo.

Ilang dagdag na magandang halimbawa

Noong 2010, nakalimutan ng isang kilalang website na Foursquare na i-renew ang kanilang domain name. Sa kabutihang palad, napansin nila ito sa oras at mabilis na inayos ang problema. Gayunpaman, hindi maabot ng mga customer ang site sa panahong ito. Sa oras na iyon ang internet ay binomba ng mga balitang ito, gayunpaman ang kumpanya ay kinuha ang kalamangan mula sa sitwasyong ito.

Gayunpaman, mayroon ding mga malungkot na halimbawa. Noong 2012, isang sikat na Indian travel site na Yatra.com, na may milyun-milyong bisita at malaking kita, ang nag-drop ng kanilang domain. Samakatuwid nawala sila hindi lamang ng pera, kundi pati na rin ang kanilang reputasyon, mga kliyente at ang tiwala ng kanilang mga kasosyo. Sa kalaunan, naibalik na ang domain. Ang kumpanya ay hindi naging matagumpay mula noon.
Ang ganitong karaniwang karanasan ay gaganapin halos lahat minsan sa kanilang kasaysayan, mula sa mga bangko hanggang sa mga higanteng kumpanya. Sa totoo lang, nagkaroon din ng ganoong karanasan ang HostTracker at ito ang dahilan kung bakit nagpasya kaming isulat ang artikulong ito.

Halos mawalan ng domain ang serbisyo sa pagsubaybay sa web site

Ang katotohanan ay ang site ay halos nawala sa kabila ng pagkakaroon ng isang instrumento para sa pagsubaybay para sa isang petsa ng pag-expire at pagpapadala ng mga alerto sa pag-renew. Sa totoo lang, naging huling paraan ng HostTracker ang feature na ito, dahil ang lahat ng domain at site ay sinusubaybayan ng sariling monitoring system ng HostTracker. Sa isang paraan ng pagsasalita, kahit na sa oras na iyon ang kumpanya ng HostTracker ay nakakuha ng mga alerto sa pag-renew, ang lahat ay tila maayos, dahil ang auto-renewal ay naka-on. Gayunpaman, sa ilang kadahilanan, ang mga awtomatikong pagbabayad ay hindi naipasa at ang domain ay hindi na-renew. Sa totoo lang, hindi pa rin kami sigurado kung bakit nangyari iyon, dahil hindi maipaliwanag ng kanilang suporta ang isyu nang malinaw. Sa kabutihang palad, napansin namin ang problema sa oras at nalutas ito nang mabilis.

  • I-renew ang iyong domain nang maaga. Sa kasong ito, maaari mong hilingin sa iyong registrar na i-set up ang iyong domain para mag-auto-renew nang maaga nang maaga ang iyong pag-apruba. Bukod dito, aabisuhan ka sa kaso ng anumang mga problema.
  • Gumagana ang backorder. Bago pumasok ang HostTracker sa kanilang palugit, may sumubok na makipag-ugnayan sa HostTracker sa pamamagitan ng koreo upang makuha ang domain name. Kaya pansinin ang mga ganyang bagay!
  • Mas mabuting hindi ka na pumasok sa palugit. Kapag nag-expire na ang domain, madali itong mai-renew sa regular na presyo sa loob ng ilang araw at ipinakita ito ng HostTracker. Ang kawalan ay ang lahat ng mga customer ay sasalubungin ng mensahe na ang pahina ng domain ay hindi magagamit. Hindi mo dapat pahintulutan na mag-expire ang isang domain dahil ang pagtatrabaho sa pagbawi nito ay maaaring tumagal ng mahabang panahon.
  • Subaybayan ang iyong mga domain para sa anumang mga pagbabago. Maaari mong bantayan ang estado ng mga available na domain na gusto mo, ngunit huwag ding kalimutan ang iyong sariling mga domain. Mayroong malawak na iba't ibang mga serbisyo, tulad ng HostTracker, na nagbibigay ng madali, mahusay na paraan upang subaybayan ang anumang mga pagbabago sa estado ng domain. Tingnan ang paglalarawan ng mga tool ng HostTracker dito sa aming blog.
higit pa blog

Nakalimutang i-renew ang domain at nawala kanya? Nagbayad para sa pag-renew, ngunit ang domain ay hindi nag-renew at naharang?
Mayroon ka bang maraming domain at nahihirapan kang subaybayan ang mga pag-renew?

Ang aming whois monitoring ay nagpapahintulot sa amin na halos ganap na malutas ang mga problemang ito.

Gumagana para sa ANUMANG domain, hindi lang sa mga nakarehistro sa amin!
Libre!


Ang isang natatanging (at napaka-kaaya-aya) na tampok ng aming serbisyo, kumpara sa iba't ibang organizer at "mga paalala," ay hindi mo kailangang mag-configure ng anuman, hindi mo kailangang tukuyin ang mga petsa ng pag-expire ng domain, at hindi mo kailangang mag-alala tungkol sa anumang bagay - magdagdag lamang ng isang listahan ng iyong mga domain at gagawin ng serbisyo ang lahat para sa iyo.

Sinusubaybayan ng pagsubaybay ang petsa ng pag-expire ng iyong mga domain mula sa WHOIS at inaabisuhan ka sa pamamagitan ng email, at din sa ICQ o Jabber, kung ang whois ng domain ay nagpapahiwatig na kailangan itong i-renew.

Ang mga abiso sa SMS ay idaragdag din sa malapit na hinaharap.

Maaari mong subaybayan ang alinman sa iyong mga domain, kahit saan mo irehistro ang mga ito.
Ang serbisyo ay ganap na libre.
Magkaroon ng kapayapaan ng isip at kumpiyansa sa hinaharap ngayon din.


Ito ay libre! Para sa lahat!



nagustuhan mo ba? Ibahagi sa mga kaibigan /

Mga tanong at sagot:

Kailan at paano ipinapadala ang mga abiso?

    Ang mga mensahe tungkol sa nalalapit na pag-expire ng mga domain ay ipinapadala: 45 araw bago mag-expire; sa loob ng 30 araw; 15, 10 at 5 araw bago mag-expire ang domain, isang beses sa isang araw. Mula sa sandaling may 5 araw na natitira hanggang sa mag-expire ang domain, ang mga notification ay ipinapadala araw-araw. Kapag nag-expire na ang isang domain, maaaring magpadala ng mga notification nang maraming beses sa loob ng isang buwan, pagkatapos nito ay titigil ang pagsubaybay at mga notification nito. Upang maisaaktibo ang pagsubaybay sa naturang domain, dapat itong idagdag muli sa system.

Ginagarantiya mo ba na matatanggap ang lahat ng mensahe?

    Hindi kami nagbibigay ng anumang mga garantiya. Ngunit ang mga mensahe ay kadalasang dumadaan.

Bakit libre ang serbisyong ito?

    Kasama sa aming mga domain ang: webxl.ru, webxl.name, webxl.info, webxl.biz, servers.webxl.ru at iba pa. Marami rin kaming mail, at ang mga notification mula sa mga registrar ay dumarating sa pamamagitan ng mail. At hindi palaging gumagana ang auto-renewal - kung minsan ay maaaring biglang may kakulangan ng pondo sa balanse, maaaring mangyari ang ilang uri ng pagkabigo, atbp. Nakakahiyang mawalan ng domain na nagkakahalaga ng $$$$ dahil sa isang glitch. Kaya naman ginawa namin ang serbisyong ito. Hindi namin hinahangad na kumita mula dito, ngunit habang lumalaki ang katanyagan ng serbisyo, lumalaki din ang aming katanyagan, kaya kung gusto mo kaming pasalamatan, sabihin sa iyong mga kakilala at kaibigan ang tungkol sa aming serbisyo.

Pananaliksik sa artikulo sa paksa ng pagsusuri at pagsubaybay ng data mula sa mga serbisyo ng whois. Ang gawain ng pagsubaybay sa oras ng pagtatalaga ng domain ay naging hindi kasing simple ng tila. Sa ibaba ay magsasalita ako nang detalyado tungkol sa lahat ng mga nuances ng pagsubaybay sa oras ng pagbabayad ng domain gamit ang zabbix.

Ang artikulong ito ay orihinal na isinulat ilang taon na ang nakalilipas. Sa pangkalahatan, sinagot niya ang tanong tungkol sa pagsubaybay sa delegasyon ng mga domain, ngunit sa paglipas ng panahon, mas maraming tanong ang nagsimulang lumitaw. marami pang tanong. Sa partikular, lumitaw ang mga bagong domain zone, impormasyon kung saan hindi makukuha gamit ang napiling paraan. Sa pamamagitan ng paraan, sa orihinal na bersyon ng artikulo ay isang tseke lamang ang ginamit ruby.

Ang mas maraming mga domain na aking sinusubaybayan, mas madalas kong nakatagpo ang katotohanan na hindi ako makakakuha ng impormasyon tungkol sa ilang mga zone. Kasama sa mga kamakailang halimbawa ang .pro, .fm, .io. Marahil ay may iba pa, ngunit nakatagpo ako ng mga problema sa mga lugar na ito. Nagpasya akong tingnan ang isyung ito nang mas detalyado.

Sa aking sorpresa, lumabas na walang simple, malinaw at maaasahang solusyon para sa pagkuha ng impormasyon tungkol sa oras ng pagtatalaga ng domain. Ang paksang ito ay tinalakay nang detalyado sa artikulo sa Habré. Matapos basahin at unawain ang lahat ng nakasulat dito, napagtanto ko na hindi posible na ipatupad ang simpleng pangangailangan para sa pagsubaybay sa mga domain na may kaunting pagsisikap.

Sa ibaba ay ilalarawan ko ang ilang paraan ng console para sa pagkuha ng impormasyon tungkol sa oras ng pagbabayad ng isang domain para sa pagpapadala ng impormasyong ito sa zabbix:

  • Ruby gem Whois.
  • Console linux utility- whois, jwhois.
  • Python module - python-whois.
  • Sino ang kliyente para sa node.js.

Ang unang pamamaraan ay inilarawan nang matagal na ang nakalipas, kaya ang nilalaman nito ay medyo wala sa pangkalahatang salaysay. Hindi ko naramdamang i-edit ang buong artikulo. Nagdagdag lang ako ng paglalarawan ng problema sa simula at iba pang mga paraan upang makakuha ng impormasyon sa dulo. Ang pagpapatupad mismo sa gilid ng zabbix ay nananatiling pareho. Ang mga script lang na nagpapadala ng data tungkol sa timing ng delegasyon ng domain sa zabbix ang nagbabago.

Upang maginhawang piliin ang gustong paraan, gumawa ako ng talahanayan na nagsasaad kung aling paraan ang sumusuporta sa kung aling mga domain. Ginamit ko lang ang mga domain na kailangan ko. Sinusuportahan ng karaniwang domains.ru at .com ang lahat ng inilarawang pamamaraan.

paraan/domainproiofm
ruby+ + +
sino +
sawa+ +
nodejs+ +

Kung wala ka pang sariling server para sa pagsubaybay, inirerekomenda ko ang mga materyales sa paksang ito. Para sa mga mas gusto ang CentOS system:

Pareho sa Debian 9 kung gusto mo ito:

Naghahanda na subaybayan ang mga domain

Upang subaybayan ang deadline para sa pagtatalaga ng domain, gagamit kami ng script sa isang programming language Ruby. Para gumana ang script, kailangan mong i-install si Ruby sa server. Kung gumagamit ka, tulad ko, ng isang server sa Nakabatay sa CentOS 7, pagkatapos ay maaari mong gamitin ang akin. Doon ay pinag-uusapan natin ang pag-install ng kinakailangang hiyas whois-parser upang subaybayan ang panahon ng pagtatalaga ng domain.

Pag-parse ng oras ng delegasyon ng domain sa pamamagitan ng ruby

Kung na-configure mo ang zabbix at handa nang gamitin at naka-install ang ruby, simulan natin ang pag-set up ng mga script. Pumunta tayo sa folder /etc/zabbix/scripts at lumikha ng isang script doon:

# mcedit /etc/zabbix/scripts/domain_left.rb #!/usr/bin/env ruby ​​​​require "whois-parser" record = Whois.whois(ARGV) parser = record.parser expire = parser.expires_on.strftime( "% Y-%m-%d") ngayon = Time.now.strftime("%Y-%m-%d") expire_date = DateTime.parse(expire) today_date = DateTime.parse(today) left = (expire_date - today_date ).to_i puts left

Maaari mo itong suriin kaagad. I-save ang script at patakbuhin ito command line, na nagsasaad ng domain name na susuriin, na pinaghihiwalay ng isang puwang:

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

Mahusay, ang output ay isang numero lamang, na napaka-maginhawang ipasa sa zabbix. Itong script Hindi ko ito isinulat sa aking sarili, ngunit tiningnan ito mula sa may-akda ng artikulong ito. Ito ay may malaking kawalan. Ang script ay gumagamit ng whois-parser at ang expires_on function nito. Ginawa ito upang gawing simple ang paglikha ng script. Hindi namin kailangang manu-manong i-parse ang output; ginawa ito ng mga may-akda ng whois-parser gem para sa amin. Ngunit hindi gumagana ang mga feature na ito sa lahat ng domain. Maaaring iba ang output sa iba't ibang zone. Ipapakita ko sa iyo ang isang halimbawa.

Upang gawin ito, gumawa tayo ng isang simpleng ruby ​​​​script na magpapakita lamang ng whois na impormasyon nang walang pag-parse, sa hilaw na anyo nito.

#!/usr/bin/env ruby ​​​​require "whois-parser" domain = ARGV whois = Whois::Client.new r = whois.lookup(domain) puts r

Ise-save namin ang script at ginagamit ito para suriin ang 2 domain: mula sa .pro zone at .ru zone.

# ./domain.rb server.pro # ./domain.rb website

Kung titingnan mong mabuti ang output, makikita mo na sa unang kaso, ang linya na may impormasyon tungkol sa termino ng pagbabayad ng domain ay ganito:

Petsa ng Pag-expire ng Registry: 2019-08-18T00:00:00Z

at sa iba pang katulad nito:

Bayad-hanggang: 2019-08-09T11:01:06Z

Ang Whois-parser ay maaari lamang magproseso ng unang linya, hindi nito nauunawaan ang pangalawa, kaya ang script sa itaas ay magtapon ng isang error. Ngunit sa pangkalahatan, ang ruby ​​​​na library, sa aking karanasan, ay wastong humahawak sa karamihan ng mga domain. Kailangan mo lang i-parse nang tama ang output. Hindi ko alam kung paano mag-program sa ruby, wala akong oras upang malaman ito, kaya iniwan ko ang solusyon na ito. Maaari mong, siyempre, output sa text file, at pagkatapos ay i-parse ang output sa pamamagitan ng bash. Magagawa ko ito, ngunit hindi ko gustong gumamit ng saklay sa ganitong paraan. At sa pangkalahatan, hindi ko gusto ang pamamaraang ito dahil nangangailangan ito ng pag-install ng ruby ​​​​at regular na pag-update ng library nito. Ito lang ang gumagarantiya ng suporta para sa mga bagong zone at lahat ng pagbabago sa mga luma.

Sa pangkalahatan, ang pamamaraan na may ibinigay na ruby ​​​​script ay gumagana nang hindi mas masahol kaysa sa lahat ng iba pang mga pamamaraan, at kung karaniwan mong i-parse ang mga konklusyon sa lahat ng kinakailangang mga zone, kung gayon ito ang magiging pinaka-kaalaman at mapagkakatiwalaang opsyon, sa kondisyon na mag-install ka ng ruby ​​​​sa lahat ng dako at i-update ang whois library. Tanging ang paraang ito ay nagpakita ng impormasyon sa lahat ng mga domain na aking nakita. Kung kukumpletuhin ko ang script para gumana ito sa lahat ng domain, ia-update ko ito.

Sa ngayon, gumawa lang ako ng saklay at na-parse ang output gamit ang bash tulad ng sumusunod:

#!/bin/bash DOMAIN="$1" data=$(/etc/zabbix/scripts/domain-simple.rb $1 | grep -E "bayad|Expir" | grep -o -E "(4).(2) ).(2)|(2)/(2)/(4)" | tr . / | awk "NR == 1") mag-e-expire=$((`petsa -d "$data" "+%s"` )) ngayon=$((`petsa "+%s"`)) lefts=$(($expire - $today)) leftd=$(($lefts/86400)) echo $leftd

Ang script mismo domain-simple.rb:

#!/usr/bin/env ruby ​​​​require "whois-parser" record = Whois.whois(ARGV) naglalagay ng record

Ginagawa ko lang ang buong whois output sa pamamagitan ng ruby, at i-parse ito ng bash, dahil alam ko kung paano magtrabaho dito. Ang resulta ay isang opsyon na gumagana sa lahat ng domain. Maaari mong gamitin ang script na ito upang maglipat ng data sa zabbix.

Linux whois at jwhois utility

Sa mga komento sa orihinal na artikulo, sinabihan ako tungkol sa whois console utility, at kalaunan ay nag-google ako ng isa pa - jwhois. Tiningnan ko silang mabuti at nagsulat ng isang simpleng script para i-parse ang impormasyon ng delegasyon. Ang pamamaraang ito ay ang pinakasimpleng at pinaka-maginhawa. Ang parehong mga utility ay naka-install sa pamamagitan ng yum, ang una mula sa base repository, ang pangalawa mula sa . Hindi na kailangan karagdagang mga kasangkapan. Ang nilalaman ng impormasyon ay karaniwan - lahat ng mga sikat na domain ay magagamit, kabilang ang .io, ngunit ang .pro at .fm ay hindi suportado. Naku at ah, kailangan ko sila.

I-install ang whois utility:

# yum install whois

Isang simpleng script na nag-parse ng output ng utility at nagpapakita kung ilang araw ang natitira hanggang sa katapusan ng bayad na panahon ng domain.

#!/bin/bash DOMAIN="$1" data=$(whois $1 | grep -E "binayaran|Expir|expir" | grep -o -E "(4).(2).(2)|(2) /(2)/(4)" | tr . / | awk "NR == 1") mag-e-expire=$((`date -d "$data" "+%s"`)) today=$((`date "+%s"`)) lefts=$(($expire - $today)) leftd=$(($lefts/86400)) echo $leftd

I-save ang script at suriin ang iyong gawa. Gumagana ang parehong bilang ng ruby ​​​​script.

# ./domain_left.sh site 358

Nagpasya ako para sa aking sarili na tumuon sa pamamaraang ito, bilang ang pinakasimpleng at pinaka-unibersal.

Python-whois module para sa pagsubaybay sa mga pagbabayad sa domain

Bilang bahagi ng aking pananaliksik, nagpasya akong suriin kung paano ka makakakuha ng impormasyon ng whois gamit ang python. Naghinala ako na dapat may nakahanda nang module para dito at hindi ako nagkamali. Mayroong ganoong module - python-whois. Para gumana ito, kailangan mo ng python version 2, na naka-install bilang default sa CentOS 7, na napaka-convenient.

Kailangan lang nating i-install ang module na ito sa pamamagitan ng pip. Ang Pip para sa bersyon 2 ay naka-install mula sa .

# yum install python2-pip # pip install python-whois

#!/usr/bin/env python import whois mula sa datetime import datetime mula sa sys import argv,exit now = datetime.now() domain = argv w = whois.whois(domain) kung type(w.expiration_date) == listahan: 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. taon) timedelta = w.expiration_date - ngayon days_to_expire = timedelta.days

Pagsusuri:

# ./domain-left.py site 358

Gumagana katulad ng mga nakaraang script. Sinusuportahan ng solusyon ng python ang .pro, .fm zone, ngunit hindi sinusuportahan ang .io.

Whois client para sa Node.js

Ang huling console solution na sinuri ko para sa pagkuha ng whois data ay batay sa isang Node.js client. Ang pamamaraang ito ay hindi maginhawa, tulad ng ruby, dahil kailangan mong hiwalay na i-install ang node sa server. Kung ang python ay tiyak na mapupunta sa centos server, ang node ay kailangang i-install nang hiwalay. Gawin natin ito.

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

I-install ang whois client:

# npm i-install ang whois

Hindi ko alam kung paano mag-program gamit ang node.js sa lahat at hindi kailanman gumana sa mga script. Kaya hindi ako gumawa ng handa na script para sa zabbix. Ipapakita ko sa iyo simpleng halimbawa kung paano isagawa ang tseke. Gumagawa kami ng script at agad na ipinapahiwatig ang domain upang suriin ito.

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

Ilunsad natin ito:

# node domain-left.js

Sa output makikita mo ang karaniwang whois na impormasyon sa parehong anyo tulad ng para sa iba pang mga tseke. Kung susuriin ng pamamaraang ito ang lahat ng mga domain na kailangan ko, kukumpletuhin ko ito. Naiintindihan nito ang mga .pro at .io na domain, ngunit hindi naiintindihan ang .fm. Kaya hindi ko na ito pinag-isipan nang detalyado.

Auto domain discovery script para sa zabbix

Upang awtomatikong ilipat ang lahat ng aming mga domain sa Zabbix nang sabay-sabay, gagawa kami ng isa pang script na mag-parse ng isang text file na may listahan ng mga domain at ililipat ito sa zabbix.

# mcedit /etc/zabbix/scripts/domain_discovery.sh #!/bin/bash JSON=$(para sa i sa `cat /etc/zabbix/scripts/domain_list.txt`; gawin printf "(\"(#DOMAIN)\ ":\"$i\","; tapos na |. "])"

At panghuli, gumawa tayo ng file na may listahan ng mga domain. Ang bawat domain ay nasa isang bagong linya.

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

Suriin natin ang script ng pag-parse:

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

Ang output ay angkop para sa paghahatid sa Zabbix.

Pag-set up ng ahente ng zabbix

Nagse-set up ako ahente ng zabbix upang gumana sa isang ruby ​​​​script. Maaari mong piliin ang script ayon sa gusto mo. Kailangan mo lang baguhin ang path patungo sa script sa paglalarawan ng item na domain.expire.

Magdagdag tayo ng mga script sa pamamagitan ng mga custom na parameter(UserParameter) ahente. Upang gawin ito, pumunta sa folder na may mga script ng user /etc/zabbix/zabbix_agentd.d at lumikha ng isang config doon para sa aming mga parameter:

# 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

Iginuhit ko ang iyong pansin sa landas patungo sa ruby. Maaaring iba ito sa iba't ibang sistema. Suriin kung saan mo ito na-install at i-edit ang path. Maaari mong suriin gamit ang utos:

# where 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

I-save ang config at i-restart ang zabbix agent:

# systemctl i-restart ang zabbix-agent

Nakumpleto namin ang mga setting sa console, pumunta kami ngayon sa panel ng administrasyon ng Zabbix.

Gumawa ng Template ng Pagsubaybay sa Domain

I-import ang template sa iyong system. Itatalaga mo ito sa host kung saan mo na-configure ang mga script at hintaying lumabas ang data. Pagkatapos ng 5 minuto, tingnan ang Pinakabagong Data:

Nakakatuwa, pareho ang oras ng delegasyon para sa parehong domain. Noong una, naisip ko na ito ay isang glitch, kaya nagpasya akong suriin ito nang manu-mano. Tama pala ang lahat. Pareho sila ng renewal period. Ang pagsubaybay sa mga .рф na domain ay gumagana nang walang problema. Kailangang isalin ang mga ito sa Punycode at idagdag sa parehong paraan tulad ng mga regular na domain.

Kung kinakailangan, maaari mong i-configure ang oras ng pagtatalaga ng domain. SA sa kasong ito Maaaring may kaugnayan ito, dahil kung hindi mo ire-renew kaagad ang iyong domain, maaaring makalimutan mo ito sa ibang pagkakataon.

Konklusyon

Online na kursong "Linux Administrator"

Kung mayroon kang pagnanais na matutunan kung paano bumuo at magpanatili ng mataas na magagamit at maaasahang mga sistema, inirerekumenda ko na pamilyar ka sa online na kursong "Linux Administrator" sa OTUS. Ang kurso ay hindi para sa mga nagsisimula upang magpatala kailangan mo ng pangunahing kaalaman sa mga network at pag-install ng Linux sa isang virtual machine. Ang pagsasanay ay tumatagal ng 5 buwan, pagkatapos kung saan ang mga matagumpay na nagtapos ng kurso ay maaaring sumailalim sa mga panayam sa mga kasosyo. Subukan ang iyong sarili sa pagsusulit sa pasukan at tingnan ang programa para sa higit pang mga detalye.

Ang pagsubaybay sa petsa ng pag-renew ng iyong domain name ay isang aksyon na hindi maaaring maliitin. Nagsulat na ako tungkol diyan, at ngayon ay haharapin natin ang isa pa karaniwang problema— hindi inaasahang pag-expire ng panahon ng pagpaparehistro ng domain name. Mukhang ang lahat ng mga registrar ngayon ay nagpapaalala sa iyo tungkol dito nang maaga (at kadalasan nang maraming beses). Ngunit ang problema ay ang mga liham na ito ay maaaring hindi nabasa, o sila ay nauwi sa spam. Sa pangkalahatan, hindi alam ng lahat na ang kanilang pagpaparehistro ng domain name ay mag-e-expire. Bilang isang resulta, ang site ay hindi gumagana, ang mga tao ay hindi naiintindihan kung bakit, at kung minsan ay gumugugol ng maraming oras sa pagsisikap na maunawaan kung ano ang nangyayari. Samantala, nawawala ang domain name sa DNS cache, at pagkatapos ng ilang araw (o mas maaga pa, depende sa iba't ibang salik), huminto ang mga bisita sa pag-access sa site. Tingnan natin kung paano subaybayan ang petsa ng pag-expire ng pagpaparehistro ng domain name. Natural, may script ng bash.

Paano makukuha ang petsa ng pagpaparehistro ng isang domain name

Ang pinakasimpleng opsyon ay ang paggamit ng global whois database. Nag-iimbak ito ng impormasyon tungkol sa mga domain name, tulad ng organisasyon, responsableng tao, contact contact, petsa ng pagpaparehistro at petsa ng pag-expire ng pagpaparehistro. At ito mismo ang kailangan natin. Kunin natin ang ilang sikat na domain bilang isang halimbawa. Hayaan itong yandex.ru. Ito ang impormasyong nakaimbak sa whois database tungkol sa domain na ito:

$ whois yandex.ru % Sa pamamagitan ng pagsusumite ng query sa Whois Service ng RIPN % sumasang-ayon kang sumunod sa mga sumusunod na tuntunin ng paggamit: % http://www.ripn.net/about/servpol.html#3.2 (sa Russian) % http://www.ripn.net/about/en/servpol.html#3.2 (sa Ingles na domain: YANDEX.RU nserver: ns1.yandex.ru, 2a02:6b8::1 nserver: ns2.yandex. ru. 93.158.134.1, 2a02:6b8:0:1::1 state: REGISTERED, DELEGATED, VERIFIED org: YANDEX, LLC registrar: RU-CENTER-RU admin-contact: https://www.nic.ru/whois nilikha: 1997.09.23 paid-till: 2017.10.01 free-date: 2017.11.01 source: TCI Huling na-update noong 2017.01.03 05:46:31 MSK

Ang field na interesado sa amin ay "paid-till", ito ang petsa kung kailan kami nagbayad para sa domain.

Susubaybayan namin ang petsa ng pag-renew ng isang domain name sa halos parehong paraan tulad ng pagsubaybay sa isang sertipiko, ngunit mas simple. Kumuha kami ng data tungkol sa domain, hanapin ang field na naglalaman ng petsa ng pagtatapos ng pagpaparehistro, kung naroroon ito (kung hindi sarado ang whois data para sa domain na ito), kunin ang petsang ito, kunin ang petsa ngayon at ipakita ang pagkakaiba sa mga araw. Kung gusto mo, maaari kang magdagdag ng pagpapadala ng sulat kung, sabihin nating, wala pang 30 araw ang natitira bago matapos ang pagpaparehistro. Ngunit hindi ito ganoon kasimple. Dahil mayroong hindi bababa sa tatlong uri ng mga talaan ng pag-expire ng pagpaparehistro. Ang una ay ganito ang hitsura:

Binayaran hanggang: 2017.10.01

Ang pangalawa ay ganito ang hitsura:

Petsa ng Pag-expire ng Registration ng Registrar: 2020-09-13T21:00:00-0700

At ang pangatlo ay ganito ang hitsura:

Petsa ng Pag-expire ng Rehistro: 2018-05-11T04:00:00Z

At kami, nang naaayon, ay kailangang magbigay para sa lahat ng tatlong mga pagpipilian. O, kung ang pang-apat ay nakatagpo, pagkatapos ay ang pang-apat din. Sa ngayon, harapin natin ang tatlong ito.

Ganito ang hitsura ng script:

#!/bin/bash # Kung hindi tinukoy ang parameter, magpakita ng hint at lumabas kung [ "$1" == "" ] pagkatapos ay pusa<< 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

Narito ang resulta ng script na ito na tumatakbo para sa iba't ibang mga domain sa oras ng pagsulat:

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

Sumang-ayon, mukhang komportable. Pagsubaybay sa petsa ng pag-renew ng isang domain name na may script na 660 bytes lang ang laki. Magagamit na sa pagsubaybay gamit ang Nagios o Zabbix.

Kung mayroon kang anumang mga karagdagan o komento, isulat sa mga komento.