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.