ホストが無効になる時の条件

いつもお世話になっております。

表題の件について、記憶があやふやで恐縮なのですが、デフォルトの状態で
監視対象のホストが応答しなくなった場合(削除されたなど)、自動的に
そのホストが無効になっていたような気がします。

ところが、いろいろトリガー・アイテム・アクション条件などをいじっているうちに
自動的に無効にならなくなってしまいました。

そこで、自動的にホストが無効になる条件はどのようなものか、ご教授いただけませんでしょうか?

「Zabbix 特定のホストの監視を無効化するスクリプト」
https://qiita.com/gitya107/items/359422e46fa5dc9ea08b

というのは見つけたのですが、これを使うのは最後の手段にしたいです。
(理由は単純にデフォルトの機能であるなら、そちらを使いたいというだけです)

環境
zabbix server OS : CentOS Linux release 7.3.1611 (Core)
zabbix server version : 3.0.10

zabbix server client OS : CentOS Linux release 7.3.1611 (Core)
zabbix agent : 3.0.10

以上、よろしくお願い申し上げます。

コメント表示オプション

お好みのコメント表示方法を選び「設定の保存」をクリックすると変更が反映されます。
ユーザー TNK の写真

手動で登録したホストは、自動的に無効になることはありません。

ネットワークディスカバリを使用して、ホストの登録と無効を行う
ような設定にされていたのではないでしょうか?

TNK様

ご返信有難うございます。またレスが遅くなって申し訳ありません。

ご推察の通り、手動で登録しているのではなく、自動登録を用いてクライアントとなるホストを登録しています。
自動登録については下記ページを参考にしました。

2 アクティブエージェントの自動登録
https://www.zabbix.com/documentation/2.2/jp/manual/discovery/auto_regist...

未だに解決策が見つからず、ご教授いただけると(あるいはヒントだけでも)とてもありがたいです。

以上、よろしくお願いいたします。

ユーザー karna の写真

active agentによる自動登録については、未登録のzabbix agent (アクティブ)から、サーバーに対して問い合わせがあったタイミングで
登録処理が実行されます。

ホストの無効化/削除については、この手法では対応できないため、ディスカバリの設定を行う必要があります。

[設定]-[アクション]-イベントソース:[ディスカバリ]

こちらで探索IP範囲、無効化する条件、アクション(無効化/削除等)の設定をすれば、ホストの無効化/削除等が可能です。

参考:(3.0でも基本は同じはず)
https://www.zabbix.com/documentation/2.2/jp/manual/discovery/network_dis...

一つの探索IP範囲ごとに、一つのプロセスが受け持つので、範囲が広い場合は明示的に分割して複数のルールとして登録するとレスポンスがあがります。
とはいえ、処理優先度は低いでしょうから、無理に分ける必要はないでしょう。

karna様

アドバイスありがとうございます。

ディスカバリを使う方法があったのですね!こちらzabbixに設定をしておいて、今度リリースがあった時に
ホストが無効になるか確認してみます。
そのさいは(できたら)ご報告させていただきたいと思います。

だいぶ遅れましたがホスト無効の件について報告させていただきます。
当初ホストの無効だけで良いかなと考えていたのですが、削除のほうが良いということになり
削除することにしました。

設定1)
ディスカバリルールの設定
※これが必要かまだよくわからないです
名前:無効ホストチェック
IPアドレスの範囲:x.x.x.x/x
間隔:10m
チェック:Zabbixエージェント"system.uname"
ステータス:有効

設定2)
イベントソース:ディスカバリ時のアクションの設定
名前:ホストの削除
アクションの実行条件:
  ・アップタイム/ダウンタイム >= 3600
  ・ディスカバリのステータス = Down
  ・サービスのタイプ = Zabbixエージェント
  ・ホストのIPアドレス = x.x.x.x/x
アクションの実行内容:
  ・現在のホストでリモートコマンドを実行
    ・コマンド内容
      echo {DISCOVERY.DEVICE.DNS}:{DISCOVERY.DEVICE.IPADDRESS} | mail -s deleted 私のメールアドレス
  ・ホストを削除

以上の2つの設定を行ったところ、自動登録後、削除されたホストがzabbix管理画面上に表示されなくなりました。
削除時のメールも届いています。

ただ2点ほど気になるところがありますので、ご教授いただけませんでしょうか?

・ホストの削除が繰り返されている?
 上記のアクションの設定にもある通り、削除時はメールで知らせるようにしていますが、同じホストが複数回削除されている?ようなのです。
 例えば、IPアドレス:y.y.y.yのホストが削除された、というメールがだいたい4時間半~5時間おきに繰り返し届いています。
 zabbix管理画面上ではy.y.y.yのアドレスを持つホストはありません。また、サーバの管理画面(GCPを利用しています)を見ても
 該当するサーバはありません。

・削除されたホスト名はどう表記する?
 サポートされているマクロ(https://www.zabbix.com/documentation/2.2/jp/manual/appendix/macros/supported_by_location)を見たところ、
 DISCOVERY.DEVICE.DNSというのがあったので、メールの本文に入れてみました。
 届いたメールを見るとIPアドレスは記載されているものの、DNS名は取得できていないようで空になっています(:y.y.y.yのようになっている)。
 こちらホスト名も知りたいのですが、可能でしょうか?

すみません、調査してわかったことがありましたので追記します。

> ・ホストの削除が繰り返されている?
こちらですが、同一サブネット上に他のプロジェクトで使用しているホストがあり、そちらがディスカバリで引っかかっているようでした。
ただし他のプロジェクトではzabbix agentをインストールしていないため、ディスカバリの条件を見直してみます。

以上、よろしくお願いいたします。