ラージビッグバナー(970x90)

Linux

Zabbix Agent が起動しないのは SELinux が原因だった

投稿日:

ビッグバナー(piglog)728px

監視対象のサーバにZabbix-Agentをインストールして、設定ファイルのホスト名やらZabbixサーバのIPやらを変更して、さぁZabbix-Agentを起動しようとしてみてもなぜか起動しない。。。

SELinuxが有効になっている場合に Zabbix-Agent が起動しないコトがありますが、その場合の対処法を紹介します。

状態の確認

監視サーバ(Zabbix Server)から確認

zabbix_get コマンドを実行してみると、以下のレスポンスとなり、接続できない。これは、Zabbix-agent が起動していないので当然といえば当然。

※firewalld で10050 は開けています。

監視対象のサーバで確認

Zabbix-Agent プロセスの起動状態を確認しますが、failed の表示となり起動していない様子。

 

次に、Zabbix-Agent のログを確認すると、Permission denied と記録されています。

 

続いて、audit.log(/var/log/audit/audit.log)を確認します。

何かしらでgrepしないと対象のログを特定しずらいので、以下ではPIDでgrepしています。指定しているPIDは "systemctl status zabbix-agent"で表示されたものです。キーワードは"zabbix"などでもよいと思います。

 

これだけではわかりませんので、SELinuxの管理や操作ができるツールをインストールします。以下をインストールすることで、semanage、audit2allow、audit2why、chcat、semodule といったコマンドが利用できるようになります。

インストールしたツールを利用してログから確認します。

ということで、原因は SELinux なので、Zabbix-Agent を許可するポリシーを作成してよれば良いようです。

SELinuxのポリシーを生成してインストール

まずは、ポリシーを生成します。
※『Allow-Zabbix_Agent』は任意の名前を指定すれば良い

表示された、『semodule -i Allow-Zabbix_Agent.pp』を実行することで生成したポリシーをインストールできます。が、順を追ってみていきたいと思います。

カレントディレクトリにポリシーファイルが生成されています。

拡張子が『.te』のほうは、テキストファイルなので、中身を見てみると以下のようになっていました。

では、ポリシーをインストールします。

うまくいった場合は、プロンプトには何も返ってきません。

Zabbix-Agent を起動してプロセスを確認してみます。ちゃんと起動していますね。

Zabbixサーバからも確認してみます。

以上です。

↓↓↓ 持っていると便利な一冊 ↓↓↓

pig-log_ディスプレイ横長

リンクユニット(レスポンシブ)

-Linux
-

Copyright© ぴぐろぐ , 2024 All Rights Reserved.