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"}]