Hau da artikuluaren azken zatia, hona hemen hasiera
Azken aldian gailuen monitorizazioa nola ezarri nuen idatzi nuen, orain kudeaketari buruz hitz egingo dugu. Bezeroaren "teknikariekin" eztabaidetan, sarritan gailu txiki horien gaitasunen pertzepzio mugatu batekin topatzen naiz (memoria baliabide eta errendimendu baxuekin), askok uste dute "behar dugun maximoa berrabiarazi bat bidaltzea dela". , zerbait serioagorako - brigada bat bidaliko dugu" .
Baina praktikak erakusten du hori ez dela guztiz egia.
- Sareko diagnostikoak eta arazoak konpontzea. Zure bideratzailearen ethernet atakaren atzean, beste burdin zati bat "bizi" ohi da, bere barne IP helbidea duena. Batzuetan, "pinga" izan daiteke (behar). Edo tunelaren kudeaketa: tunela bat-batean 3G modemaren bidez lan egiten duen bideratzailean altxatzen ez bada, baina bideratzailea bera ikusten dugu.
- Sistemaren zerbitzua. Firmwarearen eguneratzea, zerbitzu-scriptak eguneratzea.
- Ekilibristikoak. Horri "perbertsioak" dei genitzake, baina "funambulista" kontzeptua, aipatu dut, "zirko-jotzaile batek gorputz-posizio ezegonkor batean oreka mantentzeko duen gaitasuna" - hobeto egokitzen da. Horrelako egoerak bezeroaren aurrekontu mugatuaren ondorioz sortzen dira. Adibide pare bat jarri ditut jarraian, baina geroztik ez daude ipuinaren gaiarekin zerikusi zuzena, oharretan jartzen ditut
wifi monitorizazioaAzken bost urteotan modan dagoen gaia, batez ere txikizkako kate federalen artean. Poliki-poliki merkataritza-guneetatik ibiltzen ari zara, eta zure telefono mugikorrak Wi-Fi piztuta, sareko hariren bati "txikitzen" nahian, aldian-aldian Probe Request paketeak bidaltzen ditu, zure kabuz kalkulatzeko aztertu daitezkeenak. : zenbat aldiz etortzen zara denda honetara, zein ibilbidetara ibiltzen zaren eta abar. Gainera, datuak bildu, aztertu, bero-mapak marrazten dira eta kudeatzaileek kudeaketa edo inbertitzaileen dirua "kanporatzen" egiten dute argazki horietarako. Bitartean .... βez dago dirurik, baina eutsi ...β, eta emaitza (benetakoa) erakutsi beharko litzateke jada, abesti zahar ona βBai, bai, orduan noski hornituko ditugu ciscos eta nahi duzuna, baina orain Bezeroari emaitza erakutsi behar diogu! Bide batez, ahaztu egin zitzaien esatea Bezeroak gure ekipoak bere hotspotera Wi-Fi bidez konektatzea baimentzen zuela, baina orokorrean, bezero gonbidatuak bagina bezala. Eta orain bideratzaile equilibristak egin behar dituzu: hainbat WiFi azpiinterfaze igotzen dira, horietako bat hotspot-era atxikitzen da, eta bigarrenak ingurunea kontrolatzen du, tcpdump-en emaitza deskargatzen du bere baitan, gero fitxategiaren edukia artxibo batean biltzen du eta "Gehiegi janez" hiltzeko arriskua du edukiak ftp zerbitzariari tu egiten saiatzean. Ez da harritzekoa equilibrist bideratzailea sarritan "matxura" izatea eta nolabait urrunetik "berrabiatu" behar izatea.
ErradioaHemen errazagoa da egoera deskribatzea bezeroaren adierazpen honekin: βHonen sare deszentralizatua nahi dugu, aldez aurretik eredua ezagutzen ez den ekipoetan funtzionatuko lukeena, kanalen bidez, baina oraindik ezagutzen ez ditugunak. Ah, ahaztu zaigu esatea, bezeroei iragarkiak erakutsi nahi ez ezik, hotspot instalazio gunearen inguruko guztia ere aztertu nahi dugu. Ez, oraindik ez dakigu zergatik, baina asmatuko dugu, ez izan zalantzarik, ideia hau burutzeko gai izan garaΒ».
Eta ez dugu ahaztu behar aldez aurretik ziurgabetasun askoren ondorioz, kudeaketa baldintza ez-estandarran egin behar dela, bideratzailera zuzenean ip bidez konektatu ezin garenean: portua eta jarduera ager arte itxaron behartuta gaudenean. hura. Abstrakzioa egiten badugu, zerbitzariaren eta bideratzailearen arteko elkarrizketa honela irudikatu daiteke:
- Router: Kaixo. Halako eta halako bideratzailea naiz, zereginik al dago niretzat?
- zerbitzaria: halako eta halako bideratzaile bat, bizirik zaudela erregistratu zaitut. Hona hemen erronka: erakutsi ifconfig komandoaren irteera?
- Router: Kaixo. Halako eta halako bideratzailea naiz, ifconfig-en emaitza erakusteko azken aldian, hona hemen. Ba al dago niretzako zereginik?
- zerbitzaria: halako eta halako bideratzaile bat, bizirik zaudela erregistratu zaitut. Ez dago zereginik zuretzat.
Galderarik interesgarriena hau da: nola bidal dezake urruneko bideratzaile batek informazio kopuru jakin bat? Azken zatian, baliabide mugatuak direla eta, bideratzaileak GET bidez bakarrik funtzionatzen duen wget bat bakarrik duela deskribatu nuen, ez dagoela ftp bezerorik edo kizkurrik. Zehatzago esanda, modu unibertsala behar dugu, irudi-multzoaren ezaugarriak kontuan hartu gabe. wget erabiltzea erabaki nuen. Zehatzago esanda, nola "gelditu" - ez nuen aukerarik π
Berehala erreserbaNire kudeaketa-soluzioa funtzionatzen ari da, ez oso mugatua, eta ziur nago okerra dela, nire bezero gehienei egokitu bazaie ere. Nola liteke zentzuz egitea: idatzi 80. atakatik datu bitarrak POST bidez bidaltzen dituen utilitate txiki bat. Sartu (erabilgarritasuna) bideratzailearen firmwarean eta erabili bash bertara sartzeko. Baina errealitatea hau da: a) azkar egin behar duzu b) ziurrenik dagoen "bideratzaileen zooan" dena egin beharko duzu c) "ez egin kalterik!" - Bideratzailea lanean ari bada eta beste zeregin batzuk egiten baditu, saiatu lehendik dagoen funtzionalitatean eragingo ez duten aldaketak egiten.
Goazen ezarpenera. Demagun zure bezeroak zabbix-ek bideratzailea erraz eta modu naturalean berrabiarazi nahi duela, "saguaren klik" batekin. Gaur inplementazioaren deskribapenari ekingo diogu zabbix-ekin.
"Administrazioa" -> "Scripts" menuan gehitu script berri bat. "Berrabiarazi" deitzen diogu, komando gisa "php /usr/share/zabbix/reboot.php {HOST.HOST}" idazten dugu.
Hurrengoa: Menua "Monitorizazioa" -> "Azken datuak" -> "Egin klik eskuineko botoiarekin nahi duzun ostalarian". Honela izango da menua gidoia gehitu ondoren.
Horren arabera, reboot.php script-a /usr/share/zabbix direktorioan jarri dugu (zuretzako ezberdina izan daiteke, zabbixa root direktorioa erabiltzen dut).
Segurtasun-oharraScript-en azalpena argitzeko, bideratzailearen IDa bakarrik erabiltzen dut, baina ez dut pasahitza erabiltzen. Laneko bertsioan, hau ez da gomendagarria! Zergatik egin nuen hau: galdera handia delako bideratzaileentzako pasahitzak non gorde? Zabbixe berez "inbentarioan"? Praktika kontraesankorra. Aukera gisa: mugatu kanpoko sarbidea reboot.php fitxategira bera
reboot.php fitxategia
<?php
// ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Ρ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ
$user = $argv[1];
// ΠΠΠΠΠΠΠΠ. ΠΠΎΡ Π·Π΄Π΅ΡΡ Π² ΡΠ΅Π»ΡΡ
Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ Π²ΡΠ΅-ΡΠ°ΠΊΠΈ ΠΏΡΠΎΠΏΠΈΡΡΠ²Π°ΡΡ ΠΏΠ°ΡΠΎΠ»Ρ ΡΡΡΡΠΎΠΉΡΡΠ²Π°! ΠΠΎ Π΄Π»Ρ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΠΈ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ
Π±Π΅Π· ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠ°ΡΠΎΠ»Ρ.
//$password = $argv[2];
$conn=new mysqli("localhost","db_user","db_password","db_name");
if (mysqli_connect_errno()) {
exit();
}
$conn->set_charset("utf8");
// "ΠΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌ" ΠΊΠΎΠΌΠ°Π½Π΄Ρ reboot Π·Π° ΡΡΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΠΎΠ»Ρ task ΡΠ°Π±Π»ΠΈΡΡ users. Π ΠΏΠΎΠ»Π΅ task ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ Π»ΡΠ±ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ.
$sql_users=$conn->prepare("UPDATE users SET task='reboot' WHERE id=? AND status='active';");
$sql_users->bind_param('s', $user);
$sql_users->execute();
$sql_users->close();
?>
Egia esan dena. "Nola lortu komandoaren exekuzioaren emaitza gailuaren aldetik" galdera irekita dago. Ikus dezagun ataza ifconfig komandoa adibide gisa erabiliz. Komando hau gailura bidal daiteke:
message=`ifconfig`; wget "http://xn--80abgfbdwanb2akugdrd3a2e5gsbj.xn--p1ai/a.php?u=user&p=password!&m=$message" -O /tmp/out.txt
, non:
mezua=`ifconfig` - ifconfig komandoaren irteeraren emaitza $message aldagaiari esleitzen diogu
wget"
u=erabiltzailea&p=pasahitza!&m=$mezua - kredentzialak eta m kontsulta aldagaiaren balioa - $message aldagaiaren edukia esleitzen du
-O /tmp/out.txt - Ez dugu /tmp/out.txt fitxategira irteerarik behar kasu honetan, baina parametro hau zehazten ez bada, wget-ek ez du funtzionatuko
Zergatik funtzionatzen du gaizkiBalizko segurtasun-zulo bat delako. Gerta daitekeen akatsik kaltegarriena zure komandoaren irteeran, adibidez, "&" ikurra badu. Hori dela eta, beharrezkoa da bideratzaileetatik bidaltzen den guztia eta zerbitzarira iristen dena iragaztea. Bai, lotsatuta nago, benetan. Nire defentsan, soilik idatzi dezaket artikulu osoa zehaztu gabeko firmwaredun bideratzaileak nola kudeatu behar diren, komunikazio kanal zehaztugabeekin.
Beno, etorkizuna ukitu dut: oraindik ez dut asmatu zabbix tresna estandarrak erabiliz zerbitzarira iristen diren emaitzak (adibidez, komando baten exekuzioaren emaitza) nola islatu.
Gogorarazten dizut iturri guztiak Git biltegitik har daitezkeela hemen:
Iturria: www.habr.com