Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Но есть и недостатки:
Некоторые параметры необходимо вычислять делением дельты одного на дельту другого, причем не простой, а временной (скорости). В zabbix это сделать можно, но это будут не одновременные запросы, как если бы это делал сложный скрипт, а отношение последних значений, что в принципе не совсем верно, но в нашем случае довольно точно.
Хотя возможно зависимые элементы и отработают одновременно
И да любые файлики userparams легко раскидываются на 2к машин разными системами деплоймента типа Ansible например.На практике нефига не раскидываются из-за сложности учёта где какие параметры нужно мониторить, либо превращают список добавленных параметров в непотребно огромный. Ну и расскажите мне с какой скоростью можно обновлять на таком количестве хостов эти параметры? Это занимает прилично времени и кроме мониторинга есть и другие задачи для которых необходимо выделять ресурсы.
UserParameter=custom.vfs.dev.read.sectors[*],realpath '$1' | xargs -I{} basename {} | uniq | xargs -I {} cat /sys/class/block/{}/stat | awk '{n += $$3}; END{print n}' "modules" : [
{"module" : "first_module" ,
"metrics": { "metric" : "value" }
},
{"module" : "second_module" ,
"metrics": { "metric" : "value" }
} ]
"first_module" : {
"metrics": { "metric" : "value" } },
"second_module": {
"metrics": { "metric" : "value" } }
Так как эти метрики очень зависят друг от друга, то не зная все нельзя сделать правильные выводы.
/sys/block/sdX/stat поля read ticks, write ticks или в /proc/diskstat аналоничные по смыслу поля). Делим на количество io в еденицу времени и получаем честный средний latency (await).
Мониторинг производительности дисковой подсистемы при помощи zabbix и block stat