Mar ien behearderklient: wêrom't dyn monitor de GUI derút smyt
De behearsokket nimt ien ferbining tagelyk oan. In twadde abonnee slagget net te ferbinen of stelt de kontrôle fan it ûnderdiel dat de prompts hat.
In buroblêd-GUI hâldt de behearferbining, dus in monitoarringsskript dat syn eigen besiket te iepenjen, lêst neat of, slimmer, de GUI hâldt op mei antwurdzjen op prompts. De gewoane konklúzje is dat de daemon ûnstjoer is. Yn 'e mienskippedaemon is de beheining opsetlik: de kontrôle-ynterface betsjinnet ien ferbûn behearderklient tagelyk, en dat oantal hat neat te krijen mei hoefolle brûkers de VPN drage kin.
Ien sokket, ien hâlder
It behearkanaal nimt ien ferbûn klient oan. As der in twadde komt wylst de earste aktyf is, wachtet er of wurdt er wegere, en der is gjin parallel abonneemodus efter in opsje ferstoppe. De hjoeddeiske hâlder loskeppelje lit de daemon de folgjende oannimme, en dat is in oerdracht, net in twadde kanaal.
Dat makket elk ekstra helpmiddel in konkurrint. As de GUI de ferbining hat, slagget in ûndersyksskript der of net yn te ferbinen, of pas neidat de GUI opjûn hat, en de searje werhellet him by de folgjende werferbining. As it skript earst ferbynt, ferliest de GUI syn kontrôlepaad en syn prompts wurkje net mear. Gjin fan 'e helpmiddels rapportearret it konflikt, want elk sjocht allinnich syn eigen mislearre opdracht.
| What you need | Mechanism that fits | What it cannot do |
|---|---|---|
| Periodic list of connected clients | Status file written on an interval | Deliver events as they happen |
| Interactive prompts and session control | The single management connection | Serve two controllers at once |
| Multiple consumers of either | One owner process that fans out | Exist without you writing it |
Beslis hokker ûnderdiel de kontrôle hat
Kies ien hâlder foar it ynteraktive kanaal en lit dat it iennichste wêze dat ferbynt. In GUI dy't de ferbining beheart, in skript dat op oanmeldprompts antwurdet en in kontrôler dy't sesjes beëiniget, telle allegear as hâlders, en mar ien kin de rol hawwe.
As in GUI de ferbining hat, brûk dan de yntergraasje dy't dy GUI biedt ynstee fan der tsjin te fjochtsjen. In race mei de hâlder om 'e sokket jout ûnderbrutsen flaters dy't brûkers tafallich lykje, en wa't ontbûcht, sjocht meastentiids allinnich de twadde helte fan 'e race. Skriuw op hokker proses nei in herstart earst ferbynt, want dy folchoarder beslútet elke kear wa't wint. In monitor dy't foar de GUI start, hâldt it kanaal oant de GUI opjout.
Brûk statusmomentopnamen foar de sammelders
De measte monitoarring hat in list nedich, gjin petear. In periodike statusbestân beantwurdet dat sûnder it behearkanaal oan te reitsjen, en it wurket troch wylst de GUI ferbûn bliuwt.
status /run/openvpn/server.status 10
management /run/openvpn/server.sock unix
It ynterval is it farskensbudzjet, dus set it op wat it doashboard echt nedich hat, net op 'e lytste wearde dy't feilich liket. In momentopname dy't elke pear sekunden skreaun wurdt, is goedkeap; in skript dat elke pear sekunden wer ferbynt mei de behearsokket net, want elke werferbining konkurrearret mei de hâlder.
In momentopname is gjin skiednis en ek gjin barrenstream. Ferbiningen dy't binnen ien ynterval komme en gean, ferskine nea, dus in auditferlies kin net foldien wurde troch in bestân te ûndersykjen dat himsels oerskriuwt. As jo witte moatte oft in brûker ea ferbûn wie, is de momentopname it ferkearde ynstrumint.
Utwaaiering is in ûntwerp, gjin modus
As ferskate konsuminten echt live beheardata nedich hawwe, set dan ien betrouber ûnderdiel foar de sokket en lit it nau keazen waarnimmings oan 'e rest publisearje. Dat ûnderdiel hat de werferbining, de oanmeldprompts en it beslút oer wat feilich is om te eksposearjen.
Bou it bewust: definiearje hokker fragen tastien binne, log wa't frege hat, en foarkom dat de utwaaierlaach by ûngelok in ôfstânsbetsjinningspaneel wurdt. De daemon hat gjin multikliïntmodus om oan te setten, en gjin konfiguraasjeline makket ien. Behandelje de hâlder as part fan 'e feiligensgrins, want hy hat in ynterface dy't minsken loskeppelje kin. It opnij starten soe in routinehanneling wêze moatte mei in dokumintearre herstelpaad.
Behandelje de sokket as in privileezje, net as statistyk
De behearinterface kin brûkers loskeppelje, steat feroarje en barrens lêze wêryn't minsken neamd wurde. Syn wachtwurd ferifiearret de klient en fersiferelet it ferfier net, dus in netwurkharker stelt it petear bleat oan elkenien dy't it observearje kin.
Ferken de foarkar oan in lokale sokket of in strang beheinde harker, en kontrolearje hokker proses dyn sammelders echt oansprekt, want serverprodukten leverje har eigen behear-API's dy't oars gedrage. In sammelders rjochte op 'e ferkearde daemon jout selsbetrouwe en ferkearde konklúzjes. Befêstigje it paad en it eignerproses foardat jo in fraach ûntbûgje dy't neat weromjout.