私はapt-get purge --auto-remove icinga2
を実行してUbuntu Server 16.04からicinga2を完全に削除し、locate icinga2
の後に見つかったicinga2に関連するものもすべて削除しようとしていました。
私の2番目の移動は、私が何をしようともicinga2を適切に再インストールできないように見えるので、かなり愚かであることがわかりました。再インストール後もサービスが欠落していることに気付きました(/etc/init.d/
には何もありません)
別のホストからファイルをコピーしたところ、icinga2を起動しようとすると、次のようになります。
Job for icinga2.service failed because a configured resource limit was exceeded. See "systemctl status icinga2.service" and "journalctl -xe" for details.
systemctl status icinga2.service
は以下を示します:
● icinga2.service - Icinga Host/service/network monitoring system
Loaded: loaded (/lib/systemd/system/icinga2.service; disabled; vendor preset: enabled)
Active: failed (Result: resources)
Jul 23 20:53:41 srvweb systemd[1]: icinga2.service: Failed to load environment files: No such file or directory
Jul 23 20:53:41 srvweb systemd[1]: icinga2.service: Failed to run 'start-pre' task: No such file or directory
Jul 23 20:53:41 srvweb systemd[1]: Failed to start Icinga Host/service/network monitoring system.
Jul 23 20:53:41 srvweb systemd[1]: icinga2.service: Failed with result 'resources'.
Jul 23 20:55:25 srvweb systemd[1]: Stopped Icinga Host/service/network monitoring system.
Jul 24 21:44:02 srvweb systemd[1]: Stopped Icinga Host/service/network monitoring system.
Jul 24 21:44:02 srvweb systemd[1]: icinga2.service: Failed to load environment files: No such file or directory
Jul 24 21:44:02 srvweb systemd[1]: icinga2.service: Failed to run 'start-pre' task: No such file or directory
Jul 24 21:44:02 srvweb systemd[1]: Failed to start Icinga Host/service/network monitoring system.
Jul 24 21:44:02 srvweb systemd[1]: icinga2.service: Failed with result 'resources'.
とjournalctl -xe
は同じことを示しています。
これを修正する方法はありませんか?私の過ちから学ぶのを手伝ってください。よろしくお願いします:)
編集:
より詳しい情報:
cat /lib/systemd/system/icinga2.service
[Unit]
Description=Icinga Host/service/network monitoring system
After=postgresql.service mariadb.service carbon-cache.service mysql.service syslog.target network.target
[Service]
Type=simple
UMask=0007
EnvironmentFile=/usr/lib/icinga2/icinga2
EnvironmentFile=/etc/default/icinga2
ExecStartPre=/usr/lib/icinga2/prepare-dirs /usr/lib/icinga2/icinga2
ExecStart=/usr/sbin/icinga2 daemon -e ${ICINGA2_ERROR_LOG}
ExecReload=/usr/lib/icinga2/safe-reload /usr/lib/icinga2/icinga2
PIDFile=/run/icinga2/icinga2.pid
[Install]
WantedBy=multi-user.target
しかし/etc/default/icinga2
は存在しません。私の他のホストでは、ファイルはまったく同じに見え、パスが存在するため、これが存在する必要があると思います。
OKこれが私がこれを解決するためにしたことです:
私は幸運にも、icinga2がインストールされた複数のホスト(エージェントベースのチェック用)を持っていました。
/lib/systemd/system/icinga2.service
と欠落している/etc/default/icinga2
をscp
を介して作業マシンからホストにコピーしました。
そこから私はicinga2エラーが発生しましたが、そこにはまだ設定ファイルがありません。私はそれらを自分のマシンにコピーして、すべてを再び動作させました...これで、最初の問題に集中できます... gdb ... :)
返信ありがとう
多くのファイルが不足しているようです。 icingaがapt-get purge
からファイルを使用するすべてのパッケージを削除しなかった可能性があります。その後、ファイルを手動で削除すると、壊れたパッケージが残りました。
Failed to load environment files
は、SystemD icingaユニットファイル内の参照です。それを見つけ(/etc/systemd/system
または/lib/systemd/system
の下で)、EnvironmentFile
設定があり、そのファイルが存在するかどうかを確認します。存在しない場合は、どのパッケージに属しているかを(dpkg -S <file>
を使用して)調べ、apt-get install --reinstall <package>
を実行する必要があります。
また、同じエラーが発生しましたが、マシンを再起動するとエラーが消えました。