{"id":13585311,"url":"https://github.com/sbadia/docker-events-exporter","last_synced_at":"2026-03-04T17:31:19.063Z","repository":{"id":139666174,"uuid":"93875038","full_name":"sbadia/docker-events-exporter","owner":"sbadia","description":"Expose docker API events to prometheus","archived":false,"fork":false,"pushed_at":"2018-02-09T17:18:17.000Z","size":13,"stargazers_count":8,"open_issues_count":0,"forks_count":6,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-07-02T02:06:03.234Z","etag":null,"topics":["docker","docker-api","events","metrics","prometheus"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sbadia.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2017-06-09T15:58:14.000Z","updated_at":"2024-09-26T12:06:37.000Z","dependencies_parsed_at":null,"dependency_job_id":"e02a3150-d311-4bc6-854b-4357843554a3","html_url":"https://github.com/sbadia/docker-events-exporter","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/sbadia/docker-events-exporter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sbadia%2Fdocker-events-exporter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sbadia%2Fdocker-events-exporter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sbadia%2Fdocker-events-exporter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sbadia%2Fdocker-events-exporter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sbadia","download_url":"https://codeload.github.com/sbadia/docker-events-exporter/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sbadia%2Fdocker-events-exporter/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30087317,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-04T15:40:14.053Z","status":"ssl_error","status_checked_at":"2026-03-04T15:40:13.655Z","response_time":59,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker","docker-api","events","metrics","prometheus"],"created_at":"2024-08-01T15:04:52.055Z","updated_at":"2026-03-04T17:31:19.021Z","avatar_url":"https://github.com/sbadia.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"# Docker events exporter\n\n*Docker events exporter* expose docker API events ([oom, start, …](https://docs.docker.com/engine/reference/commandline/events/#object-types)) to prometheus metrics.\n\n## Summary\n\n[node-problem-detector](https://github.com/kubernetes/node-problem-detector)\ndoesn't expose the pod name, but only show events using logs files. In case of\nOOM is not very helpful, *Docker events exporter* use docker API to retrieve\npod, container and namespace.\n\n## Run on kubernetes as daemonsets\n\nYou can apply this ds on our cluster, in order to expose API events as\nprometheus metrics.\n\n```json\n{\n  \"apiVersion\": \"extensions/v1beta1\",\n  \"kind\": \"DaemonSet\",\n  \"metadata\": {\n    \"name\": \"events-notifier\",\n    \"namespace\": \"inf\"\n  },\n  \"spec\": {\n    \"updateStrategy\": {\n      \"type\": \"RollingUpdate\"\n    },\n    \"template\": {\n      \"metadata\": {\n        \"labels\": {\n          \"name\": \"events-notifier\"\n        },\n        \"annotations\": {\n          \"prometheus.io/scrape\": \"true\",\n          \"prometheus.io/port\": \"9000\"\n        }\n      },\n      \"spec\": {\n        \"containers\": [\n          {\n            \"name\": \"events-notifier\",\n            \"image\": \"clustree:docker-events-exporter\",\n            \"imagePullPolicy\": \"Always\",\n            \"resources\": {\n              \"requests\": {\n                \"cpu\": \"0.1\"\n              },\n              \"limits\": {\n                \"memory\": \"20Mi\",\n                \"cpu\": \"0.3\"\n             }\n            },\n            \"volumeMounts\": [\n              {\n                \"name\": \"dockersock\",\n                \"mountPath\": \"/var/run/docker.sock\"\n              }\n            ],\n            \"ports\": [\n              {\n                \"name\": \"prometheus\",\n                \"containerPort\": 9000\n              }\n            ]\n          }\n        ],\n        \"volumes\": [\n          {\n            \"name\": \"dockersock\",\n            \"hostPath\": {\n              \"path\": \"/var/run/docker.sock\"\n            }\n          }\n        ]\n      }\n    }\n  }\n}\n\n```\n\nAnd then fetch events on port `9000`\n\n```bash\n❯ curl 10.252.8.147:9000\n# HELP docker_events Docker events\n# TYPE docker_events counter\ndocker_events{env=\"int2\",event=\"exec_start: bash\",pod=\"ldap\"} 1.0\ndocker_events{env=\"int2\",event=\"oom\",pod=\"ldap-2246486038-30nc1\"} 1.0\n```\n\n## Prometheus alerts ?\n\nThen you can imagine to configure prometheus alerts based on thoses metrics,\nfor example about OOM events…\n\n```\ngroups:\n- name: host_health\n  - alert: oom\n    expr: rate(docker_events{event=\"oom\",kubernetes_namespace=\"inf\"}[1m]) \u003e 0\n    labels:\n      routing: slackonly\n    annotations:\n      link: '{{ $labels.event }} - {{ $labels.env }} - {{ $labels.pod }}'\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsbadia%2Fdocker-events-exporter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsbadia%2Fdocker-events-exporter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsbadia%2Fdocker-events-exporter/lists"}