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
Highway networks implemented in PyTorch.

PyTorch Highway Networks Highway networks implemented in PyTorch. Just the MNIST example from PyTorch hacked to work with Highway layers. Todo Make th

Conner Vercellino 56 Dec 14, 2022
Make a surveillance camera from your raspberry pi!

rpi-surveillance Make a surveillance camera from your Raspberry Pi 4! The surveillance is built as following: the camera records 10 seconds video and

Vladyslav 62 Feb 03, 2022
2020 CCF大数据与计算智能大赛-非结构化商业文本信息中隐私信息识别-第7名方案

2020CCF-NER 2020 CCF大数据与计算智能大赛-非结构化商业文本信息中隐私信息识别-第7名方案 bert base + flat + crf + fgm + swa + pu learning策略 + clue数据集 = test1单模0.906 词向量

67 Oct 19, 2022
Demonstration of the Model Training as a CI/CD System in Vertex AI

Model Training as a CI/CD System This project demonstrates the machine model training as a CI/CD system in GCP platform. You will see more detailed wo

Chansung Park 19 Dec 28, 2022
a practicable framework used in Deep Learning. So far UDL only provide DCFNet implementation for the ICCV paper (Dynamic Cross Feature Fusion for Remote Sensing Pansharpening)

UDL UDL is a practicable framework used in Deep Learning (computer vision). Benchmark codes, results and models are available in UDL, please contact @

Xiao Wu 11 Sep 30, 2022
[AAAI2022] Source code for our paper《Suppressing Static Visual Cues via Normalizing Flows for Self-Supervised Video Representation Learning》

SSVC The source code for paper [Suppressing Static Visual Cues via Normalizing Flows for Self-Supervised Video Representation Learning] samples of the

7 Oct 26, 2022
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
Generate saved_model, tfjs, tf-trt, EdgeTPU, CoreML, quantized tflite and .pb from .tflite.

tflite2tensorflow Generate saved_model, tfjs, tf-trt, EdgeTPU, CoreML, quantized tflite and .pb from .tflite. 1. Supported Layers No. TFLite Layer TF

Katsuya Hyodo 214 Dec 29, 2022
Disease Informed Neural Networks (DINNs) — neural networks capable of learning how diseases spread, forecasting their progression, and finding their unique parameters (e.g. death rate).

DINN We introduce Disease Informed Neural Networks (DINNs) — neural networks capable of learning how diseases spread, forecasting their progression, a

19 Dec 10, 2022
Decensoring Hentai with Deep Neural Networks. Formerly named DeepMindBreak.

DeepCreamPy Decensoring Hentai with Deep Neural Networks. Formerly named DeepMindBreak. A deep learning-based tool to automatically replace censored a

616 Jan 06, 2023
Learning nonlinear operators via DeepONet

DeepONet: Learning nonlinear operators The source code for the paper Learning nonlinear operators via DeepONet based on the universal approximation th

Lu Lu 239 Jan 02, 2023
Using Self-Supervised Pretext Tasks for Active Learning - Official Pytorch Implementation

Using Self-Supervised Pretext Tasks for Active Learning - Official Pytorch Implementation Experiment Setting: CIFAR10 (downloaded and saved in ./DATA

John Seon Keun Yi 38 Dec 27, 2022
[CVPR 2021] VirTex: Learning Visual Representations from Textual Annotations

VirTex: Learning Visual Representations from Textual Annotations Karan Desai and Justin Johnson University of Michigan CVPR 2021 arxiv.org/abs/2006.06

Karan Desai 533 Dec 24, 2022
Training data extraction on GPT-2

Training data extraction from GPT-2 This repository contains code for extracting training data from GPT-2, following the approach outlined in the foll

Florian Tramer 62 Dec 07, 2022
Pytorch domain adaptation package

DomainAdaptation This package is created to tackle the problem of domain shifts when dealing with two domains of different feature distributions. In d

Institute of Computational Perception 7 Oct 22, 2022
NeurIPS 2021, "Fine Samples for Learning with Noisy Labels"

[Official] FINE Samples for Learning with Noisy Labels This repository is the official implementation of "FINE Samples for Learning with Noisy Labels"

mythbuster 27 Dec 23, 2022
Implementation of QuickDraw - an online game developed by Google, combined with AirGesture - a simple gesture recognition application

QuickDraw - AirGesture Introduction Here is my python source code for QuickDraw - an online game developed by google, combined with AirGesture - a sim

Viet Nguyen 89 Dec 18, 2022
DR-GAN: Automatic Radial Distortion Rectification Using Conditional GAN in Real-Time

DR-GAN: Automatic Radial Distortion Rectification Using Conditional GAN in Real-Time Introduction This is official implementation for DR-GAN (IEEE TCS

Kang Liao 18 Dec 23, 2022
Official Repository for the paper "Improving Baselines in the Wild".

iWildCam and FMoW baselines (WILDS) This repository was originally forked from the official repository of WILDS datasets (commit 7e103ed) For general

Kazuki Irie 3 Nov 24, 2022
OCR Post Correction for Endangered Language Texts

📌 Coming soon: an update to the software including features from our paper on semi-supervised OCR post-correction, to be published in the Transaction

Shruti Rijhwani 96 Dec 31, 2022