Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

systemd und snmptrapd

195 views
Skip to first unread message

Matthias Koch

unread,
Jul 27, 2017, 8:34:58 AM7/27/17
to
Auf einer Debian 8-Maschine habe ich fortgesetzt folgendes Problem:

snmptrapd lässt sich auf der Maschine nicht starten.


# service snmptrapd start

führt zu einem Eintrag im daemon.log:

Jul 27 14:15:02 <host> snmptrapd[6007]: NET-SNMP version 5.7.2.1 AgentX
subagent connected
Jul 27 14:15:02 <host> snmptrapd[6007]: NET-SNMP version 5.7.2.1



# service snmptrapd status

sagt

● snmptrapd.service - LSB: SNMP Trap daemon
Loaded: loaded (/etc/init.d/snmptrapd)
Active: active (exited) since Do 2017-07-27 14:22:28 CEST; 32s ago
Process: 10664 ExecStop=/etc/init.d/snmptrapd stop (code=exited,
status=0/SUCCESS)
Process: 10745 ExecStart=/etc/init.d/snmptrapd start (code=exited,
status=0/SUCCESS)

Jul 27 14:22:28 <host> snmptrapd[10745]: Starting SNMP trap services::
Jul 27 14:22:28 <host> systemd[1]: Started LSB: SNMP Trap daemon.



Tatsächlich läuft snmptrapd aber nicht, weder ist ein Prozess
auffindbar, noch ist der Port offen-

Mit

# snmptrapd -fc /etc/snmp/snmptrapd.conf

läuft er allerdings einwandfrei.


Die Logs geben keinen Aufschluss, was los ist - der Start scheint noch
zu funktionieren (siehe daemon.log), aber unmittelbar danach steigt der
Daemon aus.

Kann mich mal jemand in die richtige Richtung schubsen?

TIA
Matthias

Thomas Dorner

unread,
Jul 27, 2017, 12:08:03 PM7/27/17
to
Hallo Matthias!

MK> Process: 10745 ExecStart=/etc/init.d/snmptrapd start (code=exited,

MK>Mit
MK>
MK># snmptrapd -fc /etc/snmp/snmptrapd.conf
MK>
MK>läuft er allerdings einwandfrei.

Was passiert bei einem manuellen "/etc/init.d/snmptrapd start"?
(auch Return Code 0 und vermeintlicher Erfolg?)

Viele Grüße, Thomas

Tim Ritberg

unread,
Jul 27, 2017, 12:32:46 PM7/27/17
to
Am 27.07.2017 um 14:34 schrieb Matthias Koch:
> Auf einer Debian 8-Maschine habe ich fortgesetzt folgendes Problem:
>
> snmptrapd lässt sich auf der Maschine nicht starten.

>
> Kann mich mal jemand in die richtige Richtung schubsen?

LOL, systemd...

Schau mal in /var/run/systemd/generator*
und lösche den snmptrapd-Eintrag. Hat mir bei fetchmail geholfen.

Tim

Matthias Koch

unread,
Jul 28, 2017, 4:11:04 AM7/28/17
to
Am 27.07.2017 um 17:47 schrieb Thomas Dorner:

> Was passiert bei einem manuellen "/etc/init.d/snmptrapd start"?


Exakt dasselbe.

# /etc/init.d/snmptrapd start
[ ok ] Starting snmptrapd (via systemctl): snmptrapd.service.

snmptrapd wird zum Schein gestartet, läuft aber tatsächlich nicht.

Matthias

Matthias Koch

unread,
Jul 28, 2017, 4:11:44 AM7/28/17
to
Am 27.07.2017 um 18:32 schrieb Tim Ritberg:

> Schau mal in /var/run/systemd/generator*
> und lösche den snmptrapd-Eintrag. Hat mir bei fetchmail geholfen.

So...

# rm /var/run/systemd/generator.late/snmptrapd.service

Weitere korrespondierende Einträge gab's nicht.


# service snmptrapd start
Warning: Unit file of snmptrapd.service changed on disk, 'systemctl
daemon-reload' recommended.

# systemctl daemon-reload
#

# service snmptrapd start
#

# service snmptrapd status
● snmptrapd.service - LSB: SNMP Trap daemon
Loaded: loaded (/etc/init.d/snmptrapd)
Active: active (exited) since Fr 2017-07-28 09:58:09 CEST; 3min 28s ago
Jul 28 09:58:09 agamemnon snmptrapd[20176]: Starting SNMP trap services::
Jul 28 09:58:09 agamemnon systemd[1]: Started LSB: SNMP Trap daemon.
Jul 28 10:01:06 agamemnon systemd[1]: Started LSB: SNMP Trap daemon.

# ps ax|grep snmptrapd

...und er läuft nicht.

/var/run/systemd/generator.late/snmptrapd.service ist wieder vorhanden.


# snmptrapd -c /etc/snmp/snmptrapd.conf

...und er läuft wieder.

Fazit: half nicht, Verhalten wie bisher.


Sehe ich mir die "status"-Melung an:

Active: active (exited) since Fr 2017-07-28 09:58:09 CEST; 3min 28s

...so bedeutet das doch wochl, daß er bereits hier wieder ausgestiegen
ist, oder?



Matthias


Thomas Dorner

unread,
Jul 28, 2017, 12:08:03 PM7/28/17
to
Hallo Matthias!

>Sehe ich mir die "status"-Melung an:
>
> Active: active (exited) since Fr 2017-07-28 09:58:09 CEST; 3min 28s
>
>...so bedeutet das doch wochl, daß er bereits hier wieder ausgestiegen
>ist, oder?

Ja, aus Sicht von Systemd schon (und da es sich wohl hier um die
automatisch generierte Service Beschreibung handelt wird er wohl keinen
Subprozess mehr sehen).

Ich vermute ein Problem im Skript /etc/init.d/snmptrapd, vielleicht
fehlt ihm was. Poste das doch mal, vielleicht sehen wir was.

Viele Grüße, Thomas

Thomas Dorner

unread,
Jul 28, 2017, 12:08:03 PM7/28/17
to
Hallo Matthias!

>[ ok ] Starting snmptrapd (via systemctl): snmptrapd.service.
>
>snmptrapd wird zum Schein gestartet, läuft aber tatsächlich nicht.

Dann ist irgend etwas in der Service Beschreibung (der Datei
snmptrapd.service) nicht richtig konfiguriert oder aber das, was darin
aufgerufen wird funktioniert unter Systemd nicht richtig (erwartet
z.B. etwas im Environment, was unter Systemd nicht da ist) bzw. liefert
"unerwartete" Return Codes. Da solltest Du weiter suchen.

Da ich selbst kein snmptrapd verwende, kann ich leider nicht mehr dazu
schreiben.

Viele Grüße, Thomas

Matthias Koch

unread,
Aug 7, 2017, 3:47:02 AM8/7/17
to
Am 28.07.2017 um 17:51 schrieb Thomas Dorner:

> Ich vermute ein Problem im Skript /etc/init.d/snmptrapd, vielleicht
> fehlt ihm was. Poste das doch mal, vielleicht sehen wir was.
>


So sieht z. B. die Startsektion aus:


case "$1" in
start)
log_daemon_msg "Starting SNMP trap services:"
if [ "$TRAPDRUN" = "yes" -a -f /etc/snmp/snmptrapd.conf ]; then
start-stop-daemon --quiet --start --oknodo --exec
/usr/sbin/snmptrapd \
-- $TRAPDOPTS
log_progress_msg " snmptrapd"
fi
;;


Allerdings scheint systemd das abzufangen:

Starting snmptrapd (via systemctl): snmptrapd.service.


Ich bekomme zwar diese Meldung, aber es passiert daraufhin nichts - auch
kein erkennbarer Fehler.


Matthias





Thomas Dorner

unread,
Aug 7, 2017, 10:08:03 AM8/7/17
to
Hallo Matthias!

>So sieht z. B. die Startsektion aus:
>
> if [ "$TRAPDRUN" = "yes" -a -f /etc/snmp/snmptrapd.conf ]; then
> start-stop-daemon --quiet --start --oknodo --exec
>/usr/sbin/snmptrapd \
> -- $TRAPDOPTS

Und TRAPDRUN wird hoffentlich vorher auch garantiert irgendwo auf yes
gesetzt (vermutlich in irgend einem inkludierten /etc/default/... oder
so was)?

Ansonsten nehme ich wenn gar nichts anderes hilft immer die Brechstange:
Eine Log-Ausgabe des kompletten Block in eine separate Datei:

{
set -xv
<original block>
} >/tmp/foo.log 2>&1

(Natürlich vorher Originalskript sichern und hinterher zurückschieben.)

vgt

Matthias Koch

unread,
Aug 9, 2017, 8:15:40 AM8/9/17
to
Am 07.08.2017 um 15:53 schrieb Thomas Dorner:
> Und TRAPDRUN wird hoffentlich vorher auch garantiert irgendwo auf yes
> gesetzt

Nö, natürlich nicht - und genau das war es auch. In
/etc/default/snmptrapd stand

TRAPDRUN=no.

Nach Änderung auf "yes" läuft das Ganze. Danke für den entscheidenden
Hinweis. Daß systemd /etc/default/snmptrapd auswertet, war mir neu.

Viele Grüße
Matthias

Sven Hartge

unread,
Aug 9, 2017, 8:30:09 AM8/9/17
to
In diesem Fall wird ja das SysV-init-Script benutzt, und das wertet
/etc/default/snmptrapd natürlich noch aus.



--
Sigmentation fault. Core dumped.
0 new messages