Как отфильтровать диапазон дат для Сентинла? - PullRequest
0 голосов
/ 14 мая 2018

Итак, мы начали внедрять Sentinl для отправки предупреждений. Мне удалось получить количество отправленных ошибок, если оно превышает указанный порог.

То, с чем я действительно борюсь, это фильтрация за последний день!

Может ли кто-нибудь, пожалуйста, указать мне в правильном направлении!

При этом скрипт:

{
  "actions": {
    "Email Action": {
      "throttle_period": "0h0m0s",
      "email": {
        "to": "juan@company.co.za",
        "from": "elk@company.co.za",
        "subject": "ELK - ERRORS caused by CreditDecisionServiceAPI.",
        "body": "{{payload.hits.total}} ERRORS caused by CreditDecisionServiceAPI. Threshold is 100."
      }
    },
    "Slack Action": {
      "throttle_period": "0h0m0s",
      "slack": {
        "channel": "#alerts",
        "message": "{{payload.hits.total}} ERRORS caused by CreditDecisionServiceAPI. Threshold is 100.",
        "stateless": false
      }
    }
  },
  "input": {
    "search": {
      "request": {
        "search_type": "query_then_fetch",
        "index": [
          "*"
        ],
        "types": [],
        "body": {
          "size": 0,
          "query": {
            "bool": {
              "must": [
                {
                  "match": {
                    "appName": "CreditDecisionServiceAPI"
                  }
                },
                {
                  "match": {
                    "level": "ERROR"
                  }
                },
                {
                  "range": {
                    "timestamp": {
                      "from": "now-1d"
                    }
                  }
                }
              ]
            }
          }
        }
      }
    }
  },
  "condition": {
    "script": {
      "script": "payload.hits.total > 100"
    }
  },
  "transform": {},
  "trigger": {
    "schedule": {
      "later": "every 15 minutes"
    }
  },
  "disable": true,
  "report": false,
  "title": "watcher_CreditDecisionServiceAPI_Errors"
}

Итак, чтобы быть ясным, эта часть игнорируется запросом:

{
  "range": {
    "timestamp": {
      "from": "now-1d"
    }
  }
}

Ответы [ 2 ]

0 голосов
/ 16 мая 2018

Итак, мы наконец-то решили проблему!

Упругий поиск несколько раз меняет свои DSL, поэтому обратите внимание, что вам нужно посмотреть, какую версию вы используете для правильного решения.Мы находимся на версии: 6.2.3

Ниже, наконец, сработал запрос:

"query": {
    "bool": {
      "must": [
        {
          "match": {
            "appName": "CreditDecisionServiceAPI"
          }
        },
        {
          "match": {
            "level": "ERROR"
          }
        },
        {
          "range": {
            "@timestamp": {
              "gte": "now-1d"
            }
          }
        }
      ]
    }
}
0 голосов
/ 14 мая 2018

Вам нужно изменить его и добавить фильтр Json перед тегом , например:

"filter": [
        {
          "range": {
            "timestamp": {
              "gte": "now-1d"

            }
          }
        }
      ]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...