Bug 1502012 - gluster related stats are not pushed to graphite from collectd
Summary: gluster related stats are not pushed to graphite from collectd
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Gluster Storage
Classification: Red Hat Storage
Component: web-admin-tendrl-node-agent
Version: rhgs-3.3
Hardware: Unspecified
OS: Unspecified
unspecified
urgent
Target Milestone: ---
: RHGS 3.4.0
Assignee: Nishanth Thomas
QA Contact: Daniel Horák
URL:
Whiteboard:
Depends On:
Blocks: 1503134
TreeView+ depends on / blocked
 
Reported: 2017-10-13 17:34 UTC by anmol babu
Modified: 2018-09-04 06:59 UTC (History)
7 users (show)

Fixed In Version: tendrl-node-agent-1.6.1-3.el7rhgs.noarch
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2018-09-04 06:58:06 UTC
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2018:2616 0 None None None 2018-09-04 06:59:03 UTC

Description anmol babu 2017-10-13 17:34:26 UTC
Description of problem:
node-agent rpm loads tendrl-specific collectd plugins in /usr/lib/collectd whereas the collectd plugin path is /usr/lib64/collectd hence the collectd shows the error:
python plugin: Error importing module "tendrl_gluster".
Unhandled python exception in importing module: ImportError: No module named tendrl_gluster

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


How reproducible:
Always

Steps to Reproduce:
1. Import gluster cluster into Tendrl
2. Observe grafana brick dashboard

Actual results:
No collectd stats in grafana. It shows "No Datapoints"

Expected results:
All applicable stats pushed from either collectd or monitoring-integration should be available on grafana

Additional info:
node_agent rpm is installing collectd plugins at path /usr/lib/collectd instead of collectd plugin path /usr/lib64/collectd which is causing issue that our cusom collectd plugins are not pushing data to graphite.
This is possibly bcoz of difference in value of _libdir in rhel vs centos/fedora in https://github.com/Tendrl/node-agent/blob/master/tendrl-node-agent.spec#L47 of spec file. So we probably will need to hard code path as /usr/lib64/collectd in lines 47, 48 and 57 and 85.

Comment 2 Nishanth Thomas 2017-10-24 08:11:17 UTC
This issue is fixed with latest builds

Comment 3 Martin Bukatovic 2018-03-13 08:21:26 UTC
Moving into right component.

Comment 8 Daniel Horák 2018-07-26 09:17:32 UTC
Collectd plugins from tendrl-node-agent package are in
/usr/lib64/collectd path:

# rpm -ql tendrl-node-agent | grep lib64/collectd
  /usr/lib64/collectd/__init__.py
  /usr/lib64/collectd/__init__.pyc
  /usr/lib64/collectd/__init__.pyo
  /usr/lib64/collectd/gluster
  /usr/lib64/collectd/gluster/__init__.py
  /usr/lib64/collectd/gluster/__init__.pyc
  /usr/lib64/collectd/gluster/__init__.pyo
  /usr/lib64/collectd/gluster/heavy_weight
  /usr/lib64/collectd/gluster/heavy_weight/__init__.py
  /usr/lib64/collectd/gluster/heavy_weight/__init__.pyc
  /usr/lib64/collectd/gluster/heavy_weight/__init__.pyo
  /usr/lib64/collectd/gluster/heavy_weight/tendrl_gluster_heal_info.py
  /usr/lib64/collectd/gluster/heavy_weight/tendrl_gluster_heal_info.pyc
  /usr/lib64/collectd/gluster/heavy_weight/tendrl_gluster_heal_info.pyo
  /usr/lib64/collectd/gluster/heavy_weight/tendrl_glusterfs_profile_info.py
  /usr/lib64/collectd/gluster/heavy_weight/tendrl_glusterfs_profile_info.pyc
  /usr/lib64/collectd/gluster/heavy_weight/tendrl_glusterfs_profile_info.pyo
  /usr/lib64/collectd/gluster/low_weight
  /usr/lib64/collectd/gluster/low_weight/__init__.py
  /usr/lib64/collectd/gluster/low_weight/__init__.pyc
  /usr/lib64/collectd/gluster/low_weight/__init__.pyo
  /usr/lib64/collectd/gluster/low_weight/tendrl_glusterfs_brick_utilization.py
  /usr/lib64/collectd/gluster/low_weight/tendrl_glusterfs_brick_utilization.pyc
  /usr/lib64/collectd/gluster/low_weight/tendrl_glusterfs_brick_utilization.pyo
  /usr/lib64/collectd/gluster/low_weight/tendrl_glusterfs_health_counters.py
  /usr/lib64/collectd/gluster/low_weight/tendrl_glusterfs_health_counters.pyc
  /usr/lib64/collectd/gluster/low_weight/tendrl_glusterfs_health_counters.pyo
  /usr/lib64/collectd/gluster/tendrl_gluster.py
  /usr/lib64/collectd/gluster/tendrl_gluster.pyc
  /usr/lib64/collectd/gluster/tendrl_gluster.pyo
  /usr/lib64/collectd/gluster/tendrl_gluster_brick_disk_stats.py
  /usr/lib64/collectd/gluster/tendrl_gluster_brick_disk_stats.pyc
  /usr/lib64/collectd/gluster/tendrl_gluster_brick_disk_stats.pyo
  /usr/lib64/collectd/gluster/utils.py
  /usr/lib64/collectd/gluster/utils.pyc
  /usr/lib64/collectd/gluster/utils.pyo

Also there is no Import Error in the logs as described in the description and
Grafana dashboards contains the required data.

# rpm -q tendrl-node-agent 
  tendrl-node-agent-1.6.3-9.el7rhgs.noarch

NOTE: it is fixed also in the previous released version tendrl-node-agent-1.5.4-16.el7rhgs.noarch.

>> VERIFIED

Comment 10 errata-xmlrpc 2018-09-04 06:58:06 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHSA-2018:2616


Note You need to log in before you can comment on or make changes to this bug.