Accéder données ceilometers par programme python

Fermé
Fara2017 Messages postés 1 Date d'inscription jeudi 20 avril 2017 Statut Membre Dernière intervention 20 avril 2017 - 20 avril 2017 à 13:07
mamiemando Messages postés 33077 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 18 avril 2024 - 16 mai 2017 à 08:22
Bonjour,
J'ai des données collectées par ceilometer en serveur distant
et je veux y accéder par un programme python
des propositions s'il vous plait pour que je puisse commencer
Merci d'avance
A voir également:

9 réponses

mamiemando Messages postés 33077 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 18 avril 2024 7 748
26 avril 2017 à 10:18
Bonjour,

Pour créer un client, il commencer par comprendre ce qu'expose le serveur.

Du coup, ta question est trop vague, car tu ne précises pas comment le serveur peut être interrogé.

- Expose-t'il une API ?
https://fr.wikipedia.org/wiki/Interface_de_programmation

- Faut-il se connecter sur un port particulier et envoyer des messages bien particuliers ? Si oui, selon quel standard ?

Bonne chance
0
Bonjour Monsieur,

Le serveur expose une API
et on peut y accéder par adresse ip et un numéro de port

J'ai crée un programe python et je veux par ce programme depuis mon pc (windows) accéder aux données du serveur

j'ai pensé à se baser a : https://docs.openstack.org/developer/python-ceilometerclient/

sauf que je trouve des difficultés comme comment utiliser le module ceilometerclient; mon programme ne le reconnait pas (no module named ceilometerclient)

Veuillez m'aider s'il vous plait!
0
mamiemando Messages postés 33077 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 18 avril 2024 7 748
Modifié le 27 avril 2017 à 09:54
Bonjour,

1) Pour que la directive
import ceilometerclient
il faut avoir installé le paquet python correspondant et s'assurer que le nom du module est correct. Est-ce le cas ? Est-ce que le fichier
ceilometerclient.py
existe quelque part dans ton arborescence ?

2) S'il n'est pas dans un répertoire standard (typiquement si tu ne l'as pas installé par ton gestionnaire de paquets, i.e. via la commande
apt-get
si tu es sous debian ou ubuntu), il faut indiquer à python des chemins supplémentaires où chercher.
https://docs.python.org/2/tutorial/modules.html#standard-modules

Ensuite de ce que je vois, le serveur ceilometer est interrogé une fois installé par des requêtes http, donc n'importe quel client http (ton navigateur,
curl
, etc...) peut potentiellement interroger l'API. Rien n'empêche de faire l'équivalent avec python (par exemple à l'aide d'urllib) si tu souhaites écrire ton client en python.
https://stackoverflow.com/questions/4476373/simple-url-get-post-function-in-python

Il est ensuite possible de parser la réponse (xml ou json) avec les paquets et fonction python appropriés :
https://stackoverflow.com/questions/3217487/how-to-get-all-the-info-in-xml-into-dictionary-with-python
https://stackoverflow.com/questions/4528099/convert-json-string-to-dict-using-python

Bonne chance
0
Bonjour,


en python execute sur windows: ceilometerclient nest pas reconu, (quand je fais import ceilometerclient

jai essayé d'installer le paquet par (yum install ceilometerclient) => no package ceilometerclient available)
et quand je fais : yum install python-ceilometerclient =>Package python2-ceilometerclient-2.8.0-1.el7.noarch already installed and latest version
Nothing to do

sinon je ne sais pas comment varifier que le paquet (module) est installé puisque jai toujours sur windows quand jexecute programme python : importerror: no module named ceilometercient

Veuillez m'aider s'il vous plait
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Bonsoir,

mon programme ne reconnait pas encore ceilometerclient
ainsi que j'ai l'erreur:
no module named 'pbr.verison'

Veuillez m'aider s'il vous plait
0
Je ne pense pas que cette bibliothèque soit disponible sur windows, sur pypi y'a pas windows dans les systèmes énumérés.

https://pypi.python.org/pypi/python-ceilometerclient

Sur linux, si tu l'as bien installé via ton gestionnaire de paquet, il n'y a pas de raison pour que python ne trouve pas le module.
Tu testes bien en python 2 ?

J'aurais bien testé, mais cette bibliothèque demande trop de dépendances devant être installées, pas envie d'installer tout ça.
0
mamiemando Messages postés 33077 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 18 avril 2024 7 748
9 mai 2017 à 12:32
Bonjour,

N'utilisant pas windows, je laisse ceux qui l'utliisent me corriger, mais si tu utilises anaconda, tu peux ensuite installer des paquets via pypi :
https://stackoverflow.com/questions/29286624/how-to-install-pypi-packages-using-anaconda-conda-command

Sous linux, si tu as un problème d'import c'est soit que le paquet python n'est pas installé, soit qu'il est installé dans un répertoire qui n'est pas pris en compte par ton interpréteur python.

1) Commence par voir si tu localises quelque part dans
/usr
des fichiers liés à ceilometer :

find /usr/ | grep ceilometer


Par exemple sous debian les modules python installés par un paquet sont dans :

/usr/lib/python2.7
/usr/lib/python3
/usr/lib/python3.5


Les paquets python installés autrement (easy_install, pypi...) sont dans

/usr/local/lib/python2.7
/usr/local/lib/python3
/usr/local/lib/python3.5


Vu que tu n'es pas sous debian les modules pythons peuvent être ailleurs.

2) Copie-colle nous les lignes correspondantes. Cela permettra de savoir si tu dois utiliser l'interpréteur
python
ou
python3
. Au passage reporte-nous le résultat de :

python --version
python3 --version


3) La commande
import ceilometer.
signifie que tu vas chercher à importer
ceilometer.py
, qui est soit dans le répertoire où tu déclenches l'import, soit dans un des répertoires évoqués dans (1) (selon l'interpréteur python).

Si ton fichier
ceilometer.py
n'est pas dans un de ces répertoires, l'import ne peut pas fonctionner. Tu peux à tout hasard essayer d'ajouter le répertoire dans lequel il se trouve à la liste de ceux que python examine.
http://www.johnny-lin.com/cdat_tips/tips_pylang/path.html

Si par exemple le chemin absolu de ton module est
/aaa/bbb/ceilometer.py
tape dans ton script python (ou dans ton interpréteur python) :

import sys
sys.path.append("/aaa/bbb")


Suite à ces deux commandes, tu devrais pouvoir lancer :

import ceilometer


Bonne chance
0
Bonjour
J'ai changé d'environnement; je travaille actuellement sur ubuntu 14
et import ceilometerclient marche

sauf que quand j'ai fait :
cclient = ceilometerclient.client.get_client(3, os_username="demo", os_password="mon_mot_de_passe", os_tenant_name="demo", os_auth_url="http://172.16.100.50:8777")


j'ai le message d'erreur suivant: keystoneclient.apiclient.exceptions.unauthorized : the request you have made requires authentication (http 401)

pourriez vous maider svp
0
mamiemando Messages postés 33077 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 18 avril 2024 7 748
16 mai 2017 à 08:22
Bonjour,

Commence par chercher ton message d'erreur sur ton moteur de recherche favori et tester les solutions que tu trouveras ainsi, par exemple :
https://ask.openstack.org/en/question/81173/keystone-v3-bug-domain-always-falls-on-default/bug-domain-always-falls-on-default/
https://ask.openstack.org/en/question/67398/error-openstack-the-request-you-have-made-requires-authentication-http-401/http-401/

Vérifie également si tu as saisi un login/mot de passe valide. Et bien entendu ne mets jamais de mot de passe en clair sur un forum (ou pense à le changer !!!)
0