Logsta sh несколько плагинов JDB c - PullRequest
0 голосов
/ 04 апреля 2020

Я настроил базу данных MariaDB, из которой я транспортирую данные в Elasticsearch через плагин Logsta sh jdb c. Прием данных из таблицы списка процессов базы данных выполняется каждую секунду. Поэтому каждую секунду я получаю количество имен пользователей в Elasticsearch, например:

user1
user1
user1
user2
user3
user3
etc…

Может быть много пользователей, которые подключены из разных мест, и мне нужно их посчитать. Из приведенного выше примера видно, что пользователь user1 встречается 3 раза, user2 1 раз и пользователь 3 2 раза: (user1: 3, user2: 1, user3: 2). Поскольку данные записываются каждую секунду, между значениями вхождения нет большой разницы, но если я запрашиваю их в Графане, числа складываются каждую секунду, поэтому через 2-3 секунды может произойти что-то вроде (user1: 9, user2: 3, user3: 6) но точные числа все еще (user1: 3, user2: 1, user3: 2).

Есть ли возможность агрегировать данные за минуту. Я имею в виду в минутном интервале увидеть значение 1 секунды записи? Я мог бы получать данные каждую минуту, но мне нужно делать это каждую секунду для другой информационной панели с тем же источником данных.

Возможно, есть возможность загружать данные с одним вторым периодом расписания в один индекс и с одной минутой в другой индекс?

GET /mariadb_processlist1/_search?
{
  "size": 0,
  "query": {
    "range": {
      "@timestamp": {
        "gte": "now-1m"
      }
    }
  }, 
  "aggs": {
    "NAME": {
      "terms": {
        "field": "user.keyword",
        "size": 15
      }
    }
  }
}

вывод равен

 "buckets" : [
    {
      "key" : "user1",
      "doc_count" : 3900
    },
    {
      "key" : "user2",
      "doc_count" : 3180
    },
    {
      "key" : "user3",
      "doc_count" : 2520
    },
    {
      "key" : "user4",
      "doc_count" : 1020
    },
    {
      "key" : "user5",
      "doc_count" : 420
    },

, но на одну секунду это:

  "buckets" : [
    {
      "key" : "user1",
      "doc_count" : 65
    },
    {
      "key" : "user2",
      "doc_count" : 53
    },
    {
      "key" : "user3",
      "doc_count" : 42
    },
    {
      "key" : "user4",
      "doc_count" : 17
    },
    {
      "key" : "user5",
      "doc_count" : 11
    },

Я знаю, что это не так ясно, как могло бы быть если есть какие-то проблемы с пониманием, я могу уточнить!

Спасибо за любой совет.

...