web-dev-qa-db-ja.com

icinga2を完全に再インストールしようとした後、「構成されたリソース制限を超えました」

私は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は存在しません。私の他のホストでは、ファイルはまったく同じに見え、パスが存在するため、これが存在する必要があると思います。

3
mike.b93

OKこれが私がこれを解決するためにしたことです:

私は幸運にも、icinga2がインストールされた複数のホスト(エージェントベースのチェック用)を持っていました。

/lib/systemd/system/icinga2.serviceと欠落している/etc/default/icinga2scpを介して作業マシンからホストにコピーしました。

そこから私はicinga2エラーが発生しましたが、そこにはまだ設定ファイルがありません。私はそれらを自分のマシンにコピーして、すべてを再び動作させました...これで、最初の問題に集中できます... gdb ... :)

返信ありがとう

0
mike.b93

多くのファイルが不足しているようです。 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>を実行する必要があります。

1
Guss

また、同じエラーが発生しましたが、マシンを再起動するとエラーが消えました。

0
Alfin Syuqra