Kako uporabljati knjižnico Vultr Go za informacije o strežniku

Uvod

Uradna knjižnica Vultr Go se lahko uporablja za interakcijo z API-jem Vultr . Vultr API vam omogoča nadzor virov, povezanih z vašim računom, vključno s strežniki, dns, požarnim zidom, posnetki, omrežjem in drugim. Ta vadnica bo predstavila uporabo uradnega odjemalca Go API z ustvarjanjem preproste aplikacije za pridobivanje informacij o vaših strežnikih.

Predpogoji

  • Računalnik z operacijskim sistemom Windows, Linux ali macOS z nameščeno različico Go 1.12+.
  • Osnovno znanje programiranja.
  • Izbirno: IDE, ki podpira Go (na primer Visual Studio Code, emacs ali Atom).

Cilji

  • Če želite izvedeti, kako uporabljati uradno knjižnico API Vultr.
  • Za pisanje programa za ogled informacij o strežniku.

1. korak: Ustvarjanje projekta

Najprej bomo začeli z ustvarjanjem novega modula (projekta). Običajno bi kot ime modula uporabili URL do repozitorija za svojo kodo, vendar to presega obseg te vadnice. Za zdaj bomo uporabili serverinfo kot ime modula.

Če želite ustvariti projekt, zaženite naslednje ukaze:

# Create the folder in the current directory. mkdir serverinfo # Enter the new folder. cd serverinfo # Initialize the module. go mod init serverinfo

2. korak: Prenos knjižnice

Nato bomo prenesli knjižnico API z GitHuba (spletno mesto za gostovanje kode). Če želite prenesti knjižnice, morate uporabiti go getukaz. To bo samodejno preneslo knjižnico in njene odvisnosti, medtem ko jo bo dodalo v datoteko go.mod . V istem terminalu, ki ste ga odprli prej, vnesite naslednji ukaz:

go get github.com/vultr/govultr

3. korak: pridobivanje ključa API

Za uporabo odjemalca API potrebujete svoj ključ API. Svoj ključ API lahko pridobite na kartici API v razdelku Račun na vaši nadzorni plošči . Prav tako boste morali pooblastiti svoj naslov IP za uporabo ključa API. Svoj IP naslov lahko najdete tako, da obiščete ifconfig.me . Upoštevajte, da iščete svoj javni IP in ne zasebni. Vaš zasebni IP je tisto, kar bi našli v omrežnih nastavitvah na vašem računalniku in je v enem od naslednjih obsegov CIDR: 10.0.0.0/8 , 172.16.0.0/12 ali 192.168.0.0/16 .

Ko imate svoj naslov IP, ga dodajte v razdelek Nadzor dostopa . V polje za / vnesite 32. /32je pomen omrežne maske 255.255.255.255. To pomeni, da je v obseg vključen samo vaš IP.

Opozorilo: Zaščitite svoj ključ API, kot bi zaščitili svoje geslo. Ključ API ima dostop do celotnega računa, vključno z obračunavanjem, strežniki in shranjevanjem.

4. korak: Ustvarjanje programske datoteke

Zdaj bomo začeli delati na programu. Odprite mapo, ki smo jo ustvarili v urejevalniku po vaši izbiri, in ustvarite datoteko z imenom main.go.

Znotraj datoteke vnesite ali kopirajte in prilepite naslednjo kodo:

package main import ( "context" "fmt" "os" "github.com/vultr/govultr" ) func main() { }

package mainPove Go, da smo ustvarili ukaz, ne pa knjižnica. Stavek uvoza navaja odvisnosti, ki jih bomo uporabljali. func main()je funkcija, ki se kliče, ko zaženemo naš program.

5. korak: Inicializacija odjemalca API

Naslednji korak je inicializacija odjemalca API. Za to moramo uporabiti funkcijo govultr.NewClient(http.Client, string) . V funkcijo main() dodajte naslednjo kodo :

client := govultr.NewClient(nil, "YOURAPIKEY")

Zamenjajte YOURAPIKEYs ključem API, ki ste ga pridobili prej.

Poglejmo si to kodo nekoliko bližje. Na levi strani :=imamo client. To je ime spremenljivke . Spremenljivka shranjuje vrednosti. Na desni strani imamo klic funkcije govultr.NewClient . Prvi parameter je nič, ker nam ni treba spremeniti privzetega odjemalca HTTP. Drugi parameter je ključ API, ki ga uporabljamo za preverjanje pristnosti. :=Operater dodeli desno stranjo na levi strani, v tem primeru, je rezultat funkcije poziv k client.

6. korak: Uporaba API-ja

Naš program še vedno ne naredi ničesar. Da bo uporabno, bomo informacije o naših strežnikih pridobili iz Vultra. Uporabili bomo funkcijo govultr.Client.Server.List(context.Context) ([]govultr.Server, napaka) . Dodajte naslednjo kodo na konec funkcije main() :

servers, err := client.Server.List(context.Background()) if err != nil { fmt.Fprintf(os.Stderr, "Error: %v\n", err) os.Exit(1) }

V tej kodi kličemo funkcijo API za pridobivanje informacij o strežniku. Naj vas še ne skrbi pomen konteksta , saj je to bolj napredna tema. Zaenkrat moramo vedeti le, da kontekst nadzoruje, kako deluje odjemalec API. context.Background() vrne prazen kontekst . Ko pridobimo informacije o strežniku v dve spremenljivki, servers in err , preverimo, ali je prišlo do napake. Če je tako, sporočimo uporabniku, da obvestimo o napaki in zapustimo s kodo 1 (napaka).

7. korak: Prikaz informacij

Zdaj, ko imamo v spremenljivki strežnikov ( []govultr.Server ) niz strežnikov , ga lahko dejansko prikažemo. Dodajte naslednjo kodo na konec funkcije main() :

fmt.Println("Servers:") for _, server := range servers { fmt.Printf(" %s (%s) - %s - $%s pending charges - %.2f/%s GB bandwidth\n", server.Label, server.MainIP, server.Location, server.PendingCharges, server.CurrentBandwidth, server.AllowedBandwidth, ) }

Najprej natisnemo (prikažemo) glavo, Servers:. Nato se pomaknemo po nizu strežnikov , pri čemer prezremo indeks tako, da ga dodelimo _, in trenutni strežnik dodelimo spremenljivki strežnika . Znotraj zanke prikažemo oznako strežnika, naslov IP, lokacijo, čakajoče stroške, trenutno pasovno širino in dovoljeno pasovno širino. Da bi to naredili učinkovito, uporabljamo nize formata , niz, ki je videti kot " %s (%s) - %s - $%s pending charges - %.2f/%s GB bandwidth\n". Za %ssredstva nadomestiti naslednji niz, je pa %.2fsredstvo za tiskanje naslednjo float (decimalno število), zaokroženo na 2 decimalni mesti. Preostali del formatnega niza je natisnjen dobesedno (kot je).

8. korak: Tek

Na tej točki bi morala vaša koda izgledati takole:

package main import ( "context" "fmt" "os" "github.com/vultr/govultr" ) func main() { client := govultr.NewClient(nil, "YOURAPIKEY") servers, err := client.Server.List(context.Background()) if err != nil { fmt.Fprintf(os.Stderr, "Error: %v\n", err) os.Exit(1) } fmt.Println("Servers:") for _, server := range servers { fmt.Printf(" %s (%s) - %s - $%s pending charges - %.2f/%s GB bandwidth\n", server.Label, server.MainIP, server.Location, server.PendingCharges, server.CurrentBandwidth, server.AllowedBandwidth, ) } }

Zdaj lahko zaženemo kodo. Vrnite se na terminal, ki smo ga odprli prej, in vnesite ukaz go run. Izhod bo podoben naslednjemu:

Servers: server1 (198.51.100.4) - New Jersey - $3.70 pending charges - 17.64/1000 GB bandwidth server2 (198.51.100.9) - Toronto - $1.70 pending charges - 3.24/500 GB bandwidth

Če prejmete napako, preverite, ali sta vaš ključ API in naslov IP pravilna.

Zaključek

Na tej točki ste se uspešno naučili osnov uporabe uradnega odjemalca API in napisali program, ki bo prikazal informacije o strežnikih v vašem računu.

Nadaljnji koraki

Od tu lahko naredite veliko več. Na primer, lahko napišete program za pripravo novega strežnika, ko vam primanjkuje pomnilnika. Lahko napišete aplikacijo za samodejno nadgradnjo strežnika, ko vam primanjkuje pasovne širine ali prostora za shranjevanje. Lahko bi celo napisali orodje za samodejno posodabljanje zapisov DNS glede na vaš trenutni IP.

Za več informacij o knjižnici govultr najdete dokumentacijo knjižnice govultr na godoc .

govultr je odprtokodni projekt . Če najdete kakršne koli napake v govultr, jih lahko prijavite na GitHubu . K kodi lahko prispevate tudi neposredno tako, da pošljete zahtevo za vleko .


Pritrditev blokovnega pomnilnika

Pritrditev blokovnega pomnilnika

Blok pomnilniški nosilci so primerki priloženi kot dodatni diski. Preden ga lahko uporabite, morate priložiti nosilec primerku. Več zvezkov lahko b

Konfiguriranje statičnega omrežja in IPv6 na CentOS 7

Konfiguriranje statičnega omrežja in IPv6 na CentOS 7

VULTR je pred kratkim naredil spremembe na svoji strani in zdaj bi moralo vse delovati v redu iz škatle z omogočenim NetworkManagerjem. Če želite onemogočiti

Katera vrata so blokirana?

Katera vrata so blokirana?

Za varnost omrežja blokiramo več izhodnih vrat. Privzeto blokirano. Lahko zahtevate odstranitev teh blokov tako, da odprete prijavnico za podporo. TCP vrata 2

ISO po meri za Windows z gonilniki VirtIO

ISO po meri za Windows z gonilniki VirtIO

Izdelava Windows ISO (samo strežniške različice) Pridobite najnovejše binarne gonilnike VirtIO za Windows, pakirane kot datoteko ISO, naprej

Način obnovitve Windows Server 2016

Način obnovitve Windows Server 2016

Pri dostopu do načina za obnovitev v sistemu Windows Server 2016 se lahko pojavi napaka pri zaustavitvi (modri zaslon). Rešitev je dostop do možnosti Repair Computer

Namestite Nginx + PHP FPM + Caching + MySQL na Ubuntu 12.04

Namestite Nginx + PHP FPM + Caching + MySQL na Ubuntu 12.04

Verjetno bo veliko ljudi uporabljalo svoje Vultr VPS kot spletne strežnike, dobra izbira bi bil Nginx kot spletni strežnik. V tej temi bom opisal o

Vultr Block Storage

Vultr Block Storage

Tehnologija Vultrs Cloud Block Storage vam omogoča, da v svoj primerek namestite visoko zmogljivo razširljivo pomnilnik, s čimer je upravljanje prostora bistveno bolj

Kako dostopati do vašega Vultr VPS

Kako dostopati do vašega Vultr VPS

Vultr ponuja več različnih načinov za dostop do vašega VPS za konfiguracijo, namestitev in uporabo. Poverilnice za dostop Privzete poverilnice za dostop za vaš VPS ar

Kako spremenim velikost diska VPS?

Kako spremenim velikost diska VPS?

Ta priročnik pojasnjuje, kako spremeniti velikost trdega diska na Vultr VPS. Če ste pred kratkim svoj načrt nadgradili na načrt z večjim diskom, lahko sledite tem

ISO po meri na goli kovini

ISO po meri na goli kovini

Uvod Vultr trenutno nima vzpostavljenega sistema, ki bi omogočal nalaganje in montažo ISO-jev po meri na golo kovino. Vendar vas to ne ustavi

Ubuntu 16.04 Slike poročajo o napakah o storitvi metapodatkov EC2

Ubuntu 16.04 Slike poročajo o napakah o storitvi metapodatkov EC2

Ob zagonu lahko nekateri starejši primerki Ubuntu 16.04 prikažejo naslednje opozorilo: ************************************ **************************************

Shranjevanje objektov Vultr

Shranjevanje objektov Vultr

S3-združljiva* shramba objektov je zdaj na voljo v oblaku Vultr. Naša tehnologija za shranjevanje predmetov je cenovno dostopna, razširljiva in enostavna za integracijo v vas

Omogočite Windows Audio na primerku Windows Server

Omogočite Windows Audio na primerku Windows Server

Opomba: Ta priročnik bo deloval za primerke Windows 2012 R2 in Windows 2016. Strežniki Windows privzeto nimajo omogočene storitve Windows Audio.

Vultr Vodnik za prenosljivost podatkov

Vultr Vodnik za prenosljivost podatkov

Kako lahko prenesem svoje podatke v oblaku iz Vultra? Prenosljivost podatkov na platformi Vultr Ponujamo vam številne preproste rešitve, ki jih lahko prenesete

Primer pooblastila za objave BGP

Primer pooblastila za objave BGP

Prosimo, uporabite naslednjo predlogo, ko zahtevate avtorizacijo za objave BGP. PISMO POOBLASTILO [DATUM] Na koga se lahko nanaša, Thi

Zahteve za nalaganje OS ISO v Vultr

Zahteve za nalaganje OS ISO v Vultr

Vultr ponuja široko paleto operacijskih sistemov, med katerimi lahko izbirate. Včasih pa boste morda želeli naložiti svoj operacijski sistem ISO po meri, kot je Kal

Kako ustvariti povratne zapise DNS ali PTR na nadzorni plošči Vultr

Kako ustvariti povratne zapise DNS ali PTR na nadzorni plošči Vultr

Uvod v Vultr Reverse DNS Če želite dodati zapis PTR ali Reverse DNS za IP naslov svojih primerkov, morate slediti spodnjim korakom:

Uvod v Vultr DNS

Uvod v Vultr DNS

Vultr ponuja brezplačno gostovanje DNS za domene strank. Imenski strežniki so v omrežju AnyCAST in zagotavljajo hitro ločljivost DNS. Če želite uporabljati Vultrs DNS, bi želeli

Dostop do enouporabniškega načina (ponastavi korensko geslo)

Dostop do enouporabniškega načina (ponastavi korensko geslo)

Če želite ponastaviti korensko geslo vašega strežnika, se boste morali zagnati v enouporabniškem načinu. Dostopite do svojega strežnika na portalu za stranke Vultr, nato sledite koraku

Več zasebnih omrežij

Več zasebnih omrežij

Vultr je v začetku leta 2018 predstavil podporo za več zasebnih omrežij. Ta funkcija je na voljo kot izboljšava standardnega zasebnega omrežja. Whe

Vzpon strojev: aplikacije AI v resničnem svetu

Vzpon strojev: aplikacije AI v resničnem svetu

Umetna inteligenca ni v prihodnosti, tukaj je prav v sedanjosti. V tem blogu preberite, kako so aplikacije umetne inteligence vplivale na različne sektorje.

DDOS napadi: kratek pregled

DDOS napadi: kratek pregled

Ste tudi vi žrtev DDOS napadov in ste zmedeni glede načinov preprečevanja? Preberite ta članek, če želite rešiti svoja vprašanja.

Ste se kdaj vprašali, kako hekerji zaslužijo denar?

Ste se kdaj vprašali, kako hekerji zaslužijo denar?

Morda ste že slišali, da hekerji zaslužijo veliko denarja, a ste se kdaj vprašali, kako zaslužijo takšen denar? razpravljajmo.

Revolucionarni Googlovi izumi, ki vam bodo olajšali življenje.

Revolucionarni Googlovi izumi, ki vam bodo olajšali življenje.

Ali želite videti revolucionarne izume Googla in kako so ti izumi danes spremenili življenje vsakega človeka? Nato preberite v blogu in si oglejte Googlove izume.

Friday Essential: Kaj se je zgodilo z avtomobili, ki jih poganja umetna inteligenca?

Friday Essential: Kaj se je zgodilo z avtomobili, ki jih poganja umetna inteligenca?

Koncept samovozečih avtomobilov, ki zapeljejo na ceste s pomočjo umetne inteligence, so sanje, ki jih imamo že nekaj časa. A kljub številnim obljubam jih ni nikjer. Preberite ta blog, če želite izvedeti več…

Tehnološka singularnost: oddaljena prihodnost človeške civilizacije?

Tehnološka singularnost: oddaljena prihodnost človeške civilizacije?

Ker se znanost hitro razvija in prevzame veliko naših prizadevanj, se povečuje tudi tveganje, da se podvržemo nerazložljivi singularnosti. Preberite, kaj bi za nas lahko pomenila singularnost.

Razvoj shranjevanja podatkov – Infografika

Razvoj shranjevanja podatkov – Infografika

Metode shranjevanja podatkov so se lahko razvijale od rojstva podatkov. Ta blog pokriva razvoj shranjevanja podatkov na podlagi infografike.

Funkcionalnosti slojev referenčne arhitekture velikih podatkov

Funkcionalnosti slojev referenčne arhitekture velikih podatkov

Preberite blog, če želite na najpreprostejši način spoznati različne plasti v arhitekturi velikih podatkov in njihove funkcionalnosti.

6 neverjetnih prednosti pametnih naprav za dom v našem življenju

6 neverjetnih prednosti pametnih naprav za dom v našem življenju

V tem digitalno vodenem svetu so pametne naprave za dom postale ključni del življenja. Tukaj je nekaj neverjetnih prednosti pametnih naprav za dom o tem, kako naredijo naše življenje vredno življenja in poenostavijo.

Posodobitev dodatka macOS Catalina 10.15.4 povzroča več težav kot jih rešuje

Posodobitev dodatka macOS Catalina 10.15.4 povzroča več težav kot jih rešuje

Pred kratkim je Apple izdal macOS Catalina 10.15.4 dopolnilno posodobitev za odpravo težav, vendar se zdi, da posodobitev povzroča več težav, ki vodijo do opečenja računalnikov Mac. Preberite ta članek, če želite izvedeti več