diff options
Diffstat (limited to 'external/munin')
-rw-r--r-- | external/munin/README | 98 | ||||
-rwxr-xr-x | external/munin/mayor_munin.php | 122 |
2 files changed, 0 insertions, 220 deletions
diff --git a/external/munin/README b/external/munin/README deleted file mode 100644 index a0ad5eb8..00000000 --- a/external/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/external/munin/mayor_munin.php b/external/munin/mayor_munin.php deleted file mode 100755 index 92fc264d..00000000 --- a/external/munin/mayor_munin.php +++ /dev/null @@ -1,122 +0,0 @@ -#!/usr/bin/env php -<?php - - -$set['db_user'] = "mayor-munin"; -$set['db_pass'] = ""; -$set['db_db'] = "mayor_login"; -$set['db_host'] = "localhost"; -$set['naplo_host'] = "mayor.iskolaneve.hu"; -$set['t_active'] = "10"; //pl: 10 perc (Az elmúlt x percben aktívak voltak) -$ret = array(); - - -if (isset($argv[1]) and $argv[1] == "config"){ - - $cf = "host_name ".$set['naplo_host']."\n"; - $cf .= "graph_title Napló rendszerterhelés (Mayor)\n"; - $cf .= "graph_args --base 1000 \n"; - $cf .= "graph_vlabel db/fő\n"; - $cf .= "graph_category mayor\n"; - $cf .= "graph_info Naplo users\n"; - - $cf .= "mayor_ip_sum.label Összes\n"; - $cf .= "mayor_ip_sum.draw AREA\n"; - $cf .= "mayor_ip_sum.info Összes\n"; - - $cf .= "mayor_ip_k.label Külső IP\n"; - $cf .= "mayor_ip_k.draw AREA\n"; - $cf .= "mayor_ip_k.info Külső IP\n"; - - $cf .= "mayor_ip_b.label Belső IP\n"; - $cf .= "mayor_ip_b.draw AREA\n"; - $cf .= "mayor_ip_b.info Belső IP\n"; - - $cf .= "mayor_p_pri.label Policy pri.\n"; - $cf .= "mayor_p_pri.draw LINE1.2\n"; - $cf .= "mayor_p_pri.info Policy pri.\n"; - - $cf .= "mayor_p_par.label Policy par.\n"; - $cf .= "mayor_p_par.draw LINE1.2\n"; - $cf .= "mayor_p_par.info Policy par.\n"; - - $cf .= "mayor_a_t1.label Aktív: ".$set['t_active']."perc\n"; - $cf .= "mayor_a_t1.draw AREA\n"; - $cf .= "mayor_a_t1.info Aktív: ".$set['t_active']."perc\n"; - - $cf .= "mayor_a_t2.label Aktív: ".($set['t_active']*2)."perc\n"; - $cf .= "mayor_a_t2.draw LINE1\n"; - $cf .= "mayor_a_t2.info Aktív: ".($set['t_active']*2)."perc\n"; - - $cf .= "mayor_a_tt.label Aktív: tétlen\n"; - $cf .= "mayor_a_tt.draw LINE1\n"; - $cf .= "mayor_a_tt.info Aktív: tétlen\n"; - - echo iconv("UTF-8", "ISO-8859-2", $cf), PHP_EOL; - -} else { - - if (function_exists('mysqli_connect') and PHP_MAJOR_VERSION >= 7 ) { //MySQLi (Improved) és php7 kell!!! - - $ret['ip_b'] = 0; - $ret['ip_k'] = 0; - $ret['p_pri'] = 0; - $ret['p_par'] = 0; - $ret['a_t1'] = 0; - $ret['a_t2'] = 0; - $ret['a_tt'] = 0; - $l = mysqli_connect($set['db_host'], $set['db_user'], $set['db_pass'], $set['db_db']); - if(!$l){ -// echo "hiba\n "; - $ret['ip_b'] = "U"; - $ret['ip_k'] = "U"; - $ret['p_pri'] = "U"; - $ret['p_par'] = "U"; - $ret['a_t1'] = "U"; - $ret['a_t2'] = "U"; - $ret['a_tt'] = "U"; - - } else{ - mysqli_set_charset($l, "utf8"); - $r = mysqli_query($l," SELECT session.userAccount,session.policy, UNIX_TIMESTAMP(session.activity) AS activity, loginLog.ip - FROM mayor_login.session, mayor_login.loginLog - WHERE session.dt = loginLog.dt AND session.userAccount=loginLog.userAccount AND loginLog.flag=0; "); - - while ($row = mysqli_fetch_array($r, MYSQLI_ASSOC)) { - if($row['policy'] == "private") { - $ret['p_pri'] ++; - } - if($row['policy'] == "parent") { - $ret['p_par'] ++; - } - - if( $row['activity'] >= time()-$set['t_active']*60){ //Az elmúlt x percben aktívak voltak - $ret['a_t1']++; - } else if( $row['activity'] >= time()-$set['t_active']*2*60){ //Az elmúlt 2*x percben aktívak voltak - $ret['a_t2']++; - } else { - $ret['a_tt']++; - } - - if( preg_match('/^((10\.)|(192\.168\.)|(172\.16\.)|(fd..\:)).*/', $row['ip']) ){ - $ret['ip_b']++ ; - } else{ - $ret['ip_k']++ ; - } - } - } - - @mysqli_free_result($r); - @mysqli_close($l); - echo "mayor_ip_sum.value ".($ret['ip_b']+$ret['ip_k'])."\n". "mayor_ip_k.value ".$ret['ip_k']."\n". "mayor_ip_b.value ".$ret['ip_b']."\n" ; - echo "mayor_p_pri.value ".$ret['p_pri']."\n". "mayor_p_par.value ".$ret['p_par']."\n"; - echo "mayor_a_t1.value ".$ret['a_t1']."\n". "mayor_a_t2.value ".$ret['a_t2']."\n". "mayor_a_tt.value ".$ret['a_tt']."\n" ; - - } else{ - echo "mayor_ip_sum.value U\n". "mayor_ip_b.value U\n". "mayor_ip_k.value U\n" ; - echo "mayor_p_pri.value U\n". "mayor_p_par.value U\n"; - echo "mayor_a_t1.value U\n". "mayor_a_t2.value U\n". "mayor_a_tt.value U\n"; - } -} - -?>
\ No newline at end of file |