Skip to content

IPMI Exporter for Prometheus in a container, written in Go.

Notifications You must be signed in to change notification settings

antilax-3/docker-ipmiexporter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

alt text

AntilaX-3/ipmi-exporter

Docker Pulls Docker Stars

ipmi-exporter is a simple server that periodically scrapes IPMI stats and exports them via HTTP for Prometheus consumption, written in Go.

Usage

docker create --name=ipmiexporter \
--device=/dev/ipmi0:/dev/ipmi0 \
-p 9290:9290 \
antilax3/ipmi-exporter

Parameters

The parameters are split into two halves, separated by a colon, the left hand side representing the host and the right the container side. For example with a volume -v external:internal - what this shows is the volume mapping from internal to external of the container. So -v /mnt/app/config:/config would map /config from inside the container to be accessible from /mnt/app/config on the host's filesystem.

  • -p 9290 - HTTP port for webserver
  • -e PUID - for UserID, see below for explanation
  • -e PGID - for GroupID, see below for explanation
  • -e TZ - for setting timezone information, eg Australia/Melbourne

It is based on alpine linux with s6 overlay, for shell access whilst the container is running do docker exec -it ipmiexporter /bin/bash.

User / Group Identifiers

Sometimes when using data volumes (-v flags) permissions issues can arise between the host OS and the container. We avoid this issue by allowing you to specify the user PUID and group PGID. Ensure the data volume directory on the host is owned by the same user you specify and it will "just work".

In this instance PUID=1001 and PGID=1001. To find yours use id user as below: $ id <dockeruser> uid=1001(dockeruser) gid=1001(dockergroup) groups=1001(dockergroup)

Configuration

To ensure that ipmi-exporter can retrieve and expose metrics you need to mount your IPMI device in the container, per the usage example above or for docker-compose example below:

  ipmiexporter:
    image: ipmi-exporter
    container_name: ipmiexporter
    devices:
      - /dev/ipmi0:/dev/ipmi0
    restart: unless-stopped
    ports:
      - 9290:9290

Version

  • 05/07/21: Swap to soundcloud/ipmi_exporter and FreeIPMI
  • 19/02/21: Set GO111MODULE to prevent go.mod compilation issues
  • 17/04/19: Initial Release

About

IPMI Exporter for Prometheus in a container, written in Go.

Resources

Stars

Watchers

Forks

Packages

No packages published