Git Product home page Git Product logo

green-monitoring's Introduction

Green Monitoring Stack

Project Status: Active – The project has reached a stable, usable state and is being actively developed. License

Table of contents

About the project

A monitoring stack with samples for collection and data exploration for sustainability purposes.

The 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.

KPIs

Element KPI
network device power
power supply load
power supply efficiency

traffic
bandwidth utilization
power consumption ratio (PCR) - reference

CO2-eq emissions (+ historical)
cost
server power
utilization
temperature

CO2-eq emissions
cost
pdu power
rack power
TBD: temperature

Technology stack

Architecture Architecture

Captures data from:

  • IOS-XR routers
  • NX-OS switches
  • Meraki switches
  • UCS servers
  • ACI APIC
  • Raritan PDUs
  • Eaton PDUs

Stores data in:

  • InfluxDB v2

Exposes data in:

  • Grafana

Data Flow:

IOS-XR
NX-OS
Meraki
ACI APIC                   -> Telegraf     ->     InfluxDB     -> Grafana
UCS: REDFISH/CIMC/UCSM
Raritan PDUs
Eaton PDUs

Getting started

Prerequisites

Use these instructions.

Configuration

Use these instructions.

Installation

Use these instructions.

Usage

Access

Access the two following WebUIs by replacing the HOST_IP placeholder with the reachable IP address of the host that runs the stack:

  • Grafana - hosts custom visualizations.
  • Influx (credentials based on .env) - for exploration of raw data.

Dashboards

Overview power - Meraki - organization/switches Overview power - Meraki - organization/switches

Overview power - DC - Nexus Overview power - DC - Nexus

Overview CO2-eq emissions - DC - Nexus Overview CO2-eq emissions - DC - Nexus

Overview power - NCS, ASR 9K, Cisco 8K Overview power - NCS, ASR 9K, Cisco 8K

Overview CO2-eq emissions - NCS, ASR 9K, Cisco 8K Overview CO2-eq emissions - NCS, ASR 9K, Cisco 8K

Historical overview of CO2-eq emissions - Fretta Historical overview of CO2-eq emissions - Fretta

Power - DC - UCS Power - DC - UCS

Temperature - DC - UCS Temperature - DC - UCS

Utilization - DC - UCS Utilization - DC - UCS

Rack view - DC - UCS 1/3 Rack view - DC - UCS 1/3

Rack view - DC - UCS 2/3 Rack view - DC - UCS 2/3

Rack view - DC - UCS 3/3 Rack view - DC - UCS 3/3

PDUs - Raritan PDUs - Raritan

PDUs - Eaton PDUs - Eaton

Cost - DC - Nexus and UCS Cost - DC - Nexus and UCS

PCR (Power consumption ratio) versus Traffic PCR versus traffic - Cisco 8201

PCR (Power consumption ratio) versus Bandwidth utilization - concept PCR versus bandwidth utilization

PCR (Power consumption ratio) versus Bandwidth utilization - NCS PCR versus bandwidth utilization

PCR (Power consumption ratio) versus Bandwidth utilization - ASR 9K and Cisco 8K PCR versus bandwidth utilization

Bandwidth utilization and distribution per interface PCR versus bandwidth utilization

Specifications

The collections available are documented in SPECS.md.

FAQ

See FAQ.md.

Contributing

Contributions are highly appreciated. Please follow the guidelines documented in CONTRIBUTING.md.

License

Distributed under the Apache License Version 2.0. See the LICENSE for more information.

Contact

Acknowledgements

green-monitoring's People

Contributors

cprecup avatar dependabot[bot] avatar lelia avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

green-monitoring's Issues

Security Policy violation Branch Protection

This issue was automatically created by Allstar.

Security Policy Violation
Dismiss stale reviews not configured for branch main
PR Approvals below threshold 0 : 1 for branch main


⚠️ There is an updated version of this policy result! Click here to see the latest update


This issue will auto resolve when the policy is in compliance.

Issue created by Allstar. See https://github.com/ossf/allstar/ for more information. For questions specific to the repository, please contact the owner or maintainer.

Collector service fails to build - pyyaml - cause: release of Cython 3

Description

Collector service fails when resolving dependencies for Python module pyyaml==6.0 due to the release of Cython 3.
See this discussion for more context: yaml/pyyaml#724.

Expected Behavior

Collector resolves all dependencies and builds successfully.

Actual Behavior

Collector build process fails during step 5/6:

=> ERROR [5/6] RUN if [ -z "$HTTPS_PROXY" ] ;    then pip3 install --upgrade pip && pip3 install -r /requirements.txt;    else pip3 install  21.3s
------                                                                                                                                              
 > [5/6] RUN if [ -z "$HTTPS_PROXY" ] ;    then pip3 install --upgrade pip && pip3 install -r /requirements.txt;    else pip3 install --proxy $HTTPS_PROXY --upgrade pip && pip3 install --proxy $HTTPS_PROXY -r /requirements.txt;    fi:                                                              
#0 6.546 Requirement already satisfied: pip in /usr/lib/python3.10/site-packages (22.3.1)                                                           
#0 7.048 Collecting pip
#0 7.218   Downloading pip-23.2.1-py3-none-any.whl (2.1 MB)
#0 7.392      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.1/2.1 MB 12.8 MB/s eta 0:00:00
#0 7.467 Installing collected packages: pip
#0 7.468   Attempting uninstall: pip
#0 7.472     Found existing installation: pip 22.3.1
#0 7.480     Uninstalling pip-22.3.1:
#0 9.179       Successfully uninstalled pip-22.3.1
#0 12.46 Successfully installed pip-23.2.1
#0 12.46 WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
#0 14.09 Collecting pytz==2023.3 (from -r /requirements.txt (line 1))
#0 14.23   Downloading pytz-2023.3-py2.py3-none-any.whl (502 kB)
#0 14.33      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 502.3/502.3 kB 5.5 MB/s eta 0:00:00
#0 14.37 Collecting raritan==20210223.0 (from -r /requirements.txt (line 2))
#0 14.40   Downloading raritan-20210223.0-py3-none-any.whl (126 kB)
#0 14.43      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 126.1/126.1 kB 7.8 MB/s eta 0:00:00
#0 14.53 Collecting pyyaml==6.0 (from -r /requirements.txt (line 3))
#0 14.56   Downloading PyYAML-6.0.tar.gz (124 kB)
#0 14.58      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 125.0/125.0 kB 13.7 MB/s eta 0:00:00
#0 15.13   Installing build dependencies: started
#0 20.65   Installing build dependencies: finished with status 'done'
#0 20.65   Getting requirements to build wheel: started
#0 21.05   Getting requirements to build wheel: finished with status 'error'
#0 21.07   error: subprocess-exited-with-error
#0 21.07   
#0 21.07   × Getting requirements to build wheel did not run successfully.
#0 21.07   │ exit code: 1
#0 21.07   ╰─> [48 lines of output]
[...]
#0 21.07       AttributeError: cython_sources
#0 21.07       [end of output]
[...]

Affected Version

Initial projct version with pyyaml==6.0.

Steps to Reproduce

  1. Build collector
docker-compose build telegraf

Resolution

Enforce compatible version of PyYAML: pyyaml==6.0.1.

Checklist

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.