Skip to content
Prometheus exporter for FLEXlm License Manager information
Go Makefile Dockerfile
Branch: master
Clone or download
Pull request Compare This branch is 4 commits ahead of mjtrangoni:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci
collector
config
.gitignore
.golanci.yml
.promu.yml
.travis.yml
CHANGELOG.md
CODE_OF_CONDUCT.md
CONTRIBUTING.md
Dockerfile
Gopkg.lock
Gopkg.toml
ISSUE_TEMPLATE.md
LICENSE
MAINTAINERS.md
Makefile
NOTICE
README.md
VERSION
flexlm_exporter.go

README.md

FLEXlm Exporter Build Status

CircleCI Docker Repository on Quay Docker Pulls GoDoc Coverage Status Go Report Card Codacy Badge License StyleCI

Prometheus exporter for FLEXlm License Manager lmstat license information.

This fork is specialised for the reduced version of FLEXlm License Manager bundled with installations of Klocwork. This reduced bundle contains lmstat as a independent tool, instead of the lmutil lmstat tool used by the parent of this fork.

NOTE: The FLexLM Exporter currently builds only on Linux. Windows builds are a WIP. You will need to modify the Makefile to build in Windows.

Getting

$ go get github.com/emenda/flexlm_exporter

Building

$ cd $GOPATH/src/github.com/emenda/flexlm_exporter
$ make

Configuration

This is an illustrative example of the configuration file in YAML format.

# FlexLM Licenses to be monitored.
---
licenses:
  - name: app1
    license_file: /usr/local/flexlm/licenses/license.dat.app1
    features_to_exclude: feature1,feature2
    monitor_users: True
    monitor_reservations: True
  - name: app2
    license_server: 28000@host1,28000@host2,28000@host3
    features_to_include: feature5,feature30
    monitor_users: True
    monitor_reservations: True

Notes:

  1. It is possible to define a license with a path in license_file, that has to be readable from the exporter instance, or with license_server in a port@host combination format.
  2. You can exclude some features from exporting with features_to_exclude, or export some defined and exclude the rest with feature_to_include.

Running

$ ./flexlm_exporter --path.lmutil="/klocwork/3rdparty/bin/lmstat" <flags>

Docker images

Docker images are available on,

  1. Quay.io. $ docker pull quay.io/mjtrangoni/flexlm_exporter
  2. Docker. $ docker pull mjtrangoni/flexlm_exporter

You can launch a flexlm_exporter container with,

$ docker run --name flexlm_exporter -d -p 9319:9319 --volume $LMUTIL_LOCAL:/usr/bin/flexlm/ --volume $CONFIG_PATH_LOCAL:/config $DOCKER_REPOSITORY --path.lmutil="/usr/bin/flexlm/lmstat" --path.config="/config/licenses.yml"

Metrics will now be reachable at http://localhost:9319/metrics.

What's exported?

  • lmstat -v information.
  • lmstat -c license_file -a or lmstat -c license_server -a license information.
  • lmstat -c license_file -i or lmstat -c license_server -i license features expiration date.

Dashboards

  1. Grafana Dashboard

Contributing

Refer to CONTRIBUTING.md

License

Apache License 2.0, see LICENSE.

You can’t perform that action at this time.