symux und rrdupdate

Manga

Well-Known Member
Hallo,

ich versuche gerade per symon / symux Daten in eine rrd Datei zu scheiben,
was allerdings wie folgt quittiert wird:

var/log/messages:

Oct 19 21:35:56 symux: rrdupdate -- /var/www/symon/rrds/localhost/cpu0.rrd 1161286556:0.30:0.00:1.50:20.00:78.20
Oct 19 21:36:01 symux: rrd_update:reading the cookie off /var/www/symon/rrds/localhost/if_de0.rrd faild
Oct 19 21:36:01 symux: rrdupdate -- /var/www/symon/rrds/localhost/if_de0.rrd 1161286561:63:1:7818:18788:8:2:0:0:0:0
Oct 19 21:36:01 symux: rrd_update:reading the cookie off /var/www/symon/rrds/localhost/if_lo0.rrd faild
Oct 19 21:36:01 symux: rrdupdate -- /var/www/symon/rrds/localhost/if_lo0.rrd 1161286561:122:122:20496:20496:0:0:0:0:0:0
Oct 19 21:36:01 symux: rrd_update:reading the cookie off /var/www/symon/rrds/localhost/mem.rrd faild
Oct 19 21:36:01 symux: rrdupdate -- /var/www/symon/rrds/localhost/mem.rrd 1161286561:13058048:26505216:95653888:0:242032640
Oct 19 21:36:02 symux: rrd_update:reading the cookie off /var/www/symon/rrds/localhost/cpu0.rrd faild
Oct 19 21:36:02 symux: rrdupdate -- /var/www/symon/rrds/localhost/cpu0.rrd 1161286561:0.00:0.00:0.60:17.39:82.00
Oct 19 21:36:06 symux: rrd_update:reading the cookie off /var/www/symon/rrds/localhost/if_de0.rrd faild
Oct 19 21:36:06 symux: rrdupdate -- /var/www/symon/rrds/localhost/if_de0.rrd 1161286566:79:1:9478:49062:8:2:0:0:0:0
Oct 19 21:36:06 symux: rrd_update:reading the cookie off /var/www/symon/rrds/localhost/if_lo0.rrd faild
Oct 19 21:36:06 symux: rrdupdate -- /var/www/symon/rrds/localhost/if_lo0.rrd 1161286566:123:123:20664:20664:0:0:0:0:0:0
Oct 19 21:36:06 symux: rrd_update:reading the cookie off /var/www/symon/rrds/localhost/mem.rrd faild
Oct 19 21:36:06 symux: rrdupdate -- /var/www/symon/rrds/localhost/mem.rrd 1161286566:13262848:26710016:95449088:0:242032640
Oct 19 21:36:06 symux: rrd_update:reading the cookie off /var/www/symon/rrds/localhost/cpu0.rrd faild
Oct 19 21:36:06 symux: rrdupdate -- /var/www/symon/rrds/localhost/cpu0.rrd 1161286566:0.20:0.00:0.80:16.20:82.70

Die Dateien habe ich mit touch angelegt

root@ /var/www/symon/rrds/localhost
# /bin/ls -l
total 7136
-rw-r--r-- 1 root wheel 7280623 Mar 24 2006 INDEX
-rw-r--r-- 1 root wheel 0 Oct 19 19:30 cpu0.rrd
-rw-r--r-- 1 root wheel 0 Oct 19 21:11 if_de0.rrd
-rw-r--r-- 1 root wheel 0 Oct 19 19:30 if_lo0.rrd
-rw-r--r-- 1 root wheel 0 Oct 19 21:12 if_wi0.rrd
-rw-r--r-- 1 root wheel 0 Oct 19 21:12 if_xl.rrd
-rw-r--r-- 1 root wheel 0 Oct 19 21:13 if_xl0.rrd
-rw-r--r-- 1 root wheel 0 Oct 19 19:28 io_wd0.rrd
-rw-r--r-- 1 root wheel 0 Oct 19 19:30 mem.rrd



root@ /var/www/symon/rrds/localhost
# file cpu0.rrd
cpu0.rrd: empty

Was hat es mit

reading the cookie off /var/www/symon/rrds/localhost/if_de0.rrd faild

auf sich? Woher kommt der Fehler?


MfG
 
Das funktioniert so nicht, du musst die rrd-Files von rrdtool anlegen lassen.
Bei symux ist ein Script dabei, welches das erledigt - ich weiss jetzt nich auswendig, wie das heisst, such mal im symux-Verzeichnis danach.

Falls du es nicht findest kann ich @home nachschauen, wo das genau liegt...
 
Ich habe jetzt mit rrdtool create eine Datenbank angelegt.
Die Aufzeichnung scheint zu funktionieren.
Folgendes ergibt ein "rrdtool dump if_de0.rrd" :

Code:
<!-- Round Robin Database Dump --><rrd>	<version> 0003 </version>
	<step> 1 </step> <!-- Seconds -->
	<lastupdate> 1161288735 </lastupdate> <!-- 2006-10-19 22:12:15 CEST -->

	<ds>
		<name> de0 </name>
		<type> GAUGE </type>
		<minimal_heartbeat> 600 </minimal_heartbeat>
		<min> 0.0000000000e+00 </min>
		<max> 1.0000000000e+06 </max>

		<!-- PDP Status -->
		<last_ds> UNKN </last_ds>
		<value> 0.0000000000e+00 </value>
		<unknown_sec> 0 </unknown_sec>
	</ds>

<!-- Round Robin Archives -->	<rra>
		<cf> AVERAGE </cf>
		<pdp_per_row> 1 </pdp_per_row> <!-- 1 seconds -->

		<params>
		<xff> 5.0000000000e-01 </xff>
		</params>
		<cdp_prep>
			<ds>
			<primary_value> 0.0000000000e+00 </primary_value>
			<secondary_value> 0.0000000000e+00 </secondary_value>
			<value> NaN </value>
			<unknown_datapoints> 0 </unknown_datapoints>
			</ds>
		</cdp_prep>
		<database>
			<!-- 2006-10-08 08:25:36 CEST / 1160288736 --> <row><v> NaN </v></row>
			<!-- 2006-10-08 08:25:37 CEST / 1160288737 --> <row><v> NaN </v></row>
			<!-- 2006-10-08 08:25:38 CEST / 1160288738 --> <row><v> NaN </v></row>
			<!-- 2006-10-08 08:25:39 CEST / 1160288739 --> <row><v> NaN </v></row>

Ich nehme an "1160288736" ist der timestamp von Anbeginn der Zeit und NaN sollte der Datenwert in byte sein. Allerdings wird er wohl nicht geschrieben und ich frage mich warum.
Hier der Rest der config Dateien:

Code:
#
# $Id: symon.conf,v 1.12 2004/02/26 22:48:08 dijkstra Exp $
#
# Demo configuration for symon. See symon(8) for BNF.

monitor { cpu(0),  mem,
	  if(lo0),
#	  pf,
#         mbuf,
#         sensor(0),
#         proc(httpd),
          if(xl0), if(de0), if(wi0),
#	  io(wd1), io(wd2), io(wd3), io(cd0)
	  io(wd0)
} stream to 127.0.0.1 2100

#
# $Id: symux.conf,v 1.22 2004/02/26 22:48:08 dijkstra Exp $
#
# Demo symux configuration. See symux(8) for BNF.

mux 127.0.0.1 2100

source 127.0.0.1 {
accept { cpu(0), mem,
if(lo0),
# pf,
# mbuf,
# sensor(0),
# proc(httpd),
if(xl0), if(de0), if(wi0),
# io(wd1), io(wd2), io(wd3), io(cd0)
io(wd0)
}

datadir "/var/www/symon/rrds/localhost"
}

Code:
var/log/messages

Oct 20 20:34:50  symux: rrd_update:expected 1 data source readings (got 10) from 1161369290:61753:110335:4194240:155550640:15:2:0:0:0:0:...
Oct 20 20:34:50  symux: rrdupdate -- /var/www/symon/rrds/localhost/if_de0.rrd 1161369290:61753:110335:4194240:155550640:15:2:0:0:0:0



Code:
# rrdtool info if_de0.rrd
filename = "if_de0.rrd"
rrd_version = "0003"
step = 1
last_update = 1161288735
ds[de0].type = "GAUGE"
ds[de0].minimal_heartbeat = 600
ds[de0].min = 0.0000000000e+00
ds[de0].max = NaN
ds[de0].last_ds = "UNKN"
ds[de0].value = 0.0000000000e+00
ds[de0].unknown_sec = 0
rra[0].cf = "AVERAGE"
rra[0].rows = 1000000
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

Ich habe mal das Maximum des input-Wertes erhöht, ohne Erfolg.
Ich kann die Daten nicht so richtig interpretieren.
Wo muss ich noch nachbessern?
 
Du kannst nicht einfach eine RRD anlegen. Du musst die passenden Spalten erzeugen, etc. Du willst das c_smrrds.sh-Script von symon verwenden und das nicht selbst machen.

Ich habe da ein kleines hässliches Script geschrieben, welches symux.conf parst und die passenden RRDs erzeugt. Es braucht aber auch ein leicht gepatchtes c_smrrds.sh Script.

Leider laesst Willem Dijkstra (der Autor) nichts mehr von sich hören, so dass meine Patches nicht in eine neue Version fliessen.

PS: Wie haenge ich hier ein Attachment ran? Schick mir doch deine Adresse per PM, dann maile ich dir das Zeug
 
Wenn ich das richtig verstanden habe, stehen die Werte die in var/log/messages auftauchen für :
packets_in, packets_out, bytes_in, bytes_out, multicasts_in, multicasts_out, errors_in, errors_out, collisions, drops
Sie werden nur nicht richtig zugeordnet.

Ich habe mal das Skript c_smrrd.sh probiert.
Es schein das selbe zu machen, was ich mit
rrdtool create if_de0.rrd --step 1 DS:de0:GAUGE:600:0:1000000000 RRA:AVERAGE:.5:1:180
gemacht habe, nur mit allen Datenpunkten.
Allerdings mit dem selben Ergebnis, die Daten werden nicht ordentlich zugeordnet.

Code:
# `locate c_smrrds.sh` de0            
if_de0.rrd created                    
                                      
root@ /var/www/symon/rrds/localhost   


<!-- Round Robin Database Dump --><rrd>	<version> 0003 </version>
	<step> 5 </step> <!-- Seconds -->
	<lastupdate> 1161429324 </lastupdate> <!-- 2006-10-21 13:15:24 CEST -->

	<ds>
		<name> ipackets </name>
		<type> COUNTER </type>
		<minimal_heartbeat> 5 </minimal_heartbeat>
		<min> NaN </min>
		<max> NaN </max>

		<!-- PDP Status -->
		<last_ds> 14 </last_ds>
		<value> 0.0000000000e+00 </value>
		<unknown_sec> 0 </unknown_sec>
	</ds>

	<ds>
		<name> opackets </name>
		<type> COUNTER </type>
		<minimal_heartbeat> 5 </minimal_heartbeat>
		<min> NaN </min>
		<max> NaN </max>

		<!-- PDP Status -->
		<last_ds> 1 </last_ds>
		<value> 0.0000000000e+00 </value>
		<unknown_sec> 0 </unknown_sec>
	</ds>

	<ds>
		<name> ibytes </name>
		<type> COUNTER </type>
		<minimal_heartbeat> 5 </minimal_heartbeat>
		<min> NaN </min>
		<max> NaN </max>

		<!-- PDP Status -->
		<last_ds> 1428 </last_ds>
		<value> 0.0000000000e+00 </value>
		<unknown_sec> 0 </unknown_sec>
	</ds>

	<ds>
		<name> obytes </name>
		<type> COUNTER </type>
		<minimal_heartbeat> 5 </minimal_heartbeat>
		<min> NaN </min>
		<max> NaN </max>

		<!-- PDP Status -->
		<last_ds> 1078 </last_ds>
		<value> 0.0000000000e+00 </value>
		<unknown_sec> 0 </unknown_sec>
	</ds>

	<ds>
		<name> imcasts </name>
		<type> COUNTER </type>
		<minimal_heartbeat> 5 </minimal_heartbeat>
		<min> NaN </min>
		<max> NaN </max>

		<!-- PDP Status -->
		<last_ds> 3 </last_ds>
		<value> 0.0000000000e+00 </value>
		<unknown_sec> 0 </unknown_sec>
	</ds>

	<ds>
		<name> omcasts </name>
		<type> COUNTER </type>
		<minimal_heartbeat> 5 </minimal_heartbeat>
		<min> NaN </min>
		<max> NaN </max>

		<!-- PDP Status -->
		<last_ds> 2 </last_ds>
		<value> 0.0000000000e+00 </value>
		<unknown_sec> 0 </unknown_sec>
	</ds>

	<ds>
		<name> ierrors </name>
		<type> COUNTER </type>
		<minimal_heartbeat> 5 </minimal_heartbeat>
		<min> NaN </min>
		<max> NaN </max>

		<!-- PDP Status -->
		<last_ds> 0 </last_ds>
		<value> 0.0000000000e+00 </value>
		<unknown_sec> 0 </unknown_sec>
	</ds>

	<ds>
		<name> oerrors </name>
		<type> COUNTER </type>
		<minimal_heartbeat> 5 </minimal_heartbeat>
		<min> NaN </min>
		<max> NaN </max>

		<!-- PDP Status -->
		<last_ds> 0 </last_ds>
		<value> 0.0000000000e+00 </value>
		<unknown_sec> 0 </unknown_sec>
	</ds>

	<ds>
		<name> collisions </name>
		<type> COUNTER </type>
		<minimal_heartbeat> 5 </minimal_heartbeat>
		<min> NaN </min>
		<max> NaN </max>

		<!-- PDP Status -->
		<last_ds> 0 </last_ds>
		<value> 0.0000000000e+00 </value>
		<unknown_sec> 0 </unknown_sec>
	</ds>

	<ds>
		<name> drops </name>
		<type> COUNTER </type>
		<minimal_heartbeat> 5 </minimal_heartbeat>
		<min> NaN </min>
		<max> NaN </max>

		<!-- PDP Status -->
		<last_ds> 0 </last_ds>
		<value> 0.0000000000e+00 </value>
		<unknown_sec> 0 </unknown_sec>
	</ds>

<!-- Round Robin Archives -->	<rra>
		<cf> AVERAGE </cf>
		<pdp_per_row> 1 </pdp_per_row> <!-- 5 seconds -->

		<params>
		<xff> 5.0000000000e-01 </xff>
		</params>
		<cdp_prep>
			<ds>
			<primary_value> 0.0000000000e+00 </primary_value>
			<secondary_value> NaN </secondary_value>
			<value> NaN </value>
			<unknown_datapoints> 0 </unknown_datapoints>
			</ds>
			<ds>
			<primary_value> 0.0000000000e+00 </primary_value>
			<secondary_value> NaN </secondary_value>
			<value> NaN </value>
			<unknown_datapoints> 0 </unknown_datapoints>
			</ds>
			<ds>
			<primary_value> 0.0000000000e+00 </primary_value>
			<secondary_value> NaN </secondary_value>
			<value> NaN </value>
			<unknown_datapoints> 0 </unknown_datapoints>
			</ds>
			<ds>
			<primary_value> 0.0000000000e+00 </primary_value>
			<secondary_value> NaN </secondary_value>
			<value> NaN </value>
			<unknown_datapoints> 0 </unknown_datapoints>
			</ds>
			<ds>
			<primary_value> 0.0000000000e+00 </primary_value>
			<secondary_value> NaN </secondary_value>
			<value> NaN </value>
			<unknown_datapoints> 0 </unknown_datapoints>
			</ds>
			<ds>
			<primary_value> 0.0000000000e+00 </primary_value>
			<secondary_value> NaN </secondary_value>
			<value> NaN </value>
			<unknown_datapoints> 0 </unknown_datapoints>
			</ds>
			<ds>
			<primary_value> 0.0000000000e+00 </primary_value>
			<secondary_value> NaN </secondary_value>
			<value> NaN </value>
			<unknown_datapoints> 0 </unknown_datapoints>
			</ds>
			<ds>
			<primary_value> 0.0000000000e+00 </primary_value>
			<secondary_value> NaN </secondary_value>
			<value> NaN </value>
			<unknown_datapoints> 0 </unknown_datapoints>
			</ds>
			<ds>
			<primary_value> 0.0000000000e+00 </primary_value>
			<secondary_value> NaN </secondary_value>
			<value> NaN </value>
			<unknown_datapoints> 0 </unknown_datapoints>
			</ds>
			<ds>
			<primary_value> 0.0000000000e+00 </primary_value>
			<secondary_value> NaN </secondary_value>
			<value> NaN </value>
			<unknown_datapoints> 0 </unknown_datapoints>
			</ds>
		</cdp_prep>
		<database>
			<!-- 2006-10-19 13:15:25 CEST / 1161256525 --> <row><v> NaN </v><v> NaN </v><v> NaN </v><v> NaN </v><v> NaN </v><v> NaN </v><v> NaN </v><v> NaN </v><v> NaN </v><v> NaN </v></row>
			<!-- 2006-10-19 13:15:30 CEST / 1161256530 --> <row><v> NaN </v><v> NaN </v><v> NaN </v><v> NaN </v><v> NaN </v><v> NaN </v><v> NaN </v><v> NaN </v><v> NaN </v><v> NaN </v></row>
			<!-- 2006-10-19 13:15:35 CEST / 1161256535 --> <row><v> NaN </v><v> NaN </v><v> NaN </v><v> NaN </v><v> NaN </v><v> NaN </v><v> NaN </v><v> NaN </v><v> NaN </v><v> NaN </v></row>
			<!-- 2006-10-19 13:15:40 CEST / 1161256540 --> <row><v> NaN </v><v> NaN </v><v> NaN <


Es scheint an
<unknown_datapoints> 0 </unknown_datapoints>
zu hängen, nur habe ich keine Ahnung wie ich an die richtigen Datenpunkte komme, das Skript macht ja scheinbar den selben Fehler.
 
Dabei kommt das hier:

# rrdtool fetch if_de0.rrd AVERAGE |less
de0

1161358876: nan
1161358877: nan
1161358878: nan
1161358879: nan
1161358880: nan
1161358881: nan
1161358882: nan
1161358883: nan
1161358884: nan
1161358885: nan
1161358886: nan
1161358887: nan

Also das was auch bei rrdtool dump gespeichert wird
 
Hallo nochmal,


könnte jemand, der symux/rrd laufen hat mal die Ausgabe von

rrdtool info if_NAME.rrd

posten, und schauen, ob symux tatsächlich jedes update in /var/log messages scheibt?



MfG
 
Code:
# rrdtool info if_xl0.rrd
filename = "if_xl0.rrd"
rrd_version = "0003"
step = 5
last_update = 1161816359
ds[ipackets].type = "COUNTER"
ds[ipackets].minimal_heartbeat = 5
ds[ipackets].min = NaN
ds[ipackets].max = NaN
ds[ipackets].last_ds = "69538"
ds[ipackets].value = 8.0000000000e-01
ds[ipackets].unknown_sec = 0
ds[opackets].type = "COUNTER"
ds[opackets].minimal_heartbeat = 5
ds[opackets].min = NaN
ds[opackets].max = NaN
ds[opackets].last_ds = "59647"
ds[opackets].value = 0.0000000000e+00
ds[opackets].unknown_sec = 0
ds[ibytes].type = "COUNTER"
ds[ibytes].minimal_heartbeat = 5
ds[ibytes].min = NaN
ds[ibytes].max = NaN
ds[ibytes].last_ds = "77441023"
ds[ibytes].value = 4.8000000000e+01
ds[ibytes].unknown_sec = 0
ds[obytes].type = "COUNTER"
ds[obytes].minimal_heartbeat = 5
ds[obytes].min = NaN
ds[obytes].max = NaN
ds[obytes].last_ds = "17949498"
ds[obytes].value = 0.0000000000e+00
ds[obytes].unknown_sec = 0
ds[imcasts].type = "COUNTER"
ds[imcasts].minimal_heartbeat = 5
ds[imcasts].min = NaN
ds[imcasts].max = NaN
ds[imcasts].last_ds = "2043"
ds[imcasts].value = 8.0000000000e-01
ds[imcasts].unknown_sec = 0
ds[omcasts].type = "COUNTER"
ds[omcasts].minimal_heartbeat = 5
ds[omcasts].min = NaN
ds[omcasts].max = NaN
ds[omcasts].last_ds = "0"
ds[omcasts].value = 0.0000000000e+00
ds[omcasts].unknown_sec = 0
ds[ierrors].type = "COUNTER"
ds[ierrors].minimal_heartbeat = 5
ds[ierrors].min = NaN
ds[ierrors].max = NaN
ds[ierrors].last_ds = "0"
ds[ierrors].value = 0.0000000000e+00
ds[ierrors].unknown_sec = 0
ds[oerrors].type = "COUNTER"
ds[oerrors].minimal_heartbeat = 5
ds[oerrors].min = NaN
ds[oerrors].max = NaN
ds[oerrors].last_ds = "0"
ds[oerrors].value = 0.0000000000e+00
ds[oerrors].unknown_sec = 0
ds[collisions].type = "COUNTER"
ds[collisions].minimal_heartbeat = 5
ds[collisions].min = NaN
ds[collisions].max = NaN
ds[collisions].last_ds = "0"
ds[collisions].value = 0.0000000000e+00
ds[collisions].unknown_sec = 0
ds[drops].type = "COUNTER"
ds[drops].minimal_heartbeat = 5
ds[drops].min = NaN
ds[drops].max = NaN
ds[drops].last_ds = "0"
ds[drops].value = 0.0000000000e+00
ds[drops].unknown_sec = 0
rra[0].cf = "AVERAGE"
rra[0].rows = 34560
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[0].cdp_prep[2].value = NaN
rra[0].cdp_prep[2].unknown_datapoints = 0
rra[0].cdp_prep[3].value = NaN
rra[0].cdp_prep[3].unknown_datapoints = 0
rra[0].cdp_prep[4].value = NaN
rra[0].cdp_prep[4].unknown_datapoints = 0
rra[0].cdp_prep[5].value = NaN
rra[0].cdp_prep[5].unknown_datapoints = 0
rra[0].cdp_prep[6].value = NaN
rra[0].cdp_prep[6].unknown_datapoints = 0
rra[0].cdp_prep[7].value = NaN
rra[0].cdp_prep[7].unknown_datapoints = 0
rra[0].cdp_prep[8].value = NaN
rra[0].cdp_prep[8].unknown_datapoints = 0
rra[0].cdp_prep[9].value = NaN
rra[0].cdp_prep[9].unknown_datapoints = 0
rra[1].cf = "AVERAGE"
rra[1].rows = 672
rra[1].pdp_per_row = 360
rra[1].xff = 5.0000000000e-01
rra[1].cdp_prep[0].value = 6.0740000000e+02
rra[1].cdp_prep[0].unknown_datapoints = 0
rra[1].cdp_prep[1].value = 4.5876000000e+02
rra[1].cdp_prep[1].unknown_datapoints = 0
rra[1].cdp_prep[2].value = 6.0302428000e+05
rra[1].cdp_prep[2].unknown_datapoints = 0
rra[1].cdp_prep[3].value = 5.1741640000e+04
rra[1].cdp_prep[3].unknown_datapoints = 0
rra[1].cdp_prep[4].value = 7.8400000000e+00
rra[1].cdp_prep[4].unknown_datapoints = 0
rra[1].cdp_prep[5].value = 0.0000000000e+00
rra[1].cdp_prep[5].unknown_datapoints = 0
rra[1].cdp_prep[6].value = 0.0000000000e+00
rra[1].cdp_prep[6].unknown_datapoints = 0
rra[1].cdp_prep[7].value = 0.0000000000e+00
rra[1].cdp_prep[7].unknown_datapoints = 0
rra[1].cdp_prep[8].value = 0.0000000000e+00
rra[1].cdp_prep[8].unknown_datapoints = 0
rra[1].cdp_prep[9].value = 0.0000000000e+00
rra[1].cdp_prep[9].unknown_datapoints = 0
rra[2].cf = "AVERAGE"
rra[2].rows = 600
rra[2].pdp_per_row = 1440
rra[2].xff = 5.0000000000e-01
rra[2].cdp_prep[0].value = 7.6076000000e+02
rra[2].cdp_prep[0].unknown_datapoints = 0
rra[2].cdp_prep[1].value = 5.7920000000e+02
rra[2].cdp_prep[1].unknown_datapoints = 0
rra[2].cdp_prep[2].value = 7.7685472000e+05
rra[2].cdp_prep[2].unknown_datapoints = 0
rra[2].cdp_prep[3].value = 6.0005760000e+04
rra[2].cdp_prep[3].unknown_datapoints = 0
rra[2].cdp_prep[4].value = 2.7440000000e+01
rra[2].cdp_prep[4].unknown_datapoints = 0
rra[2].cdp_prep[5].value = 0.0000000000e+00
rra[2].cdp_prep[5].unknown_datapoints = 0
rra[2].cdp_prep[6].value = 0.0000000000e+00
rra[2].cdp_prep[6].unknown_datapoints = 0
rra[2].cdp_prep[7].value = 0.0000000000e+00
rra[2].cdp_prep[7].unknown_datapoints = 0
rra[2].cdp_prep[8].value = 0.0000000000e+00
rra[2].cdp_prep[8].unknown_datapoints = 0
rra[2].cdp_prep[9].value = 0.0000000000e+00
rra[2].cdp_prep[9].unknown_datapoints = 0
rra[3].cf = "AVERAGE"
rra[3].rows = 600
rra[3].pdp_per_row = 17280
rra[3].xff = 5.0000000000e-01
rra[3].cdp_prep[0].value = 1.6564600000e+04
rra[3].cdp_prep[0].unknown_datapoints = 9043
rra[3].cdp_prep[1].value = 1.4198480000e+04
rra[3].cdp_prep[1].unknown_datapoints = 9043
rra[3].cdp_prep[2].value = 1.7890092760e+07
rra[3].cdp_prep[2].unknown_datapoints = 9043
rra[3].cdp_prep[3].value = 4.0633445600e+06
rra[3].cdp_prep[3].unknown_datapoints = 9043
rra[3].cdp_prep[4].value = 5.5880000000e+02
rra[3].cdp_prep[4].unknown_datapoints = 9043
rra[3].cdp_prep[5].value = 0.0000000000e+00
rra[3].cdp_prep[5].unknown_datapoints = 9043
rra[3].cdp_prep[6].value = 0.0000000000e+00
rra[3].cdp_prep[6].unknown_datapoints = 9043
rra[3].cdp_prep[7].value = 0.0000000000e+00
rra[3].cdp_prep[7].unknown_datapoints = 9043
rra[3].cdp_prep[8].value = 0.0000000000e+00
rra[3].cdp_prep[8].unknown_datapoints = 9043
rra[3].cdp_prep[9].value = 0.0000000000e+00
rra[3].cdp_prep[9].unknown_datapoints = 9043
rra[4].cf = "MAX"
rra[4].rows = 34560
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[4].cdp_prep[2].value = NaN
rra[4].cdp_prep[2].unknown_datapoints = 0
rra[4].cdp_prep[3].value = NaN
rra[4].cdp_prep[3].unknown_datapoints = 0
rra[4].cdp_prep[4].value = NaN
rra[4].cdp_prep[4].unknown_datapoints = 0
rra[4].cdp_prep[5].value = NaN
rra[4].cdp_prep[5].unknown_datapoints = 0
rra[4].cdp_prep[6].value = NaN
rra[4].cdp_prep[6].unknown_datapoints = 0
rra[4].cdp_prep[7].value = NaN
rra[4].cdp_prep[7].unknown_datapoints = 0
rra[4].cdp_prep[8].value = NaN
rra[4].cdp_prep[8].unknown_datapoints = 0
rra[4].cdp_prep[9].value = NaN
rra[4].cdp_prep[9].unknown_datapoints = 0
rra[5].cf = "MAX"
rra[5].rows = 672
rra[5].pdp_per_row = 360
rra[5].xff = 5.0000000000e-01
rra[5].cdp_prep[0].value = 3.1080000000e+01
rra[5].cdp_prep[0].unknown_datapoints = 0
rra[5].cdp_prep[1].value = 2.9760000000e+01
rra[5].cdp_prep[1].unknown_datapoints = 0
rra[5].cdp_prep[2].value = 2.1568320000e+04
rra[5].cdp_prep[2].unknown_datapoints = 0
rra[5].cdp_prep[3].value = 4.7923200000e+03
rra[5].cdp_prep[3].unknown_datapoints = 0
rra[5].cdp_prep[4].value = 9.6000000000e-01
rra[5].cdp_prep[4].unknown_datapoints = 0
rra[5].cdp_prep[5].value = 0.0000000000e+00
rra[5].cdp_prep[5].unknown_datapoints = 0
rra[5].cdp_prep[6].value = 0.0000000000e+00
rra[5].cdp_prep[6].unknown_datapoints = 0
rra[5].cdp_prep[7].value = 0.0000000000e+00
rra[5].cdp_prep[7].unknown_datapoints = 0
rra[5].cdp_prep[8].value = 0.0000000000e+00
rra[5].cdp_prep[8].unknown_datapoints = 0
rra[5].cdp_prep[9].value = 0.0000000000e+00
rra[5].cdp_prep[9].unknown_datapoints = 0
rra[6].cf = "MAX"
rra[6].rows = 600
rra[6].pdp_per_row = 1440
rra[6].xff = 5.0000000000e-01
rra[6].cdp_prep[0].value = 3.1080000000e+01
rra[6].cdp_prep[0].unknown_datapoints = 0
rra[6].cdp_prep[1].value = 2.9760000000e+01
rra[6].cdp_prep[1].unknown_datapoints = 0
rra[6].cdp_prep[2].value = 2.1568320000e+04
rra[6].cdp_prep[2].unknown_datapoints = 0
rra[6].cdp_prep[3].value = 4.7923200000e+03
rra[6].cdp_prep[3].unknown_datapoints = 0
rra[6].cdp_prep[4].value = 1.0000000000e+00
rra[6].cdp_prep[4].unknown_datapoints = 0
rra[6].cdp_prep[5].value = 0.0000000000e+00
rra[6].cdp_prep[5].unknown_datapoints = 0
rra[6].cdp_prep[6].value = 0.0000000000e+00
rra[6].cdp_prep[6].unknown_datapoints = 0
rra[6].cdp_prep[7].value = 0.0000000000e+00
rra[6].cdp_prep[7].unknown_datapoints = 0
rra[6].cdp_prep[8].value = 0.0000000000e+00
rra[6].cdp_prep[8].unknown_datapoints = 0
rra[6].cdp_prep[9].value = 0.0000000000e+00
rra[6].cdp_prep[9].unknown_datapoints = 0
rra[7].cf = "MAX"
rra[7].rows = 600
rra[7].pdp_per_row = 17280
rra[7].xff = 5.0000000000e-01
rra[7].cdp_prep[0].value = 1.4604000000e+02
rra[7].cdp_prep[0].unknown_datapoints = 9043
rra[7].cdp_prep[1].value = 1.3692000000e+02
rra[7].cdp_prep[1].unknown_datapoints = 9043
rra[7].cdp_prep[2].value = 1.2567184000e+05
rra[7].cdp_prep[2].unknown_datapoints = 9043
rra[7].cdp_prep[3].value = 6.9089760000e+04
rra[7].cdp_prep[3].unknown_datapoints = 9043
rra[7].cdp_prep[4].value = 1.9200000000e+00
rra[7].cdp_prep[4].unknown_datapoints = 9043
rra[7].cdp_prep[5].value = 0.0000000000e+00
rra[7].cdp_prep[5].unknown_datapoints = 9043
rra[7].cdp_prep[6].value = 0.0000000000e+00
rra[7].cdp_prep[6].unknown_datapoints = 9043
rra[7].cdp_prep[7].value = 0.0000000000e+00
rra[7].cdp_prep[7].unknown_datapoints = 9043
rra[7].cdp_prep[8].value = 0.0000000000e+00
rra[7].cdp_prep[8].unknown_datapoints = 9043
rra[7].cdp_prep[9].value = 0.0000000000e+00
rra[7].cdp_prep[9].unknown_datapoints = 9043
rra[8].cf = "MIN"
rra[8].rows = 34560
rra[8].pdp_per_row = 1
rra[8].xff = 5.0000000000e-01
rra[8].cdp_prep[0].value = NaN
rra[8].cdp_prep[0].unknown_datapoints = 0
rra[8].cdp_prep[1].value = NaN
rra[8].cdp_prep[1].unknown_datapoints = 0
rra[8].cdp_prep[2].value = NaN
rra[8].cdp_prep[2].unknown_datapoints = 0
rra[8].cdp_prep[3].value = NaN
rra[8].cdp_prep[3].unknown_datapoints = 0
rra[8].cdp_prep[4].value = NaN
rra[8].cdp_prep[4].unknown_datapoints = 0
rra[8].cdp_prep[5].value = NaN
rra[8].cdp_prep[5].unknown_datapoints = 0
rra[8].cdp_prep[6].value = NaN
rra[8].cdp_prep[6].unknown_datapoints = 0
rra[8].cdp_prep[7].value = NaN
rra[8].cdp_prep[7].unknown_datapoints = 0
rra[8].cdp_prep[8].value = NaN
rra[8].cdp_prep[8].unknown_datapoints = 0
rra[8].cdp_prep[9].value = NaN
rra[8].cdp_prep[9].unknown_datapoints = 0
rra[9].cf = "MIN"
rra[9].rows = 672
rra[9].pdp_per_row = 360
rra[9].xff = 5.0000000000e-01
rra[9].cdp_prep[0].value = 0.0000000000e+00
rra[9].cdp_prep[0].unknown_datapoints = 0
rra[9].cdp_prep[1].value = 0.0000000000e+00
rra[9].cdp_prep[1].unknown_datapoints = 0
rra[9].cdp_prep[2].value = 0.0000000000e+00
rra[9].cdp_prep[2].unknown_datapoints = 0
rra[9].cdp_prep[3].value = 0.0000000000e+00
rra[9].cdp_prep[3].unknown_datapoints = 0
rra[9].cdp_prep[4].value = 0.0000000000e+00
rra[9].cdp_prep[4].unknown_datapoints = 0
rra[9].cdp_prep[5].value = 0.0000000000e+00
rra[9].cdp_prep[5].unknown_datapoints = 0
rra[9].cdp_prep[6].value = 0.0000000000e+00
rra[9].cdp_prep[6].unknown_datapoints = 0
rra[9].cdp_prep[7].value = 0.0000000000e+00
rra[9].cdp_prep[7].unknown_datapoints = 0
rra[9].cdp_prep[8].value = 0.0000000000e+00
rra[9].cdp_prep[8].unknown_datapoints = 0
rra[9].cdp_prep[9].value = 0.0000000000e+00
rra[9].cdp_prep[9].unknown_datapoints = 0
rra[10].cf = "MIN"
rra[10].rows = 600
rra[10].pdp_per_row = 1440
rra[10].xff = 5.0000000000e-01
rra[10].cdp_prep[0].value = 0.0000000000e+00
rra[10].cdp_prep[0].unknown_datapoints = 0
rra[10].cdp_prep[1].value = 0.0000000000e+00
rra[10].cdp_prep[1].unknown_datapoints = 0
rra[10].cdp_prep[2].value = 0.0000000000e+00
rra[10].cdp_prep[2].unknown_datapoints = 0
rra[10].cdp_prep[3].value = 0.0000000000e+00
rra[10].cdp_prep[3].unknown_datapoints = 0
rra[10].cdp_prep[4].value = 0.0000000000e+00
rra[10].cdp_prep[4].unknown_datapoints = 0
rra[10].cdp_prep[5].value = 0.0000000000e+00
rra[10].cdp_prep[5].unknown_datapoints = 0
rra[10].cdp_prep[6].value = 0.0000000000e+00
rra[10].cdp_prep[6].unknown_datapoints = 0
rra[10].cdp_prep[7].value = 0.0000000000e+00
rra[10].cdp_prep[7].unknown_datapoints = 0
rra[10].cdp_prep[8].value = 0.0000000000e+00
rra[10].cdp_prep[8].unknown_datapoints = 0
rra[10].cdp_prep[9].value = 0.0000000000e+00
rra[10].cdp_prep[9].unknown_datapoints = 0
rra[11].cf = "MIN"
rra[11].rows = 600
rra[11].pdp_per_row = 17280
rra[11].xff = 5.0000000000e-01
rra[11].cdp_prep[0].value = 0.0000000000e+00
rra[11].cdp_prep[0].unknown_datapoints = 9043
rra[11].cdp_prep[1].value = 0.0000000000e+00
rra[11].cdp_prep[1].unknown_datapoints = 9043
rra[11].cdp_prep[2].value = 0.0000000000e+00
rra[11].cdp_prep[2].unknown_datapoints = 9043
rra[11].cdp_prep[3].value = 0.0000000000e+00
rra[11].cdp_prep[3].unknown_datapoints = 9043
rra[11].cdp_prep[4].value = 0.0000000000e+00
rra[11].cdp_prep[4].unknown_datapoints = 9043
rra[11].cdp_prep[5].value = 0.0000000000e+00
rra[11].cdp_prep[5].unknown_datapoints = 9043
rra[11].cdp_prep[6].value = 0.0000000000e+00
rra[11].cdp_prep[6].unknown_datapoints = 9043
rra[11].cdp_prep[7].value = 0.0000000000e+00
rra[11].cdp_prep[7].unknown_datapoints = 9043
rra[11].cdp_prep[8].value = 0.0000000000e+00
rra[11].cdp_prep[8].unknown_datapoints = 9043
rra[11].cdp_prep[9].value = 0.0000000000e+00
rra[11].cdp_prep[9].unknown_datapoints = 9043

Und nein, meine /var/log/messages wird nicht nach jedem Update zugemüllt.
 
So,

ich habe es jetzt teilweise am laufen.Wenn ich die Datei mit
# `locate c_smr` if_de0.rrd
erstelle, erhalte ich Daten in der RRD.

Code:
root@ /var/www/symon/rrds/localhost      
#rrdtool fetch if_de0.rrd AVERAGE  

e+00 0.0000000000e+00                                                          
1161887045: 0.0000000000e+00 0.0000000000e+00 0.0000000000e+00 0.0000000000e+00
0.0000000000e+00 0.0000000000e+00 0.0000000000e+00 0.0000000000e+00 0.000000000
e+00 0.0000000000e+00                                                          
1161887050: 0.0000000000e+00 0.0000000000e+00 0.0000000000e+00 0.0000000000e+00
0.0000000000e+00 0.0000000000e+00 0.0000000000e+00 0.0000000000e+00 0.000000000
e+00 0.0000000000e+00                                                          
1161887055: 0.0000000000e+00 0.0000000000e+00 0.0000000000e+00 0.0000000000e+00
0.0000000000e+00 0.0000000000e+00 0.0000000000e+00 0.0000000000e+00 0.000000000
e+00 0.0000000000e+00                                                          
1161887060: nan nan nan nan nan nan nan nan nan nan                            
1161887065: nan nan nan nan nan nan nan nan nan nan

erstelle ich die Datei if_de0.rrd allerdings mit:

# `locate c_smr` if_de0.rrd interval 1

dann habe ich wieder das gewohnte Bild mit rrdtool fetch

Code:
1161884160: nan nan nan nan nan nan nan nan nan nan     
1161884520: nan nan nan nan nan nan nan nan nan nan     
1161884880: nan nan nan nan nan nan nan nan nan nan     
1161885240: nan nan nan nan nan nan nan nan nan nan     
1161885600: nan nan nan nan nan nan nan nan nan nan     
1161885960: nan nan nan nan nan nan nan nan nan nan     
1161886320: nan nan nan nan nan nan nan nan nan nan     
1161886680: nan nan nan nan nan nan nan nan nan nan     
1161887040: nan nan nan nan nan nan nan nan nan nan     
1161887400: nan nan nan nan nan nan nan nan nan nan     
1161887760: nan nan nan nan nan nan nan nan nan nan     
                                                        
root@ /var/www/symon/rrds/localhost


rrdinfo zeigt die selben Werte, bis auf das Interval, also auf den ersten blick alles ok.

Code:
root@ /var/www/symon/rrds/localhost     
# rrdtool info if_de0.rrd | less        
filename = "if_de0.rrd"                 
rrd_version = "0003"                    
step = 1                                
last_update = 1161887697                
ds[ipackets].type = "COUNTER"           
ds[ipackets].minimal_heartbeat = 1      
ds[ipackets].min = NaN                  
ds[ipackets].max = NaN                  
ds[ipackets].last_ds = "269"            
ds[ipackets].value = NaN                
ds[ipackets].unknown_sec = 0            
ds[opackets].type = "COUNTER"

Code:
root@ /var/www/symon/rrds/localhost            
# rrdtool info if_de0.rrd | less               
filename = "if_de0.rrd"                        
rrd_version = "0003"                           
step = 5                                       
last_update = 1161887802                       
ds[ipackets].type = "COUNTER"                  
ds[ipackets].minimal_heartbeat = 5             
ds[ipackets].min = NaN                         
ds[ipackets].max = NaN                         
ds[ipackets].last_ds = "270"                   
ds[ipackets].value = 0.0000000000e+00          
ds[ipackets].unknown_sec = 0                   
ds[opackets].type = "COUNTER"

Hier noch die aktuelle symux und symon confs

Code:
#
# $Id: symux.conf,v 1.22 2004/02/26 22:48:08 dijkstra Exp $
#
# Demo symux configuration. See symux(8) for BNF.

mux 127.0.0.1 2100

source 127.0.0.1 {
	accept {# cpu(0),  mem,
#	  	 if(lo0),
#	  	 pf,
#         	 mbuf,
#         	 sensor(0),
#         	 proc(httpd),
         	 if(de0),
#	  	 io(wd1), io(wd2), io(wd3), io(cd0)
#	  	 io(wd0)
	}

	datadir "/var/www/symon/rrds/localhost"
}

# an example showing the write directive
#
# source 10.0.0.2 {
#	accept { cpu(0), mem, if(sis0), if(sis1),
#		 if(lo0), if(wi0), io(wd0)
#	}
#
#	write cpu(0)   in "/var/www/symon/rrds/4512/cpu0.rrd"
#	write mem      in "/var/www/symon/rrds/4512/mem.rrd"
#	write if(sis0) in "/var/www/symon/rrds/4512/if_sis0.rrd"
#	write if(sis1) in "/var/www/symon/rrds/4512/if_sis1.rrd"
#	write if(lo0)  in "/var/www/symon/rrds/if_lo0.rrd"
#	write if(wi0)  in "/var/www/symon/rrds/4512/if_wi0.rrd"
#	write io(wd0)  in "/var/www/symon/rrds/4512/io_wd0.rrd"
# }

Code:
#
# $Id: symon.conf,v 1.12 2004/02/26 22:48:08 dijkstra Exp $
#
# Demo configuration for symon. See symon(8) for BNF.

monitor {
# cpu(0),  mem,
#	  if(lo0),
#	  pf,
#         mbuf,
#         sensor(0),
#         proc(httpd),
          if(de0),
#	  io(wd1), io(wd2), io(wd3), io(cd0)
#	  io(wd0)
} stream to 127.0.0.1 2100


Die var/log/messages enthält auch nur Einträge solange das Intervall auf 5 steht.
(wo die Einträge für cpu und die anderen Geräte herkommen frag ich mich auch schon die ganze Zeit.)
de0 ist jedenfalls nicht mehr drin, seit sie erfolgreich geschrieben wird.
Bei Intervall 1 kommt gar nix mehr an, als hätte symux aufgegeben irgendwas zu tun.

Code:
Oct 26 20:43:47  symux: rrd_update:reading the cookie off /var/www/symon/rrds/localhost/if_lo0.rrd faild
Oct 26 20:43:47  symux: rrdupdate -- /var/www/symon/rrds/localhost/if_lo0.rrd 1161888227:345:345:57960:57960:0:0:0:0:0:0
Oct 26 20:43:47  symux: rrd_update:reading the cookie off /var/www/symon/rrds/localhost/mem.rrd faild
Oct 26 20:43:47  symux: rrdupdate -- /var/www/symon/rrds/localhost/mem.rrd 1161888227:13950976:38637568:83509248:0:242032640
Oct 26 20:43:47  symux: rrd_update:reading the cookie off /var/www/symon/rrds/localhost/cpu0.rrd faild
Oct 26 20:43:47  symux: rrdupdate -- /var/www/symon/rrds/localhost/cpu0.rrd 1161888227:0.20:0.00:0.50:18.10:81.30
Oct 26 20:43:52  symux: rrd_update:reading the cookie off /var/www/symon/rrds/localhost/if_lo0.rrd faild
Oct 26 20:43:52  symux: rrdupdate -- /var/www/symon/rrds/localhost/if_lo0.rrd 1161888232:346:346:58128:58128:0:0:0:0:0:0
Oct 26 20:43:52  symux: rrd_update:reading the cookie off /var/www/symon/rrds/localhost/mem.rrd faild
Oct 26 20:43:52  symux: rrdupdate -- /var/www/symon/rrds/localhost/mem.rrd 1161888232:13950976:38637568:83509248:0:242032640
Oct 26 20:43:52  symux: rrd_update:reading the cookie off /var/www/symon/rrds/localhost/cpu0.rrd faild
Oct 26 20:43:52  symux: rrdupdate -- /var/www/symon/rrds/localhost/cpu0.rrd 1161888232:0.00:0.00:0.30:16.89:82.80
 
Das in var/log/messages nichts mehr auftaucht liegt wohl daran, das symon
gar nicht erst startet, weil die config Datei fehlerhaft ist.

Kann mir jemand vielleicht sagen wo dieses "every" rein muss, damit sich das Intervall ändert?
Ich habe schon alle erdenklichen Positionen probiert, aber immer meckert symon, das die config Datei fehlerhaft ist.
Code:
monitor-rule = "monitor" "{" resources "}" [every]
                    "stream" ["to"] host [ port ]
     resources    = resource ["(" argument ")"] [ ","|" " resources ]
     argument     = number | interfacename | diskname
     resource     = "cpu" | "mem" | "if" | "io" | "pf" | "pfq" |
                    "debug" | "proc" | "mbuf" | "sensor" | "df"
     every        = "every" time
     time         = "second" | number "seconds"
     host         = ip4addr | ip6addr | hostname
     port         = [ "port" | "," ] portnumber
Code:
#
# $Id: symon.conf,v 1.12 2004/02/26 22:48:08 dijkstra Exp $
#
# Demo configuration for symon. See symon(8) for BNF.

monitor { 
#cpu(0),  mem,
#	  if(lo0),
	if(rl0),	
#	  pf,
#         mbuf,
#         sensor(0),
#         proc(httpd),
#         if(xl0), if(de0), if(wi0),
#	  io(wd1), io(wd2), io(wd3), io(cd0)
#	  io(wd0)
}stream to 127.0.0.1 2100
 
Code:
monitor { if(rl0) } every 1 seconds stream to 127.0.0.1 2100

So wie es eben in der manpage beschrieben steht. Es hilft vielleicht, wenn man EBNFs kennt.
 
ah, tnx

ich hab immer nur every 1 probiert,
dachte das seconds wäre nicht nötig.

so richtig kapiert ich das bnf format nicht...
 
Mal vereinfacht: alles in "" sind Strings, die exakt so vorkommen muessen. Was in [] steht ist optional. "|" ermöglicht Alternativen.

Wir brauchen
monitor-rule = "monitor" "{" resources "}" [every] "stream" ["to"] host [ port ]

Also "monitor { ... } stream" muss so da stehen. Optional kann ein _every_ Token dazwischen stehen. Ein _every_ Token ist wie folgt definiert:
every = "every" time
Das heisst es muss "every" dastehen, gefolgt von einem _time_ token. Die Syntax eines _time_ Tokens ist dann folgende:
time = "second" | number "seconds"
Also entweder schreibst du "every second" oder "every 52 seconds". Alles andere bemängelt der Parser (zu recht).
 
Zurück
Oben