Aggregated host statistic

Scheme: hosts statistic.

GET
/api/hosts/statistics/online
Получение агрегированных снимков количества поднятых и выключенных хостов

Запрос

Параметры запроса:

Name

In

Type

Description

where (Optional)

url parameters

JSON object

Фильтр элементов. Используется синтаксис mongo агрегаций.

range (Optional)

url parameters

array

Отрезок времени, по которому агрегируется статистика.

interval (Optional)

url parameters

integer

Интервал между двумя ближайшими снимками.

Пример запроса:

curl -X GET http://tkcontrol/api/hosts/statistics/online?range[]="Thu, 30 Apr 2020 17:43:25 GMT"&range[]="Fri, 01 May 2020 15:36:27 GMT"&where={"$eq":["$$host.key","accepted"]}&interval=500

Ответ

Пример ответа:

[
    {
        "timestamp": "Thu, 30 Apr 2020 21:55:19 GMT",
        "_id": null,
        "hostnames": {
            "up": 4,
            "down": 6
        }
    },
    {
        "timestamp": "Fri, 01 May 2020 06:15:56 GMT",
        "_id": null,
        "hostnames": {
            "up": 4,
            "down": 6
        }
    },
    {
        "timestamp": "Fri, 01 May 2020 14:36:27 GMT",
        "_id": null,
        "hostnames": {
            "up": 4,
            "down": 6
        }
    },
]
GET
/api/hosts/statistics/unique_online
Получение списка хостов, которые были онлайн (хотя бы один раз) за выбранное время

Запрос

Параметры запроса:

Name

In

Type

Description

where (Optional)

url parameters

JSON object

Фильтр элементов. Используется синтаксис mongo агрегаций.

range (Optional)

url parameters

array

Отрезок времени, по которому агрегируется статистика.

Пример запроса:

curl -X GET http://tkcontrol/api/hosts/statistics/unique_online?range[]="Wed, 6 May 2020 15:12:00 GMT"&range[]="Thu, 7 May 2020 15:12:00 GMT"

Ответ

Пример ответа:

[
   {
    "hostnames": {
            "up": [
                "skupov-salt-minion-dev5",
                "medpc-fe5f87.localdomain",
                "salt-master-staging",
                "medpc-6616cd.localdomain"
            ],
            "all": [
                "skupov-salt-minion-dev2",
                "skupov-salt-minion",
                "skupov-salt-minion-dev5",
                "medpc-grisha-test-salt-minion",
                "medpc-fe5f87.localdomain",
                "salt-master-staging",
                "salt-minion-staging-1",
                "medpc-6616cd.localdomain",
                "skupov-salt-minion-3-no-resp",
                "skupov-salt-unaccepted"
            ]
         }
    }
]
GET
/api/hosts/statistics/unique_updated
Получение списка хостов, которые были обновлены (хотя бы один раз) за выбранное время

Запрос

Параметры запроса:

Name

In

Type

Description

where (Optional)

url parameters

JSON object

Фильтр элементов. Используется синтаксис mongo агрегаций.

range (Optional)

url parameters

array

Отрезок времени, по которому агрегируется статистика.

Пример запроса:

curl -X GET http://tkcontrol/api/hosts/statistics/unique_updated?range[]="Wed, 6 May 2020 15:12:00 GMT"&range[]="Thu, 7 May 2020 15:12:00 GMT"

Ответ

Пример ответа:

[
    {
        "hostnames": {
            "updated": [
                "skupov-salt-minion-dev2",
                "skupov-salt-minion"
            ],
            "all": [
                "skupov-salt-minion-dev5",
                "medpc-grisha-test-salt-minion",
                "medpc-fe5f87.localdomain",
                "salt-master-staging",
                "salt-minion-staging-1",
                "medpc-6616cd.localdomain",
                "skupov-salt-minion-3-no-resp",
                "skupov-salt-unaccepted"
            ]
        }
    }
]
GET
/api/hosts/statistics/unique_dist_upgraded
Получение списка хостов, которые были dist-upgraded (хотя бы один раз) за выбранное время

Запрос

Параметры запроса:

Name

In

Type

Description

where (Optional)

url parameters

JSON object

Фильтр элементов. Используется синтаксис mongo агрегаций.

range (Optional)

url parameters

array

Отрезок времени, по которому агрегируется статистика.

Пример запроса:

curl -X GET http://tkcontrol/api/hosts/statistics/unique_dist_upgraded?range[]="Wed, 6 May 2020 15:12:00 GMT"&range[]="Thu, 7 May 2020 15:12:00 GMT"

Ответ

Пример ответа:

[
   {
        "hostnames": {
            "distUpgraded": [
                "skupov-salt-minion-dev2",
                "skupov-salt-minion"
            ],
            "all": [
                "skupov-salt-minion-dev5",
                "medpc-grisha-test-salt-minion",
                "medpc-fe5f87.localdomain",
                "salt-master-staging",
                "salt-minion-staging-1",
                "medpc-6616cd.localdomain",
                "skupov-salt-minion-3-no-resp",
                "skupov-salt-unaccepted"
            ]
        }
    }
 ]
GET
/api/hosts/statistics/new_hosts
Получение списка новых хостов за выбранное время

Запрос

Параметры запроса:

Name

In

Type

Description

where (Optional)

url parameters

JSON object

Фильтр элементов. Используется синтаксис mongo агрегаций.

range (Optional)

url parameters

array

Отрезок времени, по которому агрегируется статистика.

Пример запроса:

curl -X GET http://tkcontrol/api/hosts/statistics/new_hosts?range[]="Wed, 6 May 2020 15:12:00 GMT"&range[]="Thu, 7 May 2020 15:12:00 GMT"

Ответ

Пример ответа:

[
    {
        "hostnames": {
            "new": [
               "skupov-salt-minion-dev2",
                "skupov-salt-minion",
                "skupov-salt-minion-dev5",
                "medpc-grisha-test-salt-minion",
                "medpc-fe5f87.localdomain",
                "salt-master-staging",
                "salt-minion-staging-1",
                "medpc-6616cd.localdomain",
                "skupov-salt-minion-3-no-resp",
                "skupov-salt-unaccepted"
            ]
        }
    }
]