Gestionnaire de projets de l'April: Demandeshttps://redmine.april.org/https://redmine.april.org/favicon.ico?15861920342012-12-06T17:00:03ZGestionnaire de projets de l'April
Redmine Admins - Demande #1080 (Fermé): ajout des backups harmine sur puppethttps://redmine.april.org/issues/10802012-12-06T17:00:03ZLoïc Dachary
<p>ajouter ce qu'il faut dans <a class="source" href="https://redmine.april.org/projects/admins/repository/admins/entry/puppetmaster">source:puppetmaster</a> pour qu'un host s'enregistre aupres de backuppc lorsqu'il est créé<br /><img src="https://redmine.april.org/attachments/download/399/backuppc.png" title="backuppc" alt="backuppc" /></p> Admins - Demande #1072 (Fermé): les services sont redondés : si une machine physique casse, une a...https://redmine.april.org/issues/10722012-12-03T14:52:44ZLoïc DacharyAdmins - Demande #1070 (Fermé): une sauvegarde est restaurée et le service auquel cela correspond...https://redmine.april.org/issues/10702012-12-03T14:31:59ZLoïc DacharyAdmins - Demande #1069 (Rejeté): test du paiement carte de crédithttps://redmine.april.org/issues/10692012-12-03T14:29:47ZLoïc Dachary
<p>des cotisations april : voir benj<br />s'assurer que le chemin utilisateur est facile</p> Admins - Demande #1063 (Fermé): documentation du workflow d'intégration continuehttps://redmine.april.org/issues/10632012-12-02T11:08:47ZLoïc Dachary
<p>la mise en place de jenkins/puppet/nagios demande une documentation dans le wiki sinon c'est impossible de deviner comment ça fonctionne</p> Admins - Demande #1017 (Fermé): ajout d'une alerte zabbix via les APIhttps://redmine.april.org/issues/10172012-11-10T11:51:56ZLoïc Dachary
<p>Expérimentations avec <a href="http://www.zabbix.com/wiki/doc/api" class="external">l'API zabbix</a></p>
<a name="Utilisation"></a>
<h1 >Utilisation<a href="#Utilisation" class="wiki-anchor">¶</a></h1>
<p>Ajout d'un host.</p>
<a name="Obtention-du-token-dauth"></a>
<h2 >Obtention du <a href="http://www.zabbix.com/documentation/1.8/api/user/authenticate" class="external">token d'auth</a><a href="#Obtention-du-token-dauth" class="wiki-anchor">¶</a></h2>
<pre>
curl -H content-type:application/json --data '{ "jsonrpc":"2.0", "method":"user.authenticate", "params":{"user":"admin", "password":"XXX"}, "id":2 }' http://127.0.0.1:8080/zabbix//api_jsonrpc.php
{"jsonrpc":"2.0","result":"a74d1f3f4c4e83ac2a6bbee704a49bc6","id":2}
</pre>
<a name="Obtention-de-lID-du-template"></a>
<h2 >Obtention de l'ID du <a href="http://www.zabbix.com/documentation/1.8/api/template/get" class="external">template</a><a href="#Obtention-de-lID-du-template" class="wiki-anchor">¶</a></h2>
<pre>
curl -H content-type:application/json --data '{ "jsonrpc":"2.0", "method":"template.get", "params":{ "output":"extend", "filter":{ "host":"Template_Linux" } }, "auth":"a74d1f3f4c4e83ac2a6bbee704a49bc6", "id":2 }' http://127.0.0.1:8080/zabbix//api_jsonrpc.php
{"jsonrpc":"2.0","result":{"10001":{"hostid":"10001","proxy_hostid":"0","host":"Template_Linux","dns":"","useip":"0","ip":"","port":"10050","status":"3","disable_until":"0","error":"","available":"0","errors_from":"0","lastaccess":"0","inbytes":"0","outbytes":"0","useipmi":"0","ipmi_port":"623","ipmi_authtype":"0","ipmi_privilege":"2","ipmi_username":"","ipmi_password":"","ipmi_disable_until":"0","ipmi_available":"0","snmp_disable_until":"0","snmp_available":"0","maintenanceid":"0","maintenance_status":"0","maintenance_type":"0","maintenance_from":"0","ipmi_ip":"","ipmi_errors_from":"0","snmp_errors_from":"0","ipmi_error":"","snmp_error":"","templateid":"10001"}},"id":2}
</pre>
<a name="Obtention-de-lID-du-groupe"></a>
<h2 >Obtention de l'ID du <a href="http://www.zabbix.com/documentation/1.8/api/hostgroup/get" class="external">groupe</a><a href="#Obtention-de-lID-du-groupe" class="wiki-anchor">¶</a></h2>
<pre>
curl -H content-type:application/json --data '{ "jsonrpc":"2.0", "method":"template.get", "params":{ "output":"extend", "filter":{ "host":"Linux servers" } }, "auth":"a74d1f3f4c4e83ac2a6bbee704a49bc6", "id":2 }' http://127.0.0.1:8080/zabbix//api_jsonrpc.php
{"jsonrpc":"2.0","result":[],"id":2}
</pre>
<a name="Creation-du-host"></a>
<h2 >Creation du <a href="http://www.zabbix.com/documentation/1.8/api/host/create" class="external">host</a><a href="#Creation-du-host" class="wiki-anchor">¶</a></h2>
<pre>
curl -H content-type:application/json --data '{ "jsonrpc":"2.0", "method":"host.create", "params":{"host":"TEST1","ip":"192.168.44.44","port":10050,"useip":1,"groups":[{"groupid":2}],"templates":[{"templateid": 10001}]}, "auth":"a74d1f3f4c4e83ac2a6bbee704a49bc6", "id":2 }' http://127.0.0.1:8080/zabbix//api_jsonrpc.php
{"jsonrpc":"2.0","result":{"hostids":["10075"]},"id":2}
</pre>
<a name="Import-du-host"></a>
<h2 ><a href="http://www.zabbix.com/documentation/2.0/manual/appendix/api/configuration/import" class="external">Import du host</a><a href="#Import-du-host" class="wiki-anchor">¶</a></h2>
<pre>
curl -H content-type:application/json --data '{ "jsonrpc":"2.0", "method":"configuration.import", "auth":"9f50b272bd93ef2ca775a9565f7888d9", "id":2, "params":{"format": "xml", "rules": {"hosts": {"createMissing": true, "updateExisting": true}, "templates": {"createMissing": true, "updateExisting": true}, "templateLinkage": {"createMissing": true} }, "source": "<?xml version=\"1.0\" encoding=\"UTF-8\"?> <zabbix_export> <version>2.0</version> <date>2012-11-17T21:23:31Z</date> <groups> <group> <name>Zabbix servers</name> </group> </groups> <hosts> <host> <host>HOST1</host> <name>HOST1</name> <proxy/> <status>0</status> <ipmi_authtype>-1</ipmi_authtype> <ipmi_privilege>2</ipmi_privilege> <ipmi_username/> <ipmi_password/> <templates> <template> <name>Template OS Linux</name> </template> </templates> <groups> <group> <name>Zabbix servers</name> </group> </groups> <interfaces> <interface> <default>1</default> <type>1</type> <useip>1</useip> <ip>127.0.0.1</ip> <dns/> <port>10050</port> <interface_ref>if1</interface_ref> </interface> </interfaces> <applications/> <items> </items> <discovery_rules/> <macros/> <inventory/> </host> </hosts> </zabbix_export>"}}' http://127.0.0.1/zabbix/api_jsonrpc.php
</pre>
<a name="Installation"></a>
<h1 >Installation<a href="#Installation" class="wiki-anchor">¶</a></h1>
<pre>
apt-get install rubygems
gem install zabcon
</pre>
<a name="Credentials"></a>
<h1 >Credentials<a href="#Credentials" class="wiki-anchor">¶</a></h1>
<p>Dans <a href="http://127.0.0.1:8080/zabbix/usergrps.php" class="external">l'interface web</a> s'assurer que l'utilisateur a accès à l'API. Il y a une ligne <strong>Api Access</strong> et quand on click sur le lien <strong>Users</strong> sur la même ligne, on doit voir l'utilisateur qui va servir pour l'API.</p>
<a name="Configuration"></a>
<h1 >Configuration<a href="#Configuration" class="wiki-anchor">¶</a></h1>
<pre>
cp /var/lib/gems/1.8/gems/zabcon-0.0.392/zabcon.conf.default ~/zabcon.conf
</pre><br />Edition pour ajouter (tout est en commentaire par défaut):<br /><pre>
server[april][server]=http://192.168.1.33/zabbix/
server[april][username]=admin
server[april][password]=XXXXX
default_server=april
</pre><br />Attention: essayer de faire la même chose via la ligne de commande avec <strong>login</strong> comme par exemple:<br /><pre>
ephedrine:/# ruby1.8 /var/lib/gems/1.8/bin/zabcon.rb --no-login -
Unable to find a default configuration file
i486-linux
Welcome to Zabcon. Build Number: 392
Use the command 'help' to get help on commands
-> login http://192.168.1.33/zabbix/ admin XXXX
WARNING: Initialization has changed, backwards compatability is being used.
WARNING: Use ZabbixAPI.new(url,:debug=>n,:returntype=>:result) to have the
WARNING: same capability as previous versions.
WARNING: This depreciated functionality will be removed in a future release
Runtime error detected
(NoMethodError): undefined method `[]=' for nil:NilClass
</pre><br />va échouer parceque <strong>/var/lib/gems/1.8/gems/zabcon-0.0.392/./libs/zabbix_server.rb</strong> fait référence a un nom qui n'existe pas:<br /><pre>
ServerCredentials.instance[@credentials["name"]]["auth"]=
@connection.auth
</pre><br />et qui correspond au nom <strong>april</strong> dans le fichier de conf. C'est un signe que zabcon n'est utilisé qu'avec un fichier de conf.
<a name="Debug"></a>
<h1 >Debug<a href="#Debug" class="wiki-anchor">¶</a></h1>
<a name="Zabcon-tracker-fermé"></a>
<h2 >Zabcon tracker fermé<a href="#Zabcon-tracker-fermé" class="wiki-anchor">¶</a></h2>
<p>Probablement pour des questions d'anti-spam le tracker est fermé (on ne peut pas s'enregistré) donc il n'est pas possible de remonter un bug. Il faudrait contacter les auteurs mais on dirait que c'est pas super actif.</p>
<a name="Curl"></a>
<h2 >Curl<a href="#Curl" class="wiki-anchor">¶</a></h2>
<p>Exemple de ligne de commande pour interagir avec l'API en direct:<br /><pre>
curl -H content-type:application/json --data '{ "jsonrpc":"2.0", "method":"user.authenticate", "params":{"user":"admin", "password":"XXXXX"}, "id":2 }' http://127.0.0.1:8080/zabbix//api_jsonrpc.php
{"jsonrpc":"2.0","result":"08a3b7bd27b5d7bbfcc1e75111d75c16","id":2}
</pre></p>
<a name="Logs"></a>
<h2 >Logs<a href="#Logs" class="wiki-anchor">¶</a></h2>
<p>Il n'y a pas de logs de l'API sur le serveur zabbix par défaut (peut-etre augmenter la verbosité ?). On voit passer les requêtes dans les logs apache de l'interface web <strong>tail -f /var/log/apache2/</strong>.log* qui se trouve sur le vserver dokuwiki de ns1.april.org dans <strong>/var/www/april.lan/www/zabbix</strong><br /><pre>
92.168.1.50 - - [11/Nov/2012:14:34:17 +0100] "POST /zabbix//api_jsonrpc.php HTTP/1.1" 200 39 "-" "Zbx Ruby CLI"
</pre></p> Admins - Demande #1014 (Fermé): monitoring du vserver dns sur pavot.april.orghttps://redmine.april.org/issues/10142012-11-09T15:14:43ZLoïc Dachary
<p><a class="external" href="http://127.0.0.1:8080/dokuwiki/doku.php?id=sysadm:machines_virtuelles:pavot:dns">http://127.0.0.1:8080/dokuwiki/doku.php?id=sysadm:machines_virtuelles:pavot:dns</a></p>
<ul>
<li><del>apt-get install zabbix-agent</del></li>
<li><del>configuration de /etc/zabbix/zabbix_agentd.conf pour autoriser 192.168.1.50 (i.e. zabbix sur ns1)</del></li>
<li><del>check du service DNS</del></li>
</ul> Admins - Demande #1012 (Fermé): Mises à jour de sécuritéhttps://redmine.april.org/issues/10122012-11-09T08:40:31ZLoïc Dachary
<p>C'est une tache récurrente et il faut vérifier qu'elle est faite périodiquement. <br />TODO:</p>
<ul>
<li>quelle fréquence</li>
<li>écriture de la procédure</li>
<li>qui s'y colle ? </li>
<li>qui review ?</li>
</ul>
<p>NOTES:</p>
<p>C'est une tache originellement incluse dans le wiki <a class="external" href="http://127.0.0.1:8080/dokuwiki/doku.php?id=sysadm:todo:taches_recurrentes">http://127.0.0.1:8080/dokuwiki/doku.php?id=sysadm:todo:taches_recurrentes</a></p> Admins - Demande #1006 (Fermé): avertir des interruptions de service dues au reboot de pavothttps://redmine.april.org/issues/10062012-11-08T15:49:30ZLoïc Dachary
<ul>
<li><del>preparer un brouillon de mail contenant</del>
<ul>
<li><del>le motif de l'intervention</del></li>
<li><del>la liste des services interrompus</del></li>
<li><del>la date / heure de l'intervention</del></li>
<li><del>la durée de l'intervention ( avec une marge)</del></li>
</ul>
</li>
<li><del>faire review le mail</del></li>
<li><del>envoyer le mail sur <a class="email" href="mailto:liste-infos@april.org">liste-infos@april.org</a></del></li>
</ul> Admins - Demande #1003 (Fermé): définiton d'un travail terminéhttps://redmine.april.org/issues/10032012-11-06T16:14:33ZLoïc Dachary
<p><a class="external" href="http://127.0.0.1:8080/dokuwiki/doku.php?id=sysadm:equipe:termine">http://127.0.0.1:8080/dokuwiki/doku.php?id=sysadm:equipe:termine</a></p>
<p>et lien ajouté dans</p>
<p><a class="external" href="http://127.0.0.1:8080/dokuwiki/doku.php?id=sysadm:start">http://127.0.0.1:8080/dokuwiki/doku.php?id=sysadm:start</a></p>
<p>dans le chapitre équipe</p> Admins - Demande #1001 (Fermé): ressources matérielles et humaines pour l'adminsyshttps://redmine.april.org/issues/10012012-11-06T09:48:57ZLoïc Dachary
<p>Etablir un inventaire des ressources nécessaires a l'execution de la mission de l'équipe admin sys et le présenter au product owner / fcouchet.</p>
<p>Voir le <a href="https://agir.april.org/projects/admins/wiki/Moyens" class="external">brouillon</a></p> Admins - Demande #985 (Fermé): valider la charte admin par le CAhttps://redmine.april.org/issues/9852012-11-03T12:06:43ZLoïc Dachary
<p>Proposer au CA la <a href="http://127.0.0.1:8080/dokuwiki/doku.php?id=sysadm:equipe:charte" class="external">modification</a> de la <a href="http://wiki.april.org/w/CharteGroupeAdministrationSysteme" class="external">Charte Groupe Administration Systeme</a></p>
<p>La charte doit rester dans les généralité et définir un état d'esprit qui couvre les domaines essentiels, les valeurs auquel on adhère en faisant partie de l'équipe. Par exemple l'attitude a adopter face a un incident, la qualité du travail livré (definition of done) etc. Chaque principe peut etre associé à une HOWTO plus précise qui détaille le mode opératoire et qui peut changer plus fréquement.</p>
<p>Soumettre la version consolidée au CA avant finalisation pour commentaires éventuels</p> Admins - Demande #984 (Fermé): monitor openstack controllerhttps://redmine.april.org/issues/9842012-11-03T11:28:42ZLoïc Dachary
<p>ajouter un host zabbix pour surveiller le controller openstack qui est chargé d'établir la connection VPN<br />pour plus d'information sur le controller et l'installation openstack voir <a class="external" href="http://127.0.0.1:8080/dokuwiki/doku.php?id=sysadm:machines_virtuelles:start">http://127.0.0.1:8080/dokuwiki/doku.php?id=sysadm:machines_virtuelles:start</a></p> Admins - Demande #973 (Fermé): gestion centralisée des configurationshttps://redmine.april.org/issues/9732012-10-31T20:40:34ZLoïc DacharyAdmins - Demande #963 (Fermé): backup la machine de controlle openstack ( controller.vm.april-int )https://redmine.april.org/issues/9632012-10-31T11:32:05ZLoïc Dachary
<p>voir <a class="external" href="http://127.0.0.1:8080/dokuwiki/doku.php?id=sysadm:machines_virtuelles:start">http://127.0.0.1:8080/dokuwiki/doku.php?id=sysadm:machines_virtuelles:start</a> pour une description de la machine de controlle openstack</p>