Cacti nu desenează grafică (double2), Admincheg

Postat pe 1 august 2014

desenează

Această încercare este numărul 2. Înțelegeți de ce Cacti nu desenează grafice.

Dacă nimic nu a ajutat în primul exemplu, puteți căuta aici.

Infa preluat de pe Internet.

Și astfel primul lucru de făcut este să verificați fișierul jurnal, acolo puteți obține o mulțime de informații, apoi pentru a continua să căutați un motiv anume.

Verificarea fișierului jurnal Cacti

COLONA CĂRĂ: Gazdă[. ]DS[. ] AVERTISMENT: Timeout SNMP detectat [500 ms], ignorând gazda '. '

Acest lucru înseamnă, cel mai probabil, că dispozitivul pe care îl interogați nu poate calcula pe deplin numărul de OID-uri SNMP din solicitarea SNMP care îi vine. Pentru a rezolva această eroare, ar trebui să reduceți numărul de OID-uri SNMP din cerere. AccesațiSetări,Pollerși micșorați valoareaValoarea maximă a OID-ului SNMP per solicitare de obținere SNMP. Ar trebui să setați valoarea la 1 și după ce sondajul începe să colecteze statisticile necesare, ar trebui să o creșteți treptat, alegând valoarea care se potrivește cazului dvs.

Verificarea funcționării scriptului dvs.

Deși acest lucru este evident, nu trebuie ignorat - ar trebui să verificați încă o dată funcționarea scriptului care emite date pe linia de comandă. Acest lucru trebuie făcut cu privilegiile utilizatorului cacti. su - cactiuser /full/path/to/perl your-perl-script.pl p1 p2 . (verificarea răspunsului) Dacă primiți date printr-o solicitare snmp, atunci ar trebui să utilizațisnmpgetpentru verificare, să specificați OID-ul în cerere, să utilizați aceeași valoare a comunității și să specificați versiunea snmp, la fel ca ați definit în cacti. De exemplu, OID-ul de sondaj al .1.3.6.1.4.blablabla, cu valoarea comunității „foarte secretă” și ținta gazdă interogata SNMP versiunea 2 esteva arăta astfel: snmpget -c very-secret -v 2c target .1.3.6.1.4.blablabla . (verifică răspunsul)

Verificarea Cacti Poller

În primul rând, verificați prezența poller.php în cron. Acest program numește scriptul cmd.php de bază, sau coloana vertebrală, o metodă alternativă de interogare a datelor scrisă în C. Puteți seta care poller este utilizat încorporat sau coloana vertebrală în setări -Setări,Poller. Dacă doriți să utilizațiSpine, atunci acesta trebuie instalat separat, nu este inclus în instalarea de bază a Cacti. Acum ar trebui să ștergeți fișierul jurnal /log/cacti.log (bine, sau redenumiți-l astfel încât să nu existe „gunoi vechi”). Apoi modificați setările -Settings,Poller Logging LevellaDEBUG. Acum ar trebui să determinați ID-ul solicitării și ID-ul gazdei. Găsiți ID-ul solicitării de care aveți nevoie în meniulSurse de date. ID-ul gazdei este definit în meniulDispozitive. Acum trebuie să rulăm sondajul manual și numai pentru solicitarea de date pe care am ales-o. Acest lucru se face după cum urmează −

php -q cmd.php id id

dacă utilizați Spine, atunci puteți rula o astfel de verificare în modul de înregistrare la nivel de depanare, astfel:

./spine --verbosity=5 id id

În ambele cazuri, vom vedea răspunsul în STDOUT. Această procedură poate fi repetată fără a aștepta intervalul de timp setat în Cacti. În plus, este foarte convenabil - nu trebuie să căutați o eroare în sute de intrări de jurnal atunci când aveți deja o cantitate foarte mare de date monitorizate în Cacti.

Verificarea stării MySQL

În cea mai mare parte, această verificare este redundantă și poate fi pur și simplu omisă în prima etapă a erorii problemei, dar dacă toți pașii descriși mai jos arată că totul funcționeazăcorect, atunci ar trebui să o faci oricum. În jurnalul de depanare, căutați interogarea de actualizare MySQL corespunzătoare gazdei în cauză. Va exista o interogare SQL care ar trebui să fie executată direct pe serverul mysql fie prin terminal, fie folosind phpmyadmin. Verificați dacă interogarea este executată corect de serverul mysql.

Verificarea actualizării fișierului RRD

Verificați fișierul jurnal, acesta ar trebui să conțină linii ca aceasta:

rrdtool update filename --template .

Ar trebui să existe o linie în jurnal pentru fiecare fișier RRD. Fișierele RRD trebuie create inițial de către poller. Dacă nu le-a creat, atunci actualizarea lor nu va funcționa în consecință. Dacă nu, bifațiPoller Cacheîn meniulUtilitiesși verificați solicitarea fișierului acolo.

Verificarea proprietarului fișierelor RRD

Dacă fișierele rrd au fost create ca rădăcină și interogatorul rulează pe sistem cu privilegii cactiuser, atunci, desigur, poller-ul nu va putea actualiza datele din fișierul RRD.

cd /var/www/html/cacti/rra ls -l localhost* -rw-r--r-- 1 root root 463824 31 mai 12:40 localhost_load_1min_5.rrd -rw-r --r-- 1 cactiuser cactiuser 155584 1 iunie 17:10 localhost_mem_buffers_3.rrd -rw-r--r-- 1 cactiuser cactiuser 155584 1 iunie 17:10 localhost_mem_swap_4.rrd <-r3->-rw <-r3->-rw r-- 1 cactiuser cactiuser 155584 Jun 1 17:10 localhost_proc_7.rrd -rw-r--r-- 1 cactiuser cactiuser 155584 Jun 1 17:10 localhost_users_6.rrd

Rulați următoarea comandă pentru a rezolva această problemă dacă aveți una:

chown cactiuser:cactiuser *.rrd

Verificarea limitelor în fișierul RRD

Poate că cauza problemelor dvs. este setată incorect limitele MAXIMUM și MINIMUM în fișierul de date RRD. Urmează următoarele instrucțiuni:

rrdtool aduce rrd_file AVERAGE

informații despre rdtoolrrd_file

ne interesează valorile ds[pierdere].min ds[pierdere].max (pierderea este un exemplu particular - veți avea numele datelor dvs.) și ca urmare veți vedea, de exemplu, această imagine:

ds[pierdere].min = 0,0000000000e+00 ds[pierdere].max = 1,0000000000e+02

În acest exemplu, avem MINIM = 0 și MAXIM = 100. Acum ar trebui să comparăm valoarea lui ds.[…].type=VALUE, adică ne asigurăm că VALOAREA primită este în valorile maxime și minime setate. . Dacă valoarea nu se încadrează în limitele stabilite, atunci nu este suficient să modificați limitele înȘablon de date, ar trebui să rulați:

rrdtool tune rrd_file --maximum ds-name:new_ds_maximum>

unde ds_name este numele pentru datele definite în fișierul RRD și new_ds_maximum este noua valoare maximă pentru date. (Modificarea minimului se face într-un mod similar). La acest pas, ar trebui să verificați și valorilepasulșibătăi inimiiale fișierului RRD care ne interesează.

Verificarea conexiunii dintre fișierul RRD și grafic

În cele din urmă, trebuie să verificăm dacă depozitul de date folosește diagrama pe care încercăm să o obținem. AccesațiGestionarea graficelorși selectați graficul nostru. În acest mod, selectațiTurn On Graph Debug Modeși în fereastraRRDTool Command:care apare, vedem la ce fișiere RRD se referă graficul nostru (acest lucru este indicat de expresia DEF) .

Diverse

O altă variantă foarte simplă în proprietățile gazdei SNMP, versiunea este incorectă.

Versiunea SNMP Alegeți versiunea SNMP pentru acest dispozitiv.

De exemplu, în cazul meu, a fost specificat snmp ver1.

Soluție: Instalați versiunea 2.

Înainte de versiunea 0.8.6j, poller_output putea să iasă din minți. Acest lucru se datorează de obicei setărilor de memorie din php.ini setate la 8MB.Schimbați această valoare la cel puțin 64 MB. Pentru a verifica acest lucru, rulați o interogare sql prin mysql cli (sau phpmyadmin) select count(*) from poller_output; Pentru a rezolva problema, rulați: truncate table poller_output; Această problemă a fost rezolvată începând cu versiunea 0.8.7

Instalați prin RPM

Unele instalații RPM încorporează incorect poller-ul în cron - ca urmare, poller-ul este prezent în cron în două tabele. Este necesar să verificați /etc/crontab și tabelul cron al utilizatorului cactiuser (bine, sau cum l-ați numit acolo) și să configurați cron astfel încât apelul să fie o singură dată.

Nu Nan, ci valoarea 0

Mai întâi, scrieți cu atenție scripturile. Dacă utilizați comenzi externe într-un script, atunci nu ar trebui să vă bazați pe variabila $PATH. Specificați calea normală, completă la comanda /full/path/to/external/command

În al doilea rând, asigurați-vă că scriptul rulează rapid. Dacă vedeți „U” în jurnalele cacti, înseamnă că Cacti s-a săturat să aștepte executarea scriptului și, ca urmare, veți prinde NaN. Scriptul trebuie să ruleze rapid! Dar depinde de tine să-l optimizezi.

Problemă: CACTID: EROARE: Problemă cu MySQL: „Nu se găsește fișierul: „poller_output” (errno: 2)”disc plin):

selectați TABLE_NAME,TABLE_TYPE,ENGINE,TABLE_ROWS,DATA_FREE,CHECK_TIME,CHECKSUM,TABLE_COMMENT din information_schema.tables; … poller_output BASE TABLE NULL NULL NULL NULL NULLNu se găsește fișierul: 'poller_output' (errno: 2)… Rezolvat de: mysql - uroot -p -e'repair table cacti.poller_output';

mysql -uroot -p -e'truncare table poller_output';