В следующей системе [root@hwnode ~]# uname -a Linux hwnode.ru 2.6.32-xen-dom0-alt36.2 #1 SMP Wed Apr 13 17:45:57 UTC 2011 x86_64 GNU/Linux [root@hwnode ~]# rpmquery -a | grep xen kernel-headers-xen-dom0-2.6.32-alt36.2 xen-hypervisor-4.1.0-alt1 xen-libs-4.1.0-alt1 kernel-image-xen-dom0-2.6.32-alt36.2 kernel-headers-modules-xen-dom0-2.6.32-alt36.2 xen-doc-4.1.0-alt1 xen-runtime-4.1.0-alt1 xen-4.1.0-alt1 [root@hwnode ~]# rpmquery -a | grep libvirt collectd-libvirt-4.10.3-alt3 libvirt-0.9.0-alt2 collectd не может получить статистику гипервизора со следующим сообщением в логе: Apr 15 16:46:24 hwnode collectd[12801]: libvirt plugin: Unable to connect: virConnectOpenReadOnly failed. Конфигурация плагина libvirt в collectd.conf: <Plugin libvirt> Connection "xen:///" RefreshInterval 120 HostnameFormat "hostname name" </Plugin> При этом сама libvirt работоспособна: [root@hwnode ~]# virsh -c xen:/// Добро пожаловать в virsh — интерактивный терминал виртуализации. Введите «help» для получения справки по командам «quit» для выхода virsh # list ID Имя Статус ---------------------------------- 0 Domain-0 работает 1 Webserver бездействует virsh # dominfo Webserver ID: 1 Имя: Webserver UUID: f7210a81-f727-9ec0-4ae2-97191dd78558 Тип ОС: linux Статус: бездействует CPU: 1 Время CPU: 16,7s Макс.память: 524288 kB Занято памяти: 524288 kB Persistent: no Автозапуск: выкл. virsh # domifstat Webserver vif1.0 vif1.0 rx_bytes 256338 vif1.0 rx_packets 2213 vif1.0 rx_errs 0 vif1.0 rx_drop 0 vif1.0 tx_bytes 2160723 vif1.0 tx_packets 1668 vif1.0 tx_errs 0 vif1.0 tx_drop 0 virsh # domblkstat Webserver xvda2 xvda2 rd_req 1926 xvda2 rd_bytes 20665344 xvda2 wr_req 904 xvda2 wr_bytes 6975488 xvda2 errs 0 virsh # quit Предположительно проблема возникла после обновления xen и libvirt.
Попробуйте пересобрать локально -- если поможет, пересоберу в сизифе. Xen под рукой нет.
Прошу прощения за долгое отсутствие - не было времени заняться этой проблемой. Локальная пересборка collecttd (система на базе p6) проблему не решила - все тот же libvirt plugin: Unable to connect: virConnectOpenReadOnly failed. Зато выяснилось, что при запущенном libvirtd (чего ранее не требовалось), плагин стан собирать статистику. Что интересно - virsh не требует запущенного libvirtd и все показывает и без него. Соответственно вопрос скорее в том, можно ли вернуть прошлое поведение, чтобы для плагина не требовался запущенный libvirtd.
Пока похоже, что это следствие изменения логики работы libvirt -- на страничке плагина упоминания необходимости libvirtd не вижу. Сам спрашивал бы апстрим libvirt, поскольку соответствующий кусок плагина выглядит совсем безыскусно: if (conn == NULL) { /* `conn_string == NULL' is acceptable. */ conn = virConnectOpenReadOnly (conn_string); if (conn == NULL) { c_complain (LOG_ERR, &conn_complain, "libvirt plugin: Unable to connect: " "virConnectOpenReadOnly failed."); return -1; } }