Separando java stdout e stderr com systemd e sem preencher o diário

5

Estou executando aplicativos java via systemd:

[Unit]
Description=test service

[Service]
Type=simple
EnvironmentFile=/etc/sysconfig/testserver
WorkingDirectory=/opt/testserver
ExecStart=/usr/bin/java -jar /opt/testserver/test.jar
StandardOutput=syslog
StandardError=syslog
User=testserver
Group=testserver
SyslogIdentifier=testserver

[Install]
WantedBy=multi-user.target

Desejo obter stdout em /opt/testserver/stdout.log e stderr em /opt/testserver/stderr.log - quaisquer opções de trabalho são aceitáveis (ou seja, se possível, fazer syslog ). Se possível, quero evitar o registro de pelo menos um deles no log do journald.

Obrigado ...

    
por GioMac 25.08.2014 / 12:24

1 resposta

1

Estou tentando o seguinte para o Logstash substituir seu script init.d. Basicamente, envolvendo-o com o bash para fornecer o redirecionamento stdout e stderr. Não tenho certeza se isso é exatamente o que você quer, ou gostaria de usar (não é muito hediondo, mas claramente não como o systemd quer que você faça isso), mas eu precisava de algo para começar depois do Elasticsearch, e eu não queria minha equipe para notar algo diferente sobre onde os arquivos de log acabaram, então espero que isso me acompanhe até que eles forneçam um deles :

[Unit]
Description=Logstash
After=elasticsearch.service
Requires=elasticsearch.service

[Service]
Type=simple
User=logstash
Group=logstash
ExecStart=/bin/bash -c 'exec /opt/logstash/bin/logstash agent \
    -f /etc/logstash/conf.d \
    -l /var/log/logstash/logstash.log \
    >/var/log/logstash/logstash.stdout \
    2>/var/log/logstash/logstash.err'
WorkingDirectory=/var/lib/logstash
LimitNICE=19
LimitNOFILE=16384
Restart=always

[Install]
WantedBy=multi-user.target 

Edit: Acabei de perceber que eu poderia criar /etc/systemd/system/logstash.service.d/after-es.conf da seguinte forma e não ter que reescrever o script init.d:

[Unit]
After=elasticsearch.service
Requires=elasticsearch.service

Ah, bem, deixando o acima, caso seja útil.

    
por 09.12.2015 / 19:34