Bug 1464950

Summary: Hardware meters not showing in Ceilometer meter-list, but visible in ceilometer sample-list
Product: Red Hat OpenStack Reporter: Nilesh <nchandek>
Component: openstack-ceilometerAssignee: Julien Danjou <jdanjou>
Status: CLOSED WONTFIX QA Contact: Sasha Smolyak <ssmolyak>
Severity: high Docs Contact:
Priority: high    
Version: 10.0 (Newton)CC: jdanjou, jruzicka, nchandek, pkilambi, srevivo
Target Milestone: zstreamKeywords: Triaged, ZStream
Target Release: 10.0 (Newton)   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-10-12 14:26:32 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Nilesh 2017-06-26 09:45:25 UTC
Description of problem:

Output from command 
# ceilometer meter-list | grep hardware is empty. But if we try 

# ceilometer sample-list -m hardware.cpu.load.5min
+---------------------------------+------------------------+-------+--------+---------+----------------------------+
| Resource ID                     | Name                   | Type  | Volume | Unit    | Timestamp                  |
+---------------------------------+------------------------+-------+--------+---------+----------------------------+
| overcloud-compute-0.localdomain | hardware.cpu.load.5min | gauge | 0.04   | process | 2017-06-19T11:03:35.209000 |
| overcloud-compute-1.localdomain | hardware.cpu.load.5min | gauge | 0.07   | process | 2017-06-19T11:03:35.209000 |
| overcloud-compute-0.localdomain | hardware.cpu.load.5min | gauge | 0.07   | process | 2017-06-19T10:43:33.029000 |
| overcloud-compute-1.localdomain | hardware.cpu.load.5min | gauge | 0.04   | process | 2017-06-19T10:43:33.029000 |
| overcloud-compute-0.localdomain | hardware.cpu.load.5min | gauge | 0.02   | process | 2017-06-19T10:33:32.649000 |
| overcloud-compute-1.localdomain | hardware.cpu.load.5min | gauge | 0.08   | process | 2017-06-19T10:33:32.649000 |
| overcloud-compute-0.localdomain | hardware.cpu.load.5min | gauge | 0.01   | process | 2017-06-19T10:23:32.894000 |
| overcloud-compute-1.localdomain | hardware.cpu.load.5min | gauge | 0.09   | process | 2017-06-19T10:23:32.894000 |
| overcloud-compute-0.localdomain | hardware.cpu.load.5min | gauge | 0.06   | process | 2017-06-19T10:03:35.191000 |
| overcloud-compute-1.localdomain | hardware.cpu.load.5min | gauge | 0.05   | process | 2017-06-19T10:03:35.191000 |
| overcloud-compute-0.localdomain | hardware.cpu.load.5min | gauge | 0.06   | process | 2017-06-19T09:33:32.580000 |
| overcloud-compute-1.localdomain | hardware.cpu.load.5min | gauge | 0.04   | process | 2017-06-19T09:33:32.580000 |
| overcloud-compute-0.localdomain | hardware.cpu.load.5min | gauge | 0.03   | process | 2017-06-19T09:23:32.854000 |
| overcloud-compute-1.localdomain | hardware.cpu.load.5min | gauge | 0.06   | process | 2017-06-19T09:23:32.854000 |
| overcloud-compute-0.localdomain | hardware.cpu.load.5min | gauge | 0.04   | process | 2017-06-19T09:13:32.681000 |
| overcloud-compute-1.localdomain | hardware.cpu.load.5min | gauge | 0.06   | process | 2017-06-19T09:13:32.681000 |
| overcloud-compute-0.localdomain | hardware.cpu.load.5min | gauge | 0.04   | process | 2017-06-19T09:03:35.149000 |
~~~~~~~

Also "ceilometer" DB having the hardware meters too. 

~~~
MariaDB [ceilometer]>
MariaDB [ceilometer]> select * from meter;
+----+------------------------------------------+------------+-----------+
| id | name                                     | type       | unit      |
+----+------------------------------------------+------------+-----------+
| 12 | compute.instance.booting.time            | gauge      | sec       |
| 10 | disk.ephemeral.size                      | gauge      | GB        |
| 11 | disk.root.size                           | gauge      | GB        |
| 32 | hardware.cpu.load.15min                  | gauge      | process   |
| 30 | hardware.cpu.load.1min                   | gauge      | process   |
| 27 | hardware.cpu.load.5min                   | gauge      | process   |
| 29 | hardware.cpu.util                        | gauge      | %         |
| 15 | hardware.disk.size.total                 | gauge      | KB        |
| 16 | hardware.disk.size.used                  | gauge      | KB        |
| 21 | hardware.memory.buffer                   | gauge      | KB        |
| 17 | hardware.memory.cached                   | gauge      | KB        |
| 18 | hardware.memory.swap.avail               | gauge      | KB        |
| 23 | hardware.memory.swap.total               | gauge      | KB        |
| 24 | hardware.memory.total                    | gauge      | KB        |
| 22 | hardware.memory.used                     | gauge      | KB        |
| 28 | hardware.network.incoming.bytes          | cumulative | B         |
| 14 | hardware.network.ip.incoming.datagrams   | cumulative | datagrams |
| 25 | hardware.network.ip.outgoing.datagrams   | cumulative | datagrams |
| 26 | hardware.network.outgoing.bytes          | cumulative | B         |
| 13 | hardware.network.outgoing.errors         | cumulative | packet    |
| 31 | hardware.system_stats.cpu.idle           | gauge      | %         |
| 20 | hardware.system_stats.io.incoming.blocks | cumulative | blocks    |
| 19 | hardware.system_stats.io.outgoing.blocks | cumulative | blocks    |
|  2 | image                                    | gauge      | image     |
|  7 | image.size                               | gauge      | B         |
|  9 | memory                                   | gauge      | MB        |
|  4 | storage.containers.objects               | gauge      | object    |
|  3 | storage.containers.objects.size          | gauge      | B         |
|  5 | storage.objects                          | gauge      | object    |
|  6 | storage.objects.containers               | gauge      | container |
|  1 | storage.objects.size                     | gauge      | B         |
|  8 | vcpus                                    | gauge      | vcpu      |
+----+------------------------------------------+------------+-----------+
32 rows in set (0.00 sec)
~~~

Not sure why sample list is showing for hardware meter but not for when quering for meter-list ?

~~~~
/etc/ceilometer/pipeline.yaml has been extended with:
    - name: meter_snmp
      interval: 600
      resources:
          - snmp://overcloud-compute-0.localdomain
          - snmp://overcloud-compute-1.localdomain
      meters:
          - "hardware.cpu*"
          - "hardware.memory*"
          - "hardware.disk*"
          - "hardware.network*"
          - "hardware.system_stats*"
      sinks:
          - meter_sink
~~~


sample output from 
#grep 'Polling pollster' /var/log/ceilometer/central.log
2017-06-12 22:05:54.652 365986 INFO ceilometer.agent.manager [-] Polling pollster hardware.memory.swap.total in the context of meter_snmp
2017-06-12 22:05:54.717 365986 INFO ceilometer.agent.manager [-] Polling pollster hardware.network.outgoing.errors in the context of meter_snmp
2017-06-12 22:05:55.008 365986 INFO ceilometer.agent.manager [-] Polling pollster hardware.cpu.load.5min in the context of meter_snmp
2017-06-12 22:05:55.148 365986 INFO ceilometer.agent.manager [-] Polling pollster hardware.memory.used in the context of meter_snmp
2017-06-12 22:05:55.226 365986 INFO ceilometer.agent.manager [-] Polling pollster hardware.system_stats.io.outgoing.blocks in the context of meter_snmp
~~~

SNMP woring, 

[root@instack ~]# snmpwalk -v2c -c public localhost
SNMPv2-MIB::sysDescr.0 = STRING: Linux instack.localdomain 3.10.0-514.2.2.el7.x86_64 #1 SMP Wed Nov 16 13:15:13 EST 2016 x86_64
SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (19933) 0:03:19.33
SNMPv2-MIB::sysContact.0 = STRING: Root <root@localhost> (configure /etc/snmp/snmp.local.conf)
SNMPv2-MIB::sysName.0 = STRING: instack.localdomain
SNMPv2-MIB::sysLocation.0 = STRING: Unknown (edit /etc/snmp/snmpd.conf)
SNMPv2-MIB::sysORLastChange.0 = Timeticks: (2) 0:00:00.02
SNMPv2-MIB::sysORID.1 = OID: SNMP-MPD-MIB::snmpMPDCompliance
SNMPv2-MIB::sysORID.2 = OID: SNMP-USER-BASED-SM-MIB::usmMIBCompliance
SNMPv2-MIB::sysORID.3 = OID: SNMP-FRAMEWORK-MIB::snmpFrameworkMIBCompliance
SNMPv2-MIB::sysORID.4 = OID: SNMPv2-MIB::snmpMIB
SNMPv2-MIB::sysORID.5 = OID: TCP-MIB::tcpMIB
SNMPv2-MIB::sysORID.6 = OID: IP-MIB::ip
SNMPv2-MIB::sysORID.7 = OID: UDP-MIB::udpMIB
SNMPv2-MIB::sysORID.8 = OID: SNMP-VIEW-BASED-ACM-MIB::vacmBasicGroup
SNMPv2-MIB::sysORID.9 = OID: SNMP-NOTIFICATION-MIB::snmpNotifyFullCompliance
SNMPv2-MIB::sysORID.10 = OID: NOTIFICATION-LOG-MIB::notificationLogMIB
SNMPv2-MIB::sysORDescr.1 = STRING: The MIB for Message Processing and Dispatching.
SNMPv2-MIB::sysORDescr.2 = STRING: The management information definitions for the SNMP User-based Security Model.
SNMPv2-MIB::sysORDescr.3 = STRING: The SNMP Management Architecture MIB.
SNMPv2-MIB::sysORDescr.4 = STRING: The MIB module for SNMPv2 entities
SNMPv2-MIB::sysORDescr.5 = STRING: The MIB module for managing TCP implementations
SNMPv2-MIB::sysORDescr.6 = STRING: The MIB module for managing IP and ICMP implementations
SNMPv2-MIB::sysORDescr.7 = STRING: The MIB module for managing UDP implementations
SNMPv2-MIB::sysORDescr.8 = STRING: View-based Access Control Model for SNMP.
SNMPv2-MIB::sysORDescr.9 = STRING: The MIB modules for managing SNMP Notification, plus filtering.
SNMPv2-MIB::sysORDescr.10 = STRING: The MIB module for logging SNMP Notifications.
SNMPv2-MIB::sysORUpTime.1 = Timeticks: (2) 0:00:00.02
SNMPv2-MIB::sysORUpTime.2 = Timeticks: (2) 0:00:00.02
SNMPv2-MIB::sysORUpTime.3 = Timeticks: (2) 0:00:00.02
SNMPv2-MIB::sysORUpTime.4 = Timeticks: (2) 0:00:00.02
SNMPv2-MIB::sysORUpTime.5 = Timeticks: (2) 0:00:00.02
SNMPv2-MIB::sysORUpTime.6 = Timeticks: (2) 0:00:00.02
SNMPv2-MIB::sysORUpTime.7 = Timeticks: (2) 0:00:00.02
SNMPv2-MIB::sysORUpTime.8 = Timeticks: (2) 0:00:00.02
SNMPv2-MIB::sysORUpTime.9 = Timeticks: (2) 0:00:00.02
SNMPv2-MIB::sysORUpTime.10 = Timeticks: (2) 0:00:00.02
HOST-RESOURCES-MIB::hrSystemUptime.0 = Timeticks: (1233725) 3:25:37.25
HOST-RESOURCES-MIB::hrSystemUptime.0 = No more variables left in this MIB View (It is past the end of the MIB tree)
[root@instack ~]# 
~~~

Version-Release number of selected component (if applicable):

OSP10 


Additional info:


"ceilometer meter-list |grep -i hardware " should results for hardware meters. if "ceilometer sample-list |grep -i hard" showing sample for hardware meter.

Comment 2 Julien Danjou 2017-07-03 07:30:27 UTC
Do you have any other meter in "meter-list"? Are just the hardware meter missing?

Comment 4 Julien Danjou 2017-07-03 09:36:15 UTC
This might be an authorization problem them. Are you authenticated as admin?

Comment 13 Julien Danjou 2017-10-12 14:26:32 UTC
No update in the last 3 months, closing it. Feel free to reopen if you have any update.