Run monitoring physical devices on devstack

by Josef Spillner

From “Icehouse” release on Openstack has been added monitoring physical devices. At this moment available only one inspector – SNMP Inspector. IPMI Inspector will be add soon.

1. SNMP data:

The SNMP Inspector monitors devices such as routers, switches etc. The basis for this is the Net-SNMP (snmpd) package. The SNMP Inspector supports such meters as:

  • hardware.cpu – cpu stats, average value for CPU load (1, 5, 15 min)
  • hardware.memory – memory stats, total and used
  • hardware.disk – disk stats, list of all disks with total and used size for each
  • – network stats, list of IP’s with bandwidth, incoming, outgoing bytes and outgoing errors

The snmpd (a Linux Daemon) running on resources sends data to the SNMP Inspector directly.

  1.  Install snmpd on your machine:
    sudo apt-get install snmpd
  2. Change /etc/snmp/snmp.conf to make sure that snmpd daemon will be able  get all necessary data:
    rocommunity public 
    syslocation "ICClab"
    sysservices 79
    disk / 15%
    disk /usr/backup 15%
  3. Download devstack:
    git clone
  4. Enable ceilometer services in devstack/localrc:
    # Enable the ceilometer metering services
    enable_service ceilometer-acompute 
    ceilometer-acentral ceilometer-anotification 
    # Enable the ceilometer api services
    enable_service ceilometer-api
  5. Run devstack:
  6. Add meters to /etc/ceilometer/pipeline.yaml:
        - name: meter_snmp
          interval: 600
              - snmp://localhost
              - "hardware.cpu*"
              - "hardware.memory*"
              - "hardware.disk*"
              - "*"
              - meter_sink
  7. Rerun Ceilometer central agent

now you can check meters:Screenshot from 2014-07-01 11:27:05and samples:Screenshot from 2014-07-01 11:30:53 for such meters as hardware.disk and in database has been stored additional information. IP, MAC, Name for network stats and device, path for disk.


2. IPMI Inspector

The IPMI Inspector monitors resource health data including:

  • current.value – current value of fan speed, voltage, temperature
  • max.value – maximum available value of stats
  • min.value – minimum available value of stats
  • current.status – status fan, voltage, temperature (ok/fail)
  1. Install ipmitool on your machine:
    sudo apt-get  install ipmitool
  2. Enable ironic services in devstack/localrc:
    # Enable Ironic API and Ironic Conductor
    enable_service ir-api
    enable_service ir-cond
  3. Add line to /etc/ironic/ironic.conf:
  4. Rerun ironic conductor:
  5. Create node which support ipmi driver:
    ironic node-create -d pxe_ipmitool -i ipmi_address=ip.mi.add.ress
    -i ipmi_password=password -i ipmi_username=username
  6. Add meters to /etc/ceilometer/pipeline.yaml:
        - name: meter_ipmi
          interval: 600
              - ipmi://ip.mi.add.ress
              - "hardware.rpm*"
              - "hardware.volt*"
              - "*"
              - meter_sink
  7. Rerun Ceilometer central agent




  1. I have followed this article and some similar ones to a “T” with no success. When I run ‘ceilometer meter-list’, I get a table, but it does not include any of the hardware* metrics. If I run snmpwalk, I get results, etc. etc. so I know snmp is working, but Ceilometer is not able to pull in the metrics. I have confirmed that the pipeline.yaml file is correct, the snmpd.conf file is correct…what else am I missing?


  2. Himanshu Mundeepi

    18. January 2017 at 8:09

    I think the article is not correct.

    • Good day!

      The article is correct for Openstack Icehouse release for time when it was actually made.
      Since then codebase, structure and the way Ceilometer collection is happening where changed.
      Unfortunately now no one is not working on Cloud Monitoring initiative so tutorial can’t be updated regarding latest version.
      You still can use it for Icehouse release thought.

      best regards,

Leave a Reply

Your email address will not be published. Required fields are marked *