Instance log aggregation without networking

asked 2014-09-10 07:25:16 -0500

R gravatar image

Hi,

I'd like to aggregate logs to a central location from instances spawned without relying on each instance having a functional network configuration or specific network connectivity. I'm using Icehouse, with KVM/libvirt.

I'm open to other ideas, this is my current one:

Each instance sends log events back via some channel to the hypervisor it lives on, which then through any number of regular methods gets sent to a central location.

I was thinking the channel could be via virtio-serial device in every instance (setup similar to here: http://log.amitshah.net/tag/virtio-serial/ (http://log.amitshah.net/tag/virtio-se...) , on the hypervisor the socket would be named after the instance UUID).

Actually achieving this for every instance is interesting, I believe one would modify https://github.com/openstack/nova/blob/master/nova/virt/libvirt/driver.py (https://github.com/openstack/nova/blo...) to achieve this though I'm hesitant to attempt it without some guidance.

Does anyone have any examples of modifications to driver.py to achieve similar ends? Or an idea for another (possibly existing) channel to transfer events over, or some other superior way all together to achieve the same end? (An iSCSI character device perhaps? Though I'm even less sure where to start on that one...)

Thanks for your time.

edit retag flag offensive close merge delete

Comments

Not what you want, but just for a record: there is ceilometer which collects some information about the VM from the hypervisor point of view (for example, VM's CPU usage, VM's RAM usage, VM's IOs)...

T u l gravatar imageT u l ( 2014-09-10 15:14:10 -0500 )edit