[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Wheezy: Cacti kann SNMP-Werte nicht auslesen



Sebastian Suchanek <sebastian.suchanek@gmx.de> wrote:
> Am 13.06.2015 um 14:53 schrieb Sven Hartge:

> Vorweg fürs Protokoll: Ich habe mir sozusagen parallel doch noch mal das
> fragliche Perl-Skript vorgenommen. Die Lösung war eigentlich doch
> ziemlich einfach, auch wenn sie vielleicht nicht unbedingt elegant ist:

> @@ -7,6 +7,7 @@

>  #   9:36pm  up 15 days, 11:37,  2 users,  load average: 0.14, 0.13, 0.10

> +$avg =~ s/,(?=\d)/./g;
>  $avg =~ s/^.*:\s(\d+\.\d{2}),?\s(\d+\.\d{2}),?\s(\d+\.\d{2})$//;

>  print "1min:$1 5min:$2 10min:$3";

>> [...]
>> *meep* Falsch.
>> 
>> Bitte _immer_ "service dienstname aktion" benutzen, also "service
>> apache2 start", weil nur das service-Programm vorher die
>> Umgebungsvariablen säubert. 
>> 
>> Durch den direkten Start via /etc/init.d/apache2 erbt dieser alle deine
>> Umgebungsvariablen, z.B. auch LANG und daher kommt wahrscheinlich dein
>> Problem.

> Mal so zum Verständnis gefragt: Diese Sache hätte aber doch nur
> Auswirkungen auf diejenigen Shell-Aufrufe, die der Apache-Daemon
> tatsächlich selbst macht, oder?

Richtig.

Wenn du direkt "/etc/init.d/apache2" aufrufst, erbt der Apache alle
Umgebungsvariablen, die zu dem Zeitpunkt gelten. /etc/apache2/envvars
setzt war LANG um, wenn du aber z.B. LC_NUMERIC=de_DE.utf8 gesetzt hast,
so wird das auch vererbt und hat Vorrang gegenüber LANG=C.

> Oder andersherum gefragt: wenn ich mich auf der Konsole per "su
> www-data" wechsle, gelten ggf. andere Einstellungen? Falls ja würde
> das ja Debuging-Aktionen wie dir vorliegende noch komplizierter
> machen...

Richtig. Wenn du via "su www-data" oder "sudo -u www-data -i" zu diesem
User wirst, hast du ggfls. wiederum eine andere Umgebung.

Wenn nun ein Script, Programm, wasauchimmer, darauf angewiesen ist, in
einer bestimmten Locale zu laufen, dann sollte es diese selbst passend
setzen. 

>> Außerdem sollte man sich "service dienstname aktion" auch schon
>> deswegen dringend angewöhnen, weil dieses auch mit Upstart oder
>> systemd funktioniert.

> Ich gehe aktuell davon aus, dass ich erst mit Stretch mit systemd in
> Verbindung komme. ;-)

Darum geht es nicht. Aus den genannten Gründen ist es eigentlich schon
seit Squeeze die streng empfohlene Best Practice, "service" für den
Aufruf der Init-Scripte zu verwenden.

Das dies dann das universelle Werkzeug auch für andere Init-Systeme ist,
ist dann nur positives Beiwerk.

Also _jetzt_ schon umgewöhnen, damit die Finger automatisch das richtige
Tippen.

S°

-- 
Sigmentation fault. Core dumped.


Reply to: