0

時間枠内にインデックスに挿入されたパターンに一致するレコードがない場合、ElasticSearch ウォッチャーにアラートを出す必要があります。別のフィールドのペアでグループ化しながら、これを実行できる必要があります。つまり、レコードは次のパターンになります。 日付 タイムスタンプ レベル メッセージ クライアント サイト

各クライアントのサイトでメッセージの一致が「実行中」であることを確認する必要があります (つまり、Google マップと Bing マップにはマップの同じサイトがあります)。現時点でこれを行う最善の (?) 方法は、クライアント サイトごとに wacher を実行することだと思います。

私はこれを持っているので、タスクが20分ごとにログに書き込まれていると仮定します:

{
  "trigger" : { 
    "schedule" : {
      "interval" : "25m"
    }
  },
  "input" : { 
    "search" : {
      "request" : {
        "search_type" : "count",
        "indices" : "<logstash-{now/d}>",
        "body" : {
          "filtered" : {
            "query" : { 
              "match_phrase" : { "Message" : "Is running" } 
            },
            "filter" : {
              "match" : { "Client" : "Example" } ,
              "match" : { "Site" : "SomeSite" } 
            }

          }
        }
      }
    }
  },
  "condition" : { 
    "script" : "return ctx.payload.hits.total < 1"
  },

  "actions" : { 
    },
    "email_administrator" : {
      "email" : {
        "to" : "me@host.tld",
        "subject" : "Tasks are not running for {{ctx.payload.client}} on their site {{ctx.payload.site}}",
        "body" : "Too many error in the system, see attached data",
        "attach_data" : true,
        "priority" : "high"
      }
    }
  }
}
4

2 に答える 2