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

Как правило, все хосты в дата-центре совместно используют идентичные конфигурационные установки. Программа-демон хоста hsflowd является при этом единой точкой конфигурирования. По умолчанию она использует DNS Service Discover (DNS-SD) для этой цели. Иначе установки могут быть распространены с помощью ПО класса orchestration типа Puppet или Chef для обновления каждого конфигурационного файла hsflowd (/etc/hsflowd.conf) и рестарта демона.
hsflowd-демон записывает конфигурационную информацию, которую получает через DNS-SD или свой конфигурационный файл в файл /etc/hsflowd.auto. Другие агенты sFlow, которые действуют на хосте, автоматически определяют изменения в этом файле и изменяют свои конфигурационные установки. Протокол sFlow позволяет каждому агенту работать автономно и пересылать независимый поток метрик в коллектор. Распределенный мониторинг агентов исключает взаимозависимость и проблемы синхронизации, которые могут увеличивать сложность агентов. Каждый из агентов отвечает за экспорт различного набора метрик:
-
hsflowd. Отвечает за метрики производительности процессора, памяти, диска и сетевой операционной системы и может также экспортировать статистику виртуальных машин, когда работает на гипервизорах Xen, XenServer или KVM.
-
Open vSwitch. Это коммутатор "по умолчанию" для XenServer 6.0, Xen Cloud Platform, а также поддерживает Xen, KVM, Proxmox МУ и VirtualBox. Может также интегрироваться во многие виртуальные системы управления, включая OpenStack, openQRM и OpenNebula. Обеспечивая мониторинг sFlow на виртуальных коммутаторах, обеспечивает аналогичную видимость как и sFlow на реальных коммутаторах. Демон sflowvsd поставляется вместе с Host sFlow и используется для конфигурирования мониторинга sFlow на Open vSwitch с помощью команд ovs-vsctl.
-
Java. Java sFlow agent экспортирует статистику производительности о потоках java, памяти heap/non-heap, освобождении памяти, компиляции и загрузке классов.
-
httpd. Агент sFlow, встроенный в веб-сервер, Экспортирует ключевые метрики производительности, которые вместе с детальными данными о транзакциях, могут использоваться для мониторинга наиболее часто посещаемых URL, основных ссылок, главных клиентов, времени отклика и т.п. В настоящее время включен в серверы Apache, NGINX, Topcat и node.js.
-
Memcached. Агент, включенный в состав сервера Memcache. Экспортирует метрики производительности вместе с детальной информацией об операциях Memcache, которые могут использоваться для мониторинга hot keys, missed keys, главных клиентов и т.п.
|