Ročno dodajanje vozlišča v topologijo Skydive prek odjemalca Skydive

Skydive je odprtokodni analizator topologije omrežja in protokolov v realnem času. Njegov namen je zagotoviti celovit način razumevanja dogajanja v omrežni infrastrukturi.

Da bi vas zanimal, vam bom dal nekaj posnetkov zaslona o Skydive. Spodaj bo objava o uvodu v Skydive.

Ročno dodajanje vozlišča v topologijo Skydive prek odjemalca Skydive

Ročno dodajanje vozlišča v topologijo Skydive prek odjemalca Skydive

Objava "Uvod v skydive.network» na Habréju.

Skydive prikaže omrežno topologijo s prejemanjem omrežnih dogodkov od agentov Skydive. Ali ste se kdaj vprašali, kako dodati ali prikazati v topološkem diagramu omrežne komponente, ki so zunaj agentskega omrežja Skydive, ali neomrežne objekte, kot so TOR, shramba podatkov itd. Zahvaljujoč API-ju za pravila vozlišča vam o tem ni treba več skrbeti.

Skydive od različice 0.20 ponuja API za pravila vozlišč, ki se lahko uporablja za ustvarjanje novih vozlišč in robov ter za posodobitev metapodatkov obstoječih vozlišč. API pravila vozlišča je razdeljen na dva API-ja: API pravila vozlišča in API pravila roba. Node Rule API se uporablja za ustvarjanje novega vozlišča in posodobitev metapodatkov obstoječega vozlišča. API robnega pravila se uporablja za ustvarjanje meje med dvema vozliščema, tj. povezuje dve vozlišči.

V tem blogu bomo videli dva primera uporabe, od katerih je eden omrežna komponenta, ki ni del omrežja za skok s padalom. Druga možnost je neomrežna komponenta. Pred tem si bomo ogledali nekaj osnovnih načinov uporabe API-ja Topology Rules.

Ustvarjanje vozlišča Skydive

Če želite ustvariti vozlišče, morate podati edinstveno ime vozlišča in veljavno vrsto vozlišča. Navedete lahko tudi nekaj dodatnih možnosti.

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": ""
}

Posodobite metapodatke Skydive Nodes

Če želite posodobiti metapodatke obstoječega vozlišča, morate podati poizvedbo gremlin, da izberete vozlišča, na katerih želite posodobiti metapodatke. Glede na vašo zahtevo lahko posodobite metapodatke enega ali več vozlišč z uporabo pravila enega vozlišča.

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

Ustvarjanje padalskega roba

Če želite ustvariti rob, morate določiti izvorno in ciljno vozlišče ter vrsto povezave roba; če želite ustvariti podrejeno vozlišče, mora biti vrednost tipa povezave lastništvo; podobno mora biti vrednost tipa povezave lastništvo, če želite ustvariti sloj 2 tipa povezave. sloj2. Ustvarite lahko več kot eno povezavo med dvema vozliščema, vendar mora biti vrsta povezave različna.

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

Prvi primer uporabe

V tem primeru si bomo ogledali, kako prikazati neomrežno napravo v topologiji skoka s padalom. Recimo, da imamo podatkovno skladišče, ki mora biti prikazano v topološkem diagramu padalstva z nekaterimi uporabnimi metapodatki.

Samo ustvariti moramo pravilo vozlišča, da dodamo napravo v topologijo. Metapodatke o napravi lahko dodamo kot del ukaza za ustvarjanje ali pa pozneje ustvarimo enega ali več ukazov pravila vozlišča za posodobitev.

Zaženite naslednji ukaz pravila gostitelja, da dodate pomnilniško napravo v topološki diagram.

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"

Zaženite ukaz pod robnim pravilom, da ustvarjeno vozlišče povežete z gostiteljskim vozliščem.

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

Po zgornjih ukazih lahko zdaj vidite napravo, ki je vidna v diagramu topologije skoka s padalom z danimi metapodatki, kot je prikazano na spodnji sliki.

Ročno dodajanje vozlišča v topologijo Skydive prek odjemalca Skydive

Drugi primer uporabe

V tem primeru bomo videli, kako dodati omrežno napravo, ki ni del omrežja za skok s padalom. Poglejmo ta primer. Imamo dva agenta za skok s padalom, ki delujeta na dveh različnih gostiteljih, za povezavo teh dveh gostiteljev potrebujemo stikalo TOR. Čeprav lahko to dosežemo z definiranjem strukturnih vozlišč in povezav v konfiguracijski datoteki, poglejmo, kako lahko storimo enako z API-jem Topology Rules.

Brez stikala TOR bosta agenta prikazana kot dve različni vozlišči brez povezav, kot je prikazano na spodnji sliki.

Ročno dodajanje vozlišča v topologijo Skydive prek odjemalca Skydive

Zdaj zaženite naslednje ukaze Host Rules, da ustvarite stikalo in vrata TOR.

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"

Kot lahko vidite, so bili stikalo in vrata TOR ustvarjeni in dodani v topologijo skoka s padalom, topologija pa bo zdaj videti kot spodnja slika.

Ročno dodajanje vozlišča v topologijo Skydive prek odjemalca Skydive

Zdaj zaženite naslednje ukaze Edge Rule, da ustvarite povezavo med stikalom TOR, vrati 1 in javnim vmesnikom gostitelja 1.

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"

Zaženite naslednje ukaze, da ustvarite povezavo med vrati 2 stikala TOR in javnim vmesnikom gostitelja 2

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"

Lastništvo in povezave sloja 2 so zdaj ustvarjene med stikalom TOR in vrati, kot tudi povezave sloja 2 med agenti in vrati. Zdaj bo končna topologija videti kot spodnja slika.

Ročno dodajanje vozlišča v topologijo Skydive prek odjemalca Skydive

Zdaj sta dva gostitelja/agenta pravilno povezana in lahko preizkusite povezavo ali ustvarite zajem najkrajše poti med obema gostiteljema.

PS Povezava do originalna objava

Iščemo ljudi, ki bi lahko pisali objave o drugih funkcijah Skydive.
Telegram klepet preko skydive.network.

Vir: www.habr.com

Dodaj komentar