From 6e512fa08f6dd2e7dd3c48ed484f5cc38afc5913 Mon Sep 17 00:00:00 2001 From: M.Gergo Date: Wed, 8 Apr 2020 17:51:47 +0200 Subject: Munin grafikon --- "egy\303\251b/munin/README" | 98 ------------------------------------ "egy\303\251b/munin/README.md" | 91 +++++++++++++++++++++++++++++++++ "egy\303\251b/munin/mayor_munin.php" | 13 ++--- 3 files changed, 96 insertions(+), 106 deletions(-) delete mode 100644 "egy\303\251b/munin/README" create mode 100644 "egy\303\251b/munin/README.md" diff --git "a/egy\303\251b/munin/README" "b/egy\303\251b/munin/README" deleted file mode 100644 index a0ad5eb8..00000000 --- "a/egy\303\251b/munin/README" +++ /dev/null @@ -1,98 +0,0 @@ - -Munin monitorozó plugin a mayorhoz - -Grafikonokat készít a "munin" program segítségével a Mayor pillanatnyi állapotáról. -Egyelőre csak debian 9+ rendszeren tesztelt, de pár apró módosítással életrekelthető más rendszereken is. - -Rögzíti az: --- Egyidejűleg (pillanatnyi) bejelentkezett felhasználók számát. --- IP-cím alapján a lokális (192.168.*.*, 10.*.*.*, 172.16.*.*, fd**::/8) és külön a külső tartományokat. --- Policy alapján a 'private' és/vagy 'parent' -ben belépett felhasználókat. --- Aktivitás alapján az Xperc (pl:10perc) ideje, a 2*Xperc ideje aktív felhasználókat és a tétleneket. - - -Beállítása a következő: (debian) - -1.lépés: >>> apt-get install munin -2.lépés: a "/etc/munin/munin.conf" fájl szerkesztése a következő módon: - ---(I.) először keressük meg a következő részt: - # a simple host tree - [localhost.localdomain] - address 127.0.0.1 - use_node_name yes - --- módosítsuk a "localhost.localdomain"-t a napló-szerver gépnevének megfelelően: - (itt az FQDN (teljes elérési út szükséges)) - [gépnév.iskolaneve.hu] - address 127.0.0.1 - use_node_name yes - ---(II.) ugyanitt, adjuk hozzá a következő sorokat: - (és írjuk át a "mayor.iskolaneve.hu" címet a napló címének megfelelően) - [mayor.iskolaneve.hu] - address 127.0.0.1 - use_node_name no - - ---(III.) ezután módosítanunk kell a "mayor_munin.php" scriptben a "$set['naplo_host'] = "mayor.iskolaneve.hu";"-t - (első sorok egyike) a saját naplónk címének megfelelően. - Ez egy fontos beállítás, mert ezen keresztül ismeri fel a munin rendszer a mi - monitorozó scriptünket. - - ---(IV.) utána másoljuk a "mayor_munin.php"-t az: - az /usr/share/munin/plugins/ mappába vagy - az /etc/munin/ könyvtárba vagy - bárhova, ahonnan a munin eléri. - - FONTOS!! - A "mayor_munin.php"-nak állítsuk be a "root" tulajdonost és 700-as jogokat! - (nehogy valami kiolvassa a jelszót) - - ---(V.) ezután el kell helyezni egy simlink-et a /etc/munin/plugins/ könyvtárba, ami a bemásolt fájlra mutat. - pl: ln -s /usr/share/munin/plugins/mayor_munin.php /etc/munin/plugins/munin - - ---(VI.) végül be kell állítanunk egy felhasználót, a mysql-ben, amivel olvasni lehet a mayor_login.session és a mayor_login.loginLog táblákat - (például:) - mysql> GRANT SELECT ON mayor_login.loginLog TO 'mayor-monitor'@'localhost' IDENTIFIED BY 'erőős-jelszóó!'; - mysql> GRANT SELECT ON mayor_login.session TO 'mayor-monitor'@'localhost' IDENTIFIED BY 'erőős-jelszóó!'; - -- Lehetőség van mysql/unix_socket authentikációra is, ez nagyban növeli biztonságot, mert nem alkalmaz jelszót, - így szinte lehetetlen próbálgatással feltörni. - Fontos, hogy a kiválasztott felhasználónak/felhasználónévnek valósnak kell lenni, és léteznie kell a rendszerben. - Egyszerűség kedvéért használhatjuk a "root" felhasználót, ez eredetileg is unix_socket-tel authentikál a mysql-ben, - (hacsak a mysql telepítésénél meg nem változtattuk) - - vagy a "munin" nevű felhasználót, ezt adjuk hozzá a mysql-hez: - - mysql> GRANT SELECT ON mayor_login.session TO 'munin'@'localhost' IDENTIFIED via unix_socket; - mysql> GRANT SELECT ON mayor_login.loginLog TO 'munin'@'localhost' IDENTIFIED via unix_socket; - - majd rá kell venni a munin-t, hogy a "munin" felhasználónévvel futtassa, ezt a "/etc/munin/plugin-conf.d/munin-node" - fájlba kell beírni, a következő sorok hozzáadásával: - - [mayor_munin] - user munin - - Fontos: ekkor a mayor_munin.php tulajdonosát a "munin"-ra kell állítani! - - - ---(VII.) Finomhangolás: - Végül írjuk be a "mayor_munin.php" elejére, a "$set['___']" tömböt módosítva, a maysql adatokat, - illetve itt tudjuk beállítani az aktivitáshoz számolt időt percben, és a napló webcímét is. - - ---(VIII.) Befejezésképpen pedig indítsuk újra a munin-t az alábbi parancsokkal: - >>> /etc/init.d/munin-node restart - >>> /etc/init.d/munin restart - - ---(++) a beálítás végeztével a következő paranccsal ellenőrizhetjük, hogy mindent jól csináltunk-e: - >>> munin-run mayor_munin - - Ekkor egy listát kapunk, ahol a változók nevei ("mayor_xxxx_xx.values") mellett számértékeket látunk, - ha semmi, vagy a számok helyett egy "U" betű jelenik meg, akkor még valamit finomhangolni kell. diff --git "a/egy\303\251b/munin/README.md" "b/egy\303\251b/munin/README.md" new file mode 100644 index 00000000..c8eb91e4 --- /dev/null +++ "b/egy\303\251b/munin/README.md" @@ -0,0 +1,91 @@ + +# Munin monitorozó plugin a mayorhoz + +Grafikonokat készít a "munin" program segítségével a Mayor pillanatnyi állapotáról. +Egyelőre csak debian 9+ rendszeren tesztelt, de pár apró módosításokkal életre kelthető más/régebbi rendszereken is. + +Rögzíti az: + +* Egyidejűleg (pillanatnyi) bejelentkezett felhasználók számát. +* IP-cím alapján a lokális (192.168.*.*, 10.*.*.*, 172.16.*.*, fd**::/8) és külön a külső tartományokat. +* Policy alapján a 'private' és/vagy 'parent' -ben belépett felhasználókat. +* Aktivitás alapján az Xperc (pl:10perc) ideje, a 2*Xperc ideje aktív felhasználókat és a tétleneket. + + +## Beállítása: (debian) + +1. lépés: Telepítsük fel a Munin monitorozó rendszert! + >>> apt-get install munin +2. lépés: a **/etc/munin/munin.conf** fájl szerkesztése a következő módon: + +* Adjuk hozzá az alábbi sorokat, a napló-szerver gépnevének megfelelően: + (itt az FQDN (teljes elérési út szükséges)) és állítsuk "no"-ra az "use_node_name"-t. + + [gépnév.iskolaneve.hu] + address 127.0.0.1 + use_node_name no + +3. Ezután módoítanunk kell a **/etc/munin/plugin-conf.d/munin-node** fájlt, + +* (a.) Adjuk hozzá a következőket: + + [mayor_munin] + user munin + timeout 60 + env.host naplo.iskolaneve.hu + env.db_user mayor-munin + env.db_pass <;erős_jelszó> + env.db_host localhost + env.t_active 10 + + [mayor_munin] + user >>A felhasználó, amelyik neve alatt a munin futtatja a scriptet<< + timeout >>A munin ennyi ideig várjon a script lefutására<< + env.host >>A napló web-címe<< + env.db_user >>Az adatbázishoz használt felhasználónév<< + env.db_pass >>Az adatbázishoz használt jelszó<< + env.db_host >>Ahol a mayor mysql szervere elérhető<< + env.t_active >>Mennyi percet számoljon a tétlenségnek<< + +* (b.) Vagy lehetőségünk van mindezeket a script fejlécében is beáálítani, + akkor nem szükséges a **/etc/munin/plugin-conf.d/munin-node** fájl szerkesztése. + +* (c.) Debian 10-től lehetőség van a mysql-nél úgynevezett **unix-shocket** hitelesítésre is. + Ez alapból a **root**-nak van bekapcsolva, előnye, hogy sehol sem kell kiolvasható jelszót + használni, a mysql egyszerűen az oprendszerhez hitelesíti a bejelentkező felhasználót. + (Értelemszerűen ez csak "locahost"-ra működik.) + + * Az unix_shocket használtaához állítsuk be az alábbiakat: + (Ekkor a root lesz a mysql felhasználó, számára nem kell külön engedélyezni a mayor_login + táblából való olvasást, viszont ekkor a munin-nak is root-ként kell futtatnia a scriptet.) + + [mayor_munin] + user root + env.host naplo.iskolaneve.hu + env.db_user root + #env.db_pass + env.db_host localhost + env.t_active 10 + +4. Utána másoljuk a **mayor_munin.php** az: + az **/usr/share/munin/plugins/** mappába vagy + az **/etc/munin/** könyvtárba vagy + bárhova, ahonnan a munin eléri. + + * FONTOS!! + A "mayor_munin.php"-nak állítsuk be a "root" tulajdonost és 700-as jogokat! + (A Munin-nak futtatási jog kell, illetve nehogy valami kiolvassa a jelszót) + + +5. Végül el kell helyezni egy simlink-et a **/etc/munin plugins** + könyvtárba, ami a bemásolt fájlra mutat. + >>> ln -s /usr/share/munin/plugins/mayor_munin.php /etc/munin/plugins/munin/mayor_munin + + +6. Befejezésképpen pedig indítsuk újra a munin-t az alábbi parancsokkal: + >>> /etc/init.d/munin-node restart + >>> /etc/init.d/munin restart + +7. A beálítás végeztével a következő paranccsal ellenőrizhetjük, hogy mindent jól csináltunk-e: + >>> munin-run mayor_munin + diff --git "a/egy\303\251b/munin/mayor_munin.php" "b/egy\303\251b/munin/mayor_munin.php" index b533c0d0..dfb92efc 100755 --- "a/egy\303\251b/munin/mayor_munin.php" +++ "b/egy\303\251b/munin/mayor_munin.php" @@ -3,13 +3,10 @@ $ret = array(); $set['host'] = getenv('host'); -//$set['occ_user'] = getenv('occ_user'); //If "serverinfo" would be a part of occ commands... -//$set['occ_path'] = getenv('occ_path'); -$set['db_user'] = getenv('db_user'); -$set['db_pass'] = getenv('db_pass'); -$set['db_db'] = getenv('db_db'); -$set['db_host'] = getenv('db_host'); -$set['db_prefix'] = getenv('db_prefix'); +$set['db_user'] = strval(getenv('db_user')); +$set['db_pass'] = strval(getenv('db_pass')); +$set['db_db'] = "mayor_login"; +$set['db_host'] = strval(getenv('db_host')); $set['t_active'] = intval(getenv('t_active')); /* $set['db_user'] = "mayor-munin"; @@ -32,7 +29,7 @@ if (isset($argv[1]) and $argv[1] == "config"){ $cf .= "mayor_ip_sum.label Összes\n"; $cf .= "mayor_ip_sum.draw AREA\n"; - $cf .= "mayor_ip_sum.info Összes bejelentkezett felhasználó\n"; + $cf .= "mayor_ip_sum.info Összes bejelentkezett felhasználó +(a villámgyorsak)\n"; $cf .= "mayor_ip_k.label Külső IP\n"; $cf .= "mayor_ip_k.draw AREA\n"; -- cgit v1.2.3