Jump to content

Recommended Posts

Posted

Есть многопроцессорный сервер (именно многопроцессорный с несколькими NUMA nodes).
Хочется для некоторых процессов делать cpu pinning (affinity) на разные процессоры и привязывать туда же память для увеличения пиковой производительности отдельного приложения.

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

Ручной мониторинг загрузки CPU и MEM на отдельных нодах через top и numastat не подходит.

 

Стандартные OID измеряют суммарную загрузку - если у меня на 4-х процессорном сервере в мониторинге показывается 25% нагрузки, то это может означать как нормальную ситуацию, так и проблему, что один процессор используется в полку, а остальные простаивают.

 

                percentage of user CPU time:    .1.3.6.1.4.1.2021.11.9.0
                percentages of system CPU time: .1.3.6.1.4.1.2021.11.10.0
                percentages of idle CPU time:   .1.3.6.1.4.1.2021.11.11.0
                Total RAM used:                  .1.3.6.1.4.1.2021.4.6.0
                Total RAM Free:                   .1.3.6.1.4.1.2021.4.11.0

 

Какие будут предложения по автоматизации мониторинга?

 

Posted
37 минут назад, nwton сказал:

Стандартные OID

ТС, ты ОС обозначить забыл/забил. Нума, она много в где есть.

 

Да, и стандартные ДЛЯ ЧЕГО? Что есть твой SNMP агент?

Posted

Задача решается очень легко с помощью zabbix-агента+zabbix-сервера

 

Шаблон на 16 ядре в аттаче, если у вас меньше/больше, то подправьте по аналогии (для 4ёх ядерного удалите item-ы для cpu id#4-15

 

Будет отрисовываться график по формуле 100-загрузка (т.е. по факту рисуется idle)

zbx_export_templates (2).xml

Posted
19 hours ago, snvoronkov said:

ТС, ты ОС обозначить забыл/забил. Нума, она много в где есть.

 

Да, и стандартные ДЛЯ ЧЕГО? Что есть твой SNMP агент?

Исправляюсь - система Linux Ubuntu 14.04/16.04 с штатным ядром (минимально 4.4 и до 4.15)

SNMP агент - snmpd из штатных репозиториев, в параллель еще zabbix-agent.
Что-нибудь добавить\заменить предложите?


По SNMP в данный момент размышляю над OID с утилизацией по каждому ядру и потом суммировать, но это проще будет решить сразу через zabbix agent, а не дёргать snmp несколько раз, особенно с учётом того, что индексы могут измениться, но хочется целиком загрузку со всего процессора получать из одного OID - если такой есть.
HOST-RESOURCES-MIB::hrProcessorLoad (.1.3.6.1.2.1.25.3.3.1.2)
HOST-RESOURCES-MIB::hrDeviceIndex (.1.3.6.1.2.1.25.3.2.1.1)
HOST-RESOURCES-MIB::hrDeviceDescr (.1.3.6.1.2.1.25.3.2.1.3)

 

 

5 hours ago, s.lobanov said:

Шаблон на 16 ядре в аттаче

Спасибо, как раз и думал в сторону суммирования использования каждого ядра system.cpu.util[N,idle] где N от 0 до 15 для первого процессора и N от 16 до 31 для второго процессора (и далее для всех остальных процессоров, и HT ядра если есть можно добавить сюда же) и выводить графики для каждого из процессоров отдельно, но может есть что-то еще в мониторинге zabbix agent или snmp или чего-то еще - сразу для всей ноды (всего процессора).

 

  • 2 weeks later...
Posted
On 31.07.2018 at 8:32 AM, s.lobanov said:

Задача решается очень легко с помощью zabbix-агента+zabbix-сервера

Шаблон на 16 ядре в аттаче

Вопрос к знатокам zabbix - как можно реализовать автоматизацию шаблонов в зависимости от количества ядер на хосте?
Можно ли реализовать два calculated item на system.cpu.util[N,idle] где N от 0 до 15 для первого процессора и N от 16 до 31 - если мы получили system.cpu.num равное 32 - хотелось бы сделать циклом суммирование, но в zabbix такого нет? Или можно как-то назначить определенный темплейт на хост или выбирать один из доступных item в зависимости от значения system.cpu.num?
Хочется красивости, а то текущий вариант не очень радует глаз. Настроил для каждого хоста сбор system.cpu.util каждого ядра через discovery LLD, дальше сделал нескольких шаблонов (для каждого процессора свой шаблон по количеству ядер) - организовал через calculated item подсчет суммы cpu.util для всех ядер именно этого процессора, дальше одинаковые для всех темплейтов отрисовка графиков и отправка алертов. Но для меня навешивание разных темплейтов в зависимости от процессора на хосте выглядит некрасиво, хочется объединить и автоматизировать их создание.

У меня Zabbix 3.0 и 3.4.

 

Quote

collectd+grafana 

Графики красивые, но алертинг из графаны?? 
"шеф, у вас один из процессоров перегружен, а остальные простаивают"
И намекните, как там сделать автоматизацию суммирования отдельных ядер по процессорам и шаблонизирования? По графане я совсем новичок.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.