web-dev-qa-db-ja.com

sensuはクライアントからチェックを削除します

テストチェックを作成しましたが、削除したいと思います。クライアントから離れないようです。 uchimaをフロントエンドとして使用していて、チェックがリストに表示されなくなった

/ checks

しかし、クライアントを見ると、まだチェックがあります。

チェックを削除する唯一の方法は、ノードを削除して、ノード自体を再度追加することです。私には300のクライアントがあり、私はそれをしたくありません。

6
Mike

そのため、最近、ansibleを介していくつかのsensuチェックをデプロイし、不正な名前で既存のチェックを再作成する問題が発生しました。 uchiwaインターフェースで見た目が悪いことを除けば、これを手放すことに問題はありません。上記の手順を踏みましたが、古いバージョンのsensuのものである必要があります。これらのチェックを削除するために変更した手順は次のとおりです。

  • Redis CLIにログインredis-cli
  • 実行keys *server_name*対象のサーバーに関連するすべてのチェックを一覧表示する
  • タイプsmembers result:server_name
  • srem result:server_name check_to_remove
  • del history:server_name:check_to_remove result:server_name:check_to_remove

これにより、チェックがRedisから完全に削除され、次にsensuから削除されます。

9
jonh

最新のウチワはそれ自体を行うことができます http://docs.uchiwa.io/en/latest/features/deleting-check-results/

3
ipeacocks

Sensu 0.21.0以降、DELETE /results/:client/:checkここで役立つAPI。ここのドキュメントを参照してください: https://sensuapp.org/docs/0.29/api/results-api.html#resultsclientcheck-delete

そして、これはuchiwaからも行うことができます: https://docs.uchiwa.io/reference/clients/#request-to-delete-check-result-data

1

誰かがこれに来て、Redis DB全体をフラッシュせずに同じことをしたい場合は、以下を実行できます。

  • Redisにログインします(コマンドラインからredis-cli)。
  • 「keys *」を実行してすべてのキーを一覧表示します
  • 削除するサーバー/チェックの組み合わせの履歴キーと実行キーの両方を見つけます

例:クライアント:SomeServer、チェック:check_nginx

実行するコマンド:

del execution:SomeServer:check_nginx
del history:SomeServer:check_nginx

上記のJonHの回答に追加したいと思います。

すべてのキーとチェックはredis-cliで確認できます。

keys *:*:name_of_check

そして、通過します(例)

del history:hostname:name_of_check

上記のコードはサーバーと特定のチェックのみを出力し、キー*はすべてのキーを出力するため、これにより古いチェックを持つノードの検索がより簡単になります。

お役に立てれば!

0
E.Z.

だからできないことがわかります。 redisでflushallを発行する必要があります

0
Mike

フラッシュオールは、単一のチェックを解決するための極端な過剰です。

1つのチェックを解決するには、「解決」API呼び出しを発行するか、解決ボタンをクリックします。

私のサーバーには、すべてのイベントをsensu-cliで反復し、最後にチェックされたものを1週間以上前に解決して、削除されたチェックがダッシュボードを詰まらせないようにするcronジョブがあります。

0
SolarKennedy