Code Monkey home page Code Monkey logo

lustre_exporter's Introduction

Lustre Metrics Exporter

Prometheus exporter for Lustre metrics.

Getting

go get github.com/GSI-HPC/lustre_exporter

Prerequisites

The listed versions below have been successfully used.
Higher verions

Required

Optional

Building

The build has been accomplished with the following versions successfully yet:

  • golang: 14.7
  • promu: 0.7.0/0.12.0
  • golangci-lint: 1.33.0

Promu

Latest version:

go get -u github.com/prometheus/promu

Alternatively, specific version:

git clone https://github.com/prometheus/promu.git $GOPATH/src/github.com/prometheus/promu
git -C $GOPATH/src/github.com/prometheus/promu/ checkout v0.7.0
make -C $GOPATH/src/github.com/prometheus/promu/ build
cp $GOPATH/src/github.com/prometheus/promu/promu $GOPATH/bin/

Golangci-lint

Latest version:

go get -u github.com/golangci/golangci-lint

Alternatively, specific version:

git clone https://github.com/golangci/golangci-lint.git $GOPATH/src/github.com/golangci/golangci-lint/
git -C $GOPATH/src/github.com/golangci/golangci-lint/ checkout v1.33.0
make -C $GOPATH/src/github.com/golangci/golangci-lint/ build
cp $GOPATH/src/github.com/golangci/golangci-lint/golangci-lint $GOPATH/bin/

Exporter

For just building the exporter:

cd $GOPATH/src/github.com/GSI-HPC/lustre_exporter
make build

Building the exporter with code testing, formatting and linting:

cd $GOPATH/src/github.com/GSI-HPC/lustre_exporter
make

RPM Package Build

Manual RPM Package Creation

Running

./lustre_exporter <flags>

Flags

  • collector.ost=disabled/core/extended
  • collector.mdt=disabled/core/extended
  • collector.mgs=disabled/core/extended
  • collector.mds=disabled/core/extended
  • collector.client=disabled/core/extended
  • collector.generic=disabled/core/extended
  • collector.lnet=disabled/core/extended
  • collector.health=disabled/core/extended

All above flags default to the value "extended" when no argument is submitted by the user.

Example: ./lustre_exporter --collector.ost=disabled --collector.mdt=core --collector.mgs=extended

The above example will result in a running instance of the Lustre Exporter with the following statuses:

  • collector.ost=disabled
  • collector.mdt=core
  • collector.mgs=extended
  • collector.mds=extended
  • collector.client=extended
  • collector.generic=extended
  • collector.lnet=extended
  • collector.health=extended

Flag Option Detailed Description

  • disabled - Completely disable all metrics for this portion of a source.
  • core - Enable this source, but only for metrics considered to be particularly useful.
  • extended - Enable this source and include all metrics that the Lustre Exporter is aware of within it.

What's exported?

All Lustre procfs and procsys data from all nodes running the Lustre Exporter that we perceive as valuable data is exported or can be added to be exported (we don't have any known major gaps that anyone cares about, so if you see something missing, please file an issue!).

See the issues tab for all known issues.

Troubleshooting

In the event that you encounter issues with specific metrics (especially on versions of Lustre older than 2.7), please try disabling those specific troublesome metrics using the documented collector flags in the 'disabled' or 'core' state. Users have encountered bugs within Lustre where specific sysfs and procfs files miscommunicate their sizes, causing read calls to fail.

Contributing

You are welcome to contribute to the project. Feel free to create an issue, pull request or just start a discussion.

lustre_exporter's People

Contributors

roclark avatar mjtrangoni avatar gabrieleiannetti avatar wutz avatar hgichon avatar joehandzik avatar

Watchers

James Cloos avatar

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.