abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 17:22 | Nová verze

    Raspberry Pi Connect, tj. oficiální služba Raspberry Pi pro vzdálený přístup k jednodeskovým počítačům Raspberry Pi z webového prohlížeče, byla vydána v nové verzi 2.5. Nejedná se už o beta verzi.

    Ladislav Hagara | Komentářů: 0
    včera 15:22 | Komunita

    Google zveřejnil seznam 1272 projektů (vývojářů) od 185 organizací přijatých do letošního, již jednadvacátého, Google Summer of Code. Plánovaným vylepšením v grafických a multimediálních aplikacích se věnuje článek na Libre Arts.

    Ladislav Hagara | Komentářů: 0
    8.5. 19:22 | Nová verze

    Byla vydána (𝕏) dubnová aktualizace aneb nová verze 1.100 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.100 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

    Ladislav Hagara | Komentářů: 0
    8.5. 18:00 | Nová verze

    Open source platforma Home Assistant (Demo, GitHub, Wikipedie) pro monitorování a řízení inteligentní domácnosti byla vydána v nové verzi 2025.5.

    Ladislav Hagara | Komentářů: 0
    8.5. 01:22 | Nová verze Ladislav Hagara | Komentářů: 0
    8.5. 00:55 | Zajímavý projekt

    PyXL je koncept procesora, ktorý dokáže priamo spúštat Python kód bez nutnosti prekladu ci Micropythonu. Podľa testov autora je pri 100 MHz približne 30x rýchlejší pri riadeni GPIO nez Micropython na Pyboard taktovanej na 168 MHz.

    vlk | Komentářů: 0
    7.5. 19:44 | Nová verze

    Grafana (Wikipedie), tj. open source nástroj pro vizualizaci různých metrik a s ní související dotazování, upozorňování a lepší porozumění, byla vydána ve verzi 12.0. Přehled novinek v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 0
    7.5. 17:33 | Nová verze

    Raspberry Pi OS, oficiální operační systém pro Raspberry Pi, byl vydán v nové verzi 2025-05-06. Přehled novinek v příspěvku na blogu Raspberry Pi a poznámkách k vydání. Pravděpodobně se jedná o poslední verzi postavenou na Debianu 12 Bookworm. Následující verze by již měla být postavena na Debianu 13 Trixie.

    Ladislav Hagara | Komentářů: 0
    7.5. 05:33 | Komunita

    Richard Stallman dnes v Liberci přednáší o svobodném softwaru a svobodě v digitální společnosti. Od 16:30 v aule budovy G na Technické univerzitě v Liberci. V anglickém jazyce s automaticky generovanými českými titulky. Vstup je zdarma i pro širokou veřejnost.

    Ladislav Hagara | Komentářů: 17
    7.5. 03:55 | Komunita

    sudo-rs, tj. sudo a su přepsáné do programovacího jazyka Rust, nahradí v Ubuntu 25.10 klasické sudo. V plánu je také přechod od klasických coreutils k uutils coreutils napsaných v Rustu.

    Ladislav Hagara | Komentářů: 0
    Jaký filesystém primárně používáte?
     (57%)
     (1%)
     (8%)
     (21%)
     (4%)
     (2%)
     (2%)
     (1%)
     (1%)
     (3%)
    Celkem 568 hlasů
     Komentářů: 26, poslední 8.5. 09:58
    Rozcestník

    Dotaz: rsyslog remote listener - přidat prefix dle src IP

    29.12.2018 12:13 Deryl | skóre: 11
    rsyslog remote listener - přidat prefix dle src IP
    Přečteno: 296×
    Heké poledne,

    na serveru mi běží rsyslog poslouchající na UDP:514 a přesměrovávající vše příchozí do journalu (systemd).
    $PreserveFQDN on
    module(load="imudp") # input module for UDP syslog
    module(load="omjournal") # output module for journal
    input(type="imudp" port="514" ruleset="writeToJournal")
    ruleset(name="writeToJournal") {
      action(type="omjournal")
    }
    
    Potřeboval bych rozlišit odesílající stranu prefixem hostname, aktuálně se v journalu objeví:

    Dec 29 11:52:33 server hostapd:[339]: wlan0: STA 11:22:33:44:55:66 WPA: pairwise key handshake completed (RSN)

    kde 'server' je local hostname - ten jen tam zřejmě přidán journalem. Rád bych tam viděl něco jako:

    Dec 29 11:52:33 wifi hostapd:[339]: wlan0: STA 11:22:33:44:55:66 WPA: pairwise key handshake completed (RSN)

    nebo

    Dec 29 11:52:33 server wifi:hostapd:[339]: wlan0: STA 11:22:33:44:55:66 WPA: pairwise key handshake completed (RSN)

    Tj. nelze-li modifikovat hostname, tak alespoň přidat prefix před samotnou msg. V některých případech to umožňuje odesílající strana (mikrotik), v jiných nikoliv (openWRT).

    Trochu jsem studoval rsyslog, tuším, že bych se mohl vydat cestou: if $fromhost-ip == '192.168.1.10.' then ..modify msg to 'wifi:msg'.., ale zatím nevím, jak modifikovat samotnou zprávu (respektive nastavit hostname).

    Poradíte někdo se syntaxí či alespoň odkazem kterou funkcionalitu rsyslogu konkrétně využít?

    Díky.

    Odpovědi

    29.12.2018 13:26 NN
    Rozbalit Rozbalit vše Re: rsyslog remote listener - přidat prefix dle src IP
    Hostname se ridi souboreem /etc/hosts. Takze pokud chces "lokalne" videt neco jineho, melo by stacit ho upravit. Na OpenWRT to bude uplne stejne.
    30.12.2018 04:12 Deryl
    Rozbalit Rozbalit vše Re: rsyslog remote listener - přidat prefix dle src IP
    Lokálně ano, v tom není problém. Dost možná se hostname přenáší i na vzdálený 'server' a při použití klasického syslogu zůstane zachován, nicméně při přesměrování výše uvedeným způsobem se informace ztratí či je nahrazena hostname serveru. Takže v journalu se nedá rozlišit, jaké msg jsou z jakého stroje...
    30.12.2018 06:50 Deryl
    Rozbalit Rozbalit vše Re: rsyslog remote listener - přidat prefix dle src IP
    A doplnění: hostnames 'wifi' a 'router' jsou dostupná na DNS gatewaye (což je 'router'). Zkoušel jsem je doplnit i staticky do /etc/hosts na 'server'u, ale žádný dopad na logování jsem nezaznamenal.
    30.12.2018 07:00 Deryl
    Rozbalit Rozbalit vše Re: rsyslog remote listener - přidat prefix dle src IP
    Mrknul jsem na tcpdump -A -i eno1 port 514 na 'server'u a mohu potvrdit, že ve msg je hostname ještě správně 'wifi' či 'router'. Ale v journalu už nikoliv :-(
    30.12.2018 10:16 NN
    Rozbalit Rozbalit vše Re: rsyslog remote listener - přidat prefix dle src IP
    Ted jsem se koukal na ten modul a zadnou modifikaci hostname tam nevidim. Je mozne, ze si to meni journal sam?
    30.12.2018 10:28 NN
    Rozbalit Rozbalit vše Re: rsyslog remote listener - přidat prefix dle src IP
    Asi to mam.. Soubor je to samozrejme omjournal.c. Co je zajimave je fukce sd_journal_send(), ktera vklada data do journal. Problem bude ten, ze syslog nepredava ve funci parametr _HOSTNAME(viz zdrojovy kod..), ale pouze zakladni hodnoty MESSAGE, PRIORIT,SYSLOG_FACILITY a SYSLOG_IDENTIFIER. Tzn. by jsi si to musel patchnout..
    30.12.2018 11:30 Deryl | skóre: 11
    Rozbalit Rozbalit vše Re: rsyslog remote listener - přidat prefix dle src IP
    Také jsem studoval. I kdyby ty proměnné _XXX předával, tak z toho chápu, že journal by je ignoroval (neb jsou "systémové").

    Aktuálně studuji, jak vytvořit template pro rsyslog, kde bych spojil properties a poslal to jako zprávu dále.

    Něco jako:
    set $.journal = $hostname+$syslogtag+$msg;
    template(name="journal" type="list") {
      property(name="$.journalfmt" outname="MESSAGE")
      property(name="syslogseverity" outname="PRIORITY")
      property(name="syslogfacility" outname="SYSLOG_FACILITY")
    }
    
    Ale zatím se nedaří, nic se v journalu neobjevuje. (Journal vyžaduje outname="MESSAGE")
    30.12.2018 11:33 Deryl | skóre: 11
    Rozbalit Rozbalit vše Re: rsyslog remote listener - přidat prefix dle src IP
    Chybka se vloudila.
    set $.journalfmt = $hostname+$syslogtag+$msg;
    template(name="journal" type="list") {
      property(name="$.journalfmt" outname="MESSAGE")
      property(name="syslogseverity" outname="PRIORITY")
      property(name="syslogfacility" outname="SYSLOG_FACILITY")
    }
    Zkoušel jsem i natvrdo set $.journalfmt = "test";, ale kde nic tu nic.
    30.12.2018 12:10 NN
    Rozbalit Rozbalit vše Re: rsyslog remote listener - přidat prefix dle src IP
    Jaky to bude mit vyznam? Mimojine v systemd.journal-fields(7) se uvadi:
    Fields prefixed with an underscore are trusted fields, i.e. fields that are implicitly added by the journal and cannot be altered by client code.
    Takze tam ten hostname nepropasirujes i kdyby jsi chtel. Syslog proste vezme zpravu a vlozi jido promenne MESSAGE a journal doplni zbytek, vcetne lokalniho hostname.

    Resenim by bylo nelogovat do journal, ale logovat do syslogu kde ptakovy problem neni, ale to jsi asi nechtel slyset ;).
    30.12.2018 12:37 NN
    Rozbalit Rozbalit vše Re: rsyslog remote listener - přidat prefix dle src IP
    Aha, co takto:
    $template JournalTpl, "%HOSTNAME%:%msg%\n"
    a aplikovat template
    ...
    action(type="omjournal" templeate=JournalTpl)
    ...
    
    30.12.2018 16:05 Deryl | skóre: 11
    Rozbalit Rozbalit vše Re: rsyslog remote listener - přidat prefix dle src IP
    To nefunguje, tuším, že journald očekává user defined pole "MESSAGE", což nevím, jak do legacy definice $template nacpat...

    Nicméně, prozatím se smiřuji s konfigurací:
    module(load="imudp") # input module for UDP syslog
    module(load="omjournal") # output module for journal
    
    $PreserveFQDN on
    
    input(type="imudp" port="514" ruleset="writeToJournal")
    
    template(name="journal" type="list") {
      property(name="rawmsg-after-pri" outname="MESSAGE")
      property(name="syslogseverity" outname="PRIORITY")
      property(name="syslogfacility" outname="SYSLOG_FACILITY")
    }
    
    ruleset(name="writeToJournal") {
      action(type="omjournal" template="journal")
    }
    
    což sice vyhodí duplicitní datetime stamp, ale budiž:
    Dec 30 15:56:14 server rsyslogd[3668]: Dec 30 15:56:14 wifi hostapd: wlan0: STA 11:22:33:44:55:66 IEEE 802.11: associated
     (aid 3)
    30.12.2018 12:59 Peter Golis | skóre: 64 | blog: Bežné záležitosti | Bratislava
    Rozbalit Rozbalit vše Re: rsyslog remote listener - přidat prefix dle src IP
    Nevidím prečo by sa malo dať podvrhnúť hostname z ktorého prichádza správa. Veď to by potom mohlo generovať falošné poplachy.

    U mňa som riešil niečo podobné, a popri systemd žurnále mi bežal lokálne rsyslogd ktorý to rozhadzoval podľa hostname/ip o ktoré sa staral logrotate. Samotné logy boli rozdelené podľa hostname/IP odkiaľ prišli, ale v nich bolo už uvedené hostname pod ktorým sa poznal systém čo generoval dané správy. Viac som pri domácej sieti neriešil.
    30.12.2018 16:11 Deryl | skóre: 11
    Rozbalit Rozbalit vše Re: rsyslog remote listener - přidat prefix dle src IP
    Vím, ale preferuji mít vše v jednom logu. Doposud jsem měl do journalu přesměrovány logy z mikrotiku (tam šlo nastavit "prefix" k msg). U logů z openWRT už ta možnost není přímo v GUI, tak jsem hledal univerzálnější řešení na straně příjemce.

    Smířil jsem se s tím, že nemohu filtrovat nativně journalctl dle hostname; stačí mi ta informace alespoň v textu zprávy.
    30.12.2018 16:20 Peter Golis | skóre: 64 | blog: Bežné záležitosti | Bratislava
    Rozbalit Rozbalit vše Re: rsyslog remote listener - přidat prefix dle src IP
    A v tom WRT si nemôžeš ten hostname zmeniť?
    30.12.2018 21:14 Deryl | skóre: 11
    Rozbalit Rozbalit vše Re: rsyslog remote listener - přidat prefix dle src IP
    Mikrotik to dělá jinak: pošle hostname (to se ztratí), ale má navíc uživatelskou volbu zvanou 'prefix', kteroužto hodnotu nacpe před každý záznam:
    datetimestamp hostname appname: prefix: log msg
    první tři pole jsou ztracena při transportu z rsyslog --> journald (z důvodu zamezení podvrhu, jak píšeš výše, což dává smysl, jen škoda, že to nejde vypnout) a v journalu je vidět již jen prefix: log msg, což je z pohledu syslogu i journald obsah pole msg respektive MESSAGE.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.