Skydive istemcisi aracılığıyla Skydive topolojisine manuel olarak düğüm ekleme

Skydive açık kaynaklı, gerçek zamanlı bir ağ topolojisi ve protokol analizörüdür. Bir ağ altyapısında neler olup bittiğini anlamak için kapsamlı bir yol sağlamayı amaçlamaktadır.

İlginizi çekmek için size Skydive ile ilgili birkaç ekran görüntüsü vereceğim. Aşağıda Skydive'a giriş konulu bir yazı yer alacaktır.

Skydive istemcisi aracılığıyla Skydive topolojisine manuel olarak düğüm ekleme

Skydive istemcisi aracılığıyla Skydive topolojisine manuel olarak düğüm ekleme

Postalamak "skydive.network'e giriş» Habré'de.

Skydive, Skydive aracılarından ağ olaylarını alarak ağ topolojisini görüntüler. Skydive aracı ağı dışındaki ağ bileşenlerini veya TOR, veri depolama vb. gibi ağ dışı nesneleri bir topoloji diyagramında nasıl ekleyeceğinizi veya görüntüleyeceğinizi hiç merak ettiniz mi? Düğüm kuralı API'si sayesinde artık bu konuda endişelenmenize gerek yok.

Skydive, 0.20 sürümünden bu yana, yeni düğümler ve kenarlar oluşturmak ve mevcut düğümlerin meta verilerini güncellemek için kullanılabilecek bir Düğüm kuralı API'si sağlıyor. Düğüm kuralı API'si iki API'ye bölünmüştür: düğüm kuralı API'si ve kenar kuralı API'si. Düğüm Kuralı API'si, yeni bir düğüm oluşturmak ve mevcut bir düğümün meta verilerini güncellemek için kullanılır. Kenar kuralı API'si iki düğüm arasında bir sınır oluşturmak için kullanılır; iki düğümü birbirine bağlar.

Bu blogda iki kullanım durumu göreceğiz; bunlardan biri paraşütle atlama ağının parçası olmayan bir ağ bileşenidir. İkinci seçenek ağ dışı bir bileşendir. Bundan önce Topoloji Kuralları API'sini kullanmanın bazı temel yollarına bakacağız.

Skydive Düğümü Oluşturma

Bir düğüm oluşturmak için benzersiz bir düğüm adı ve geçerli bir düğüm türü sağlamanız gerekir. Ayrıca bazı ek seçenekler de sağlayabilirsiniz.

skydive client node-rule create --action="create" --node-name="node1" --node-type="fabric" --name="node rule1"
{
  "UUID": "ea21c30f-cfaa-4f2d-693d-95159acb71ed",
  "Name": "node rule1",
  "Description": "",
  "Metadata": {
    "Name": "node1",
    "Type": "fabric"
  },
  "Action": "create",
  "Query": ""
}

Skydive Düğümleri Meta Verilerini Güncelleyin

Mevcut bir düğümün meta verilerini güncellemek için meta verileri güncellemek istediğiniz düğümleri seçmek üzere bir gremlin sorgusu sağlamanız gerekir. İsteğiniz doğrultusunda tek düğüm kuralı kullanarak bir veya daha fazla düğümün meta verilerini güncelleyebilirsiniz.

skydive client node-rule create --action="update" --name="update rule" --query="G.V().Has('Name', 'node1')" --metadata="key1=val1, key2=val2"
{
  "UUID": "3e6c0e15-a863-4583-6345-715053ac47ce",
  "Name": "update rule",
  "Description": "",
  "Metadata": {
    "key1": "val1",
    "key2": "val2"
  },
  "Action": "update",
  "Query": "G.V().Has('Name', 'node1')"
}

Paraşütle Uçma Kenarı Oluşturma

Bir kenar oluşturmak için kaynak ve hedef düğümleri ve kenarın bağlantı türünü belirtmeniz gerekir; bir alt düğüm oluşturmak için bağlantı türü değeri sahiplik olmalıdır; benzer şekilde, bir katman2 bağlantı türü oluşturmak için bağlantı türü değeri şu şekilde olmalıdır: katman2. İki düğüm arasında birden fazla bağlantı oluşturabilirsiniz ancak bağlantı türünün farklı olması gerekir.

skydive client edge-rule create --name="edge" --src="G.v().has('TID', '2f6f9b99-82ef-5507-76b6-cbab28bda9cb')" --dst="G.V().Has('TID', 'd6ec6e2f-362e-51e5-4bb5-6ade37c2ca5c')" --relationtype="both"
{
  "UUID": "50fec124-c6d0-40c7-42a3-2ed8d5fbd410",
  "Name": "edge",
  "Description": "",
  "Src": "G.v().has('TID', '2f6f9b99-82ef-5507-76b6-cbab28bda9cb')",
  "Dst": "G.V().Has('TID', 'd6ec6e2f-362e-51e5-4bb5-6ade37c2ca5c')",
  "Metadata": {
    "RelationType": "both"
  }
}

İlk kullanım durumu

Bu durumda ağ dışı bir cihazın skydive topolojisinde nasıl gösterileceğine bakacağız. Bazı yararlı meta verilerle birlikte paraşüt topolojisi diyagramında görüntülenmesi gereken bir veri ambarımız olduğunu düşünelim.

Cihazı topolojiye eklemek için sadece bir düğüm kuralı oluşturmamız gerekiyor. Create komutunun bir parçası olarak cihaz meta verilerini ekleyebilir veya daha sonra bir veya daha fazla güncelleme düğümü kuralı komutu oluşturabiliriz.

Topoloji diyagramına bir depolama cihazı eklemek için aşağıdaki ana bilgisayar kuralı komutunu çalıştırın.

skydive client node-rule create --action="create" --node-name="sda" --node-type="persistentvolume" --metadata="DEVNAME=/dev/sda,DEVTYPE=disk,ID.MODEL=SD_MMC, ID.MODEL ID=0316, ID.PATH TAG=pci-0000_00_14_0-usb-0_3_1_0-scsi-0_0_0_0, ID.SERIAL SHORT=20120501030900000, ID.VENDOR=Generic-, ID.VENDOR ID=0bda, MAJOR=8, MINOR=0, SUBSYSTEM=block, USEC_INITIALIZED=104393719727"

Oluşturulan düğümü ana bilgisayar düğümüyle ilişkilendirmek için kenar kuralının altındaki komutu çalıştırın.

skydive client edge-rule create --src="G.V().Has('Name', 'node1')" --dst="G.V().Has('Name', 'sda')" --relationtype="ownership"

Yukarıdaki komutlardan sonra artık cihazı aşağıdaki görüntüde gösterildiği gibi verilen meta verilerle paraşüt topolojisi diyagramında görünür olarak görebilirsiniz.

Skydive istemcisi aracılığıyla Skydive topolojisine manuel olarak düğüm ekleme

İkinci kullanım durumu

Bu durumda paraşütle atlama ağının parçası olmayan bir ağ cihazının nasıl ekleneceğini göreceğiz. Bu örneğe bakalım. İki farklı ana bilgisayar üzerinde çalışan iki hava dalışı aracımız var, bu iki ana bilgisayarı birbirine bağlamak için bir TOR anahtarına ihtiyacımız var. Bunu bir yapılandırma dosyasındaki yapı düğümlerini ve bağlantıları tanımlayarak başarabilsek de, Topology Rules API'yi kullanarak aynı şeyi nasıl yapabileceğimizi görelim.

TOR anahtarı olmadan, iki aracı, aşağıdaki resimde gösterildiği gibi, hiçbir bağlantısı olmayan iki farklı düğüm olarak görünecektir.

Skydive istemcisi aracılığıyla Skydive topolojisine manuel olarak düğüm ekleme

Şimdi TOR anahtarını ve bağlantı noktalarını oluşturmak için aşağıdaki Ana Bilgisayar Kuralları komutlarını çalıştırın.

skydive client node-rule create --node-name="TOR" --node-type="fabric" --action="create"
skydive client node-rule create --node-name="port1" --node-type="port" --action="create"
skydive client node-rule create --node-name="port2" --node-type="port" --action="create"

Gördüğünüz gibi TOR switch ve portlar oluşturulup skydive topolojisine eklendi ve topoloji artık aşağıdaki görüntüdeki gibi görünecek.

Skydive istemcisi aracılığıyla Skydive topolojisine manuel olarak düğüm ekleme

Şimdi TOR anahtarı, bağlantı noktası 1 ve ana bilgisayar 1'in genel arayüzü arasında bir bağlantı oluşturmak için aşağıdaki Kenar Kuralı komutlarını çalıştırın.

skydive client edge-rule create --src="G.V().Has('Name', 'TOR')" --dst="G.V().Has('Name', 'port1')" --relationtype="ownership"
skydive client edge-rule create --src="G.V().Has('Name', 'TOR')" --dst="G.V().Has('Name', 'port1')" --relationtype="layer2"
skydive client edge-rule create --src="G.V().Has('TID', '372c254d-bac9-50c2-4ca9-86dcc6ce8a57')" --dst="G.V().Has('Name', 'port1')" --relationtype="layer2"

TOR anahtarı bağlantı noktası 2 ile ana bilgisayar 2 ortak arabirimi arasında bir bağlantı oluşturmak için aşağıdaki komutları çalıştırın

skydive client edge-rule create --src="G.V().Has('Name', 'TOR')" --dst="G.V().Has('Name', 'port2')" --relationtype="layer2"
skydive client edge-rule create --src="G.V().Has('Name', 'TOR')" --dst="G.V().Has('Name', 'port2')" --relationtype="ownership"
skydive client edge-rule create --src="G.V().Has('TID', '50037073-7862-5234-4996-e58cc067c69c')" --dst="G.V().Has('Name', 'port2')" --relationtype="layer2"

Artık TOR anahtarı ile bağlantı noktası arasında sahiplik ve katman2 ilişkilerinin yanı sıra aracılar ve bağlantı noktaları arasında katman2 ilişkileri de oluşturuluyor. Artık son topoloji aşağıdaki görüntüdeki gibi görünecek.

Skydive istemcisi aracılığıyla Skydive topolojisine manuel olarak düğüm ekleme

Artık iki ana bilgisayar/aracı doğru şekilde bağlanmıştır ve bağlantıyı test edebilir veya iki ana bilgisayar arasında en kısa yol yakalamasını oluşturabilirsiniz.

PS Bağlantısı orijinal gönderi

Diğer Skydive özellikleri hakkında yazı yazabilecek kişiler arıyoruz.
Telgraf sohbeti skydive.network aracılığıyla.

Kaynak: habr.com

Yorum ekle