Skydive müştərisi vasitəsilə əl ilə Skydive topologiyasına qovşağın əlavə edilməsi

Skydive açıq mənbəli, real vaxt şəbəkə topologiyası və protokol analizatorudur. Onun məqsədi şəbəkə infrastrukturunda baş verənləri başa düşmək üçün hərtərəfli bir yol təqdim etməkdir.

Sizi maraqlandırmaq üçün sizə Skydive haqqında bir neçə skrinşot verəcəyəm. Aşağıda Skydive-a giriş haqqında yazı olacaq.

Skydive müştərisi vasitəsilə əl ilə Skydive topologiyasına qovşağın əlavə edilməsi

Skydive müştərisi vasitəsilə əl ilə Skydive topologiyasına qovşağın əlavə edilməsi

Post "skydive.network-ə giriş» Habré-də.

Skydive, Skydive agentlərindən şəbəkə hadisələrini qəbul edərək şəbəkə topologiyasını göstərir. Skydive agent şəbəkəsindən kənar şəbəkə komponentlərini və ya TOR, məlumatların saxlanması və s. kimi qeyri-şəbəkə obyektlərini topologiya diaqramına necə əlavə etmək və ya göstərmək barədə heç düşünmüsünüzmü. Node qayda API sayəsində artıq bundan narahat olmağa ehtiyac yoxdur.

0.20 versiyasından bəri Skydive yeni qovşaqlar və kənarlar yaratmaq və mövcud qovşaqların metadatasını yeniləmək üçün istifadə edilə bilən Node qayda API təqdim edir. Node qayda API-si iki API-yə bölünür: node qayda API və kənar qayda API. Node Rule API yeni node yaratmaq və mövcud node metadatasını yeniləmək üçün istifadə olunur. Kenar qayda API iki qovşaq arasında sərhəd yaratmaq üçün istifadə olunur, yəni. iki qovşağı birləşdirir.

Bu bloqda biz iki istifadə halını görəcəyik, onlardan biri skydive şəbəkəsinin bir hissəsi olmayan şəbəkə komponentidir. İkinci seçim qeyri-şəbəkə komponentidir. Bundan əvvəl biz Topology Rules API-dən istifadə etməyin bəzi əsas yollarına baxacağıq.

Skydive Node yaradılması

Bir qovşaq yaratmaq üçün unikal node adı və etibarlı qovşaq növü təqdim etməlisiniz. Siz həmçinin bəzi əlavə seçimlər təqdim edə bilərsiniz.

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 Nodes metadatasını yeniləyin

Mövcud qovşağın metadatasını yeniləmək üçün metadata yeniləmək istədiyiniz qovşaqları seçmək üçün gremlin sorğusu təqdim etməlisiniz. Sorğunuza uyğun olaraq, bir qovşaq qaydasından istifadə edərək bir və ya bir neçə qovşaqın metadatasını yeniləyə bilərsiniz.

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')"
}

Skydive Edge yaratmaq

Kənar yaratmaq üçün mənbə və təyinat qovşaqlarını və kənarın keçid növünü təyin etməlisiniz; uşaq qovşağı yaratmaq üçün keçid növünün dəyəri sahiblik olmalıdır; oxşar şəkildə, link tipli qat2 yaratmaq üçün keçid növü dəyəri olmalıdır. qat2. Siz iki qovşaq arasında birdən çox əlaqə yarada bilərsiniz, lakin əlaqə növü fərqli olmalıdır.

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 istifadə halı

Bu halda, paraşütlə tullanma topologiyasında qeyri-şəbəkə qurğusunun necə göstərilməsinə baxacağıq. Nəzərə alaq ki, bəzi faydalı metadata ilə skydive topologiya diaqramında göstərilməli olan məlumat anbarımız var.

Cihazı topologiyaya əlavə etmək üçün sadəcə bir qovşaq qaydası yaratmalıyıq. Biz cihaz metadatasını yarat əmrinin bir hissəsi kimi əlavə edə və ya daha sonra bir və ya daha çox yeniləmə node qayda əmrləri yarada bilərik.

Topologiya diaqramına yaddaş qurğusu əlavə etmək üçün aşağıdakı host qaydası əmrini yerinə yetirin.

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"

Yaradılmış qovşağı host node ilə əlaqələndirmək üçün kənar qaydanın altındakı əmri yerinə yetirin.

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

Yuxarıdakı əmrlərdən sonra siz indi aşağıdakı şəkildə göstərildiyi kimi verilmiş metadata ilə paraşütlə tullanma topologiyası diaqramında görünən cihazı görə bilərsiniz.

Skydive müştərisi vasitəsilə əl ilə Skydive topologiyasına qovşağın əlavə edilməsi

İkinci istifadə halı

Bu halda biz paraşütlə tullanma şəbəkəsinin bir hissəsi olmayan şəbəkə cihazını necə əlavə edəcəyimizi görəcəyik. Bu misala baxaq. İki fərqli hostda işləyən iki skydive agentimiz var, bu iki hostu birləşdirmək üçün bizə TOR keçidi lazımdır. Konfiqurasiya faylında struktur qovşaqlarını və keçidləri müəyyən etməklə buna nail ola bilsək də, gəlin Topologiya Qaydaları API-dən istifadə edərək eyni şeyi necə edə biləcəyimizi görək.

TOR keçidi olmadan, iki agent aşağıdakı şəkildə göstərildiyi kimi heç bir əlaqə olmadan iki fərqli qovşaq kimi görünəcək.

Skydive müştərisi vasitəsilə əl ilə Skydive topologiyasına qovşağın əlavə edilməsi

İndi TOR keçidini və portları yaratmaq üçün aşağıdakı Host Qaydaları əmrlərini yerinə yetirin.

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üyünüz kimi, TOR keçidi və portlar yaradılıb və skydive topologiyasına əlavə edilib və topologiya indi aşağıdakı şəkildəki kimi görünəcək.

Skydive müştərisi vasitəsilə əl ilə Skydive topologiyasına qovşağın əlavə edilməsi

İndi TOR keçidi, port 1 və host 1-in ictimai interfeysi arasında əlaqə yaratmaq üçün aşağıdakı Edge Rule əmrlərini yerinə yetirin.

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 keçid portu 2 və host 2 ictimai interfeysi arasında əlaqə yaratmaq üçün aşağıdakı əmrləri yerinə yetirin

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"

İndi TOR keçidi və port arasında sahiblik və 2-ci qat assosiasiyaları, eləcə də agentlər və portlar arasında lay2 assosiasiyaları yaradılır. İndi son topologiya aşağıdakı şəkildəki kimi görünəcəkdir.

Skydive müştərisi vasitəsilə əl ilə Skydive topologiyasına qovşağın əlavə edilməsi

İndi iki host/agent düzgün birləşdirilib və siz əlaqəni sınaqdan keçirə və ya iki host arasında ən qısa yol tutmasını yarada bilərsiniz.

PS Bağlantısı orijinal yazı

Biz digər Skydive xüsusiyyətləri haqqında yazı yaza biləcək insanları axtarırıq.
Telegram söhbəti skydive.network vasitəsilə.

Mənbə: www.habr.com

Добавить комментарий