Categorygithub.com/intelsdi-x/snap-plugin-collector-node-manager
repositorypackage
0.0.0-20221107230922-069c1b706985
Repository: https://github.com/intelsdi-x/snap-plugin-collector-node-manager.git
Documentation: pkg.go.dev

# Packages

No description provided by the author
No description provided by the author

# README

DISCONTINUATION OF PROJECT.

This project will no longer be maintained by Intel.

This project has been identified as having known security escapes.

Intel has ceased development and contributions including, but not limited to, maintenance, bug fixes, new releases, or updates, to this project.

Intel no longer accepts patches to this project.

DISCONTINUATION OF PROJECT

This project will no longer be maintained by Intel. Intel will not provide or guarantee development of or support for this project, including but not limited to, maintenance, bug fixes, new releases or updates. Patches to this project are no longer accepted by Intel. If you have an ongoing need to use this project, are interested in independently developing it, or would like to maintain patches for the community, please create your own fork of the project.

Plugin status

This plugin is no longer being actively maintained by intel. Work has instead shifted to the intel-dcm-platform plugin.

snap collector plugin - Intel Node Manager

Plugin to collect data from Intel's Node Manager. Which is presenting low level metrics like power consumption, cpu temperature, etc. Currently it is using Ipmitool to collect data from NM.

  1. Getting Started
  1. Documentation
  1. Community Support
  2. Contributing
  3. License
  4. Acknowledgements

Getting Started

Plugin collects specified metrics in-band on OS level

System Requirements

  • Plugin needs to be run on server platform which supports Intel Node Manager.
  • Currently it works only on Linux Servers
  • Ipmitool needs to be installed on platform

Installation

Download Intel Node Manager plugin binary:

You can get the pre-built binaries for your OS and architecture at plugin's Github Releases page.

To build the plugin binary:

Fork https://github.com/intelsdi-x/snap-plugin-collector-node-manager

Clone repo into $GOPATH/src/github/intelsdi-x/:

$ git clone https://github.com/<yourGithubID>/snap-plugin-collector-node-manager

Build the plugin by running make in repo:

$ make

This builds the plugin in ./build/

Configuration and Usage

On OS level user needs to load modules:

  • ipmi_msghandler
  • ipmi_devintf
  • ipmi_si

Those modules provides specific IPMI device which can collect data from NM

There are currently 6 configuration options:

  • mode - defines mode of plugin work, possible values: legacy_inband, legacy_inband_openipmi, oob
  • channel - defines communication channel address (default: "0x00")
  • slave - defines target address (default: "0x00")
  • user - for OOB mode only, user for authentication to remote host
  • password - for OOB mode only, password for authentication to remote host
  • host - for OOB mode only, IP of host which will be monitored OOB

Sample configuration of node manager plugin:

{
    "control": {
        "plugins": {
            "collector": {
                "node-manager": {
                    "all": {
                        "mode": "legacy_inband",
                        "channel": "6",
                        "slave": "0x2c"
                    }
                }
            }
        }
    }
}

Documentation

Collected Metrics

This plugin has the ability to gather the following metrics:

NamespaceData TypeDescription (optional)
/intel/node_manager/airflowuint16Current Volumetric Airflow
/intel/node_manager/airflow/avguint16Average Volumetric Airflow
/intel/node_manager/airflow/maxuint16Maximal Volumetric Airflow
/intel/node_manager/airflow/minuint16Minimal Volumetric Airflow
/intel/node_manager/cups/cpu_cstateuint16CUPS CPU Bandwidth
/intel/node_manager/cups/io_bandwithuint16CUPS I/O Bandwidth
/intel/node_manager/cups/memory_bandwithuint16CUPS Memory Bandwidth
/intel/node_manager/power/cpuuint16Current CPU power consumption
/intel/node_manager/power/cpu/avguint16Average CPU power consumption
/intel/node_manager/power/cpu/maxuint16Maximal CPU power consumption
/intel/node_manager/power/cpu/minuint16Minimal CPU power consumption
/intel/node_manager/power/policy/power_limituint16Power policy
/intel/node_manager/margin/cpu/tjuint16Margin-to-throttle functional (CPU)
/intel/node_manager/margin/cpu/tj/margin_offsetuint16Margin-to-spec reliability (CPU)
/intel/node_manager/power/memoryuint16Current Memory power consumption
/intel/node_manager/power/memory/avguint16Average Memory power consumption
/intel/node_manager/power/memory/maxuint16Maximal Memory power consumption
/intel/node_manager/power/memory/minuint16Minimal Memory power consumption
/intel/node_manager/power/systemuint16Current Platform power consumption
/intel/node_manager/power/system/avguint16Average Platform power consumption
/intel/node_manager/power/system/maxuint16Maximal Platform power consumption
/intel/node_manager/power/system/minuint16Minimal Platform power consumption
/intel/node_manager/temperature/cpu/cpu/<cpu_id>uint16Current CPU temperature
/intel/node_manager/temperature/pmbus/VR/<VR_id>uint16Current VR's temperature
/intel/node_manager/temperature/memory/dimm/<dimm_id>uint16Current Memory dimms temperature
/intel/node_manager/temperature/outletuint16Current Outlet (exhaust air) temperature
/intel/node_manager/temperature/outlet/avguint16Average Outlet (exhaust air) temperature
/intel/node_manager/temperature/outlet/maxuint16Maximal Outlet (exhaust air) temperature
/intel/node_manager/temperature/outlet/minuint16Minimal Outlet (exhaust air) temperature
/intel/node_manager/temperature/inletuint16Current Inlet Temperature
/intel/node_manager/temperature/inlet/avguint16Average Inlet Temperature
/intel/node_manager/temperature/inlet/maxuint16Maximal Inlet Temperature
/intel/node_manager/temperature/inlet/minuint16Minimal Inlet Temperature

Metric Tags

NamespaceTagDescription
/intel/node_manager/*sourceHost IP address

Examples

Example task manifest to use Intel Node Manager plugin:

{
    "version": 1,
    "schedule": {
        "type": "simple",
        "interval": "5s"
    },
    "workflow": {
        "collect": {
            "metrics": {
                "/intel/node_manager/airflow": {},
                "/intel/node_manager/airflow/avg": {},
                "/intel/node_manager/airflow/max": {},
                "/intel/node_manager/airflow/min": {},
                "/intel/node_manager/cups/cpu_cstate": {},
                "/intel/node_manager/cups/io_bandwith": {},
                "/intel/node_manager/cups/memory_bandwith": {},
                "/intel/node_manager/margin/cpu/tj": {},
                "/intel/node_manager/margin/cpu/tj/margin_offset": {},
                "/intel/node_manager/power/cpu": {},
                "/intel/node_manager/power/cpu/avg": {},
                "/intel/node_manager/power/cpu/max": {},
                "/intel/node_manager/power/cpu/min": {},
                "/intel/node_manager/power/memory": {},
                "/intel/node_manager/power/memory/avg": {},
                "/intel/node_manager/power/memory/max": {},
                "/intel/node_manager/power/memory/min": {},
                "/intel/node_manager/power/system": {},
                "/intel/node_manager/power/system/avg": {},
                "/intel/node_manager/power/system/max": {},
                "/intel/node_manager/power/system/min": {},
                "/intel/node_manager/temperature/cpu/cpu/0": {},
                "/intel/node_manager/temperature/cpu/cpu/1": {},
                "/intel/node_manager/temperature/memory/dimm/0": {},
                "/intel/node_manager/temperature/memory/dimm/1": {},
                "/intel/node_manager/temperature/memory/dimm/10": {},
                "/intel/node_manager/temperature/memory/dimm/11": {},
                "/intel/node_manager/temperature/memory/dimm/12": {},
                "/intel/node_manager/temperature/memory/dimm/13": {},
                "/intel/node_manager/temperature/memory/dimm/14": {},
                "/intel/node_manager/temperature/memory/dimm/15": {},
                "/intel/node_manager/temperature/memory/dimm/16": {},
                "/intel/node_manager/temperature/memory/dimm/17": {},
                "/intel/node_manager/temperature/memory/dimm/18": {},
                "/intel/node_manager/temperature/memory/dimm/19": {},
                "/intel/node_manager/temperature/memory/dimm/2": {},
                "/intel/node_manager/temperature/memory/dimm/20": {},
                "/intel/node_manager/temperature/memory/dimm/21": {},
                "/intel/node_manager/temperature/memory/dimm/22": {},
                "/intel/node_manager/temperature/memory/dimm/23": {},
                "/intel/node_manager/temperature/memory/dimm/24": {},
                "/intel/node_manager/temperature/memory/dimm/25": {},
                "/intel/node_manager/temperature/memory/dimm/26": {},
                "/intel/node_manager/temperature/memory/dimm/27": {},
                "/intel/node_manager/temperature/memory/dimm/28": {},
                "/intel/node_manager/temperature/memory/dimm/29": {},
                "/intel/node_manager/temperature/memory/dimm/3": {},
                "/intel/node_manager/temperature/memory/dimm/30": {},
                "/intel/node_manager/temperature/memory/dimm/31": {},
                "/intel/node_manager/temperature/memory/dimm/4": {},
                "/intel/node_manager/temperature/memory/dimm/5": {},
                "/intel/node_manager/temperature/memory/dimm/6": {},
                "/intel/node_manager/temperature/memory/dimm/7": {},
                "/intel/node_manager/temperature/memory/dimm/8": {},
                "/intel/node_manager/temperature/memory/dimm/9": {},
                "/intel/node_manager/temperature/outlet": {},
                "/intel/node_manager/temperature/outlet/avg": {},
                "/intel/node_manager/temperature/outlet/max": {},
                "/intel/node_manager/temperature/outlet/min": {}
            },
            "config": {
            },
            "process": null,
            "publish": [
                {
                    "plugin_name": "file",
                    "plugin_version": 2,
                    "config": {
                        "file": "/tmp/published"
                    }
                }
            ]
        }
    }
}

Community Support

This repository is one of many plugins in Snap, a powerful telemetry framework. See the full project at http://github.com/intelsdi-x/snap To reach out to other users, head to the main framework

Contributing

We love contributions!

There's more than one way to give back, from examples to blogs to code updates. See our recommended process in CONTRIBUTING.md.

License

Snap, along with this plugin, is an Open Source software released under the Apache 2.0 License.

Acknowledgements

And thank you! Your contribution, through code and participation, is incredibly important to us.