Netbackup API İncelemesi ve Kullanım Örneği

Günümüzde Enterprise uygulamaların diğer yazılımlarla birlikte çalışma ihtiyacı gün geçtikçe artıyor, bulut temelli uygulamaların kullanımının artması da bu ihtiyacı destekliyor. API’ler bu ihtiyacın karşılanmasında önemli rol oynuyor.

Veritas Netbackup globalde ve ülkemizde Enterprise seviyede yaygın kullanım oranına sahip, çok çeşitli OS ve yedekleme yüklerini destekleyen veri koruma (yedekleme) yazılımıdır. 2022 Aralık ayı itibari ile “10.1” versiyonu çıkacak olan Netbackup’ın API desteği aslında “8.2" versiyonundan bu yana bulunuyor ve yeni özellikler eklenerek güncelleniyor.

Kısa bir girişten sonra gelin Netbackup API’sinin 10.0 versiyonunu inceleyelim, sonrasında API’yi kullanarak küçük bir uygulama yapacağız.

Netbackup API Özellikleri

  • Netbackup API’si REST mimarisindedir, Netbackup ile iletişimi HTTP istekleri ile yapar.
  • API’ye istekler ve cevaplar JSON formatında yapılmaktadır.
  • API’ye istek gönderebilmek için “authenticate” olmanız gerekiyor. “Authenticate” olabilmek için “JWT” ya da “api-key” oluşturma yöntemini kullanabilirsiniz.

Netbackup API’yi Test Etmek

Netbackup API Dokümantasyonuna master servera erişebildiğiniz bir tarayıcı üzerinden aşağıdaki şekilde erişebilirsiniz.

https://<master_server>:1556/api-docs/index.html

Aşağıda gördüğünüz gibi Netbackup Server ile iletişime geçip çeşitli işlemler yapabileceğiniz API’ler kullanım alanlarına göre kategorilere ayrılmış. API’yi kullanarak yapacaklarınız ise sizin kullanım ihtiyaçlarınıza göre şekillenecektir.

API’yi Deneyelim

Şimdi gelin API’ye istek göndererek alabildiğimiz bilgilerden örnek bir sorgu oluşturalım. Bu denemeleri yapabilmek için netbackup bize bir web arayüzü sunuyor.

Öncelikle, login olabilmemiz için, login isteği oluşturmamız gerekiyor.

https://<master_server>:1556/api-docs/index.html sayfasına giderek, “/login” bölümünü genişletin ve “Try it out” diyerek login isteğini oluşturmaya başlayın. Tokenı alabilmek için aşağıdaki bilgilerle bir istek yapmamız gerekiyor.

"domainType" ==> linux için "unixpwd", windows için "NT" yazabilirsiniz.
"domainName" ==> master server ismi
"userName": ==> kullanıcı adı
"password": ==> şifre
{
"domainType": "NT",
"domainName": "string",
"userName": "string",
"password": "string"
}

Gerekli girdileri sağladıktan sonra “execute ” butonu ile isteğimizi gönderiyoruz herşey yolunda gitmiş ise API bize bir token üretecektir.

Son adım olarak gelen tokenı kopyalayıp, apiyi kullanmak için “authorize”

olacağız.

Sayfanın sağ üst köşesinde “Authorize” butonuna tıklayın, açılan kısımda “jwtAuth” alanına kopyaladığınız tokenı yapıştırın ve “Authorize” a tıklayın. Yine herşey yolunda gitmişse artık login oldunuz ve api isteklerini yapmaya başlayabilirsiniz demektir. =)

Artık login olduğumuza göre API’ye istek gönderebiliriz, örnek olarak diskpool bilgilerini listeleyeceğiz.

Storage bölümünü seçin, storage bilgileri ile ilgili seçenekler açılacaktır.

“Disk Pools” bölümüne gelin bilgi çekeceğimiz için “GET” direktifi ile başlayan /storage/disk-pools sorgunu kullanacağız bu kısmı genişletin. “Try it Out” a tıklayın, daha sonra herhangi bir girdi sağlamadan, “execute” seçeneğini tıklayın.

s

Gördüğünüz üzere diskpoola ait güncel kapasite bilgilerini api üzerinden elde edebildik.


{
"data": [
{
"type": "diskPool",
"id": "PureDisk:masked-msdp",
"attributes": {
"name": "masked-msdp",
"sType": "PureDisk",
"storageCategory": "MSDP",
"diskVolumes": [
{
"name": "PureDiskVolume",
"id": "5075999999999F6C756D65",
"diskMediaId": "@aaaa_",
"state": "UP",
"rawSizeBytes": 1263273324164096,
"freeSizeBytes": 933154425361408,
"isReplicationSource": false,
"isReplicationTarget": false,
"wormIndelibleMinimumInterval": 1296000,
"wormIndelibleMaximumInterval": 432000000,
"diskVolumeCapabilities": [
"WORM_INDELIBLE",
"WORM_IMMUTABLE",
"WORM_IMAGEAUDIT",
"WORMF_MUTABLE",
"WORMF_IMMUTABLE",
"WORMF_DELETABLE",
"WORMF_INDELIBLE",
"WORMF_CREATE_IMMUTABLE_AND_DELETABLE"
]
}
],
*
*
*
*

Siz de api üzerinden çekebileceğiniz bilgileri, arayüz üzerinden test edebilir; Python gibi dilleri kullanarak dönen bu sonuçları işleyip diğer programların kullanımına sunabilirsiniz. Bu kullanımın nasıl yapılabileceği ise başka bir makalenin konusu olsun.

Netbackup’ın sunduğu API ile neler yapılabildiğini göstermek ve bu konuya merak duyanlar için bir başlangıç noktası oluşturmak amacıyla yazdığım bu yazı umarım faydalı olmuştur.

--

--