Ingensi / dockbeat

Dockbeat - the elastic Beat for docker daemon monitoring
Other
286 stars 70 forks source link

How to Scale?? #109

Closed MaxFlanders closed 8 years ago

MaxFlanders commented 8 years ago

We are testing out dockerbeat to see if it will be a viable method for us to collect metrics on our docker containers right now.

However we have hundreds of vm's with 3-4 containers on each, and we're encountering some difficulties obtaining usable output. For example, I have built a dashboard displaying the memory metrics made available by dockerbeat, but the only identifier available there is containerID. Clearly it's not a scalable solution for me to go on to our vms and look up the name of the container using that ID, or to look it up from the container metric provided by dockerbeat - I need that kind of info to be contained in each dashboard. Do you know if there is a way to do this??

marminthibaut commented 8 years ago

You should try to use labels to identify your containers. Then you will be able to refine your dashboards by filtering by label.

MaxFlanders commented 8 years ago

I'm sorry I'm still not clear on how to make this work. If I add labels, I see that they show up in the container metric, but I need to add an identifier to the other metrics, memory, cpu, network, etc... Is there a way to apply labels to these metrics as well??

gpolaert commented 8 years ago

@marminthibaut talks about docker labels. Here the documentation: https://docs.docker.com/engine/userguide/labels-custom-metadata/

All event types (cpu, mem and so on) from one container will be tagged with the labels you've set. Adding these labels allows you to split per type of container, per host or whatever ... depends of what you've set in your labels.

Another solution could be using logstash as a pipe aggregator and add a processing step for each source (ie. docker daemon or server)

marminthibaut commented 8 years ago

You are right.

Actually, this feature has been resolved by #103 and has been merged into develop. But it will be available for the next release (rc2).

If you want to test it now, you can try to build dockerbeat from the develop branch.

MaxFlanders commented 8 years ago

Ah I see, I wasn't building from develop. Thanks!