Si has utilizado la utilidad ping de línea de comandos para comprobar la conectividad de red simple entre hosts, sabes lo útil que es. Pues bien, ahora existe una utilidad similar para Couchbase. Se llama cbping y comprobará la conectividad de un cluster de Couchbase o de un cluster remoto XDCR.
cbping realiza sencillas pruebas de conectividad con Couchbase para comprobar los siguientes tipos de cosas:
- ¿Están abiertos los puertos que necesita Couchbase?
- Tiempo que tardan los puertos en conectarse
- ¿Qué nodos hay en el clúster? Haz las mismas pruebas en ellos también.
Además, también puede comprobar la conectividad con clusters de destino XDCR. Sólo recuerde que está comprobando la conectividad desde donde sea que se esté ejecutando el cbping y no desde dentro del cluster, o una comprobación de salud desde dentro del cluster. Es un simple "puedo conectarme a este objetivo en estos puertos".
Para obtener el script a utilizar, clone el repositorio githup para cbping.
A continuación se muestra un ejemplo de un clúster Couchbase de tres nodos:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 |
$ python cbping.py -H 172.16.40.144 -P 8091 -u Administrador -p <contraseña> I se asuma que usted quería decir grupo modo I se conecte a: http://172.16.40.144:8091/pools/default y ejecuta algunas pruebas. Este grupo dice allí son 3 nodos en el grupo. Grupo Nodo Nodo Estado Nodo CB versión ------------ ----------- --------------- 172.16.40.142:8091 saludable 4.5.0-2601-empresa 172.16.40.143:8091 saludable 4.5.0-2601-empresa 172.16.40.144:8091 saludable 4.5.0-2601-empresa Nombre de host Puerto Resultado Transcurrido Tiempo* -------- ---- ------ ------------ 172.16.40.142 8091 ÉXITO 272.0 172.16.40.142 8092 ÉXITO 67.0 172.16.40.142 8093 ÉXITO 90.0 172.16.40.142 8094 [Errno 61] Conexión rechazado 87.0 172.16.40.142 9100 [Errno 61] Conexión rechazado 82.0 172.16.40.142 9102 [Errno 61] Conexión rechazado 82.0 172.16.40.142 9103 [Errno 61] Conexión rechazado 110.0 172.16.40.142 9104 [Errno 61] Conexión rechazado 81.0 172.16.40.142 9105 [Errno 61] Conexión rechazado 88.0 172.16.40.142 9998 [Errno 61] Conexión rechazado 93.0 172.16.40.142 9999 ÉXITO 60.0 172.16.40.142 11207 ÉXITO 60.0 172.16.40.142 11209 ÉXITO 61.0 172.16.40.142 11210 ÉXITO 57.0 172.16.40.142 11211 ÉXITO 70.0 172.16.40.142 11214 ÉXITO 101.0 172.16.40.142 11215 [Errno 61] Conexión rechazado 82.0 172.16.40.142 18091 ÉXITO 91.0 172.16.40.142 18092 ÉXITO 72.0 172.16.40.142 18093 ÉXITO 97.0 172.16.40.142 4369 ÉXITO 59.0 172.16.40.142 21100 ÉXITO 72.0 *Transcurrido tiempo es en microsegundos. Nombre de host Puerto Resultado Transcurrido Tiempo* -------- ---- ------ ------------ 172.16.40.143 8091 ÉXITO 224.0 172.16.40.143 8092 ÉXITO 90.0 172.16.40.143 8093 [Errno 61] Conexión rechazado 97.0 172.16.40.143 8094 [Errno 61] Conexión rechazado 85.0 172.16.40.143 9100 ÉXITO 60.0 172.16.40.143 9102 ÉXITO 62.0 172.16.40.143 9103 [Errno 61] Conexión rechazado 85.0 172.16.40.143 9104 [Errno 61] Conexión rechazado 89.0 172.16.40.143 9105 ÉXITO 88.0 172.16.40.143 9998 [Errno 61] Conexión rechazado 81.0 172.16.40.143 9999 [Errno 61] Conexión rechazado 106.0 172.16.40.143 11207 ÉXITO 75.0 172.16.40.143 11209 ÉXITO 70.0 172.16.40.143 11210 ÉXITO 89.0 172.16.40.143 11211 [Errno 61] Conexión rechazado 121.0 172.16.40.143 11214 ÉXITO 70.0 172.16.40.143 11215 [Errno 61] Conexión rechazado 98.0 172.16.40.143 18091 ÉXITO 91.0 172.16.40.143 18092 ÉXITO 73.0 172.16.40.143 18093 [Errno 61] Conexión rechazado 104.0 172.16.40.143 4369 ÉXITO 91.0 172.16.40.143 21100 ÉXITO 81.0 *Transcurrido tiempo es en microsegundos. Nombre de host Puerto Resultado Transcurrido Tiempo* -------- ---- ------ ------------ 172.16.40.144 8091 ÉXITO 85.0 172.16.40.144 8092 ÉXITO 91.0 172.16.40.144 8093 [Errno 61] Conexión rechazado 120.0 172.16.40.144 8094 [Errno 61] Conexión rechazado 112.0 172.16.40.144 9100 ÉXITO 93.0 172.16.40.144 9102 ÉXITO 64.0 172.16.40.144 9103 [Errno 61] Conexión rechazado 158.0 172.16.40.144 9104 [Errno 61] Conexión rechazado 99.0 172.16.40.144 9105 ÉXITO 87.0 172.16.40.144 9998 [Errno 61] Conexión rechazado 104.0 172.16.40.144 9999 ÉXITO 71.0 172.16.40.144 11207 ÉXITO 61.0 172.16.40.144 11209 ÉXITO 63.0 172.16.40.144 11210 ÉXITO 84.0 172.16.40.144 11211 ÉXITO 76.0 172.16.40.144 11214 ÉXITO 62.0 172.16.40.144 11215 [Errno 61] Conexión rechazado 80.0 172.16.40.144 18091 ÉXITO 92.0 172.16.40.144 18092 ÉXITO 78.0 172.16.40.144 18093 [Errno 61] Conexión rechazado 120.0 172.16.40.144 4369 ÉXITO 73.0 172.16.40.144 21100 ÉXITO 64.0 *Transcurrido tiempo es en microsegundos. -------------- Cubo Información -------------- I se consiga cubo información de: http://172.16.40.144:8091/pools/default/buckets Cubo Nombre itemCount Cubo Tipo ----------- --------- ----------- delitos 3033827 Couchbase |
Como puedes ver, comprueba todos los puertos en los que Couchbase Server podría estar ejecutándose según la documentación. En los nodos de arriba, no todos los puertos están abiertos y eso está bien. Los que no están abiertos son los de encriptación, llamadas internas, otros servicios que no estoy ejecutando en ese nodo (por ejemplo, Query, Index, Data, FTS, etc). Si quieres ver lo que hace cada uno de los puertos en cbping, entonces pon una opción -v en la línea de comandos y verás una descripción para cada uno, así:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
Nombre de host Puerto Resultado Transcurrido Tiempo* Descripción -------- ---- ------ ------------ ----------- 172.16.40.144 8091 ÉXITO 65.0 Consola REST/HTTP 172.16.40.144 8092 ÉXITO 63.0 Vistas, consultas, XDCR, diseño documentos 172.16.40.144 8093 [Errno 61] Conexión rechazado 111.0 Consulta servicios REST/HTTP 172.16.40.144 8094 [Errno 61] Conexión rechazado 111.0 Buscar en servicio externo HTTP 172.16.40.144 9100 ÉXITO 62.0 Interno índice admin 172.16.40.144 9102 ÉXITO 59.0 Interno índice HTTP 172.16.40.144 9103 [Errno 61] Conexión rechazado 82.0 Interno índice construya 172.16.40.144 9104 [Errno 61] Conexión rechazado 80.0 Interno índice construya 172.16.40.144 9105 ÉXITO 54.0 Interno índice mantenimiento 172.16.40.144 9998 [Errno 61] Conexión rechazado 93.0 Interno REST 172.16.40.144 9999 ÉXITO 59.0 Interno GSI para interno admins 172.16.40.144 11207 ÉXITO 94.0 Memcached SSL para inteligente cliente bibliotecas 172.16.40.144 11209 ÉXITO 59.0 Interno Cubo 172.16.40.144 11210 ÉXITO 58.0 Memcached para inteligente cliente lib o Moxi 172.16.40.144 11211 ÉXITO 57.0 Pre-existente Couchbase Servidor & memcached (no-inteligente) cliente bibliotecas (tal como Moxi) 172.16.40.144 11214 ÉXITO 57.0 SSL XDCR datos encriptación 172.16.40.144 11215 [Errno 61] Conexión rechazado 93.0 SSL XDCR datos encriptación 172.16.40.144 18091 ÉXITO 110.0 Web Consola SSL REST/HTTP tráfico 172.16.40.144 18092 ÉXITO 64.0 SSL para vistas acceda a, ejecute consultas, XDCR & actualización diseño documentos 172.16.40.144 18093 [Errno 61] Conexión rechazado 114.0 N1QL SSL 172.16.40.144 4369 ÉXITO 91.0 Erlang Puerto Mapeador 172.16.40.144 21100 ÉXITO 85.0 Nodo datos intercambiar |