Portál AbcLinuxu, 24. dubna 2024 17:15


Dotaz: Cron a rrdtool

12.9.2022 14:45 PD321 | skóre: 3
Cron a rrdtool
Přečteno: 262×
Odpovědět | Admin
>>Ahoj,

rád bych vykreslil graf vytížení síťového interfacu přes SNMP. Vytvořil jsem si v rrdtoolu databázi:
rrdtool create /home/uzivatel/rrdtool/rrd/okres_praha.rrd --step 60 --start N
DS:okres_praha_in:COUNTER:180:0:125000000
DS:okres_praha_out:COUNTER:180:0:125000000
RRA:AVERAGE:0.5:1:130
RRA:MIN:0.5:130:1
RRA:MAX:0.5:130:1
RRA:AVERAGE:0.5:1:1450
RRA:MIN:0.5:1450:1
RRA:MAX:0.5:1450:1
RRA:AVERAGE:0.5:5:2050
RRA:MIN:0.5:10250:1
RRA:MAX:0.5:10250:1
RRA:AVERAGE:0.5:60:750
RRA:MIN:0.5:45000:1
RRA:MAX:0.5:45000:1
RRA:AVERAGE:0.5:720:730
RRA:MIN:0.5:525600:1
RRA:MAX:0.5:525600:1
Dál jsem si vytvořil skript na naplňování DB
#!/usr/bin/env python3
# coding=utf-8
import netsnmp
import time
import os

ifin = netsnmp.snmpget("ifHCInOctets.2001", Version = 2, DestHost='10.X.X.X', Community='Community')
ifout = netsnmp.snmpget("ifHCOutOctets.2001", Version = 2, DestHost='10.X.X.X', Community='Community')
#cas = netsnmp.snmpget("sysUptime", Version = 2, DestHost='10.X.X.X', Community='Community')

cas = (int(time.time()))

os.system ("rrdtool update /home/uzivatel/rrdtool/rrd/okres_praha.rrd N:{}:{}".format(ifin[0], ifout[0]))
Skritp jsem dal do cronu:
0-59/5 * * * * /home/uzivatel/rrdtool/okr_praha_graf.py 1> /home/uzivatel/rrdtool/info.txt 2> /home/uzivatel/rrdtool/error.txt
Když na skript klikám ručně, tak se DB začne plnit. Když to nechám pouze cronu, tak se do DB zapisuje pouze "-nan". Tady je to vidět:
rrdtool fetch /home/uzivatel/rrdtool/rrd/okres_praha.rrd AVERAGE

1662978720: -nan -nan
1662978780: -nan -nan
1662978840: -nan -nan
1662978900: -nan -nan
1662978960: 2,5960607416e+02 2,2778481399e+02
1662979020: 2,6818385345e+02 2,3531117047e+02
1662979080: 2,4999412889e+02 1,6865062840e+02
1662979140: 2,2247386558e+02 1,5306910086e+02
1662979200: 3,2239888136e+02 3,0891347989e+02
1662979260: 2,6120321792e+02 2,5027752784e+02
1662979320: -nan -nan
1662979380: -nan -nan
1662979440: -nan -nan
1662979500: -nan -nan
1662979560: -nan -nan
1662979620: -nan -nan
1662979680: -nan -nan
1662979740: -nan -nan
1662979800: -nan -nan
1662979860: 1,9670246371e+02 6,8454553061e+01
1662979920: 2,0573240644e+02 8,0109005720e+01
1662979980: -nan -nan
1662980040: -nan -nan
1662980100: -nan -nan
1662980160: -nan -nan
Když se kouknu na čas změny .rrd souboru, tak to odpovídá spuštění skriptu cronem. Nevíte, kde může být chyba? Díky.

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

12.9.2022 16:23 X
Rozbalit Rozbalit vše Re: Cron a rrdtool
Odpovědět | | Sbalit | Link | Blokovat | Admin
#!/usr/bin/env python3

import rrdtool,netsnmp

RDD='/home/uzivatel/rrdtool/rrd/okres_praha.rrd'

DSIN,DSOUT'U','U'
IFIN = netsnmp.snmpget("ifHCInOctets.2001", Version=2, DestHost='10.X.X.X', Community='Community')
IFOUT = netsnmp.snmpget("ifHCOutOctets.2001", Version=2, DestHost='10.X.X.X', Community='Community')

if IFIN: DSIN = IFIN
if IFOUT: DSOUT = IFOUT

rrdtool.update(RRD,'N:' + DSIN + ':' + DSOUT)
Pokud to pobezi pod uzivatelskym cronem pravdepodobne nebudes mit prava na cteni SNMP hodnot z interface(/etc/snmpd.conf).
12.9.2022 16:24 X
Rozbalit Rozbalit vše Re: Cron a rrdtool
DSIN,DSOUT='U','U'
12.9.2022 17:58 PD321 | skóre: 3
Rozbalit Rozbalit vše Re: Cron a rrdtool
V tom problém nebude. Do skriptu jsem si dal kontrolní výpis pomocí print pro ifin[0] i ifout[0] a v info.txt jsou obě hodnoty ze SNMP po spuštění skriptu cronem.

Ještě mě napadlo, pokud spouštím skript ručně, tak to dělám krátce po sobě. Rrdtool pak dělá rozdíly, protože hodnoty jsou typu counter. Možná když to cron spustí až po 5 minutách, tak rrdtool dostane nějakou velkou hodnotu mimo jeho očekávanej rozsah.
Řešení 1× (PD321 (tazatel))
12.9.2022 18:47 X
Rozbalit Rozbalit vše Re: Cron a rrdtool
Po peti minutach? Mas definovano po minute a ten heartbeat staci dvojnasobek. Misto 125000000 muzes dat 'U'. Definice "RRA:AVERAGE:0.5:1:130" znamena, ze sbiras minutove hodnoty po dobu 2h a 10minut. Proc 10 minut navic?
12.9.2022 23:15 PD321 | skóre: 3
Rozbalit Rozbalit vše Re: Cron a rrdtool
Díky za podněty, zapracuju je. Inspiroval jsem se v tomhle příkladu a ještě jsem nepobral všechny parametry. Dotěď jsem používal MRTG dokud si na jednom pidiprvku nevylámal zuby, tak že hledám alternativu. https://jankus.cz/?id=3&t=127
12.9.2022 23:23 PD321 | skóre: 3
Rozbalit Rozbalit vše Re: Cron a rrdtool
Dík. Jedna z těch věcí zabrala. Už se tam sypou data.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.