Giter Site home page Giter Site logo

Comments (13)

rochaporto avatar rochaporto commented on September 23, 2024

Hi.

Can you try with this packaged collectd?
https://launchpad.net/~catalystit/+archive/ubuntu/collectd5-precise

It's a build for ubuntu precise which we're using in the production boxes.

from collectd-ceph.

xavier-calland avatar xavier-calland commented on September 23, 2024

Thx.
I'll try to upgrade collectd.

from collectd-ceph.

xavier-calland avatar xavier-calland commented on September 23, 2024

Still the same problem.
How is your ceph cluster configured ? authentication, client keyring ?

from collectd-ceph.

xavier-calland avatar xavier-calland commented on September 23, 2024

It seems python failed loading some SO libraries using "ldconfig -p" (_findSoname_ldconfig)

Traceback (most recent call last):
  File "/usr/bin/ceph", line 830, in 
    sys.exit(main())
  File "/usr/bin/ceph", line 590, in main
    conffile=conffile)#012  File "/usr/lib/python2.7/dist-packages/rados.py", line 198, in __init__
    librados_path = find_library('rados')
  File "/usr/lib/python2.7/ctypes/util.py", line 224, in find_library
    return _findSoname_ldconfig(name) or _get_soname(_findLib_gcc(name))
  File "/usr/lib/python2.7/ctypes/util.py", line 217, in _findSoname_ldconfig
    f.close()
IOError: [Errno 10] No child processes

from collectd-ceph.

rochaporto avatar rochaporto commented on September 23, 2024

Hmm that looks weird it seems to fail to find the rados libraries. I'm using it with python 3.4, ceph authenticated (cephx keyrings). When you execute it in a python script, is it also python 2.7?

from collectd-ceph.

xavier-calland avatar xavier-calland commented on September 23, 2024

Yes, the following script works with python 2.7

import subprocess
stats_output = subprocess.check_output('ceph osd pool stats -f json', shell=True)
print "{}".format(stats_output)

from collectd-ceph.

xavier-calland avatar xavier-calland commented on September 23, 2024

Replacing

f = os.popen('/sbin/ldconfig -p 2>/dev/null')

by

f = subprocess.Popen('/sbin/ldconfig -p', shell=True, stdout=subprocess.PIPE).stdout

seems to fix the problem.
But I'm still wondering why it only fails in collectd.

from collectd-ceph.

xavier-calland avatar xavier-calland commented on September 23, 2024

Definitely a problem with python and collectd.
Thx for your help.

from collectd-ceph.

Babbleshack avatar Babbleshack commented on September 23, 2024

I am experiencing the same issue, did you ever find out why this was happening?

from collectd-ceph.

ksingh7 avatar ksingh7 commented on September 23, 2024

@xavier-calland @rochaporto

This issue is slightly similar to what i am facing #31 , in my case we are using python2.6.

Do you know some hack , that i can use to make this plugin work against my python2.6 Ceph nodes ?

from collectd-ceph.

Babbleshack avatar Babbleshack commented on September 23, 2024

I ended up with
subprocess.check_output('ceph -s --format json', shell=True)

The python docs mention some vulnerabilities with shell=True, but only in circumstances where the script user would be prompt for the shell commands.

from collectd-ceph.

benh57 avatar benh57 commented on September 23, 2024

Same problem here, hmm. And i have shell=True on, on python 2.7 with Centos 7.2. Also with ceph-collectd plugin after updating collectd to 5.6.

from collectd-ceph.

benh57 avatar benh57 commented on September 23, 2024

Ah yes, i recall the other fix for this:

#28

Just have to 'Import sigchld' in the plugin config. My fix had gotten reverted.

from collectd-ceph.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.