Prometheus exporter for Cisco Unified Computing System (UCS) Manager

Overview

prometheus-ucs-exporter

Overview

Use metrics from the UCS API to export relevant metrics to Prometheus

This repository is a fork of Drew Stinnett's original exporter at oit-ssi-systems/prometheus-ucs-exporter.

Modifications made include:

  • Added production server (FastAPI)
  • Added additional metrics
  • Added Grafana dashboard
  • Minor fixes and refactorings

Install the Grafana dashboard by importing the JSON file grafana/dashboard.json.

Cisco UCSM Grafana dashboard

Installation

Build and run with Docker:

docker build -t prometheus-ucs-exporter .

docker run -p 3001:3001 -e PORT=3001 \
-e PROM_UCS_USERNAME='ucs-mydomain\username' \
-e PROM_UCS_PASSWORD='passw0rd' \
prometheus-ucs-exporter

Fetch metrics:

curl http://localhost:3001/metrics?domain=my-domain.example.com

Note: Metrics are fetched in a background worker after an initial scrape, since UCSM can be slow to respond. Continue polling the /metrics endpoint until metrics are returned.

Usage

docker pull ghcr.io/marshallwace/prometheus-ucs-exporter:0.0.2

SPDX update

pip install --user pipx

pipx run reuse addheader --copyright "2022 Marshall Wace <[email protected]>" --license "GPL-3.0-only" *.py 
You might also like...
Numenta Platform for Intelligent Computing is an implementation of Hierarchical Temporal Memory (HTM), a theory of intelligence based strictly on the neuroscience of the neocortex.

NuPIC Numenta Platform for Intelligent Computing The Numenta Platform for Intelligent Computing (NuPIC) is a machine intelligence platform that implem

xitorch: differentiable scientific computing library

xitorch is a PyTorch-based library of differentiable functions and functionals that can be widely used in scientific computing applications as well as deep learning.

A static analysis library for computing graph representations of Python programs suitable for use with graph neural networks.

python_graphs This package is for computing graph representations of Python programs for machine learning applications. It includes the following modu

Blender scripts for computing geodesic distance
Blender scripts for computing geodesic distance

GeoDoodle Geodesic distance computation for Blender meshes Table of Contents Overivew Usage Implementation Overview This addon provides an operator fo

Lyapunov-guided Deep Reinforcement Learning for Stable Online Computation Offloading in Mobile-Edge Computing Networks

PyTorch code to reproduce LyDROO algorithm [1], which is an online computation offloading algorithm to maximize the network data processing capability subject to the long-term data queue stability and average power constraints. It applies Lyapunov optimization to decouple the multi-stage stochastic MINLP into deterministic per-frame MINLP subproblems and solves each subproblem via DROO algorithm. It includes:

Library for implementing reservoir computing models (echo state networks) for multivariate time series classification and clustering.
Library for implementing reservoir computing models (echo state networks) for multivariate time series classification and clustering.

Framework overview This library allows to quickly implement different architectures based on Reservoir Computing (the family of approaches popularized

Material related to the Principles of Cloud Computing course.

CloudComputingCourse Material related to the Principles of Cloud Computing course. This repository comprises material that I use to teach my Principle

Code for the paper "Next Generation Reservoir Computing"

Next Generation Reservoir Computing This is the code for the results and figures in our paper "Next Generation Reservoir Computing". They are written

Differentiable scientific computing library

xitorch: differentiable scientific computing library xitorch is a PyTorch-based library of differentiable functions and functionals that can be widely

Comments
  • How to support polling multiple UCS Domains

    How to support polling multiple UCS Domains

    Is it possible to support polling of multiple UCS domains using a single prometheus instance or is it better to dedicate a prmetheus container to each UCS domain?

    opened by dwebr 1
  • UCS System returns

    UCS System returns "not-applicable" for kernel_mem_total and kernel_mem_free stats

    Issue: UCS running version 4.2(1m)B returns "not-applicable" for kernel_mem_total and kernel_mem_free stats which results in prometheus throwing errors during polling.

    Work around: comment out the following statements in the swsystem.py file.

    kernel_mem_total.labels(self.domain, switch).set(int(item.kernel_mem_total))
    kernel_mem_free.labels(self.domain, switch).set(int(item.kernel_mem_free))
    

    Example Output

    /repos/prometheus-ucs-exporter/scripts$ ./explore.py query-classid swSystemStats
    
    Managed Object                  :       SwSystemStats
    --------------
    class_id                        :SwSystemStats
    child_action                    :None
    correctable_parity_error        :not-applicable
    correctable_parity_error_avg    :not-applicable
    correctable_parity_error_max    :not-applicable
    correctable_parity_error_min    :not-applicable
    dn                              :sys/switch-B/sysstats
    intervals                       :58982460
    kernel_mem_free                 :not-applicable
    kernel_mem_free_avg             :not-applicable
    kernel_mem_free_max             :not-applicable
    kernel_mem_free_min             :not-applicable
    kernel_mem_total                :not-applicable
    kernel_mem_total_avg            :not-applicable
    kernel_mem_total_max            :not-applicable
    kernel_mem_total_min            :not-applicable
    load                            :2.360000
    load_avg                        :2.413333
    load_max                        :2.620000
    load_min                        :2.130000
    mem_available                   :52264
    mem_available_avg               :52278
    mem_available_max               :52302
    mem_available_min               :52264
    mem_cached                      :11591
    mem_cached_avg                  :11576
    mem_cached_max                  :11591
    mem_cached_min                  :11563
    rn                              :sysstats
    sacl                            :None
    status                          :None
    suspect                         :no
    thresholded                     :
    time_collected                  :2022-09-24T10:13:48.368
    update                          :131081
    
    
    
    Managed Object                  :       SwSystemStats
    --------------
    class_id                        :SwSystemStats
    child_action                    :None
    correctable_parity_error        :not-applicable
    correctable_parity_error_avg    :not-applicable
    correctable_parity_error_max    :not-applicable
    correctable_parity_error_min    :not-applicable
    dn                              :sys/switch-A/sysstats
    intervals                       :58982460
    kernel_mem_free                 :not-applicable
    kernel_mem_free_avg             :not-applicable
    kernel_mem_free_max             :not-applicable
    kernel_mem_free_min             :not-applicable
    kernel_mem_total                :not-applicable
    kernel_mem_total_avg            :not-applicable
    kernel_mem_total_max            :not-applicable
    kernel_mem_total_min            :not-applicable
    load                            :3.820000
    load_avg                        :2.701667
    load_max                        :3.820000
    load_min                        :2.090000
    mem_available                   :52062
    mem_available_avg               :52050
    mem_available_max               :52062
    mem_available_min               :52036
    mem_cached                      :11060
    mem_cached_avg                  :11068
    mem_cached_max                  :11083
    mem_cached_min                  :11060
    rn                              :sysstats
    sacl                            :None
    status                          :None
    suspect                         :no
    thresholded                     :
    time_collected                  :2022-09-24T10:14:32.366
    update                          :131078
    
    bug 
    opened by dwebr 0
Releases(v0.0.2)
Owner
Marshall Wace
Marshall Wace
Self-Supervised Deep Blind Video Super-Resolution

Self-Blind-VSR Paper | Discussion Self-Supervised Deep Blind Video Super-Resolution By Haoran Bai and Jinshan Pan Abstract Existing deep learning-base

Haoran Bai 35 Dec 09, 2022
Official implementation of VQ-Diffusion

Official implementation of VQ-Diffusion: Vector Quantized Diffusion Model for Text-to-Image Synthesis

Microsoft 592 Jan 03, 2023
BRepNet: A topological message passing system for solid models

BRepNet: A topological message passing system for solid models This repository contains the an implementation of BRepNet: A topological message passin

Autodesk AI Lab 42 Dec 30, 2022
Notebook and code to synthesize complex and highly dimensional datasets using Gretel APIs.

Gretel Trainer This code is designed to help users successfully train synthetic models on complex datasets with high row and column counts. The code w

Gretel.ai 24 Nov 03, 2022
Nvidia Semantic Segmentation monorepo

Paper | YouTube | Cityscapes Score Pytorch implementation of our paper Hierarchical Multi-Scale Attention for Semantic Segmentation. Please refer to t

NVIDIA Corporation 1.6k Jan 04, 2023
Using the provided dataset which includes various book features, in order to predict the price of books, using various proposed methods and models.

Using the provided dataset which includes various book features, in order to predict the price of books, using various proposed methods and models.

Nikolas Petrou 1 Jan 13, 2022
This is the research repository for Vid2Doppler: Synthesizing Doppler Radar Data from Videos for Training Privacy-Preserving Activity Recognition.

Vid2Doppler: Synthesizing Doppler Radar Data from Videos for Training Privacy-Preserving Activity Recognition This is the research repository for Vid2

Future Interfaces Group (CMU) 26 Dec 24, 2022
Efficient-GlobalPointer - Pytorch Efficient GlobalPointer

引言 感谢苏神带来的模型,原文地址:https://spaces.ac.cn/archives/8877 如何运行 对应模型EfficientGlobalPoi

powerycy 40 Dec 14, 2022
Official pytorch implement for “Transformer-Based Source-Free Domain Adaptation”

Official implementation for TransDA Official pytorch implement for “Transformer-Based Source-Free Domain Adaptation”. Overview: Result: Prerequisites:

stanley 54 Dec 22, 2022
Mask2Former: Masked-attention Mask Transformer for Universal Image Segmentation in TensorFlow 2

Mask2Former: Masked-attention Mask Transformer for Universal Image Segmentation in TensorFlow 2 Bowen Cheng, Ishan Misra, Alexander G. Schwing, Alexan

Phan Nguyen 1 Dec 16, 2021
Semantically Contrastive Learning for Low-light Image Enhancement

Semantically Contrastive Learning for Low-light Image Enhancement Here, we propose an effective semantically contrastive learning paradigm for Low-lig

48 Dec 16, 2022
Simple-Image-Classification - Simple Image Classification Code (PyTorch)

Simple-Image-Classification Simple Image Classification Code (PyTorch) Yechan Kim This repository contains: Python3 / Pytorch code for multi-class ima

Yechan Kim 8 Oct 29, 2022
A Peer-to-peer Platform for Secure, Privacy-preserving, Decentralized Data Science

PyGrid is a peer-to-peer network of data owners and data scientists who can collectively train AI models using PySyft. PyGrid is also the central serv

OpenMined 615 Jan 03, 2023
Script that attempts to force M1 macs into RGB mode when used with monitors that are defaulting to YPbPr.

fix_m1_rgb Script that attempts to force M1 macs into RGB mode when used with monitors that are defaulting to YPbPr. No warranty provided for using th

Kevin Gao 116 Jan 01, 2023
An efficient and easy-to-use deep learning model compression framework

TinyNeuralNetwork 简体中文 TinyNeuralNetwork is an efficient and easy-to-use deep learning model compression framework, which contains features like neura

Alibaba 441 Dec 25, 2022
Code repo for "Transformer on a Diet" paper

Transformer on a Diet Reference: C Wang, Z Ye, A Zhang, Z Zhang, A Smola. "Transformer on a Diet". arXiv preprint arXiv (2020). Installation pip insta

cgraywang 31 Sep 26, 2021
[NeurIPS'21] "AugMax: Adversarial Composition of Random Augmentations for Robust Training" by Haotao Wang, Chaowei Xiao, Jean Kossaifi, Zhiding Yu, Animashree Anandkumar, and Zhangyang Wang.

AugMax: Adversarial Composition of Random Augmentations for Robust Training Haotao Wang, Chaowei Xiao, Jean Kossaifi, Zhiding Yu, Anima Anandkumar, an

VITA 112 Nov 07, 2022
SymmetryNet: Learning to Predict Reflectional and Rotational Symmetries of 3D Shapes from Single-View RGB-D Images

SymmetryNet SymmetryNet: Learning to Predict Reflectional and Rotational Symmetries of 3D Shapes from Single-View RGB-D Images ACM Transactions on Gra

26 Dec 05, 2022
ChebLieNet, a spectral graph neural network turned equivariant by Riemannian geometry on Lie groups.

ChebLieNet: Invariant spectral graph NNs turned equivariant by Riemannian geometry on Lie groups Hugo Aguettaz, Erik J. Bekkers, Michaël Defferrard We

haguettaz 12 Dec 10, 2022
Python implementation of "Single Image Haze Removal Using Dark Channel Prior"

##Dependencies pillow(~2.6.0) Numpy(~1.9.0) If the scripts throw AttributeError: __float__, make sure your pillow has jpeg support e.g. try: $ sudo ap

Joyee Cheung 73 Dec 20, 2022