API Zabbix 2.2 получает нагрузку на процессор (в среднем 1 мин.) Мин / макс. Значение от времени до времени

Я хочу получить среднее / максимальное использование процессора за месяц хоста (в среднем по 1 минуте на ядро). Я могу получить это в Zabbix веб-интерфейс CPU load граф.

Я проверил пример Pyzabbix и zabbix API-документ, но я до сих пор не знаю, как получить среднюю загрузку ЦП от_время - до_ времени.

Например, когда я звоню:

history = zapi.history.get(itemids=[item_id],
        time_from=time_from,
        time_till=time_till,
        output='extend',
        limit='5000',
        history=0,
    )

Я получаю много значений использования ЦП для каждой 1 минуты из диапазона времени, который я использую -> я должен использовать эти данные для вычисления min/avg/max?

Как Zabbix генерирует такую ​​информацию в графе? Делает ли он такой расчет каждый раз, когда мы генерируем графическое представление?

Спасибо

2 ответа

Решение

Да, всякий раз, когда график создается в Zabbix, он выбирает все исторические данные за указанный период и вычисляет минимальные, средние и максимальные значения в дополнение к построению графика.

В самом интерфейсе Zabbix построение графиков для более длительных периодов времени является менее тяжелым, потому что в таких случаях он берет данные из таблиц трендов. Например:

mysql> describe trends;
+-----------+---------------------+------+-----+---------+-------+
| Field     | Type                | Null | Key | Default | Extra |
+-----------+---------------------+------+-----+---------+-------+
| itemid    | bigint(20) unsigned | NO   | PRI | NULL    |       |
| clock     | int(11)             | NO   | PRI | 0       |       |
| num       | int(11)             | NO   |     | 0       |       |
| value_min | double(16,4)        | NO   |     | 0.0000  |       |
| value_avg | double(16,4)        | NO   |     | 0.0000  |       |
| value_max | double(16,4)        | NO   |     | 0.0000  |       |
+-----------+---------------------+------+-----+---------+-------+
6 rows in set (0.00 sec)

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

К сожалению, данные о тенденциях, по-видимому, недоступны через Zabbix API, но такая функция запрашивается в ZBXNEXT-1193.

Zabbix сервер опрашивает своего агента в соответствии с частотой, установленной в шаблоне, и выводит и сохраняет значение в базе данных. Когда мы нажимаем на график, он создает график из этих значений, извлекая их из базы данных. Вы можете указать тип ввода, хотите ли вы указать процент или десятичное или целое число в шаблоне, прикрепленном к хосту. Вы можете указать период времени для графика, и он будет рассчитывать значения для этого конкретного периода. Значения основаны на значениях в базе данных.

Другие вопросы по тегам