Se você já usou o utilitário de linha de comando ping para verificar a conectividade de rede simples entre hosts, sabe como ele é útil. Bem, agora existe um utilitário como esse para o Couchbase. Ele é apropriadamente chamado de cbping e verificará a conectividade simples de um cluster do Couchbase ou de um cluster XDCR remoto.
O cbping faz testes simples de conectividade com o Couchbase para verificar os seguintes tipos de coisas:
- As portas necessárias para o Couchbase estão abertas?
- Tempo decorrido para que as portas se conectem
- Quais nós estão no cluster? Faça os mesmos testes neles também.
Além disso, ele também pode verificar a conectividade com os clusters de destino do XDCR. Lembre-se de que ele está testando a conectividade de onde quer que o cbping esteja sendo executado, e não de dentro do cluster, ou uma verificação de integridade de dentro do cluster. Trata-se de um simples "posso me conectar a esse destino nessas portas".
Para obter o script a ser usado, clone o repositório githup para cbping.
Aqui está um exemplo de saída de um cluster do Couchbase de três nós:
|
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 Administrator -p <password> I will assume that you meant cluster mode I will connect to: https://172.16.40.144:8091/pools/default and run some tests. This cluster says there are 3 nodes in the cluster. Cluster Node Node Status Node CB version ------------ ----------- --------------- 172.16.40.142:8091 healthy 4.5.0-2601-enterprise 172.16.40.143:8091 healthy 4.5.0-2601-enterprise 172.16.40.144:8091 healthy 4.5.0-2601-enterprise Hostname Port Result Elapsed Time* -------- ---- ------ ------------ 172.16.40.142 8091 SUCCESS 272.0 172.16.40.142 8092 SUCCESS 67.0 172.16.40.142 8093 SUCCESS 90.0 172.16.40.142 8094 [Errno 61] Connection refused 87.0 172.16.40.142 9100 [Errno 61] Connection refused 82.0 172.16.40.142 9102 [Errno 61] Connection refused 82.0 172.16.40.142 9103 [Errno 61] Connection refused 110.0 172.16.40.142 9104 [Errno 61] Connection refused 81.0 172.16.40.142 9105 [Errno 61] Connection refused 88.0 172.16.40.142 9998 [Errno 61] Connection refused 93.0 172.16.40.142 9999 SUCCESS 60.0 172.16.40.142 11207 SUCCESS 60.0 172.16.40.142 11209 SUCCESS 61.0 172.16.40.142 11210 SUCCESS 57.0 172.16.40.142 11211 SUCCESS 70.0 172.16.40.142 11214 SUCCESS 101.0 172.16.40.142 11215 [Errno 61] Connection refused 82.0 172.16.40.142 18091 SUCCESS 91.0 172.16.40.142 18092 SUCCESS 72.0 172.16.40.142 18093 SUCCESS 97.0 172.16.40.142 4369 SUCCESS 59.0 172.16.40.142 21100 SUCCESS 72.0 *Elapsed time is in microseconds. Hostname Port Result Elapsed Time* -------- ---- ------ ------------ 172.16.40.143 8091 SUCCESS 224.0 172.16.40.143 8092 SUCCESS 90.0 172.16.40.143 8093 [Errno 61] Connection refused 97.0 172.16.40.143 8094 [Errno 61] Connection refused 85.0 172.16.40.143 9100 SUCCESS 60.0 172.16.40.143 9102 SUCCESS 62.0 172.16.40.143 9103 [Errno 61] Connection refused 85.0 172.16.40.143 9104 [Errno 61] Connection refused 89.0 172.16.40.143 9105 SUCCESS 88.0 172.16.40.143 9998 [Errno 61] Connection refused 81.0 172.16.40.143 9999 [Errno 61] Connection refused 106.0 172.16.40.143 11207 SUCCESS 75.0 172.16.40.143 11209 SUCCESS 70.0 172.16.40.143 11210 SUCCESS 89.0 172.16.40.143 11211 [Errno 61] Connection refused 121.0 172.16.40.143 11214 SUCCESS 70.0 172.16.40.143 11215 [Errno 61] Connection refused 98.0 172.16.40.143 18091 SUCCESS 91.0 172.16.40.143 18092 SUCCESS 73.0 172.16.40.143 18093 [Errno 61] Connection refused 104.0 172.16.40.143 4369 SUCCESS 91.0 172.16.40.143 21100 SUCCESS 81.0 *Elapsed time is in microseconds. Hostname Port Result Elapsed Time* -------- ---- ------ ------------ 172.16.40.144 8091 SUCCESS 85.0 172.16.40.144 8092 SUCCESS 91.0 172.16.40.144 8093 [Errno 61] Connection refused 120.0 172.16.40.144 8094 [Errno 61] Connection refused 112.0 172.16.40.144 9100 SUCCESS 93.0 172.16.40.144 9102 SUCCESS 64.0 172.16.40.144 9103 [Errno 61] Connection refused 158.0 172.16.40.144 9104 [Errno 61] Connection refused 99.0 172.16.40.144 9105 SUCCESS 87.0 172.16.40.144 9998 [Errno 61] Connection refused 104.0 172.16.40.144 9999 SUCCESS 71.0 172.16.40.144 11207 SUCCESS 61.0 172.16.40.144 11209 SUCCESS 63.0 172.16.40.144 11210 SUCCESS 84.0 172.16.40.144 11211 SUCCESS 76.0 172.16.40.144 11214 SUCCESS 62.0 172.16.40.144 11215 [Errno 61] Connection refused 80.0 172.16.40.144 18091 SUCCESS 92.0 172.16.40.144 18092 SUCCESS 78.0 172.16.40.144 18093 [Errno 61] Connection refused 120.0 172.16.40.144 4369 SUCCESS 73.0 172.16.40.144 21100 SUCCESS 64.0 *Elapsed time is in microseconds. -------------- Bucket Information -------------- I will get bucket info from: https://172.16.40.144:8091/pools/default/buckets Bucket Name itemCount Bucket Type ----------- --------- ----------- crimes 3033827 Couchbase |
Como você pode ver, ele verifica todas as portas em que o Couchbase Server pode estar sendo executado de acordo com a documentação. Nos nós acima, nem todas as portas estão abertas e isso não é problema. As que não estão abertas são as de criptografia, chamadas internas e outros serviços que não estou executando naquele nó (por exemplo, Query, Index, Data, FTS etc.). Se quiser ver o que cada uma das portas faz no cbping, insira a opção -v na linha de comando e você verá uma descrição de cada uma delas, como a seguir:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
Hostname Port Result Elapsed Time* Description -------- ---- ------ ------------ ----------- 172.16.40.144 8091 SUCCESS 65.0 Console REST/HTTP 172.16.40.144 8092 SUCCESS 63.0 Views, queries, XDCR, design documents 172.16.40.144 8093 [Errno 61] Connection refused 111.0 Query services REST/HTTP 172.16.40.144 8094 [Errno 61] Connection refused 111.0 Search service external HTTP 172.16.40.144 9100 SUCCESS 62.0 Internal index admin 172.16.40.144 9102 SUCCESS 59.0 Internal index HTTP 172.16.40.144 9103 [Errno 61] Connection refused 82.0 Internal index build 172.16.40.144 9104 [Errno 61] Connection refused 80.0 Internal index build 172.16.40.144 9105 SUCCESS 54.0 Internal index maintenance 172.16.40.144 9998 [Errno 61] Connection refused 93.0 Internal REST 172.16.40.144 9999 SUCCESS 59.0 Internal GSI for internal admins 172.16.40.144 11207 SUCCESS 94.0 Memcached SSL for smart client libraries 172.16.40.144 11209 SUCCESS 59.0 Internal Bucket 172.16.40.144 11210 SUCCESS 58.0 Memcached for smart client lib or Moxi 172.16.40.144 11211 SUCCESS 57.0 Pre-existing Couchbase Server & memcached (non-smart) client libraries (such as Moxi) 172.16.40.144 11214 SUCCESS 57.0 SSL XDCR data encryption 172.16.40.144 11215 [Errno 61] Connection refused 93.0 SSL XDCR data encryption 172.16.40.144 18091 SUCCESS 110.0 Web Console SSL REST/HTTP traffic 172.16.40.144 18092 SUCCESS 64.0 SSL for views access, run queries, XDCR & update design documents 172.16.40.144 18093 [Errno 61] Connection refused 114.0 N1QL SSL 172.16.40.144 4369 SUCCESS 91.0 Erlang Port Mapper 172.16.40.144 21100 SUCCESS 85.0 Node data exchange |