nagios auf freetz - fehlen dort alle nagios plugins???

@olistudent:
Code:
$(PKG)_DEPENDS_ON := nagios
Dies ist nicht zwangsläufig nötig.

Wenn die Box von einem anderen Nagios-System überwacht werden soll, dann braucht man nur die Nagios-Plugins (plus NRPE bzw. NSCA)


Gruß Andreas
 
@freddy4711
Ich hab die Vorlage nicht auf jede Zeile überprüft.

@mmmx
Ja, es wird nur 1 Plugin kopiert. Um das richtig zu machen hatte ich keine Lust/Zeit.
Kannst du mal bitte etwas mehr von dem Fehler posten? Bei mir läuft es durch. Hast du mal "make nagios-plugins-dirclean" gemacht?

MfG Oliver
 
Hi...

ist mir halt gerade auf den ersten Blick aufgefallen.


Gruß Andreas
 
...
Hast du mal "make nagios-plugins-dirclean" gemacht?
Danach ging es. Allerdings mit diesem Ergebnis:
Code:
frank@localhost:/usr/src/nocopy/freetz-1.1.1$ make
./.config: line 208: FREETZ_PACKAGE_NAGIOS-PLUGINS=y: command not found
Also ohne plugin...
[edit:] es war das Minus, welches ein Unterstrich sein sollte. Nun läuft make durch.

btw: was ist das eigentlich?: $(PKG)_CONFIGURE_ENV += fu_cv_sys_stat_statvfs=yes
 
Zuletzt bearbeitet:
Wo liegen denn die compillierten dateien bevor sie ins image oder external gepackt werden? Ich finde das test modul check_disk nicht und external auch nicht?

[edit:]
Ok, das plugin liegt dort:
freetz-1.1.1/packages/nagios-plugins-1.4.14/root/usr/lib/nagios-plugins
 
Zuletzt bearbeitet:
[Edit frank_m24: Mehrere Beiträge zusammengefasst. Man kann seine Beiträge auch editieren.]
So scheint es nicht zu klappen, mehrere plugins nacheinander zu kompilieren:
Code:
$(PKG)_BINARY:=$($(PKG)_DIR)/plugins/check_disk
$(PKG)_TARGET_BINARY:=$($(PKG)_DEST_DIR)/usr/lib/nagios-plugins/check_disk
$(PKG)_BINARY:=$($(PKG)_DIR)/plugins/check_http
$(PKG)_TARGET_BINARY:=$($(PKG)_DEST_DIR)/usr/lib/nagios-plugins/check_http
$(PKG)_BINARY:=$($(PKG)_DIR)/plugins/check_ping
$(PKG)_TARGET_BINARY:=$($(PKG)_DEST_DIR)/usr/lib/nagios-plugins/check_ping
$(PKG)_BINARY:=$($(PKG)_DIR)/plugins/check_smtp
$(PKG)_TARGET_BINARY:=$($(PKG)_DEST_DIR)/usr/lib/nagios-plugins/check_smtp
Hier wird immer nur das letzte erstellt.

Und hier das selbe:
Code:
$(PKG)_BINARY:=$($(PKG)_DIR)/plugins/check_disk
$(PKG)_HTTP_BINARY:=$($(PKG)_DIR)/plugins/check_http
$(PKG)_PING_BINARY:=$($(PKG)_DIR)/plugins/check_ping
$(PKG)_SMTP_BINARY:=$($(PKG)_DIR)/plugins/check_smtp
$(PKG)_POP_BINARY:=$($(PKG)_DIR)/plugins/check_pop
$(PKG)_SMTP_BINARY:=$($(PKG)_DIR)/plugins/check_smtp

$(PKG)_TARGET_BINARY:=$($(PKG)_DEST_DIR)/usr/lib/nagios-plugins/check_disk
$(PKG)_HTTP_TARGET_BINARY:=$($(PKG)_DEST_DIR)/usr/lib/nagios-plugins/check_http
$(PKG)_PING_TARGET_BINARY:=$($(PKG)_DEST_DIR)/usr/lib/nagios-plugins/check_ping
$(PKG)_SMTP_TARGET_BINARY:=$($(PKG)_DEST_DIR)/usr/lib/nagios-plugins/check_smtp
$(PKG)_POP_TARGET_BINARY:=$($(PKG)_DEST_DIR)/usr/lib/nagios-plugins/check_pop
$(PKG)_SMTP_TARGET_BINARY:=$($(PKG)_DEST_DIR)/usr/lib/nagios-plugins/check_smtp


Wie macht man es?
Und wo gibt es howtos dazu?

[Beitrag 2:]
So geht es:
Code:
$(PKG)_BINARY:=$($(PKG)_DIR)/plugins/check_disk
$(PKG)_HTTP_BINARY:=$($(PKG)_DIR)/plugins/check_http
$(PKG)_PING_BINARY:=$($(PKG)_DIR)/plugins/check_ping
$(PKG)_SMTP_BINARY:=$($(PKG)_DIR)/plugins/check_smtp
$(PKG)_POP_BINARY:=$($(PKG)_DIR)/plugins/check_pop
$(PKG)_LOAD_BINARY:=$($(PKG)_DIR)/plugins/check_load

$(PKG)_TARGET_BINARY:=$($(PKG)_DEST_DIR)/usr/lib/nagios-plugins/check_disk
$(PKG)_HTTP_TARGET_BINARY:=$($(PKG)_DEST_DIR)/usr/lib/nagios-plugins/check_http
$(PKG)_PING_TARGET_BINARY:=$($(PKG)_DEST_DIR)/usr/lib/nagios-plugins/check_ping
$(PKG)_SMTP_TARGET_BINARY:=$($(PKG)_DEST_DIR)/usr/lib/nagios-plugins/check_smtp
$(PKG)_POP_TARGET_BINARY:=$($(PKG)_DEST_DIR)/usr/lib/nagios-plugins/check_pop
$(PKG)_LOAD_TARGET_BINARY:=$($(PKG)_DEST_DIR)/usr/lib/nagios-plugins/check_load

$(PKG)_DEPENDS_ON := nagios

$(PKG)_CONFIGURE_ENV += fu_cv_sys_stat_statvfs=yes

$(PKG)_CONFIGURE_OPTIONS += --with-nagios-user="root"
$(PKG)_CONFIGURE_OPTIONS += --with-nagios-group="root"
$(PKG)_CONFIGURE_OPTIONS += --sysconfdir="/mod/etc/nagios/nagios-plugins"
$(PKG)_CONFIGURE_OPTIONS += --without-openssl

$(PKG_SOURCE_DOWNLOAD)
$(PKG_UNPACKED)
$(PKG_CONFIGURED_CONFIGURE)

$($(PKG)_BINARY): $($(PKG)_DIR)/.configured
        PATH="$(TARGET_PATH)" \
                $(MAKE) -C $(NAGIOS_PLUGINS_DIR) all

$($(PKG)_TARGET_BINARY): $($(PKG)_BINARY)
        $(INSTALL_BINARY_STRIP)

$($(PKG)_HTTP_TARGET_BINARY): $($(PKG)_HTTP_BINARY)
        $(INSTALL_BINARY_STRIP)      

$($(PKG)_PING_TARGET_BINARY): $($(PKG)_PING_BINARY)
        $(INSTALL_BINARY_STRIP)

$($(PKG)_SMTP_TARGET_BINARY): $($(PKG)_SMTP_BINARY)
        $(INSTALL_BINARY_STRIP)

$($(PKG)_POP_TARGET_BINARY): $($(PKG)_POP_BINARY)
        $(INSTALL_BINARY_STRIP)
                        
$($(PKG)_LOAD_TARGET_BINARY): $($(PKG)_LOAD_BINARY)
        $(INSTALL_BINARY_STRIP)
Geht das evt. auch einfacher?

Die plugins sollen nach external. Dafür habe ich folgende Datei angelegt:
external.in
Code:
config EXTERNAL_FREETZ_PACKAGE_NAGIOS_PLUGINS
        depends on EXTERNAL_ENABLED && FREETZ_PACKAGE_NAGIOS_PLUGINS
        bool "nagios-plugins"
        default n
        help
                externals these file(s):
                /usr/lib/nagios-plugins/check_disk
                /usr/lib/nagios-plugins/check_http

Es landet aber nichts davon im xyz.external.
Gibt es da noch einen Trick?;)
 
./tools/external
habe ich um folgende Zeile ergänzt:
Code:
$EXTERNAL_FREETZ_PACKAGE_NAGIOS_PLUGINS" == "y" ] && EXTERNAL_FILES+=" /usr/lib/nagios-plugins/check_disk /usr/lib/nagios-plugins/check_http /usr/lib/nagios-plugins/check_ping /usr/lib/nagios-plugins/check_smtp /usr/lib/nagios-plugins/check_pop /usr/lib/nagios-plugins/check_load"
die xyz.external Datei bleibt aber immer noch gleich gross...
 
... und jetzt nur noch "make/external.in" ergänzen um

Code:
	source make/nagios-plugins/external.in

Jörg
 
Code:
	source make/nagios-plugins/external.in

Gut zu wissen. Ich habs ergänzt.

make findet etwas nicht. Nur was sollte da sein und warum fehlt es?
processing external
ln: Erzeuge symbolische Verknüpfung „build/modified/filesystem/usr/lib/nagios-plugins/check_disk“: Datei oder Verzeichnis nicht gefunden
 
Zuletzt bearbeitet:
processing external
ln: Erzeuge symbolische Verknüpfung „build/modified/filesystem/usr/lib/nagios-plugins/check_disk“
Sucht make in diesem Pfad nach der datei check_disk, oder wie ist das zu verstehen?

Die compilierte Datei check_disk ist vorher kopiert worden, allerdings nicht nach build.
Code:
cp source/nagios-plugins-1.4.14/plugins/check_disk packages/nagios-plugins-1.4.14/root/usr/lib/nagios-plugins/check_disk

Soll dort nicht eine Verküpfung nach external/...usr/lib/nagios-plugins/check_disk erzeugt werden?
Was läuft dort schief?
 
Die Dateien unter lib werden nicht automatisch ins Image kopiert.

Meinst Du, dass alle was unter lib liegt nicht kopiert wird?
Es wird auch nichts nach external kopiert, denn dort solls ja hin?

Wenn es tatsächliche so ist, kann ich ja mich ja lange fragen, warum ln keine Verknüpfung erstellen kann.

Aber das Prinzip von external ist doch, Links im Imane zu den Dateien in external zu erstellen. Da muss doch, außer den Verknüpfungen nichts kopiert werden, in Image. Aber nach external.

Ich bin nun etwas verwirrt:confused:
 
External ist der letzte Schritt. Vorher müssen die Dateien dort sein.
Dateien von root/lib werden nur kopiert, wenn die entsprechende Library-Config-Option gesetzt ist. Das lib-Verzeichnis im Package müßte man mal überprüfen.
 
Nun habe ich mal die Dateien dorthin kopiert, wo sie nicht gefunden werden, bzw. von wo sie verschoben und dafür ein Link erstellt werden soll, nach:
Code:
build/modified/filesystem/usr/lib/nagios-plugins/check_disk
Das Ergebniss: make löscht sie wieder und gibt wieder die Meldung, dass sie nicht gefunden wurden raus...
 
Zuletzt bearbeitet:
Das Verzeichnis build/modified wird immer komplett neu aufgebaut.
Für den Anfang ist die einfachste Lösung, die Dateien in fwmod_custom dorthin zu kopieren.
 
...
Dateien von root/lib werden nur kopiert, wenn die entsprechende Library-Config-Option gesetzt ist. Das lib-Verzeichnis im Package müßte man mal überprüfen.
Code:
/var/media/ftp/uStor02/addons/asterisk14/usr/lib # ./check_http 
./check_http: can't load library 'libresolv.so.0'

Diese Lib ist nicht vorhanden, auch nicht auswählbar über menüconfig.
1. Wie ergänze ich die entsprechende Library-Config-Option bzw. wo wird gerpüft, dass diese Lib nicht vorhanden ist?

2. Hat das nicht Vorhandensein von Libs nur Auswirkungen auf external oder auch auch das image?
 
Die Datei muß irgendwo auf dem Build-System vorhanden sein, sonst wäre nicht der entsprechende Eintrag für den Linker in die Datei geschrieben wurden.

Ansonsten gibt es in der Config unter Libraries die libresolv zum Auswählen.
 
Ergänzung: Die liegt "etwas versteckt" unter
Advanced options ---> Shared libraries ---> uClibc ---> libresolv-0.9.2x.so

Und zu 1. : Die Definitionen sind in "make/libs/Config.in"

Jörg
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.