{"action":"created","issue":{"url":"https://api.github.com/repos/docker/docker/issues/27307","repository_url":"https://api.github.com/repos/docker/docker","labels_url":"https://api.github.com/repos/docker/docker/issues/27307/labels{/name}","comments_url":"https://api.github.com/repos/docker/docker/issues/27307/comments","events_url":"https://api.github.com/repos/docker/docker/issues/27307/events","html_url":"https://github.com/docker/docker/issues/27307","id":182398410,"number":27307,"title":"metrics: prometheus integration road map","user":{"login":"stevvooe","id":120601,"avatar_url":"https://avatars.githubusercontent.com/u/120601?v=3","gravatar_id":"","url":"https://api.github.com/users/stevvooe","html_url":"https://github.com/stevvooe","followers_url":"https://api.github.com/users/stevvooe/followers","following_url":"https://api.github.com/users/stevvooe/following{/other_user}","gists_url":"https://api.github.com/users/stevvooe/gists{/gist_id}","starred_url":"https://api.github.com/users/stevvooe/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/stevvooe/subscriptions","organizations_url":"https://api.github.com/users/stevvooe/orgs","repos_url":"https://api.github.com/users/stevvooe/repos","events_url":"https://api.github.com/users/stevvooe/events{/privacy}","received_events_url":"https://api.github.com/users/stevvooe/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":3,"created_at":"2016-10-11T23:19:22Z","updated_at":"2016-10-12T00:28:29Z","closed_at":null,"body":"At the Docker Distributed Systems Summit, we discussed the integration of prometheus into docker. We made several clarifications around how to match the two models, both at the engine-level and the swarm mode-level.\r\n\r\nMost importantly, we defined the high level steps that need to be taken to achieve a nice result:\r\n\r\n- [ ] Integrate a prometheus metrics output for internal behavior of docker itself. Currently, we are interested instrumenting container startup, but may include further metrics. This will help support the Docker Maintainer and Contributor team to make docker better while also allowing use to learn about using prometheus in a production product. (#25820)\r\n- [ ] Expose externally observable containers metrics. This should replace use cases that involve `docker stats` and external metrics exporters. The focus must be on a stable and scalable schema, while supporting the future goals of application-level metrics. We may have to rely on externally support target discovery, but it may make sense to tackle some of this in the interim.\r\n- [ ] Define cluster-level discovery mechanism to expose topology to prometheus discovery. This will include integration into swarm-mode as well as single node target discovery. We may find that we need to do this in conjunction with externally observable metric.\r\n- [ ] Expose per-container metrics including application-level proxied metrics. This will mean that application and container-level metrics will be served under a single target. No aggregation will be done in the docker engine. Such an integration will be a pass-through proxy, annotated with target-specific data, such as container ids.\r\n\r\ncc @juliusv"},"comment":{"url":"https://api.github.com/repos/docker/docker/issues/comments/253085732","html_url":"https://github.com/docker/docker/issues/27307#issuecomment-253085732","issue_url":"https://api.github.com/repos/docker/docker/issues/27307","id":253085732,"user":{"login":"juliusv","id":538008,"avatar_url":"https://avatars.githubusercontent.com/u/538008?v=3","gravatar_id":"","url":"https://api.github.com/users/juliusv","html_url":"https://github.com/juliusv","followers_url":"https://api.github.com/users/juliusv/followers","following_url":"https://api.github.com/users/juliusv/following{/other_user}","gists_url":"https://api.github.com/users/juliusv/gists{/gist_id}","starred_url":"https://api.github.com/users/juliusv/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/juliusv/subscriptions","organizations_url":"https://api.github.com/users/juliusv/orgs","repos_url":"https://api.github.com/users/juliusv/repos","events_url":"https://api.github.com/users/juliusv/events{/privacy}","received_events_url":"https://api.github.com/users/juliusv/received_events","type":"User","site_admin":false},"created_at":"2016-10-12T00:28:29Z","updated_at":"2016-10-12T00:28:29Z","body":"@brian-brazil As background information, the motivation for scraping apps through a transparent proxy (with target metadata coming via the SD as target labels, not in the metrics output itself) is that on Docker, people run everything in their own little segmented virtual Docker networks (per service or similar), so Prometheus would be unable to reach apps directly except for the ones in its own Docker network. That transparent proxy would effectively punch a hole through that networking segmentation for the purpose of gathering metrics."}}
{"actor":{"display_login":"juliusv"}}