Comment utiliser la bibliothèque Vultr Go pour obtenir des informations sur le serveur

introduction

La bibliothèque officielle Vultr Go peut être utilisée pour interagir avec l' API Vultr . L'API Vultr vous permet de contrôler les ressources associées à votre compte, y compris les serveurs, les DNS, le pare-feu, les instantanés, le réseau, etc. Ce tutoriel donnera une introduction à l'utilisation du client officiel Go API en créant une application simple pour obtenir des informations sur vos serveurs.

Conditions préalables

  • Un ordinateur exécutant Windows, Linux ou macOS avec Go 1.12+ installé.
  • Connaissances de base en programmation.
  • Facultatif: un IDE prenant en charge Go (par exemple Visual Studio Code, emacs ou Atom).

Buts

  • Pour savoir comment utiliser la bibliothèque officielle de l'API Vultr.
  • Pour écrire un programme pour afficher les informations du serveur.

Étape 1: création du projet

Tout d'abord, nous allons commencer par créer un nouveau module (projet). Habituellement, vous utiliseriez l'URL d'un référentiel pour votre code comme nom de module, mais cela dépasse le cadre de ce didacticiel. Pour l'instant, nous utiliserons serverinfo comme nom de module.

Pour créer le projet, exécutez les commandes suivantes:

# Create the folder in the current directory.
mkdir serverinfo

# Enter the new folder.
cd serverinfo

# Initialize the module.
go mod init serverinfo

Étape 2: téléchargement de la bibliothèque

Ensuite, nous téléchargerons la bibliothèque d'API à partir de GitHub (un site d'hébergement de code). Pour télécharger des bibliothèques, vous devez utiliser la go getcommande. Cela téléchargera automatiquement la bibliothèque et ses dépendances tout en l'ajoutant au fichier go.mod . Dans le même terminal que vous avez ouvert précédemment, entrez la commande suivante:

go get github.com/vultr/govultr

Étape 3: obtenir votre clé API

Pour utiliser le client API, vous aurez besoin de votre clé API. Vous pouvez récupérer votre clé API dans l' onglet API de la section Compte de votre tableau de bord . Vous devrez également autoriser votre adresse IP à utiliser la clé API. Vous pouvez trouver votre adresse IP en vous rendant sur ifconfig.me . Notez que vous recherchez votre adresse IP publique , pas votre adresse IP privée. Votre adresse IP privée correspond à ce que vous trouverez dans les paramètres réseau de votre ordinateur et se trouve dans l'une des plages CIDR suivantes: 10.0.0.0/8 , 172.16.0.0/12 ou 192.168.0.0/16 .

Une fois que vous avez votre adresse IP, ajoutez-la dans la section Contrôle d'accès . Dans la zone après le / , tapez 32. /32est une signification de masque de réseau 255.255.255.255. Cela signifie que seule votre adresse IP est incluse dans la plage.

Avertissement: protégez votre clé API comme vous le feriez pour votre mot de passe. La clé API a accès à l'ensemble de votre compte, y compris la facturation, les serveurs et le stockage.

Étape 4: création du fichier programme

Maintenant, nous allons commencer à travailler sur le programme. Ouvrez le dossier que nous avons créé dans l'éditeur de votre choix et créez un fichier nommé main.go.

Dans le fichier, saisissez ou copiez-collez le code suivant:

package main

import (
    "context"
    "fmt"
    "os"

    "github.com/vultr/govultr"
)

func main() {

}

Le package mainGo indique que nous créons une commande, pas une bibliothèque. L'instruction import déclare les dépendances que nous utiliserons. func main()est la fonction appelée lorsque nous exécutons notre programme.

Étape 5: initialisation du client API

L'étape suivante consiste à initialiser le client API. Pour ce faire, nous devons utiliser la fonction govultr.NewClient (http.Client, string) . Ajoutez le code suivant dans la fonction main () :

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

Remplacez-la YOURAPIKEYpar la clé API que vous avez récupérée précédemment.

Regardons ce code un peu plus près. Sur le côté gauche de la :=, nous avons client. C'est le nom d'une variable . Une variable stocke des valeurs. Sur le côté droit, nous avons un appel de fonction à govultr.NewClient . Le premier paramètre est nul, car nous n'avons pas besoin de changer le client HTTP par défaut. Le deuxième paramètre est la clé API que nous utilisons pour nous authentifier. L' :=opérateur affecte le côté droit au côté gauche, dans ce cas, le résultat de l'appel de fonction à client.

Étape 6: utilisation de l'API

Notre programme ne fait toujours rien. Pour le rendre utile, nous allons récupérer des informations sur nos serveurs de Vultr. Nous utiliserons la fonction govultr.Client.Server.List (context.Context) ([] govultr.Server, error) . Ajoutez le code suivant à la fin de la fonction main () :

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

Dans ce code, nous appelons la fonction API pour récupérer les informations du serveur. Ne vous inquiétez pas encore de la signification du contexte , car c'est un sujet plus avancé. Pour l'instant, tout ce que nous devons savoir, c'est que le contexte contrôle le fonctionnement du client API. context.Background () renvoie un contexte vide . Après avoir récupéré les informations du serveur dans les deux variables, serveurs et err , nous vérifions s'il y a eu une erreur. Si c'est le cas, nous informons l'utilisateur de l'erreur et sortons avec le code 1 (erreur).

Étape 7: Affichage des informations

Maintenant que nous avons un tableau de serveurs dans la variable serveurs ( [] govultr.Server ), nous pouvons réellement l'afficher. Ajoutez le code suivant à la fin de la fonction 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,
    )
}

Tout d' abord, nous imprimons (affichage) un en- tête, Servers:. Ensuite, nous faisons une boucle sur le tableau des serveurs , en ignorant l'index en l'attribuant à _, et en affectant le serveur actuel à la variable de serveur . À l'intérieur de la boucle, nous affichons l'étiquette du serveur, l'adresse IP, l'emplacement, les frais en attente, la bande passante actuelle et la bande passante autorisée. Pour ce faire efficacement, nous utilisons des chaînes de format , la chaîne qui ressemble " %s (%s) - %s - $%s pending charges - %.2f/%s GB bandwidth\n". Le %s moyen de remplacer la chaîne suivante, tandis que le %.2fmoyen d'imprimer le flottant suivant (nombre décimal) arrondi à 2 décimales. Le reste de la chaîne de format est imprimé littéralement (tel quel).

Étape 8: Exécution

À ce stade, votre code devrait ressembler à ceci:

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,
        )
    }
}

Nous pouvons maintenant exécuter le code. Revenez au terminal que nous avons ouvert plus tôt et entrez la commande go run. La sortie ressemblera à ce qui suit:

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

Si vous recevez une erreur, assurez-vous que votre clé API et votre adresse IP sont correctes.

Conclusion

À ce stade, vous aurez appris avec succès les bases de l'utilisation du client API officiel et écrit un programme qui affichera des informations sur les serveurs de votre compte.

Prochaines étapes

De là, vous pouvez faire beaucoup plus. Par exemple, vous pouvez écrire un programme pour provisionner un nouveau serveur lorsque vous manquez de mémoire. Vous pouvez écrire une application pour mettre à niveau automatiquement votre serveur lorsque vous manquez de bande passante ou de stockage. Vous pouvez même écrire un outil pour mettre à jour automatiquement les enregistrements DNS en fonction de votre adresse IP actuelle.

Pour plus d'informations sur la bibliothèque govultr, vous pouvez trouver la documentation de la bibliothèque govultr sur godoc .

govultr est un projet open-source . Si vous trouvez des bogues dans govultr, vous pouvez les signaler sur GitHub . Vous pouvez également contribuer directement au code en soumettant une demande d'extraction .



Leave a Comment

ISO personnalisé sur métal nu

ISO personnalisé sur métal nu

Introduction Vultr ne dispose actuellement daucun système permettant de télécharger et de monter des ISO personnalisés sur du métal nu. Cependant, cela ne vous arrête pas

Comment créer des enregistrements DNS ou PTR inversés dans le panneau de configuration Vultr

Comment créer des enregistrements DNS ou PTR inversés dans le panneau de configuration Vultr

Introduction à Vultr Reverse DNS Afin dajouter un PTR, ou un enregistrement DNS inversé pour ladresse IP de votre instance, vous devez suivre les étapes décrites ci-dessous:

Correction de lheure sur Windows Server

Correction de lheure sur Windows Server

Par défaut, un VPS Vultr avec Windows Server 2012 a son heure système définie sur le fuseau horaire UTC. Vous pouvez changer le fuseau horaire comme vous le souhaitez, mais en le changeant t

Automatisation des mises à jour dUbuntu 16 avec des scripts de démarrage Vultr

Automatisation des mises à jour dUbuntu 16 avec des scripts de démarrage Vultr

Ubuntu 16 et les versions ultérieures effectuent des tâches périodiques liées à apt (telles que la mise à jour de la liste des packages et lapplication de mises à niveau sans assistance) à laide dun minuteur systemd. Thi

Accéder au mode mono-utilisateur (réinitialiser le mot de passe root)

Accéder au mode mono-utilisateur (réinitialiser le mot de passe root)

Pour réinitialiser le mot de passe root de votre serveur, vous devrez démarrer en mode mono-utilisateur. Accédez à votre serveur dans le portail client Vultr, puis suivez létape

Comment restaurer un instantané

Comment restaurer un instantané

Les instantanés sont un moyen efficace de faire une sauvegarde complète de votre serveur. Vous ne pourrez pas restaurer des fichiers individuels, mais plutôt lensemble du serveur. Thi

Débuter avec Cloud-Init

Débuter avec Cloud-Init

Cloud-init est un projet open source compatible avec la plupart des distributions Linux. Les instances Vultr créées avant 2017 avaient ce logiciel installé par défaut. Th

Clonage dun serveur virtuel avec Vultr

Clonage dun serveur virtuel avec Vultr

À loccasion, vous devrez cloner un serveur virtuel à des fins de mise à léchelle ou pour changer la région du serveur, par exemple. Sur Vultr, cest facile, un

Exemple de lettre dautorisation pour les annonces BGP

Exemple de lettre dautorisation pour les annonces BGP

Veuillez utiliser le modèle suivant lors de la demande dautorisation pour les annonces BGP. LETTRE DAUTORISATION [DATE] À qui de droit, Thi

Configuration dun réseau privé

Configuration dun réseau privé

Si vous attribuez un réseau privé à une machine existante (ou déployez votre propre système dexploitation), vous devrez configurer les adresses IP sur le serveur privé.

Installer Nginx + PHP FPM + Caching + MySQL sur Ubuntu 12.04

Installer Nginx + PHP FPM + Caching + MySQL sur Ubuntu 12.04

Beaucoup de gens vont probablement utiliser leurs VPS Vultr comme serveurs Web, un bon choix serait Nginx comme serveur Web. Dans ce sujet, je vais décrire o

Vultr Block Storage

Vultr Block Storage

La technologie Vultrs Cloud Block Storage vous permet de monter un stockage évolutif haute performance sur votre instance, ce qui rend la gestion de lespace considérablement plus

Exécution de CoreOS sur un VPS Vultr

Exécution de CoreOS sur un VPS Vultr

Veuillez lire: Vultr propose désormais CoreOS sur la page de commande - Ce guide explique comment configurer CoreOS manuellement. Ces instructions vous guideront tout au long de la course

RPKI

RPKI

RPKI (Resource Public Key Infrastructure) est un moyen de prévenir le détournement de BGP. Il utilise des signatures cryptographiques pour valider quun ASN est autorisé t

Activer Windows Audio sur une instance de Windows Server

Activer Windows Audio sur une instance de Windows Server

Remarque: ce guide fonctionnera pour les instances Windows 2012 R2 et Windows 2016. Les serveurs Windows, par défaut, nont pas le service Windows Audio activé.

Configurer IPv6 sur votre VPS

Configurer IPv6 sur votre VPS

Chacun de ces exemples suppose un sous-réseau IPv6 de 2001: db8: 1000 :: / 64. Vous devrez les mettre à jour avec le sous-réseau qui vous a été attribué. Nous serons usin

Haute disponibilité sur Vultr avec IP flottante et BGP

Haute disponibilité sur Vultr avec IP flottante et BGP

Vultr vous permet de combiner deux de nos fonctionnalités (IP flottantes et BGP) afin datteindre une haute disponibilité. Configuration Vous aurez besoin de deux instances dans le sam

Comment accéder à votre VPS Vultr

Comment accéder à votre VPS Vultr

Vultr propose plusieurs façons daccéder à votre VPS pour configurer, installer et utiliser. Informations didentification daccès Les informations didentification daccès par défaut pour votre VPS ar

ISO personnalisé Windows avec pilotes VirtIO

ISO personnalisé Windows avec pilotes VirtIO

Création de lISO Windows (versions serveur uniquement) Obtenez les derniers pilotes VirtIO binaires pour Windows, présentés sous forme de fichier ISO,

Réparation dun VPS Windows après linstallation des mises à jour de pilotes

Réparation dun VPS Windows après linstallation des mises à jour de pilotes

Microsoft a récemment publié des pilotes via Windows Update qui peuvent empêcher les instances Vultr VPS exécutant Windows de démarrer correctement. Ces pilotes sont appelés:

LIA peut-elle lutter contre un nombre croissant dattaques de ransomware

LIA peut-elle lutter contre un nombre croissant dattaques de ransomware

Les attaques de ransomware sont en augmentation, mais l'IA peut-elle aider à lutter contre le dernier virus informatique ? L'IA est-elle la réponse ? Lisez ici, sachez que l'IA est un boone ou un fléau

ReactOS : est-ce lavenir de Windows ?

ReactOS : est-ce lavenir de Windows ?

ReactOS, un système d'exploitation open source et gratuit est ici avec la dernière version. Cela peut-il suffire aux besoins des utilisateurs de Windows modernes et faire tomber Microsoft ? Découvrons-en plus sur cet ancien style, mais une expérience de système d'exploitation plus récente.

Restez connecté via lapplication de bureau WhatsApp 24 * 7

Restez connecté via lapplication de bureau WhatsApp 24 * 7

Whatsapp a finalement lancé l'application de bureau pour les utilisateurs Mac et Windows. Vous pouvez désormais accéder facilement à Whatsapp depuis Windows ou Mac. Disponible pour Windows 8+ et Mac OS 10.9+

Comment lIA peut-elle faire passer lautomatisation des processus au niveau supérieur ?

Comment lIA peut-elle faire passer lautomatisation des processus au niveau supérieur ?

Lisez ceci pour savoir comment l'intelligence artificielle devient populaire parmi les petites entreprises et comment elle augmente les probabilités de les faire grandir et de donner à leurs concurrents un avantage.

La mise à jour du supplément macOS Catalina 10.15.4 cause plus de problèmes quelle nen résout

La mise à jour du supplément macOS Catalina 10.15.4 cause plus de problèmes quelle nen résout

Récemment, Apple a publié macOS Catalina 10.15.4, une mise à jour supplémentaire pour résoudre les problèmes, mais il semble que la mise à jour cause davantage de problèmes, ce qui entraîne le bridage des machines mac. Lisez cet article pour en savoir plus

13 outils commerciaux dextraction de données de Big Data

13 outils commerciaux dextraction de données de Big Data

13 outils commerciaux d'extraction de données de Big Data

Quest-ce quun système de fichiers de journalisation et comment fonctionne-t-il ?

Quest-ce quun système de fichiers de journalisation et comment fonctionne-t-il ?

Notre ordinateur stocke toutes les données d'une manière organisée connue sous le nom de système de fichiers de journalisation. C'est une méthode efficace qui permet à l'ordinateur de rechercher et d'afficher des fichiers dès que vous appuyez sur la recherche.https://wethegeek.com/?p=94116&preview=true

Singularité technologique : un futur lointain de la civilisation humaine ?

Singularité technologique : un futur lointain de la civilisation humaine ?

Alors que la science évolue à un rythme rapide, prenant le pas sur une grande partie de nos efforts, les risques de nous soumettre à une Singularité inexplicable augmentent également. Lisez, ce que la singularité pourrait signifier pour nous.

Un aperçu de 26 techniques danalyse des mégadonnées : partie 1

Un aperçu de 26 techniques danalyse des mégadonnées : partie 1

Un aperçu de 26 techniques d'analyse des mégadonnées : partie 1

Limpact de lintelligence artificielle dans les soins de santé 2021

Limpact de lintelligence artificielle dans les soins de santé 2021

L'IA dans le domaine de la santé a fait de grands progrès au cours des dernières décennies. Ainsi, l'avenir de l'IA dans les soins de santé continue de croître de jour en jour.