Sziasztok!
Először írok ide a HUP-ra, ezért kérem nézzétek el, ha valamit nem jól csinálok. Egy kérdéssel fordulnék hozzátok, amit rögtön ki is fejtenék. Adott egy Fedora 9-et futtató szerver, amin szeretnénk monitorozni a kimenő és bejövő adatforgalmat (interface traffic), valamint a shoutcast szerver hallgatóinak számát. Ehhez a Cactit szeretnénk használni. Csomagkezelőből felraktam a Cactit, a szükséges függőségekkel együtt, majd a szokásos installációs lépések és finomhangolás után a rendszer működik, de egyelőre csak a processzor terhelést, memóriahasználatot monitorozza. Azt gondoltam, hogy hasonlóan egyszerű lesz az adatforgalom monitorozása is, de tévedtem, az alábbi procedúrában akadtam el:
Létrehoztam egy új Data Source-ot, majd miután ez nem volt hajlandó automatikusan legenerálni a szükséges RRD fájlt, bekapcsoltam a Data Source Debug módot, a kapott rrdtool create parancsot kimásoltam a konzolba. A kapott RRD fájlt a Cacti felismerte és automatikusan be is írta magának a Data Source űrlap megfelelő részére, majd szintén konzolba átállítottam az RRD fájl tulajdonosát root-ról cactira, így már hozzáférési gondok sem voltak.
Ezután létrehoztam egy új grafikont, ami aztán gyönyörűen meg is jelent, csak éppen az RRDTool nem rajzol rá semmit, hanem teljesen üres a rajzrész, a számadatok (min., max., avarage) helyén pedig NaN van. Ezzel kapcsolatban végigolvastam számtalan topikot (többek között a Cacti saját fórumát is már 2 napja böngészem a megoldásért), elolvastam a NaN debug guide-ot, de valamiért nem igazán akar kitisztulni a kép.
Ha jól sejtem az SNMP-vel lehet a gond, mert a Cacti akárhányszor lefuttatja a cron a poller.php-t, mindig hibátlan működést ír a logba, ugyanakkor adat mégsem érkezik rendesen a grafikonomra. Így néz ki valahogy:
A gépen Fedora 9, Cacti 0.8.7.b, rrdtool 1.3.3 fut. Köszönöm előre is a segítségeteket, bármiféle támpontnak, kezdeti iránymutatásnak örülnék! :) :)
- 2736 megtekintés
Hozzászólások
fedora szerverre?
poller szepen fut cronbol, es megkapja az infokat? a cactit futtato user neveben is?
t
- A hozzászóláshoz be kell jelentkezni
Szia!
Annyit tudok, hogy a memória, proci használatot monitorozza rendesen, és logban semmiféle errort nem ír, hanem hogy rendesen lefutott az adatgyűjtést. Azt, hogy konkrétan az egyes interfacek felől milyen adatokat kap, nem tudok választ kapni, mivel nem nagyon jöttem még rá, hogyan lehetne megnézni a kimenetét, de gyanítom, hogy ha maga a poller lefut hiba nélkül, akkor az SNMP nem ad neki semmiféle adatot.
szerk.: legutolsó bejegyzés a cacti logban (zöld háttér, tehát nem hiba):
10/16/2008 08:50:04 AM - SYSTEM STATS: Time:3.1736 Method:cmd.php Processes:1 Threads:N/A Hosts:2 HostsPerProcess:2 DataSources:5 RRDsProcessed:5
- A hozzászóláshoz be kell jelentkezni
webes feluleteten tudsz nezni debug logot
t
[szerk: kezzel nezz bele az rrd file-ba, hogy belekerul-e az adat, es csak a megjelenitessel van gond, vagy mar eleve nincs is adat benne. -> man rrdtool]
- A hozzászóláshoz be kell jelentkezni
rrdtool info-ra az adott rrd-re ezt adja:
filename = "www_********_**_traffic_in_19.rrd"
rrd_version = "0003"
step = 300
last_update = 1224138396
ds[traffic_in].type = "COUNTER"
ds[traffic_in].minimal_heartbeat = 600
ds[traffic_in].min = 0.0000000000e+00
ds[traffic_in].max = 1.0000000000e+08
ds[traffic_in].last_ds = "U"
ds[traffic_in].value = 0.0000000000e+00
ds[traffic_in].unknown_sec = 96
ds[traffic_out].type = "COUNTER"
ds[traffic_out].minimal_heartbeat = 600
ds[traffic_out].min = 0.0000000000e+00
ds[traffic_out].max = 1.0000000000e+08
ds[traffic_out].last_ds = "U"
ds[traffic_out].value = 0.0000000000e+00
ds[traffic_out].unknown_sec = 96
rra[0].cf = "AVERAGE"
rra[0].rows = 600
rra[0].cur_row = 86
rra[0].pdp_per_row = 1
rra[0].xff = 5.0000000000e-01
rra[0].cdp_prep[0].value = NaN
rra[0].cdp_prep[0].unknown_datapoints = 0
rra[0].cdp_prep[1].value = NaN
rra[0].cdp_prep[1].unknown_datapoints = 0
rra[1].cf = "AVERAGE"
rra[1].rows = 700
rra[1].cur_row = 37
rra[1].pdp_per_row = 6
rra[1].xff = 5.0000000000e-01
rra[1].cdp_prep[0].value = NaN
rra[1].cdp_prep[0].unknown_datapoints = 5
rra[1].cdp_prep[1].value = NaN
rra[1].cdp_prep[1].unknown_datapoints = 5
rra[2].cf = "AVERAGE"
rra[2].rows = 775
rra[2].cur_row = 641
rra[2].pdp_per_row = 24
rra[2].xff = 5.0000000000e-01
rra[2].cdp_prep[0].value = NaN
rra[2].cdp_prep[0].unknown_datapoints = 5
rra[2].cdp_prep[1].value = NaN
rra[2].cdp_prep[1].unknown_datapoints = 5
rra[3].cf = "AVERAGE"
rra[3].rows = 797
rra[3].cur_row = 322
rra[3].pdp_per_row = 288
rra[3].xff = 5.0000000000e-01
rra[3].cdp_prep[0].value = NaN
rra[3].cdp_prep[0].unknown_datapoints = 77
rra[3].cdp_prep[1].value = NaN
rra[3].cdp_prep[1].unknown_datapoints = 77
rra[4].cf = "MAX"
rra[4].rows = 600
rra[4].cur_row = 155
rra[4].pdp_per_row = 1
rra[4].xff = 5.0000000000e-01
rra[4].cdp_prep[0].value = NaN
rra[4].cdp_prep[0].unknown_datapoints = 0
rra[4].cdp_prep[1].value = NaN
rra[4].cdp_prep[1].unknown_datapoints = 0
rra[5].cf = "MAX"
rra[5].rows = 700
rra[5].cur_row = 114
rra[5].pdp_per_row = 6
rra[5].xff = 5.0000000000e-01
rra[5].cdp_prep[0].value = NaN
rra[5].cdp_prep[0].unknown_datapoints = 5
rra[5].cdp_prep[1].value = NaN
rra[5].cdp_prep[1].unknown_datapoints = 5
rra[6].cf = "MAX"
rra[6].rows = 775
rra[6].cur_row = 395
rra[6].pdp_per_row = 24
rra[6].xff = 5.0000000000e-01
rra[6].cdp_prep[0].value = NaN
rra[6].cdp_prep[0].unknown_datapoints = 5
rra[6].cdp_prep[1].value = NaN
rra[6].cdp_prep[1].unknown_datapoints = 5
rra[7].cf = "MAX"
rra[7].rows = 797
rra[7].cur_row = 565
rra[7].pdp_per_row = 288
rra[7].xff = 5.0000000000e-01
rra[7].cdp_prep[0].value = NaN
rra[7].cdp_prep[0].unknown_datapoints = 77
rra[7].cdp_prep[1].value = NaN
rra[7].cdp_prep[1].unknown_datapoints = 77
Gyanítom ha itt is NaN van, akkor nem a megjelenéssel lesz a gond, hanem nem kap normálisan adatot.
- A hozzászóláshoz be kell jelentkezni
Távol álljon tőlem, hogy türelmetlenkedjek, de örülnék, ha valaki megpróbálna segíteni, mert sajnos nem jutunk egyről a kettőre... :(
Köszönöm előre is!
- A hozzászóláshoz be kell jelentkezni
Az addig rendben, hogy van egy rrd fileod, de mi tölti bele az adatokat?
A grafikonon azért jelenik meg - helyesen - a NaN, mert ez van az RRD fileban. Ezek a fileok tárolják a mért értékeket. Ezt a poller tölti fel a data sourcehoz rendelt "input method" alapján! Mi az input method?
A CPU, memória kihasználtásghoz van sablon input method alapból, de mi szolgáltatja a shoutcast server vagy a traffic esetén?
ps. én is folyamatosan szembesülök azzal, hogy 3-ból 2-szer a Cacti nem hozza magától létre az rrd filet, jogosultsgáok rendben, mert néha meg létrejön szépen és nem kell konzolból hackelni.
--
The Net is indeed vast and infinite...
http://gablog.eu
- A hozzászóláshoz be kell jelentkezni
Na igen, ezzel most megfogtál. Akkor ezek szerint ha data sourcesban a template alapján generálok egy fájlt, akkor az nem fog működni, hanem kell mellé input methodot is írni? Viszont ott erősen meg vagyok lőve. Nincsenek ehhez valahol előre definiált sablonok? Esetleg valami walkthrough is jól jönne, ami alapján meg lehet csinálni. Mert a Cacti saját doksija rengeteg dologra nem tér ki.
- A hozzászóláshoz be kell jelentkezni
A data source az csakis egy 7/24/365-ös adatsor, általában egy RRD file, aminek a tartalmát ki lehet rajzolni. Ezzel még nincs semmilyen konkrét adatod.
Input methodot egyébként nem egy ördöngösség írni, nézd meg az input method felvételének a doksiját. Utána már tudsz írni egy kis scriptet, ami Script/Command típusú input methodként működik. Végtelen sok felhasználási eset van innentől, hogy mire/milyen scriptet írhatsz, ez of cuz nem a Cacti része, így a doksiban sincs benne. Gyakorlatilag csak kell írni így progit, ami mező1:érték1 mező2:érték2... listával tér vissza.
--
The Net is indeed vast and infinite...
http://gablog.eu
- A hozzászóláshoz be kell jelentkezni
A problémát végülis sikerült megoldani, a dolog jóval egyszerűbb volt, mint elsőre gondoltam volna. A gond az volt, hogy a Cacti nem tudta rendesen meghívni az SNMP walk-ot, ezen könnyen lehet változtatni, ha az ember belenéz az snmpd.conf-ba (alapértelmezetten a /etc/snmp/snmpd.conf helyen leledzik).
A következő sorokat kell megkeresni:
view systemview included .1.3.6.1.2.1.1
view systemview included .1.3.6.1.2.1.25.1.1
majd módosítani a következőkre:
view systemview included .1.3.6.1.2.1
view systemview included .1.3.6.1.2.1.25.1.1
Ezután újra kell indítani az SNMP Daemont (illetve elindítani, ha valaki esetleg anélkül próbálkozott volna adatot nyerni belőle :D), és elviekben működnie kell. Érdemes 1-2 polling ciklust kivárni, hogy a NaN-ok eltűnjenek a grafikonokról, nem szabad megijedni, ha első körben nem jelennek meg megfelelő adatok.
- A hozzászóláshoz be kell jelentkezni