systemd dotnet サービスの syslog ラベルは、SyslogIdentifier とプロセス名の間で変更され続けます。

systemd dotnet サービスの syslog ラベルは、SyslogIdentifier とプロセス名の間で変更され続けます。

Ubuntu 18.04(systemd 237)でsystemdサービスとして実行されるいくつかの.NET Coreアプリケーションがあります。ユニットファイルは次のとおりです。

[Unit]
Description=my-service dotnet service

[Service]
Type=simple
SyslogIdentifier=my-service
User=myservice
EnvironmentFile=/etc/environment
WorkingDirectory=/home/myservice
ExecStart=/usr/bin/dotnet /home/myservice/My.Service.dll
Restart=on-failure
RestartSec=5
StartLimitBurst=10
StartLimitInterval=60

[Install]
WantedBy=default.target

ほとんどの人にとって、/var/log/syslogに表示されるsyslogタグは、期待どおりに設定されたSyslogIdentifierです。ただし、1つのサービスでは、syslogタグとして「dotnet」を含むメッセージが期待どおりに表示されますが、それでも$ systemctl show my-service |grep SyslogIdentifier表示されますSyslogIdentifier=my-service

Journalctlをチェックすると、「my-service」と実行可能ファイル名(「dotnet」)が交互に変わるようです。

$ journalctl -u my-service -o verbose |grep SYSLOG_IDENTIFIER
    SYSLOG_IDENTIFIER=dotnet
    SYSLOG_IDENTIFIER=my-service
    SYSLOG_IDENTIFIER=my-service
    SYSLOG_IDENTIFIER=dotnet
    SYSLOG_IDENTIFIER=my-service
    SYSLOG_IDENTIFIER=my-service
    SYSLOG_IDENTIFIER=dotnet
    SYSLOG_IDENTIFIER=my-service
    SYSLOG_IDENTIFIER=my-service
    ...

なぜこれが起こり、どのように解決するのですか?

ベストアンサー1

おすすめ記事