Akce určují, co se má dělat se zprávami odfiltrovanými selektorem. Níže jsou uvedeny některé z dostupných akcí.
Ukládání zpráv rsyslog do souborů protokolu
Chcete-li uložit zprávu rsyslog do souboru protokolu, zadejte za selektorem absolutní cestu k souboru protokolu. Následující příklad vybere všechny cron zprávy a akce je uloží do /var/log/cron.log log soubor:
cron.* /var/log/cron.log
Můžete zadat existující zařízení tty nebo /dev/console pro odesílání zpráv rsyslog na standardní výstup.
Odesílání zpráv rsyslog přes síť
K předání zpráv rsyslog vzdálenému počítači použijte následující syntaxi:
@[zNUMBER]HOST:[PORT]
– K určení UDP jako transportního protokolu použijte jednoduchý zavináč (@).
– K zadání TCP použijte dvojitý zavináč (@@).
– Volitelné pole zNUMBER umožňuje úroveň komprese zlib od 1 do 9.
– Pole HOST určuje přijímajícího hostitele.
– Nepovinné pole PORT uvádí číslo portu na přijímajícím hostiteli.
Například pro přeposílání zpráv na 192.168.10.101 pomocí protokolu UDP:
*.* @192.0.2.101
Chcete-li předávat zprávy na port 18 na „host02.example.com“ pomocí protokolu TCP:
*.* @@host02example.com:18
Odesílání zpráv rsyslog konkrétním uživatelům
Zadejte uživatelské jméno, kterému se mají odesílat zprávy rsyslog. Uživatelská jména oddělte čárkou (,) pro určení více než jednoho uživatele. Pomocí hvězdičky (*) můžete odesílat zprávy všem aktuálně přihlášeným uživatelům. Následující příklad posílá všechny zprávy jádra uživateli joe:
kern.* joe
Spuštění programu
Pro vybrané zprávy rsyslog můžete spustit program. Chcete-li určit program, který se má spustit, předponujte mu znak stříšky (^). Zadejte šablonu, která naformátuje přijatou zprávu a předá ji zadanému spustitelnému souboru jako jednořádkový parametr. Následující příklad zpracovává všechny zprávy jádra pomocí šablony knl a předává je programu knlprog.
kern.* ^knl-prog;knl
Zapisujte zprávy rsyslog do databáze
Akci databázového zapisovače můžete použít k zápisu vybraných zpráv rsyslog přímo do databázové tabulky. Zapisovač databáze používá následující syntaxi:
:PLUGIN:DB_HOST,DB_NAME,DB_USER,DB_PASSWORD;[TEMPLATE]
– Pole PLUGIN určuje modul plug-in, který provádí zápis do databáze.
– rsyslog poskytuje podporu pro databáze MySQL a PostgreSQL.
– Integrace s MySQL vyžaduje rsyslogmysql softwarový balíček.
– PostgreSQL vyžaduje rsyslog-pgsql balík. Musíte také načíst ommysql modul pro MySQL a ompgsql modul pro PostgreSQL.
Zahazování zpráv rsyslog
Pomocí znaku vlnovky (~) zahoďte vybrané zprávy. Následující pravidlo zahodí všechny zprávy:
news.* ~
Můžete zadat více akcí pro selektor zadáním následujících akcí na novém řádku a před akce se znakem ampersand (&). Určete selektor na prvním řádku akce. Následuje příklad pravidla s více akcemi:
kern.* joe & ^knl-prog;knl & @192.0.2.101
V předchozím příkladu jsou všechny zprávy jádra:
– Odeslány uživateli joe
– Zpracovány šablonou knl a předány spustitelnému souboru knl-prog
– Předány na 192.0.2.101 pomocí protokol UDP
Porozumění šablonám rsyslog
CentOS / RHEL 6,7 :Jak zvýšit upovídanost zpráv systémového protokolu (rsyslogd)
CentOS / RedHat:Průvodce pro začátečníky ke správě souborů protokolu