GET /devices
Obtiene los datos correspondientes a los dispositivos definidos en el sistema.
Como veremos a continuación, se puede obtener una lista completa o un subconjunto filtrado en base a diferentes criterios (id del dispositivo, dirección IP, tipo de dispositivo o cualquier campo que haya definido el usuario).
GET /devices.json | Obtiene todos los dispositivos |
GET /devices/22.json GET /devices.json?id=22 |
Obtiene el dispositivo cuyo id es el 22. |
GET /devices/192.168.1.1.json GET /devices.json?ip=192.168.1.1 |
Obtiene el dispositivo cuya ip es 192.168.1.1 |
GET /devices.json?type=linux | Obtiene los dispositivos que cumplen los criterios de búsqueda especificados. En este caso de tipo linux. |
GET /devices.json?form[IP%20Secundaria]=1.1.1.1 | Obtiene los dispositivos que cumplen los criterios de búsqueda especificados. En este caso los que tienen el campo de usuario IP Secundaria igual a 1.1.1.1 |
NOTA : Los campos con espacios deben estar dentro de elementos form[] y los espacios deben sustituirse por %20
Criterios de búsqueda
Nombre | Tipo | Valores posibles | Descripción |
---|---|---|---|
id | Entero | Cualquiera | Identificador del dispositivo |
name | Texto | Cualquiera | Nombre del dispositivo |
domain | Texto | Cualquiera | Dominio del dispositivo |
ip | Texto | Cualquiera | Dirección IP del dispositivo |
type | Texto | Cualquiera | Tipo del dispositivo (definido por el usuario) |
snmpversion | Entero | 0:sin SNMP | 1:version 1 | 2:version 2 | 3:version 3 | Versión SNMP del dispositivo |
snmpcommunity | Texto | Cualquiera | Comunidad SNMP (solo para snmpversion 1 o 2) |
geo | Texto | Cualquiera | Geolocalizacion en formato Google Maps |
critic | Entero | 25: baja | 50: media | 75: alta | 100: máxima | Criticidad |
correlated | Entero | Cualquiera | Id del dispositivo del que depende |
status | Entero | 0:activo | 1:inactivo | 2:mantenimiento | Estado del dispositivo |
profile | Texto | Cualquiera | Perfil al que pertenece el dispositivo |
redalerts | Entero | Cualquiera | Número de alertas rojas |
orangealerts | Entero | Cualquiera | Número de alertas noaranjas |
yellowalerts | Entero | Cualquiera | Número de alertas amarillas |
bluealerts | Entero | Cualquiera | Número de alertas azules |
network | Texto | Cualquiera | Red a la que pertenece el dispositivo |
mac | Texto | Cualquiera | Dirección MAC del dispositivo |
macvendor | Texto | Cualquiera | Fabricante del sispotiviso en base a la dirección MAC |
snmpsysclass | Texto | Cualquiera | Clase SNMP del dispositivo |
snmpsysdesc | Texto | Cualquiera | Descripción SNMP del dispositivo |
snmpsyslocation | Texto | Cualquiera | Localización SNMP del dispositivo |
switch | Texto | Cualquiera | Switch al que está conectado el dispositivo |
metrics | Entero | Cualquiera | Número de métricas del dispositivo |
Campos de usuario | Texto | Cualquiera | Campo de usuario definido por el usuario |
Nota: en caso de querer realizar un OR en un mismo campo hay que separar los valores con comas.
Ejemplo: type=server,router,switch
Operadores
Operador | Equivalencia |
---|---|
CNMGT | > |
CNMGTE | >= |
CNMLT | < |
CNMLTE | <= |
CNMLIKE | LIKE |
CNMNLIKE | NOT LIKE |
CNMEQ | = |
CNMNEQ | != |
Campos auxiliares
Campo | Descripción |
---|---|
cnm_page_size | Número de elementos por página. Por defecto devuelve 100 elementos |
cnm_page | Número de página |
cnm_fields | Campos que queremos que devuelva separados por comas |
cnm_sort | Campo por el que queremos que ordene (ponerle un - en caso de querer ordenar de forma descendente por dicho campo) En caso de querer ordenar por varios campos, dichos campos deben ir separados por comas |
Valor devuelto
Devuelve un vector de datos codificado en json.
[{"id":"5","profile":"Global","name":"cnm-devel-pro","snmpsyslocation":"\"CPD (edit \/etc\/snmp\/snmpd.conf)\"","switch":"0","snmpsysclass":".1.3.6.1.4.1.8072.3.2.10","critic":"75","domain":"s30labsi.com","ip":"10.2.254.223","type":"Servidor Linux","xagentversion":"","status":"0","snmpsysoid":".1.3.6.1.4.1.8072.3.2.10","network":"10.2.254.0\/24","snmpsysdesc":"\"Linux cnm-devel-pro 2.6.32-5-amd64 #1 SMP Wed Jan 12 03:40:32 UTC 2011 x86_64\"","geo":"40.32773,-3.83430","correlated":"0","snmpcommunity":"public","snmpversion":"2","entity":"0","sysloc":"\"CPD (edit \/etc\/snmp\/snmpd.conf)\"","mac":"9e:58:a6:7b:c4:bb","macvendor":"","yellowalerts":"0","orangealerts":"0","redalerts":"0","bluealerts":"0","metrics":"39","Acceso":"https:\/\/10.2.254.223\nhttps:\/\/10.2.254.223\/onm\/mob","Acceso (credenciales)":"admin\/cnm123","Descripcion":"Equipo secundario de desarrollo de CNM.","Fabricante":"S30Labs","Grupo":"Monitorizaci\u00f3n","Link":"-","Proveedor":"S30Labs","Responsable interno":"SSV","Tipo":"Virtual"}]
Los campos se corresponden con los parámetros especificados previamente.
Ejemplos
root@cnm-devel:~# curl -ki "https://localhost/onm/api/1.0/auth/token.json?u=admin&p=cnm123"
HTTP/1.1 200 OK
Date: Thu, 18 Sep 2014 14:49:50 GMT
Server: Apache/2.2.16 (Debian) PHP/5.3.3-7 with Suhosin-Patch proxy_html/3.0.1 mod_ssl/2.2.16 OpenSSL/0.9.8o mod_perl/2.0.4 Perl/v5.10.1
X-Powered-By: PHP/5.3.3-7
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
:
Vary: Accept-Encoding
Content-Length: 59
Content-Type: text/html; charset=utf-8
{"status":0,"sessionid":"00c840654df1d1eb959cfdf5817346c8"}
root@cnm-devel-:~# curl -ki -g -H "Authorization: 00c840654df1d1eb959cfdf5817346c8" -X GET "https://localhost/onm/api/1.0/devices.json?ip=10.2.254.223"
HTTP/1.1 200 OK
Date: Thu, 18 Sep 2014 14:50:13 GMT
Server: Apache/2.2.16 (Debian) PHP/5.3.3-7 with Suhosin-Patch proxy_html/3.0.1 mod_ssl/2.2.16 OpenSSL/0.9.8o mod_perl/2.0.4 Perl/v5.10.1
X-Powered-By: PHP/5.3.3-7
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
:
Vary: Accept-Encoding
Content-Length: 1018
Content-Type: text/html; charset=utf-8
[{"id":"5","profile":"Global","name":"cnm-devel-pro","snmpsyslocation":"\"CPD (edit \/etc\/snmp\/snmpd.conf)\"","switch":"0","snmpsysclass":".1.3.6.1.4.1.8072.3.2.10","critic":"75","domain":"s30labsi.com","ip":"10.2.254.223","type":"Servidor Linux","xagentversion":"","status":"0","snmpsysoid":".1.3.6.1.4.1.8072.3.2.10","network":"10.2.254.0\/24","snmpsysdesc":"\"Linux cnm-devel-pro 2.6.32-5-amd64 #1 SMP Wed Jan 12 03:40:32 UTC 2011 x86_64\"","geo":"40.32773,-3.83430","correlated":"0","snmpcommunity":"public","snmpversion":"2","entity":"0","sysloc":"\"CPD (edit \/etc\/snmp\/snmpd.conf)\"","mac":"9e:58:a6:7b:c4:bb","macvendor":"","yellowalerts":"0","orangealerts":"0","redalerts":"0","bluealerts":"0","metrics":"39","Acceso":"https:\/\/10.2.254.223\nhttps:\/\/10.2.254.223\/onm\/mob","Acceso (credenciales)":"admin\/cnm123","Descripcion":"Equipo secundario de desarrollo de CNM.","Fabricante":"S30Labs","Grupo":"Monitorizaci\u00f3n","Link":"-","Proveedor":"S30Labs","Responsable interno":"SSV","Tipo":"Virtual"}]
root@cnm-devel:~# curl -ki "https://localhost/onm/api/1.0/auth/token.json?u=admin&p=cnm123"
HTTP/1.1 200 OK
Date: Thu, 18 Sep 2014 14:49:50 GMT
Server: Apache/2.2.16 (Debian) PHP/5.3.3-7 with Suhosin-Patch proxy_html/3.0.1 mod_ssl/2.2.16 OpenSSL/0.9.8o mod_perl/2.0.4 Perl/v5.10.1
X-Powered-By: PHP/5.3.3-7
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
:
Vary: Accept-Encoding
Content-Length: 59
Content-Type: text/html; charset=utf-8
{"status":0,"sessionid":"00c840654df1d1eb959cfdf5817346c8"}
root@cnm-devel-ssv:~# curl -ki -g -H "Authorization: abbd5782e0011aab276941bbc2b47fd4" -X GET "https://localhost/onm/api/1.0/devices.json?criticCNMGT50&cnm_fields=id,ip,name,domain&cnm_sort=-id"
HTTP/1.1 200 OK
Date: Thu, 18 Sep 2014 14:55:53 GMT
Server: Apache/2.2.16 (Debian) PHP/5.3.3-7 with Suhosin-Patch proxy_html/3.0.1 mod_ssl/2.2.16 OpenSSL/0.9.8o mod_perl/2.0.4 Perl/v5.10.1
X-Powered-By: PHP/5.3.3-7
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
:
Vary: Accept-Encoding
Content-Length: 1849
Content-Type: text/html; charset=utf-8
[{"id":"1","ip":"10.2.254.222","name":"cnm-devel","domain":"s30labsi.com"},{"id":"3","ip":"10.2.254.103","name":"ow-shares","domain":"s30lasi.com"},{"id":"4","ip":"10.2.254.100","name":"wd-fileserver","domain":"s30labsi.com"},{"id":"5","ip":"10.2.254.223","name":"cnm-devel-pro","domain":"s30labsi.com"},{"id":"9","ip":"192.168.1.254","name":"s30-wan-router","domain":"s30l.local"},{"id":"10","ip":"173.194.66.109","name":"mx-ext","domain":"gmail.com"},{"id":"11","ip":"10.2.254.253","name":"s30gw","domain":"s30.local"},{"id":"12","ip":"10.2.254.210","name":"smvow1","domain":""},{"id":"13","ip":"10.2.254.249","name":"npi27e89f","domain":"s30labsi.com"},{"id":"18","ip":"10.2.254.71","name":"win xp","domain":"s30.local"},{"id":"32","ip":"192.168.1.100","name":"sensor_tem_hum_agu","domain":"s30labsi.com"},{"id":"37","ip":"10.2.254.251","name":"sboxD","domain":"s30labsi.com"},{"id":"40","ip":"10.2.254.252","name":"sboxI","domain":"s30labsi.com"},{"id":"42","ip":"10.2.254.221","name":"cnm-micro a","domain":"s30.local"},{"id":"44","ip":"192.168.1.103","name":"sensor-corriente","domain":"s30labsi.com"},{"id":"45","ip":"192.168.1.102","name":"sensor_tem","domain":"s30labsi.com"},{"id":"46","ip":"10.2.254.230","name":"proxmox","domain":"s30labsi.com"},{"id":"47","ip":"10.2.254.72","name":"win7","domain":"s30.local"},{"id":"48","ip":"10.2.254.250","name":"switch","domain":"s30labsi.com"},{"id":"49","ip":"10.2.254.231","name":"n40l","domain":"s30labsi.com"},{"id":"50","ip":"10.2.254.232","name":"freenas","domain":"s30labsi.com"},{"id":"51","ip":"10.2.254.222-13","name":"cnm-devel-1","domain":"s30labs.com"},{"id":"52","ip":"10.254.2.223-71c5","name":"www.terra.es","domain":""},{"id":"53","ip":"178.33.211.251-3023","name":"cnm002","domain":"s30labs.com"},{"id":"54","ip":"178.33.211.251-dae2","name":"cnm200.s30labs.com","domain":"443"}]