Docker monitoring demo with cadvisor and influx#23
Conversation
|
With cadvisor support for InfluxDB 0.9 merged this should be unblocked. I tried running google/cadvisor-canary image as part of this demo setup, however cadvisor kept logging @mstemm could you take over and get this demo into working shape? It also needs to use outrigger itself as a docker container, instead of relying on local install. |
4525e1f to
6eaa918
Compare
examples/cadvisor-influx/README.md
Outdated
There was a problem hiding this comment.
Can you take this XXX out?
|
Ok this basically works, but the README needs much cleanup, which I'll do now and push up for review, and the specific cadvisor-canary build tag is no longer available, we'll have to take our chances with |
|
Cadvisor canary build gave us a 1-minute delay in the demo, see google/cadvisor#1074 The README should now be correct, @mstemm please review again. The juttle program should be good enough for a public facing example, @rlgomes mind taking a look? |
|
The README changes look good. I'm also going to make the other changes I suggested (renaming juttle-influx-adapter to just influx in config files, not mapping the examples directory by default, removing the copy of the config file in the influx subdirectory). |
|
Also gonna rebase so I can verify compat w/ juttle 0.3.0. |
160b6b7 to
804d0e0
Compare
|
I'll squash this down but @demmer/@dmehra can you look at the final 2 commits I made? |
|
@mstemm your changes look good to me. |
examples/cadvisor-influx/dc-cadvisor-influx.yml is a docker-compose file that when combined with dc-outrigger.yml results in a properly linked cadvisor, influxdb, and outrigger. examples/cadvisor-influx/README.md includes notes on config, setup, and a brief overview of the programs. Add necessary config to examples/juttle-config.json to refer to the services from the docker-compose setup. Add entries to examples/index.juttle to refer to cadvisor-influx directory. Also ran into a problem with specifying more than one override .yml file during docker-compose up. It turns out that the links directive is not merged between multiple files, but overwritten for each additional file. This meant that a links: entry in dc-elastic.yml was being overwritten with the links: entry in dc-cadvisor-influx.yml, resulting in outrigger not being able to reach elasticsearch. The fix for this is to use external_links, which *is* merged across multiple .yml files. When using external_links, however, you have to refer to explicit container names instead of services from the .yml file, so add some explicit names for the elasticsearch and influxdb containers, and use those names in the juttle-config files. dc-elastic/dc-cadvisor-influx keep the links: entries, but that's only used to make sure the containers are started up in the right order. the external_links entry is what actually ensures the containers can communicate with each other.
9bc4f25 to
f4cbe75
Compare
Docker monitoring demo with cadvisor and influx
connects to #24
Our ability to run this demo is blocked on 2 things:
Don't merge these demo docs until the above are resolved, or else switch the demo to use a different backend (say Redis instead of Influx) or use something else (REST API?) instead of cadvisor to get the docker container stats.
@demmer @mstemm as we discussed... I will leave what's done here, and file an issue to pick up this work: #24