У меня ниже похожие логи.
Я создал манекен показатель и создал отображение как ниже в инструменты для разработчиков
ПОСТАВИТЬ новый
{
  "сопоставления": {
    "характеристики": {
      "@timestamp": {
        "тип": "дата",
        "формат": "гггг-ММ-дд ЧЧ:мм:сс.ССС"
      }
    }
  }
}
и проиндексирован данные, как показано ниже,
ПОСТАВИТЬ /новый/_doc/1
{
  "@timestamp": "2021-11-05 08:12:14.534",
  "уровень": "ИНФО",
  "идентификатор": "1",
  "text": "веб-сайт открыт",
  "статус": "нажато"
}
ПОСТАВИТЬ /новый/_doc/2
{
  "@timestamp": "2021-10-14 09:11:14.534",
  "уровень": "ИНФО",
  "идентификатор": "3",
  "text": "веб-сайт открыт",
  "статус": "нажато"
}
ПОЛОЖИТЬ /новый/_doc/3
{
  "@timestamp": "2021-09-09 02:08:20.534",
  "уровень": "ИНФО",
  "идентификатор": "4",
  "text": "веб-сайт открыт",
  "статус": "нажато"
}
Я могу получить общее количество, используя ниже запрос запрос,
ПОЛУЧИТЬ новый/_поиск
{
  "аггс": {},
  "размер": 0,
  "поля": [],
  "запрос": {
    "буль": {
      "должен": [],
      "фильтр": [
        {
          "буль": {
            "должен": [
              {
                "match_phrase": {
                  "text": "веб-сайт доступен"
                }
              }
            ],
            "минимум_должен_соответствовать": 1
          }
        },
        {
          "спектр": {
            "@timestamp": {
              "гте": "2021-10-01",
              "лте": "2021-10-30"
            }
          }
        }
      ],
      "должен": [],
      "не должен": []
    }
  }
}
Получающий отклик как показано ниже,
{
  "взял": 0,
  "timed_out": ложь,
  "_осколки": {
    "всего" : 1,
    «успешно»: 1,
    "пропущено": 0,
    "не удалось" : 0
  },
  "хиты" : {
    "общее количество" : {
      "значение": 1,
      "отношение": "экв"
    },
    "max_score": ноль,
    "хиты" : [ ]
  }
}
Как видите, мне нужно жесткий код в датировать получить значение для конкретного месяц то есть получить ту же информацию для сентябрь месяц, мне нужно изменить диапазон даты и времени как показано ниже в запросе на завивку,
"спектр": {
  "@timestamp": {
    "гте": "2021-09-01",
    "лте": "2021-09-30"
    }
    }
Ниже приведен завить запрос на звонок.
curl -u elastic:xxx -XGET "http://10.10.10.10:9200/new/_search?pretty" -H 'Тип содержимого: приложение/json' -d'
{
  "аггс": {},
  "размер": 0,
  "поля": [],
  "запрос": {
    "буль": {
      "должен": [],
      "фильтр": [
        {
          "буль": {
            "должен": [
              {
                "match_phrase": {
                  "text": "веб-сайт доступен"
                }
              }
            ],
            "минимум_должен_соответствовать": 1
          }
        },
        {
          "спектр": {
            "@timestamp": {
              "гте": "2021-10-01",
              "лте": "2021-10-30"
            }
          }
        }
      ],
      "должен": [],
      "не должен": []
    }
  }
}'
Как я могу пройти год и месяц динамически (т.е. без фактического жесткого кодирования самого запроса) к запросу curl, который будет извлекать информацию для этого конкретного месяц, год?
Обновить -
Я могу получить результаты за последний месяц (ноябрь) или последние 2 месяца (октябрь) и т. д., используя ниже,
прошлый месяц -  ноябрь -
"gte": "сейчас-М",
"lt": "сейчас/М"
2 месяца  - октябрь
"gte": "сейчас-2М/М",
"lte": "сейчас-2М/М"
Но есть ли способ обеспечить желаемое год и месяц получить результаты?
Спасибо,