Logs

From A-Eskwiki
Jump to: navigation, search

Logging

De logs van vm-cups worden automatisch gebackupt naar vm-sysop met rsyslog. De logs staan in de folder /var/log/external op vm-sysop.

Eigen logs maken

Gebruik deze methode om logbestanden te beheren die niet door syslogd worden bijgehouden. Let op, SELinux kan syslogd tegenwerken bij het lezen/beheren van de bestanden.

Voorbeeld

Zie hier een voorbeeld van vm-cups die elk halfuur de logsbestanden van cups overtilt naar sysop: (locatie: vm-cups: /etc/rsyslog.d/cups.conf)

module(load="imfile" PollingInterval="1800")
input(type="imfile"
        File="/var/log/cups/page_log"
        Tag="cups"
        StateFile="state-cups-page"
        Severity="notice"
        Facility="local6")

Om ze door te voeren in salt hoort het volgende te staan in /srv/salt/centos7/vm-cups/init.sls:

/etc/rsyslog.d/cups.conf:
  file.managed:
    - source: salt://centos7/vm-cups/rsyslog.d/cups.conf

Vervolgens moet de facility ook onder de forwarding rule in de rsyslog.conf van vm-sysop staan: (locatie: /srv/salt/centos/vm-sysop/rsyslog.conf)

local6.*                                                ?FILENAMEP

Als laatste nog de volgende rule updaten in /srv/salt/centos7/global/rsyslog.conf:

*.info;mail.none;authpriv.none;cron.none;local6.none                /var/log/messages

(in dit geval hebben we `local6.none' toegevoegd aan de rule hierboven, want dat is de facility van de policy die we voor cups gemaakt hebben)

Huidige configuratie

Met Kibana kunnen de logs gevisualiseerd worden. De locatie van de kibanaserver is vm-sysop.a-eskwadraat.nl:5601, toegankelijk vanaf het intranet.

  1. installeer elasticsearch, kibana en rsyslog (versie >= 8.33). Om de nieuwste rsyslog op Centos 7 te krijgen moet de repo op https://www.rsyslog.com/rhelcentos-rpms/ geinstalleerd worden.
  2. in rsyslog.conf, op je server vm, zet de udp en tcp poorten open. De volgende tekst is ook handig om erbij te zetten, het groepeert de logs van de verschillende clients in de folder /var/log/external/.
  3. $template RemoteLogs,"/var/log/external/%HOSTNAME%/%PROGRAMNAME%.log"
    *.* ?RemoteLogs
    
  4. in de rsyslog.conf op je client vm, forward de logs naar je server vm.
  5. Kopieer van deze website https://serverascode.com/2016/11/11/ryslog-to-elasticsearch.html een elasticsearch config file voor in /etc/rsyslog.d/.