rsyslog Service

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
s837ubc
Beiträge: 133
Registriert: 23.07.2013 14:17:01

rsyslog Service

Beitrag von s837ubc » 12.01.2015 20:32:36

Hallo,

habe gemäß der Anleitung auf der folgenden Webseite versucht eine Sys Log Server auf einem Debian System zu installieren:

http://www.laub-home.de/wiki/Syslog_Ser ... it_Rsyslog

Bis zum Punkt PHPLogcon/Loganalyzer und MySQL Process ID Patch hat die Installation fehlerfrei funktioniert:
http://www.laub-home.de/wiki/Syslog_Ser ... s_ID_Patch

Nach den Änderungen, die bei diesem Punkt durchgeführt werden müssen, wird der Server syslog nicht mehr gestartet.

Code: Alles auswählen

#  service rsyslog start
[....] Starting enhanced syslogd: rsyslogdIllegal instruction
Ich habe leider noch nicht herausgefunden, in welcher Datei der Service seine genaueren Fehler protokolliert.

Da auf dem System Debian wheezy läuft, ist in den sources.list eine von der Anleitung abweichende Quelle für die wheezy-backports angegeben worden:

deb http://http.debian.net/debian wheezy-backports main contrib non-free
deb http://ftp.debian.org/debian/ wheezy-backports main contrib non-free

Code: Alles auswählen

# apt-get update

Nach dem Import des Public-Key-Schlüssels wurde die neue Quelle erfolgreich eingelesen.

Code: Alles auswählen

# apt-get -t wheezy-backports install rsyslog rsyslog-mysql
Mit diesem Befehl wurden die neuen backports-Pakete installiert

In der Datei include/constants_logstream.php vom Loganalyzer ist die Anweisung

Code: Alles auswählen

$dbmapping['monitorware']['DBMAPPINGS'][SYSLOG_PROCESSID] = "ProcessID";
bereits enthalten.

Jedoch in der MySQL Datenbank fehlt das Feld ProcessID, daher wurde es mit den nachstehende MySQL-Befehlen erfolgreich hinzugefügt:

Code: Alles auswählen

use Syslog;
ALTER TABLE SystemEvents ADD COLUMN `ProcessID` char(8) default NULL;
quit
In der Datei /etc/rsyslog.d/mysql.conf fehlte auch die angegebenen Änderungen:

Code: Alles auswählen

$template OurDBLog,"INSERT INTO SystemEvents (Message, Facility, FromHost, Priority, \
     DeviceReportedTime, ReceivedAt, InfoUnitID, SysLogTag, ProcessID) values \
     ( '%msg%',%syslogfacility%,'%HOSTNAME%',%syslogpriority%,'%timereported:::date-mysql%',\
     '%timegenerated:::date-mysql%',%iut%,'%programname%','%procid:R,ERE,0,ZERO:[0-9]+--end%')",SQL
Dennoch wird nach dem Start von rsyslog ein Fehler ausgegeben:

Code: Alles auswählen

# /etc/init.d/rsyslog restart
[....] Starting enhanced syslogd: rsyslogdIllegal instruction
Kann jemand mitteilen, wo man nachschauen muss, um die 'fehlerhafte Instruktion' ausfindig machen zu können?

Falls noch welche Angaben fehlen sollten, bitte nachfragen. Ich reiche diese gerne nach.
Zuletzt geändert von s837ubc am 12.01.2015 21:41:17, insgesamt 1-mal geändert.

Colttt
Beiträge: 3012
Registriert: 16.10.2008 23:25:34
Wohnort: Brandenburg
Kontaktdaten:

Re: rsyslog Service

Beitrag von Colttt » 12.01.2015 20:54:23

Was du dort startest ist ein script.. Versuch mal das Programm rsyslogd direkt zu starten und guck mal ob es dort eine verbose Option gibt, diese kann ggf mehr Aufschluss geben
Debian-Nutzer :D

ZABBIX Certified Specialist

s837ubc
Beiträge: 133
Registriert: 23.07.2013 14:17:01

Re: rsyslog Service

Beitrag von s837ubc » 12.01.2015 21:07:49

Hallo Colttt,

vielen Dank für die Information

Der Service rsyslogd wird über einen Befehl start-stop-daemon ausgeführt.

Ich habe noch nicht herausbekommen, welche Parameter hier übergeben werden müssen, damit dieser den Service startet.

Ein direkter Aufruf von rsyslogd funktioniert leider nicht:

Code: Alles auswählen

# rsyslogd
Ungültiger Maschinenbefehl
Im Rahmen des Scripts wird folgender Befehl aufgerufen:

start-stop-daemon --start --quiet --pidfile /var/run/rsyslogd.pid --exec /usr/sbin/rsyslogd --

Austausch des Parameters "quit" gegen "verbose":

start-stop-daemon --start --verbose --pidfile /var/run/rsyslogd.pid --exec /usr/sbin/rsyslogd --
Starting /usr/sbin/rsyslogd...
Illegal instruction
Zuletzt geändert von s837ubc am 12.01.2015 21:20:28, insgesamt 1-mal geändert.

Cae
Beiträge: 6349
Registriert: 17.07.2011 23:36:39
Wohnort: 2130706433

Re: rsyslog Service

Beitrag von Cae » 12.01.2015 21:13:48

s837ubc hat geschrieben:Ein direkter Aufruf von rsyslogd funktioniert leider nicht:

Code: Alles auswählen

# rsyslogd
Ungültiger Maschinenbefehl
Ja, aber das wird so auch nicht funktionieren. Du probierst da, eine Binary auszufuehren, die offensichtlich nicht zur Hardware-Architektur oder zum ABI des Kernels passt.

Gruss Cae
If universal surveillance were the answer, lots of us would have moved to the former East Germany. If surveillance cameras were the answer, camera-happy London, with something like 500,000 of them at a cost of $700 million, would be the safest city on the planet.

—Bruce Schneier

s837ubc
Beiträge: 133
Registriert: 23.07.2013 14:17:01

Re: rsyslog Service

Beitrag von s837ubc » 12.01.2015 21:50:54

Bei den Infos zu den Installierten Paketen wird folgendes ausgegeben:

Code: Alles auswählen

# apt-cache show rsyslog rsyslog-mysql
Package: rsyslog
Version: 7.6.3-2~bpo70+1
Installed-Size: 1293
Maintainer: Michael Biebl <biebl@debian.org>
Architecture: armhf
Provides: linux-kernel-log-daemon, system-log-daemon
Depends: libc6 (>= 2.13-28), libee0 (>= 0.3.0), libestr0 (>= 0.1.4), libgcc1 (>= 1:4.4.0), libjson-c2 (>= 0.10), liblogging-stdlog0 (>= 1.0.1), liblognorm0 (>= 0.3.0), libuuid1 (>= 2.16), zlib1g (>= 1:1.1.4), init-system-helpers (>= 1.18~), lsb-base (>= 3.2-14), initscripts (>= 2.88dsf-13.3)
Recommends: logrotate
Suggests: rsyslog-mysql | rsyslog-pgsql, rsyslog-mongodb, rsyslog-doc, rsyslog-gnutls, rsyslog-gssapi, rsyslog-relp
Conflicts: linux-kernel-log-daemon, system-log-daemon
Description-en: reliable system and kernel logging daemon
 Rsyslog is a multi-threaded implementation of syslogd (a system utility
 providing support for message logging), with features that include:
  * reliable syslog over TCP, SSL/TLS and RELP
  * on-demand disk buffering
  * email alerting
  * writing to MySQL or PostgreSQL databases (via separate output plugins)
  * permitted sender lists
  * filtering on any part of the syslog message
  * on-the-wire message compression
  * fine-grained output format control
  * failover to backup destinations
  * enterprise-class encrypted syslog relaying
 .
 It is the default syslogd on Debian systems.
Homepage: http://www.rsyslog.com/
Description-md5: c25fbd9bcc88ab95bcc33eea4228fd42
Section: admin
Priority: important
Filename: pool/main/r/rsyslog/rsyslog_7.6.3-2~bpo70+1_armhf.deb
Size: 662854
MD5sum: 1261543a6dcc4722a394e9112af8cc47
SHA1: 3b1a4590b512373ddca4b7d1aa2733adee240237
SHA256: a66341f9772e4d06286626a98b134a734f505c3e0af69e2b409f6814a81fe675

Package: rsyslog
Version: 5.8.11-3+deb7u2
Architecture: armhf
Maintainer: Michael Biebl <biebl@debian.org>
Installed-Size: 1153
Depends: libc6 (>= 2.13-28), libgcc1 (>= 1:4.4.0), zlib1g (>= 1:1.1.4), lsb-base (>= 3.2-14), initscripts (>= 2.88dsf-13.3)
Recommends: logrotate
Suggests: rsyslog-mysql | rsyslog-pgsql, rsyslog-doc, rsyslog-gnutls, rsyslog-gssapi, rsyslog-relp
Conflicts: linux-kernel-log-daemon, system-log-daemon
Provides: linux-kernel-log-daemon, system-log-daemon
Homepage: http://www.rsyslog.com/
Priority: important
Section: admin
Filename: pool/main/r/rsyslog/rsyslog_5.8.11-3+deb7u2_armhf.deb
Size: 508900
SHA256: 3865a3b98cf368ee7c281bcf2b898954b47810e7de1e13de9ea05920881c327b
SHA1: 90f25274934849c7d709b2fae01e64e6a4f54c08
MD5sum: 6949e5b70987ac549163f6c466ef307c
Description-en: reliable system and kernel logging daemon
 Rsyslog is a multi-threaded implementation of syslogd (a system utility
 providing support for message logging), with features that include:
  * reliable syslog over TCP, SSL/TLS and RELP
  * on-demand disk buffering
  * email alerting
  * writing to MySQL or PostgreSQL databases (via separate output plugins)
  * permitted sender lists
  * filtering on any part of the syslog message
  * on-the-wire message compression
  * fine-grained output format control
  * failover to backup destinations
  * enterprise-class encrypted syslog relaying
 .
 It is the default syslogd on Debian systems.

Package: rsyslog
Version: 5.8.11-3+deb7u2
Installed-Size: 973
Maintainer: Michael Biebl <biebl@debian.org>
Architecture: armhf
Provides: linux-kernel-log-daemon, system-log-daemon
Depends: libc6 (>= 2.13-28), libgcc1 (>= 1:4.4.0), zlib1g (>= 1:1.1.4), lsb-base (>= 3.2-14), initscripts (>= 2.88dsf-13.3)
Suggests: rsyslog-mysql | rsyslog-pgsql, rsyslog-doc, rsyslog-gnutls, rsyslog-gssapi, rsyslog-relp
Conflicts: linux-kernel-log-daemon, system-log-daemon
Description-en: reliable system and kernel logging daemon
 Rsyslog is a multi-threaded implementation of syslogd (a system utility
 providing support for message logging), with features that include:
  * reliable syslog over TCP, SSL/TLS and RELP
  * on-demand disk buffering
  * email alerting
  * writing to MySQL or PostgreSQL databases (via separate output plugins)
  * permitted sender lists
  * filtering on any part of the syslog message
  * on-the-wire message compression
  * fine-grained output format control
  * failover to backup destinations
  * enterprise-class encrypted syslog relaying
 .
 It is the default syslogd on Debian systems.
Homepage: http://www.rsyslog.com/
Description-md5: c25fbd9bcc88ab95bcc33eea4228fd42
Recommends: logrotate
Section: admin
Priority: extra
Filename: pool/updates/main/r/rsyslog/rsyslog_5.8.11-3+deb7u2_armhf.deb
Size: 487000
MD5sum: a4da3ebde53ba91339525e3b2c63a93a
SHA1: 6a4af6080e115f711bb76a7949c4193da5f57547
SHA256: 21f8e636ea784eec794120ef6b76010d8aed8b2a4a08846af2fe84e07f9c1f26

Package: rsyslog-mysql
Source: rsyslog
Version: 7.6.3-2~bpo70+1
Installed-Size: 214
Maintainer: Michael Biebl <biebl@debian.org>
Architecture: armhf
Depends: libc6 (>= 2.13-28), libjson-c2 (>= 0.10), libmysqlclient18 (>= 5.5.24+dfsg-1), zlib1g (>= 1:1.1.4), debconf (>= 0.5) | debconf-2.0, rsyslog (= 7.6.3-2~bpo70+1), dbconfig-common, ucf
Recommends: mysql-client
Suggests: mysql-server
Description-en: MySQL output plugin for rsyslog
 This plugin allows rsyslog to write syslog messages into a MySQL database.
Homepage: http://www.rsyslog.com/
Description-md5: 73513767b35f7839dfc63fc06366fcb0
Section: admin
Priority: extra
Filename: pool/main/r/rsyslog/rsyslog-mysql_7.6.3-2~bpo70+1_armhf.deb
Size: 156256
MD5sum: a0bb2348c72acd80b498d0acc3f73e2f
SHA1: 15bf64632406ee355273e692113f032d6ee264e6
SHA256: bc1bdde0a075907ae386b3bc86afd86849be57980d5915cff6bc00a1d8ab11d8

Package: rsyslog-mysql
Source: rsyslog
Version: 5.8.11-3+deb7u2
Architecture: armhf
Maintainer: Michael Biebl <biebl@debian.org>
Installed-Size: 179
Depends: libc6 (>= 2.13-28), libmysqlclient18 (>= 5.5.24+dfsg-1), zlib1g (>= 1:1.1.4), debconf (>= 0.5) | debconf-2.0, rsyslog (= 5.8.11-3+deb7u2), dbconfig-common, ucf
Recommends: mysql-client
Suggests: mysql-server
Homepage: http://www.rsyslog.com/
Priority: extra
Section: admin
Filename: pool/main/r/rsyslog/rsyslog-mysql_5.8.11-3+deb7u2_armhf.deb
Size: 120668
SHA256: fbfa49aa925e6071b1cc0720ea60891279de5f2001cd380594731eed9b7e9169
SHA1: a58e051f514c842c545a3883953a92e344e9d4e0
MD5sum: e36a44f0a055b0b3ef0bf0811cf04caa
Description-en: MySQL output plugin for rsyslog
 This plugin allows rsyslog to write the syslog messages into a MySQL database.
In beiden Informatinen zu den Paketen wird jeweils eine Conflict-Mitteilung ausgegeben:
Conflicts: linux-kernel-log-daemon, system-log-daemon
Das bedeutet doch, dass die installierten Pakete nicht zum Kernel passen, oder sehe ich das falsch?

Cae
Beiträge: 6349
Registriert: 17.07.2011 23:36:39
Wohnort: 2130706433

Re: rsyslog Service

Beitrag von Cae » 13.01.2015 02:55:38

Poste mal bitte die Ausgabe von

Code: Alles auswählen

$ uname -m
des Systems. Falls sie von armhf abweicht und/oder deine CPU nicht ARMv7 [1] implementiert, solltest du deine Paketquellen entsprechend anpassen (dpkg --add-architecture etc.).

Gruss Cae

[1] die vom Raspberry Pi kann z.B. nur den aelteren ARMv6-Instruktionen-Satz
If universal surveillance were the answer, lots of us would have moved to the former East Germany. If surveillance cameras were the answer, camera-happy London, with something like 500,000 of them at a cost of $700 million, would be the safest city on the planet.

—Bruce Schneier

s837ubc
Beiträge: 133
Registriert: 23.07.2013 14:17:01

Re: rsyslog Service

Beitrag von s837ubc » 13.01.2015 08:15:22

Hallo Cae,

vielen Dank für die Information.

Habe bisher angenommen, dass Debian die Information aus den Chip-Informationen selbst ausliest.

Code: Alles auswählen

# uname -m
armv6l
Habe diese Information bereits mit

Code: Alles auswählen

# dpkg --add-architecture armv6l
übergeben.

Nachtrag:
=======

Der Befehl

Code: Alles auswählen

# apt-get update
läuft nach dem Hinzufügen der Architektur nicht mehr fehlerfrei durch, da die raspberry-Reseases "armhf" erwarten. Auf die Architektur "armv6" o.ä. gibt es keine Quellen.

Erst nach dem Entfernen funktioniert ein Update wieder fehlerfrei durch.

Code: Alles auswählen

# dpkg --remove-architecture=armv6l
Werde mich auf die Suche nach einem geeigneten Repository machen - oder den Source-Code selbst compilieren.

s837ubc
Beiträge: 133
Registriert: 23.07.2013 14:17:01

Re: rsyslog Service

Beitrag von s837ubc » 13.01.2015 14:08:20

Hallo,

habe bemerkt, dass durch die "falsche" Source mehrere Pakete ersetzt worden sind.

Um wieder die korrekten Pakete installieren zu können, wurde eine Bash-Script erstellt:

Code: Alles auswählen

#!/bin/bash
ITEMS=`apt-mark showmanual`
REINSTALL=""
for i in $ITEMS; do
        RES=`apt-cache show $i | grep 'Conflicts:'`
        if [ ! -z "$RES" ]; then
                RESINSTALL="$REINSTALL $i"
                echo "$i"
                apt-get -y install --reinstall  $i
        fi
done;
#apt-get install --reinstall $REINSTALL
Im Script wird zunächst alle Pakete gesucht, in denen ein Conflict vorliegt.

Danach werden die einzelnen Pakete wieder neu installiert.

In einer früheren Version wurde versucht, alle Paketnamen in einem Durchgang erneut zu installieren, daher die Variable "REINSTALL". Hierbei wurde allerdings keines neu installiert. Scheinbar darf beim Reinstall nur ein Paket angegeben werden, welches neu installiert werden soll.

In der Sources.list ist von ungültigen Einträgen hinsichtlich des falschen Architektur-Typs bereinigt.

Code: Alles auswählen

# apt-get update
Dieser Befehl lief fehlerfrei durch.

Dennoch wird beim Reinstall immer die falschen Pakete herangezogen.

Müssen eventuell noch die Cache-Verzeichnisse gelöscht werden?

Code: Alles auswählen

# rm -rf /var/cache/apt/

Colttt
Beiträge: 3012
Registriert: 16.10.2008 23:25:34
Wohnort: Brandenburg
Kontaktdaten:

Re: rsyslog Service

Beitrag von Colttt » 13.01.2015 20:47:43

apt-get clean
Lehrt auch den cache..

Ansonsten sieht das stark nach kaputt gefriemelt aus..
Debian-Nutzer :D

ZABBIX Certified Specialist

s837ubc
Beiträge: 133
Registriert: 23.07.2013 14:17:01

Re: rsyslog Service

Beitrag von s837ubc » 14.01.2015 00:06:47

Habe jetzt kurzen Prozess gemacht und das System neu aufgesetzt. Nun funktioniert alles wie gewünscht. Auf die Backport Funktion habe ich verzichtet.

Colttt
Beiträge: 3012
Registriert: 16.10.2008 23:25:34
Wohnort: Brandenburg
Kontaktdaten:

Re: rsyslog Service

Beitrag von Colttt » 15.01.2015 21:50:46

Wenn du einen syslog Server aufsetzen möchtest der etwas mehr Einträge verträgt, schau dir mal graylog2 an.
Debian-Nutzer :D

ZABBIX Certified Specialist

s837ubc
Beiträge: 133
Registriert: 23.07.2013 14:17:01

Re: rsyslog Service

Beitrag von s837ubc » 15.01.2015 22:07:00

Vielen Dank für den Tip.Ich werde mir den "Graylog2" anschauen.

Für die Installation eines MongoDB Servers müssen weitere Sopurce-List Quellen eingetragen werden.

Auf der Webseite sind die richtigen Pakete aufgelistet: https://packages.debian.org/sid/armhf/m ... r/filelist

Kann mir jemand mitteilen, wie man diese Quelle eintragen kann?

----------------------------
rsyslog:

Habe den rsyslog zusammen mit LogAnalyzer verwendet.

Leider wird beim Versenden unter Hostname meistens "Localhost" eingetragen, anstelle des tatsächlichen DNS-Namens. Sehr unverständlich.

Alle Clients sind via DHCP & DNS angemeldet und haben einen eindeutigen Namen.

Wenn man sich via SSH am Client anmeldet, wird der DNS-Name auch verwendet und nicht "Localhost".

Antworten