AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein [linux] script-problem mit cacti (solved)
Thema durchsuchen
Ansicht
Themen-Optionen

[linux] script-problem mit cacti (solved)

Ein Thema von _frank_ · begonnen am 10. Aug 2008 · letzter Beitrag vom 11. Aug 2008
Antwort Antwort
Benutzerbild von _frank_
_frank_

Registriert seit: 21. Feb 2003
Ort: Plauen / Bamberg
922 Beiträge
 
Delphi 3 Professional
 
#1

[linux] script-problem mit cacti (solved)

  Alt 10. Aug 2008, 23:57
moin,
ich hab mir mal einen Temperatursensor gebastelt und es funktioniert auch soweit

ich habe eine reihe vom scripts, um den sensor auszulesen, funktioniert auf der console ohne probleme, nur in cacti wird nichts ausgegeben.

zuerst habe ich in der crontab ein script, was mir alle 5 Minuten den sensor ausliest und in eine textdatei schreibt.
Code:
[root|/usr/local/bin]: ls -l /var/log/digitemp/s0
-rw-r--r-- 1 frank frank 43 2008-08-11 00:25 /var/log/digitemp/s0

[root|/usr/local/bin]: cat /var/log/digitemp/s0
Aug 11 00:25:02 Sensor 0 C: 24.94 F: 76.89
letzteres macht auch das 2. script von mir:
Code:
[root|/usr/local/bin]: cat temp
#!/bin/sh
#temperature=`/bin/cat /var/log/digitemp/s0`
#echo $temperature
echo 22
in diesem Script ist der Knackpunkt. momentan wird nur 22 ausgegeben und cacti frisst das ohne Probleme, ist aber nicht Sinn und Zweck habs auch schon mit "22.5" probiert (wegen dezimaltrenner), funktioniert auch

wenn ich meine realen Werte nehmen will (also 2. und 3. zeile auskommentiere und die letzte rausnehme) funktioniert das auf der console (auch ohne root-rechte), aber cacti springt mich mit der Meldung "CMDPHP: Poller[0] Host[1] DS[8] WARNING: Result from CMD not valid. Partial Result: " an. Hierbei ist zu beachten, dass hinter Result kein text steht. wäre eine falsche Ausgabe (Buchstaben, etc), würde da die ausgabe stehen. es wird also nichts zurückgegeben.
imho nimmt cacti zu ausführen die cmd.php, aber wie das script letztendlich aufgerufen wird, konnte ich noch nicht genau nachvollziehen...

dass die variablen zuweisung funktioniert sehe ich im nächste script (welches von cacti aufgerufen wird):
Code:
[root|/usr/local/bin]: cat cacti_temp0         
#!/bin/sh
op=`/usr/local/bin/temp`
#|/usr/bin/awk '{print $7}'`
echo $op
noch paar hintergrundinfos:
Temperatursensor DS1820
DigiTemp v3.3.2 Copyright 1996-2004 by Brian C. Lane
Debian etch (aktuelles patchlevel), kernel: 2.6.16.18
Cacti-version...laut apt-cache cacti_0.8.6i-3.5_all.deb

ich kann mir absolut nicht erklären, warum die Ausgabe leer ist, aber vielleicht hat hier ja jemand eine Idee...

Gruß Frank
  Mit Zitat antworten Zitat
Dax
(Gast)

n/a Beiträge
 
#2

Re: [linux] script-problem mit cacti

  Alt 11. Aug 2008, 00:09
Code:
#!/bin/sh
temperature=`/bin/cat /var/log/digitemp/s0`
echo $temperature
Dein Programm wird einen simplen Wert Marke (d+(\.d+)?)|(\.d+) erwarten - dann ist es kein Wunder, dass es so nicht funktioniert. echo hängt ein \n an die Ausgabe, und der Weg über `` ist überflüssig.
Code:
#!/bin/sh
/bin/cat /var/log/digitemp/s0
sollte ausreichen, oder zumindest echo -n
  Mit Zitat antworten Zitat
Benutzerbild von _frank_
_frank_

Registriert seit: 21. Feb 2003
Ort: Plauen / Bamberg
922 Beiträge
 
Delphi 3 Professional
 
#3

Re: [linux] script-problem mit cacti

  Alt 11. Aug 2008, 00:18
habs mal so gemacht nur mit cat, aber gleiches resultat...wie gesagt, mit echo 22.5 funktioniert es nur halt nicht über cat.
und ich habe keinen zusätzlichen zeilenumbruch (echo $temperature sah genauso aus auf der console wie echo 22.5)
habe auch schon geschaut, ob cat evtl in stderr schreibt (2>/dev/null), aber das ist auch nicht der Fall.
mir ist auch aktuell noch ein rätsel, mit welchem benutzer cacti arbeitet (www-data vom webserver vielleicht). echo $USER ist jedenfalls auch leer.

Gruß Frank
  Mit Zitat antworten Zitat
Benutzerbild von _frank_
_frank_

Registriert seit: 21. Feb 2003
Ort: Plauen / Bamberg
922 Beiträge
 
Delphi 3 Professional
 
#4

Re: [linux] script-problem mit cacti

  Alt 11. Aug 2008, 09:30
habe herausgefunden, woran es lag...
da beide "timer" (cron/cacti) auf 5 minuten lagen, war im Moment des cacti-Zugriffs die datei gerade leer/gelockt. nachdem ich den crontimer per 2-59/5 um 2 minten verschoben habe, funktioniert es auch mit cacti ohne probleme.

Gruß Frank
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:39 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz