{"id":3100,"name":"Green Monitoring Stack","description":"An open-source stack that monitors the network, data center (compute / storage) infrastructure, third-party devices and external sources to understand the energy consumption and its relation to traffic and bandwidth, the cost and the carbon footprint at various levels of granularity.","url":"https://github.com/cisco-open/green-monitoring","last_synced_at":"2026-04-26T06:30:16.581Z","repository":{"id":181285525,"uuid":"666178395","full_name":"cisco-open/green-monitoring","owner":"cisco-open","description":"Tracks an open-source stack of services that monitor the energy and CO2-eq emissions of IOS-XR, NX-OS devices, Meraki switches, UCSs, ACI APIC nodes, Eaton and Raritan PDUs.","archived":false,"fork":false,"pushed_at":"2024-05-21T05:56:01.000Z","size":6364,"stargazers_count":27,"open_issues_count":2,"forks_count":9,"subscribers_count":3,"default_branch":"main","last_synced_at":"2026-04-10T23:01:55.207Z","etag":null,"topics":["co2-emissions","energy","power","sustainability"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"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/cisco-open.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":"AUTHORS.md","dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-07-13T22:41:59.000Z","updated_at":"2026-04-03T16:21:51.000Z","dependencies_parsed_at":"2023-12-02T10:31:38.865Z","dependency_job_id":"6982e8f3-e202-40a5-a837-2213eb9367c7","html_url":"https://github.com/cisco-open/green-monitoring","commit_stats":{"total_commits":13,"total_committers":4,"mean_commits":3.25,"dds":0.3846153846153846,"last_synced_commit":"5148a73830d79e63f75ebdb0aa484cef8d40ab1d"},"previous_names":["cisco-open/green-monitoring"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/cisco-open/green-monitoring","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cisco-open%2Fgreen-monitoring","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cisco-open%2Fgreen-monitoring/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cisco-open%2Fgreen-monitoring/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cisco-open%2Fgreen-monitoring/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cisco-open","download_url":"https://codeload.github.com/cisco-open/green-monitoring/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cisco-open%2Fgreen-monitoring/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31734350,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-12T22:19:12.206Z","status":"ssl_error","status_checked_at":"2026-04-12T22:18:33.088Z","response_time":58,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: 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"}},"owner":{"login":"cisco-open","name":"Cisco","uuid":"95529662","kind":"organization","description":"","email":"oss-github@cisco.com","website":"https://opensource.cisco.com","location":null,"twitter":"ciscoopen","company":null,"icon_url":"https://avatars.githubusercontent.com/u/95529662?v=4","repositories_count":85,"last_synced_at":"2025-03-30T16:01:59.199Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/cisco-open","funding_links":[],"total_stars":1480,"followers":321,"following":0,"created_at":"2022-11-14T05:16:46.943Z","updated_at":"2025-03-30T16:01:59.200Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cisco-open","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cisco-open/repositories"},"packages":[],"commits":{"id":1319690,"full_name":"cisco-open/green-monitoring","default_branch":"main","total_commits":13,"total_committers":4,"total_bot_commits":1,"total_bot_committers":1,"mean_commits":3.25,"dds":0.3846153846153846,"past_year_total_commits":0,"past_year_total_committers":0,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":0.0,"past_year_dds":0.0,"last_synced_at":"2026-04-23T05:00:40.672Z","last_synced_commit":"5148a73830d79e63f75ebdb0aa484cef8d40ab1d","created_at":"2023-09-11T14:46:16.358Z","updated_at":"2026-04-23T05:00:40.581Z","committers":[{"name":"cprecup","email":"cprecup@cisco.com","login":"cprecup","count":8},{"name":"lelia","email":"le1ia@me.com","login":"lelia","count":3},{"name":"dependabot[bot]","email":"49699333+dependabot[bot]","login":"dependabot[bot]","count":1},{"name":"Oleksii Borisenko","email":"borysenko.oleksii@gmail.com","login":"oborys","count":1}],"past_year_committers":[],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/cisco-open%2Fgreen-monitoring/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-25T00:00:08.654Z","repositories_count":6217860,"commits_count":899353953,"contributors_count":34905607,"owners_count":1145109,"icon_url":"https://github.com/github.png","host_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories"}},"issues_stats":{"full_name":"cisco-open/green-monitoring","html_url":"https://github.com/cisco-open/green-monitoring","last_synced_at":"2026-03-23T14:00:59.091Z","status":"error","issues_count":4,"pull_requests_count":14,"avg_time_to_close_issue":199077.0,"avg_time_to_close_pull_request":1012245.4615384615,"issues_closed_count":3,"pull_requests_closed_count":13,"pull_request_authors_count":4,"issue_authors_count":2,"avg_comments_per_issue":26.5,"avg_comments_per_pull_request":0.0,"merged_pull_requests_count":13,"bot_issues_count":1,"bot_pull_requests_count":3,"past_year_issues_count":0,"past_year_pull_requests_count":0,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":0,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":null,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0,"created_at":"2023-09-11T14:46:20.998Z","updated_at":"2026-03-23T14:00:59.091Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/cisco-open%2Fgreen-monitoring","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/cisco-open%2Fgreen-monitoring/issues","issue_labels_count":{"enhancement":2,"allstar":1,"bug":1},"pull_request_labels_count":{"dependencies":3,"enhancement":2,"documentation":1,"bug":1},"issue_author_associations_count":{"CONTRIBUTOR":3,"NONE":1},"pull_request_author_associations_count":{"CONTRIBUTOR":12,"NONE":2},"issue_authors":{"cprecup":3,"allstar-app[bot]":1},"pull_request_authors":{"cprecup":7,"dependabot[bot]":3,"oborys":2,"lelia":2},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-04-21T00:00:07.919Z","repositories_count":14344563,"issues_count":34461832,"pull_requests_count":112826552,"authors_count":11241436,"icon_url":"https://github.com/github.png","host_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories","owners_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/owners","authors_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors"},"past_year_issue_labels_count":{},"past_year_pull_request_labels_count":{},"past_year_issue_author_associations_count":{},"past_year_pull_request_author_associations_count":{},"past_year_issue_authors":{},"past_year_pull_request_authors":{},"maintainers":[],"active_maintainers":[]},"events":{"total":{"ForkEvent":3,"WatchEvent":7,"IssueCommentEvent":1},"last_year":{"ForkEvent":1,"WatchEvent":3}},"keywords":["co2-emissions","energy","power","sustainability"],"dependencies":[{"ecosystem":"docker","filepath":"stack/docker-compose.yml","sha":null,"kind":"manifest","created_at":"2023-07-14T19:59:28.560Z","updated_at":"2023-07-14T19:59:28.560Z","repository_link":"https://github.com/cisco-open/green-monitoring/blob/main/stack/docker-compose.yml","dependencies":[{"id":11475422887,"package_name":"influxdb","ecosystem":"docker","requirements":"2.0.4-alpine","direct":true,"kind":"runtime","optional":false},{"id":11475422888,"package_name":"grafana/grafana","ecosystem":"docker","requirements":"9.2.0","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"docker","filepath":"stack/telegraf/Dockerfile","sha":null,"kind":"manifest","created_at":"2023-07-14T19:59:29.042Z","updated_at":"2023-07-14T19:59:29.042Z","repository_link":"https://github.com/cisco-open/green-monitoring/blob/main/stack/telegraf/Dockerfile","dependencies":[{"id":11475423999,"package_name":"telegraf","ecosystem":"docker","requirements":"1.24-alpine","direct":true,"kind":"build","optional":false}]},{"ecosystem":"pypi","filepath":"stack/telegraf/requirements.txt","sha":null,"kind":"manifest","created_at":"2023-07-14T19:59:29.384Z","updated_at":"2023-07-14T19:59:29.384Z","repository_link":"https://github.com/cisco-open/green-monitoring/blob/main/stack/telegraf/requirements.txt","dependencies":[{"id":11475426365,"package_name":"pytz","ecosystem":"pypi","requirements":"==2023.3","direct":true,"kind":"runtime","optional":false},{"id":11475426366,"package_name":"raritan","ecosystem":"pypi","requirements":"==20210223.0","direct":true,"kind":"runtime","optional":false},{"id":11475426367,"package_name":"pyyaml","ecosystem":"pypi","requirements":"==6.0","direct":true,"kind":"runtime","optional":false},{"id":11475426368,"package_name":"imcsdk","ecosystem":"pypi","requirements":"==0.9.12","direct":true,"kind":"runtime","optional":false},{"id":11475426369,"package_name":"requests","ecosystem":"pypi","requirements":"==2.31.0","direct":true,"kind":"runtime","optional":false},{"id":11475426370,"package_name":"ucsmsdk","ecosystem":"pypi","requirements":"==0.9.13","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"stack/telegraf/telegraf.d/raritan-power/requirements.txt","sha":null,"kind":"manifest","created_at":"2023-07-14T19:59:29.544Z","updated_at":"2023-07-14T19:59:29.544Z","repository_link":"https://github.com/cisco-open/green-monitoring/blob/main/stack/telegraf/telegraf.d/raritan-power/requirements.txt","dependencies":[{"id":11475426391,"package_name":"pyyaml","ecosystem":"pypi","requirements":"==6.0","direct":true,"kind":"runtime","optional":false},{"id":11475426392,"package_name":"raritan","ecosystem":"pypi","requirements":"==20210223.0","direct":true,"kind":"runtime","optional":false},{"id":11475426393,"package_name":"pytz","ecosystem":"pypi","requirements":"==2022.1","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"stack/telegraf/telegraf.d/ucs-power-temp-util/requirements.txt","sha":null,"kind":"manifest","created_at":"2023-07-14T19:59:29.647Z","updated_at":"2023-07-14T19:59:29.647Z","repository_link":"https://github.com/cisco-open/green-monitoring/blob/main/stack/telegraf/telegraf.d/ucs-power-temp-util/requirements.txt","dependencies":[{"id":11475426634,"package_name":"pyyaml","ecosystem":"pypi","requirements":"==6.0","direct":true,"kind":"runtime","optional":false},{"id":11475426638,"package_name":"imcsdk","ecosystem":"pypi","requirements":"==0.9.12","direct":true,"kind":"runtime","optional":false},{"id":11475426640,"package_name":"ucsmsdk","ecosystem":"pypi","requirements":"==0.9.13","direct":true,"kind":"runtime","optional":false}]}],"score":4.7535901911063645,"created_at":"2023-09-11T14:32:18.891Z","updated_at":"2026-04-26T06:30:16.595Z","avatar_url":"https://github.com/cisco-open.png","language":"Python","category":"Energy Systems","sub_category":"Building Energy Monitoring","monthly_downloads":0,"total_dependent_repos":0,"total_dependent_packages":0,"readme":"# Green Monitoring Stack\n\n[![Project Status: Active – The project has reached a stable, usable state and is being actively developed.](https://www.repostatus.org/badges/latest/active.svg)](https://www.repostatus.org/#active) [![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](./LICENSE)\n[![Build For Better 2024 Winner](https://static.production.devnetcloud.com/codeexchange/assets/images/DevNet-Build_For_Better_2024_Winner-Blue.svg)](https://blogs.cisco.com/developer/announcing-the-build-for-better-code-challenge-winners)\n\n\n## Table of contents\n\n- [Green Monitoring Stack](#green-monitoring-stack)\n  - [Table of contents](#table-of-contents)\n  - [About the project](#about-the-project)\n    - [KPIs](#kpis)\n    - [Technology stack](#technology-stack)\n  - [Getting started](#getting-started)\n    - [Prerequisites](#prerequisites)\n    - [Configuration](#configuration)\n    - [Installation](#installation)\n  - [Usage](#usage)\n    - [Access](#access)\n    - [Dashboards](#dashboards)\n  - [Specifications](#specifications)\n  - [FAQ](#faq)\n  - [Contributing](#contributing)\n  - [License](#license)\n  - [Contact](#contact)\n  - [Acknowledgements](#acknowledgements)\n\n\n## About the project\n\nA monitoring stack with samples for collection and data exploration for sustainability purposes.\n\nThe data is collected from Network, DC (compute / storage) infrastructure, third-party devices and external sources to be able to understand the **energy consumption** and its relation to traffic and bandwidth, the **cost** and the **carbon footprint** of the environment at various levels of granularity.\n\n### KPIs\n\n| Element | KPI |\n| :---------- | :------------ |\n| network device | power \u003cbr\u003e power supply load \u003cbr\u003e power supply efficiency \u003cbr\u003e \u003cbr\u003e traffic \u003cbr\u003e bandwidth utilization \u003cbr\u003e power consumption ratio (PCR) - [reference](SPECS.md#power-consumption-ratio-pcr) \u003cbr\u003e \u003cbr\u003e CO\u003csub\u003e2\u003c/sub\u003e-eq emissions (+ historical) \u003cbr\u003e cost|\n| server | power \u003cbr\u003e utilization \u003cbr\u003e temperature \u003cbr\u003e \u003cbr\u003e CO\u003csub\u003e2\u003c/sub\u003e-eq emissions \u003cbr\u003e cost |\n| pdu | power |\n| rack | power \u003cbr\u003e _TBD:_ temperature|\n\n### Technology stack\n\n*Architecture*\n![Architecture](stack/doc/img/architecture.png)\n\nCaptures data from:\n- IOS-XR routers\n- NX-OS switches\n- Meraki switches\n- UCS servers\n- ACI APIC\n- Raritan PDUs\n- Eaton PDUs\n\nStores data in:\n- InfluxDB v2\n\nExposes data in:\n- Grafana\n\nData Flow:\n\n    IOS-XR\n    NX-OS\n    Meraki\n    ACI APIC                   -\u003e Telegraf     -\u003e     InfluxDB     -\u003e Grafana\n    UCS: REDFISH/CIMC/UCSM\n    Raritan PDUs\n    Eaton PDUs\n\n---\n\n## Getting started\n\n### Prerequisites\n\n[Use these instructions](./stack/README.md#prerequisites).\n\n### Configuration\n[Use these instructions](./stack/README.md#configuration).\n\n### Installation\n[Use these instructions](./stack/README.md#installation).\n\n## Usage\n\n### Access\n\nAccess the two following WebUIs by replacing the `HOST_IP` placeholder with the reachable IP address of the host that runs the stack:\n\n- [Grafana](http://HOST_IP:3000) - hosts custom visualizations.\n- [Influx](http://HOST_IP:8086) (_credentials based on [.env](./stack/.env)_) - for exploration of raw data.\n\n### Dashboards\n\nOverview power - Meraki - organization/switches\n![Overview power - Meraki - organization/switches](stack/doc/img/overview%20power,%20carbon%20emissions/meraki.png)\n\nOverview power - DC - Nexus\n![Overview power - DC - Nexus](stack/doc/img/overview%20power%2C%20carbon%20emissions/nexus.png)\n\nOverview CO\u003csub\u003e2\u003c/sub\u003e-eq emissions - DC - Nexus\n![Overview CO2-eq emissions - DC - Nexus](stack/doc/img/overview%20power,%20carbon%20emissions/nexus%20-%20co2eq%20emissions.png)\n\nOverview power - NCS, ASR 9K, Cisco 8K\n![Overview power - NCS, ASR 9K, Cisco 8K](stack/doc/img/overview%20power%2C%20carbon%20emissions/ncs%2C%20asr%209k%2C%208k.png)\n\nOverview CO\u003csub\u003e2\u003c/sub\u003e-eq emissions - NCS, ASR 9K, Cisco 8K\n![Overview CO2-eq emissions - NCS, ASR 9K, Cisco 8K](stack/doc/img/overview%20power,%20carbon%20emissions/ncs,%20asr%209k,%208k%20-%20co2eq%20emissions.png)\n\nHistorical overview of CO\u003csub\u003e2\u003c/sub\u003e-eq emissions - Fretta\n![Historical overview of CO2-eq emissions - Fretta](stack/doc/img/carbon%20emissions/carbon%20emissions%20-%20fretta.png)\n\nPower - DC - UCS\n![Power - DC - UCS](stack/doc/img/ucs/ucs%20-%20power.png)\n\nTemperature - DC - UCS\n![Temperature - DC - UCS](stack/doc/img/ucs/ucs%20-%20temperature.png)\n\nUtilization - DC - UCS\n![Utilization - DC - UCS](stack/doc/img/ucs/ucs%20-%20utilization.png)\n\nRack view - DC - UCS 1/3\n![Rack view - DC - UCS 1/3](stack/doc/img/ucs/ucs%20-%20rack%20view%201.png)\n\nRack view - DC - UCS 2/3\n![Rack view - DC - UCS 2/3](stack/doc/img/ucs/ucs%20-%20rack%20view%202.png)\n\nRack view - DC - UCS 3/3\n![Rack view - DC - UCS 3/3](stack/doc/img/ucs/ucs%20-%20rack%20view%203.png)\n\nPDUs - Raritan\n![PDUs - Raritan](stack/doc/img/pdus/raritan%20pdus.png)\n\nPDUs - Eaton\n![PDUs - Eaton](stack/doc/img/pdus/eaton%20pdus.png)\n\nCost - DC - Nexus and UCS\n![Cost - DC - Nexus and UCS](stack/doc/img/cost/cost-nexus-ucs.png)\n\nPCR (Power consumption ratio) versus Traffic\n![PCR versus traffic - Cisco 8201](stack/doc/img/pcr/pcr-vs-traffic-cisco-8k.png)\n\nPCR (Power consumption ratio) versus Bandwidth utilization - concept\n![PCR versus bandwidth utilization](stack/doc/img/pcr/pcr-vs-bw-utilization-concept.png)\n\nPCR (Power consumption ratio) versus Bandwidth utilization - NCS\n![PCR versus bandwidth utilization](stack/doc/img/pcr/pcr-vs-bw-utilization-ncs.png)\n\nPCR (Power consumption ratio) versus Bandwidth utilization - ASR 9K and Cisco 8K\n![PCR versus bandwidth utilization](stack/doc/img/pcr/pcr-vs-bw-utilization-asr-9k-cisco-8k.png)\n\nBandwidth utilization and distribution per interface\n![PCR versus bandwidth utilization](stack/doc/img/pcr/bw-utilization-and-distribution-per-if.png)\n\n## Specifications\n\nThe collections available are documented in [SPECS.md](SPECS.md).\n\n## FAQ\n\nSee [FAQ.md](FAQ.md).\n\n## Contributing\n\nContributions are highly appreciated. Please follow the guidelines documented in [CONTRIBUTING.md](./CONTRIBUTING.md).\n\n## License\n\nDistributed under the **Apache License Version 2.0**. See the [LICENSE](./LICENSE) for more information.\n\n## Contact\n\n- Cristina Precup - cprecup@cisco.com\n- Guillaume Ladhuie - gladhuie@cisco.com\n- Jean-Baptiste Lefeuvre - jlefeuvr@cisco.com\n- Oren Brigg - obrigg@cisco.com\n- Patrice Nivaggioli - pnivaggi@cisco.com\n- Philippe Tubello - ptubello@cisco.com\n- Salvatore Faraone - sfaraone@cisco.com\n- Steven Barth - stbarth@cisco.com\n\n## Acknowledgements\n\n- [Cisco](https://www.cisco.com)\n- [CO2 Signal](https://www.co2signal.com)\n- [Electricity Maps](https://www.electricitymaps.com)\n- [Influx Data](https://www.influxdata.com)\n- [Grafana Labs](https://grafana.com)\n- [Eaton](https://www.eaton.com)\n- [Raritan](https://www.raritan.com)\n","funding_links":[],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":["archiving","measur","optimize","transforms","conversion","observation","compose","generic","projection","animals"],"project_url":"https://ost.ecosyste.ms/api/v1/projects/3100","html_url":"https://ost.ecosyste.ms/projects/3100"}