نحوه استفاده از كتابخانه Vultr Go برای به دست آوردن اطلاعات سرور

معرفی

از کتابخانه رسمی Vultr Go می توان برای تعامل با API Vultr استفاده کرد . Vultr API به شما اجازه می دهد تا منابع مرتبط با حساب خود ، از جمله سرورها ، dns ، فایروال ، عکس های فوری ، شبکه و موارد دیگر را کنترل کنید. این آموزش با استفاده از یک سرویس گیرنده رسمی Go API با ایجاد یک برنامه ساده برای به دست آوردن اطلاعات در مورد سرورهای خود ، مقدماتی خواهد داد.

پیش نیازها

  • رایانه ای که ویندوز ، لینوکس یا macOS با Go 1.12+ نصب کرده است.
  • دانش پایه برنامه نویسی.
  • اختیاری: یک IDE که از Go پشتیبانی می کند (به عنوان مثال کد ویژوال استودیو ، emac ها یا Atom).

اهداف

  • برای یادگیری چگونگی استفاده از کتابخانه رسمی Vultr API.
  • برای نوشتن یک برنامه برای مشاهده اطلاعات سرور.

مرحله 1: ایجاد پروژه

ابتدا با ایجاد یک ماژول (پروژه) جدید شروع خواهیم کرد. معمولاً از URL به یک مخزن برای کد خود به عنوان نام ماژول استفاده می کنید ، اما این فراتر از محدوده این آموزش است. در حال حاضر ، ما از serverinfo به عنوان نام ماژول استفاده خواهیم کرد.

برای ایجاد پروژه ، دستورات زیر را اجرا کنید:

# Create the folder in the current directory.
mkdir serverinfo

# Enter the new folder.
cd serverinfo

# Initialize the module.
go mod init serverinfo

مرحله 2: بارگیری کتابخانه

در مرحله بعد ، کتابخانه API را از GitHub (یک سایت میزبانی کد) بارگیری خواهیم کرد. برای بارگیری کتابخانه ها ، باید از go getدستور استفاده کنید . این کار ضمن اضافه کردن آن به پرونده go.mod ، به طور خودکار کتابخانه و وابستگی های آن را بارگیری می کند. در همان ترمینالی که قبلاً افتتاح کرده اید ، دستور زیر را وارد کنید:

go get github.com/vultr/govultr

مرحله 3: گرفتن کلید API خود

برای استفاده از سرویس گیرنده API ، به کلید API خود نیاز دارید. می توانید کلید API خود را از برگه API بخش Account Dashboard خود بازیابی کنید . همچنین برای استفاده از کلید API باید به آدرس IP خود اجازه دهید. می توانید با مراجعه به ifconfig.me آدرس IP خود را پیدا کنید . توجه داشته باشید که شما به دنبال آی پی عمومی خود هستید ، نه خصوصی شما. IP خصوصی شما همان چیزی است که شما در تنظیمات شبکه در رایانه خود پیدا می کنید و در یکی از محدوده های CIDR زیر قرار دارد: 10.0.0.0/8 ، 172.16.0.0/12 یا 192.168.0.0/16 .

پس از آدرس IP خود ، آن را در قسمت Access Control اضافه کنید . در کادر بعد از / ، تایپ کنید 32. /32معنای خالص 255.255.255.255است این بدان معنی است که فقط IP شما در محدوده موجود است.

هشدار: از کلید API خود محافظت کنید مانند رمز عبور خود محافظت می کند. کلید API به کل حساب شما ، از جمله صورتحساب ، سرورها و ذخیره سازی دسترسی دارد.

مرحله 4: ایجاد پرونده برنامه

اکنون ، ما قصد داریم کار را روی برنامه شروع کنیم. پوشه ای را که در انتخاب ویرایشگر شما ایجاد کرده ایم باز کنید و یک پرونده با نام ایجاد کنید main.go.

در داخل پرونده ، کد زیر را تایپ یا کپی کنید:

package main

import (
    "context"
    "fmt"
    "os"

    "github.com/vultr/govultr"
)

func main() {

}

package mainمی گوید برو که ما در حال ایجاد یک دستور، نه یک کتابخانه است. بیانیه واردات وابستگی هایی را که ما استفاده خواهیم کرد اعلام می کند. func main()تابعی است که برنامه خود را اجرا می کنیم.

مرحله 5: اولیه سازی مشتری API

قدم بعدی اولیه سازی مشتری API است. برای این کار باید از تابع govultr.NewClient (http.Client ، string) استفاده کنیم. کد زیر را درون عملکرد اصلی () اضافه کنید:

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

YOURAPIKEYبا کلید API که قبلاً بازیابی کرده اید جایگزین کنید .

بیایید کمی به این کد نگاه کنیم. در سمت چپ :=، ما داریم client. این نام متغیر است . مقادیر متغیر را ذخیره می کند. در سمت راست ، ما یک فراخوان عملکردی به govultr.NewClient داریم . پارامتر اول صفر است ، زیرا نیازی به تغییر سرویس گیرنده HTTP پیش فرض نداریم. پارامتر دوم کلید API است که ما برای تأیید اعتبار خود از آن استفاده می کنیم. :=اپراتور اختصاص به سمت راست به سمت چپ، در این مورد، در نتیجه از فراخوانی تابع به client.

مرحله ششم: استفاده از API

برنامه ما هنوز هیچ کاری انجام نمی دهد. برای استفاده از آن ، ما می خواهیم اطلاعات مربوط به سرورهای خود را از Vultr بازیابی کنیم. ما از تابع govultr.Client.Server.List (ext.Context) ([] govultr.Server ، خطا) استفاده خواهیم کرد. کد زیر را در انتهای عملکرد اصلی () اضافه کنید:

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

در این کد ، ما برای بازیابی اطلاعات سرور از عملکرد API فراخوانی می کنیم. در مورد معنی متن نگران نباشید ، زیرا این یک موضوع پیشرفته تر است. در حال حاضر ، همه آنچه ما باید بدانیم این است که زمینه کنترل نحوه اجرای مشتری API را کنترل می کند. context.Background () زمینه خالی را برمی گرداند . بعد از اینکه اطلاعات سرور را به دو متغیر ، سرور و خطا بازگردانیم ، بررسی می کنیم که آیا خطایی رخ داده است. در این صورت ، ما به خطا و خروج با کد 1 (خطا) به کاربر اطلاع می دهیم.

مرحله 7: نمایش اطلاعات

اکنون که در متغیر سرورها آرایه ای از سرورها ( [] govultr.Server ) داریم ، می توانیم در واقع آن را نمایش دهیم. کد زیر را در انتهای عملکرد اصلی () اضافه کنید:

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

ابتدا ، یک هدر چاپ می کنیم (نمایش می دهیم) Servers:. سپس ، ما آرایه سرورها را حلقه می زنیم ، با اختصاص آن به ایندکس _، و اختصاص سرور فعلی به متغیر سرور ، شاخص را نادیده می گیریم . در داخل حلقه ، ما برچسب سرور ، آدرس IP ، مکان ، هزینه های در انتظار ، پهنای باند فعلی و پهنای باند مجاز را نمایش می دهیم. برای انجام این کار ، از رشته های قالب استفاده می کنیم ، رشته ای که به نظر می رسد " %s (%s) - %s - $%s pending charges - %.2f/%s GB bandwidth\n". %s یعنی به جای رشته بعدی، در حالی که %.2fوسیله ای برای چاپ شناور بعدی (عدد اعشاری) گرد به 2 رقم اعشار. بقیه رشته فرمت به معنای واقعی کلمه چاپ می شود (به عنوان).

مرحله 8: در حال اجرا

در این مرحله ، کد شما باید به شکل زیر باشد:

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

اکنون می توانیم کد را اجرا کنیم. به ترمینالی که قبلاً افتتاح شده بود بازگردید و دستور را وارد کنید go run. خروجی شبیه به موارد زیر خواهد بود:

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

اگر خطایی دریافت کردید ، از صحت کلید API و آدرس IP اطمینان حاصل کنید.

نتیجه

در این مرحله ، شما با موفقیت اصول اولیه نحوه استفاده از مشتری رسمی API را یاد گرفته و برنامه ای را نوشتید که اطلاعات مربوط به سرورها را در حساب خود نمایش می دهد.

مراحل بعدی

از اینجا ، شما می توانید کارهای بیشتری انجام دهید. به عنوان مثال ، وقتی در حافظه کم هستید ، می توانید برای تهیه سرور جدید برنامه ای بنویسید. وقتی پهنای باند یا حافظه کم دارید می توانید یک برنامه بنویسید تا به طور خودکار سرور خود را ارتقا دهد. شما حتی می توانید ابزاری بنویسید تا به طور خودکار سوابق DNS را بر اساس IP فعلی خود به روز کنید.

برای اطلاعات بیشتر در مورد کتابخانه govultr ، می توانید اسناد کتابخانه govultr را در مورد Godoc پیدا کنید .

govultr یک پروژه منبع باز است . اگر در govultr اشکالی مشاهده کردید ، می توانید آنها را در GitHub گزارش دهید . همچنین می توانید با ارسال درخواست کشش به طور مستقیم به کد کمک کنید .



ISO سفارشی Windows با درایوهای VirtIO

ISO سفارشی Windows با درایوهای VirtIO

ساخت ویندوز ISO (فقط نسخه های سرور) آخرین درایورهای باینری VirtIO را برای ویندوز ، بسته بندی شده به عنوان یک پرونده ISO ، از قبل دریافت کنید

اجرای CoreOS در Vultr VPS

اجرای CoreOS در Vultr VPS

لطفاً بخوانید: Vultr اکنون CoreOS را در صفحه سفارش ارائه می دهد - این راهنما نحوه تنظیم دستی CoreOS را توضیح می دهد. این دستورالعمل ها شما را در حال اجرا طی می کند

پیکربندی BGP در Vultr

پیکربندی BGP در Vultr

ویژگی Vultrs BGP به شما امکان می دهد فضای IP شخصی خود را بیاورید و از آن در هر مکان دیگری استفاده کنید. برای شروع استفاده از BGP ، شما نیاز دارید: یک Vult مستقر

یک آدرس IPv4 ثانویه به VPS خود اضافه کنید

یک آدرس IPv4 ثانویه به VPS خود اضافه کنید

در این آموزش نحوه تنظیم آدرس IPv4 اضافی در Vultr VPS شما توضیح داده شده است. ما موارد زیر را فرض خواهیم کرد: آدرس IP اصلی VPS شما 1.2.3.4 است.

Ubuntu 16.04 تصاویر گزارش خطاها درباره سرویس ابرداده EC2

Ubuntu 16.04 تصاویر گزارش خطاها درباره سرویس ابرداده EC2

با استفاده از حالت اولیه ، برخی از موارد قدیمی Ubuntu 16.04 ممکن است هشدار زیر را نشان دهند: ************************************** ****************************************

کلون کردن سرور مجازی با Vultr

کلون کردن سرور مجازی با Vultr

در بعضی مواقع ، شما نیاز به کلون کردن یک سرور مجازی یا به منظور مقیاس گذاری یا برای تغییر منطقه سرور ، برای مثال دارید. در Vultr ، این آسان است ، a

در دسترس بودن زیاد در Vultr با IP و BGP شناور

در دسترس بودن زیاد در Vultr با IP و BGP شناور

Vultr به شما امکان می دهد تا دو ویژگی از ما (IP های شناور و BGP) را برای دستیابی به دسترسی بالا ترکیب کنید. راه اندازی شما به دو مورد در سام نیاز دارید

چندین شبکه خصوصی

چندین شبکه خصوصی

Vultr در اوایل سال 2018 پشتیبانی از چندین شبکه خصوصی را معرفی کرد. این ویژگی به عنوان پیشرفت شبکه های خصوصی استاندارد ارائه شده است. چرخ

چگونه به Vultr VPS خود دسترسی پیدا کنید

چگونه به Vultr VPS خود دسترسی پیدا کنید

Vultr چندین راه مختلف برای دسترسی به VPS شما برای پیکربندی ، نصب و استفاده از آنها فراهم می کند. اعتبارنامه دسترسی اعتبارنامه دسترسی پیش فرض برای VPS شما

نمونه نامه مجوز برای اطلاعیه های BGP

نمونه نامه مجوز برای اطلاعیه های BGP

لطفاً هنگام درخواست مجوز برای اعلانات BGP از الگوی زیر استفاده کنید. نامه اعتبار (تاریخ) که ممکن است به آنها مربوط شود ، Thi

نحوه ایجاد Reverse DNS یا PTR Records در کنترل پنل Vultr

نحوه ایجاد Reverse DNS یا PTR Records در کنترل پنل Vultr

آشنایی با Vultr Reverse DNS برای افزودن یک PTR یا Reverse DNS برای آدرس IP نمونه های خود ، باید مراحل ذکر شده زیر را دنبال کنید:

Nginx + PHP FPM + Caching + MySQL را در Ubuntu 12.04 نصب کنید

Nginx + PHP FPM + Caching + MySQL را در Ubuntu 12.04 نصب کنید

احتمالاً بسیاری از افراد قصد دارند از VPSr VPSes خود به عنوان وب سرور استفاده کنند ، انتخاب خوب Nginx به عنوان یک وب سایت است. در این مبحث می خواهم o را توصیف کنم

راهنمای حمل و نقل داده های Vultr

راهنمای حمل و نقل داده های Vultr

چگونه می توانم داده های ابر خود را از Vultr بارگیری کنم؟ قابلیت انتقال داده ها بر روی پلت فرم Vultr ما چندین راه حل ساده را برای شما ارائه می دهیم تا شما را بارگیری کنیم

چگونه می توانم کلیدهای SSH تولید کنم؟

چگونه می توانم کلیدهای SSH تولید کنم؟

یک کلید SSH به شما امکان می دهد بدون نیاز به رمز ورود به سرور خود وارد شوید. کلیدهای SSH می توانند به طور خودکار در طی مراحل نصب به سرورها اضافه شوند.

شرایط لازم برای بارگذاری سیستم عامل ISO به Vultr

شرایط لازم برای بارگذاری سیستم عامل ISO به Vultr

Vultr طیف گسترده ای از سیستم عامل ها را برای انتخاب انتخاب می کند. با این وجود ، گاهی اوقات ، ممکن است بخواهید سیستم عامل شخصی خود مانند ISO را بارگذاری کنید

راه حل های نظارت بر VPS شما

راه حل های نظارت بر VPS شما

در این مقاله با انتخاب راه حل های مانیتورینگ موجود برای سرور Vultr خود آشنا می شوید. بسته به انتخاب سیستم عامل شما ،

Windows Audio را در Windows Server Instance فعال کنید

Windows Audio را در Windows Server Instance فعال کنید

توجه: این راهنما برای موارد Windows 2012 R2 و Windows 2016 کار خواهد کرد. سرورهای ویندوز ، به طور پیش فرض ، سرویس Windows Audio را فعال نمی کنند.

با استفاده از تأیید هویت دو عاملی برای ورود به صفحه کنترل Vultr

با استفاده از تأیید هویت دو عاملی برای ورود به صفحه کنترل Vultr

تأیید هویت Two-Factor یا 2FA ، روشی است که با نیاز به یک مرحله احراز هویت اضافی برای ورود به سیستم ، لایه ای از امنیت را اضافه می کند .برای امنیت قوی

تغییر آدرس IP Outfound Postfix

تغییر آدرس IP Outfound Postfix

هنگامی که یک سرور بیش از یک آدرس IP اختصاص داده شده به آن ، Postfix به طور تصادفی یک آدرس IP را برای ایمیل های خروجی انتخاب می کند. این رفتار پیش فرض Postfix می تواند دوباره به نتیجه برسد

نحوه نصب بستر سبد خرید LiteCart در اوبونتو 16.04

نحوه نصب بستر سبد خرید LiteCart در اوبونتو 16.04

LiteCart یک بستر سبد خرید آزاد و منبع باز است که به زبان های PHP ، jQuery و HTML 5 نوشته شده است. این نرم افزار ساده ، سبک و با کاربرد آسان است.

نحوه نصب Anchor CMS بر روی یک VPS Fedora 26 LAMP

نحوه نصب Anchor CMS بر روی یک VPS Fedora 26 LAMP

با استفاده از یک سیستم متفاوت؟ Anchor CMS یک سیستم مدیریت محتوا (CMS) بسیار ساده و بسیار سبک ، بسیار آزاد و آزاد است.

اشتراک NFS را در Debian تنظیم کنید

اشتراک NFS را در Debian تنظیم کنید

NFS یک سیستم فایل مبتنی بر شبکه است که به رایانه ها اجازه می دهد تا از طریق شبکه رایانه ای به فایلها دسترسی پیدا کنند. این راهنما توضیح می دهد که چگونه می توانید پوشه ها را روی NF قرار دهید

نحوه بروزرسانی CentOS 7 ، Ubuntu 16.04 و Debian 8

نحوه بروزرسانی CentOS 7 ، Ubuntu 16.04 و Debian 8

هنگام راه اندازی سرور جدید لینوکس ، به روزرسانی سیستم های هسته و سایر بسته ها تا آخرین نسخه پایدار یک روش توصیه شده است. در این مقاله

نحوه نصب Matomo Analytics در Fedora 28

نحوه نصب Matomo Analytics در Fedora 28

با استفاده از یک سیستم متفاوت؟ Matomo (سابقا پیویک) یک بستر تحلیلی منبع باز است ، یک جایگزین باز برای Google Analytics. منبع Matomo میزبان o

یک سرور TeamTalk را در لینوکس تنظیم کنید

یک سرور TeamTalk را در لینوکس تنظیم کنید

TeamTalk یک سیستم کنفرانس است که به کاربران امکان می دهد مکالمات صوتی / تصویری با کیفیت بالا ، چت متنی ، انتقال فایل ها و صفحه های به اشتراک بگذارند. من

با استفاده از کلید SSH خود برای ورود به کاربران غیر ریشه استفاده کنید

با استفاده از کلید SSH خود برای ورود به کاربران غیر ریشه استفاده کنید

Vultr یک ویژگی را فراهم می کند که به شما امکان می دهد با ایجاد یک نمونه جدید ، کلیدهای SSH را از قبل نصب کنید. این اجازه می دهد تا به کاربر root دسترسی داشته باشید ، با این حال ، th

نحوه نصب انجمن NodeBB در FreeBSD 12

نحوه نصب انجمن NodeBB در FreeBSD 12

با استفاده از یک سیستم متفاوت؟ NodeBB یک نرم افزار انجمن مبتنی بر Node.js است. از سوکت های وب برای تعامل فوری و اعلامیه های زمان واقعی استفاده می کند. NodeB

نصب و راه اندازی ZNC در اوبونتو

نصب و راه اندازی ZNC در اوبونتو

ZNC یک پیشرانه پیشرفته شبکه IRC است که تمام وقت بهم متصل می شود تا مشتری IRC بتواند بدون از دست دادن جلسه گپ قطع یا وصل شود.

نحوه نصب Ranger Terminal File Manager در لینوکس

نحوه نصب Ranger Terminal File Manager در لینوکس

رنجر یک مدیر فایل مبتنی بر خط فرمان است که دارای کلیدهای اتصال VI است. این برنامه یک رابط لعنتی مینیمالیستی و زیبا با نمای سلسله مراتب فهرست ارائه می دهد