Pacote tradicional Netcat (nc) para RHEL 6.x?

12

Estou tentando usar o modelo [Cacti] de monitoramento do Percona Apache para o Memcached .

Eles realmente alertam que você não pode usar a versão openbsd do pacote e fornecem uma solução para usuários do Ubuntu / Debian, ou seja:

Você precisa de nc no servidor. Algumas versões do nc aceitam diferentes opções de linha de comando. Você pode alterar as opções usadas configurando o script PHP. Se você não quiser fazer isso por algum motivo, poderá instalar uma versão do nc que atenda às expectativas codificadas na configuração padrão do script. No Debian / Ubuntu, o netcat-openbsd não funciona; portanto, você precisa do pacote netcat-traditional e precisa mudar para /bin/nc.traditional ...

Como a versão RHEL 6.x realmente vem do openbsd (confirmado por rpm -qi nc), como é que se consegue instalar isso no RHEL / CentOS?

Mais alguém executando esses modelos Percona no RHEL / CentOS? O que você fez? alieno pacote Debian?

Atualização 1 : FWIW, tentei usar o GNU netcat compilando-o do código-fonte, mas também não parece ter as opções exatas exigidas pelo modelo Cacti (ou seja, não há analogia para -C ou -q1, assim parece)

Atualização 2 : Eu alienígena [ed] o pacote netcat-traditional_1.10-38_amd64.deb para criar um .tgz e ele produz um "nc.traditional" binário e essa versão tem a opção -q mas não -C

Atualização 3 : Eu aliei [ed] netcat-openbsd_1.89-3ubuntu2_amd64.deb conforme sugerido pelo cjc e, embora ele ofereça as opções -C e -q, ele não parece funcionar com o modelo. Também removi a opção -q1 do nc_cmd, conforme sugerido pelo quanta. Ainda não representa graficamente ou produz saída a partir da linha de comando.

Atualização 4 : Criei o RPM de origem, conforme sugerido por dmourati, e deixei de fora o -q1, conforme sugerido pelo quanta, e ainda assim ele não representa graficamente ou produz saída a partir da linha de comando. Talvez a solução RPM de origem e / ou não passando -q1 funcione no RHEL 5.x, não sei. Neste ponto, admito derrota.

Felicidades

HTTP500
fonte
Hmm. Aqui está um rpm "tradicional do netcat" para 5.x: rpm.pbone.net/index.php3/stat/4/idpl/2392833/dir/redhat_5.x/com/… Você pode fazer algo com o SRPM, em termos de construção no RHEL / CentOS 6.x.
CJC
@cjc, veja minha atualização 2 Espero o mesmo problema com esse RPM.
HTTP500 26/06
hmm, olhando mais de perto a nc instalada no meu Ubuntu 10.04, vejo que a versão que possui "-C" e "-q1" é a do openbsd, versão 1.89-3ubuntu2. O nc.tradicional não. Tente alienar netcat-openbsd talvez?
CJC
4
É quase como se os criadores de modelos estivessem trollando de propósito. ! "A instalação deste modelo é fácil Apenas certifique-se o seu netcat tem tanto -C e opções -q disponível <mal sorriso>"
Janne Pikkarainen

Respostas:

2

instale o pacote chamado nmap-ncat e verifique-o.

Manoj K
fonte
-1

Aqui está uma solução parcial (e oposta) que aborda o -C, mas não o -q.

Eu comecei aqui:

http://www.reidea.hu/netcatcrlf/

Isso pelo menos explica o que a opção -C deve fazer, forneça um CRLF.

Essa página me levou a um bugzilla antigo:

https://bugzilla.redhat.com/show_bug.cgi?id=203931

Lá, você pode encontrar um SRPM corrigido para o problema -C.

https://bugzilla.redhat.com/attachment.cgi?id=134827

Faça o download desse SRPM, reconstrua-o (funciona bem no meu ambiente de construção do CentOS 6 RPM) e você poderá instalar o nc resultante. Verifique a página de manual, voila, suporte para -C.

-C Enviar CRLF como final de linha

Para minha própria edificação, o que a opção -q1 faz?

EDIT : Ah, eu vejo o -q1 é sair após 1 segundo. Para o netcat acima, a opção é "-w" para tempo limite. Você pode fazer essa alteração simples no script percona e colocar seus gráficos em funcionamento. Passe um EOF conforme necessário.

dmourati
fonte
1
Minha impressão é que o "-q1" difere do tempo limite "-w". O último é o tempo limite para estabelecer uma conexão. O primeiro, pelo menos de acordo com os documentos, é um atraso no fechamento de uma conexão estabelecida.
CJC
-1

Na minha caixa do Ubuntu 10.04, vejo que a versão que possui "-C" e "-q1" é a do openbsd, versão 1.89-3ubuntu2. De fato, o nc.tradicional não.

Tente alienar o pacote netcat-openbsd, talvez?

Curiosamente, as várias fontes de netcat na Internet não possuem o conjunto completo de recursos oferecidos pela versão do Ubuntu. Eu não olhei o manifesto do pacote Ubuntu para ver o que eles fizeram.

cjc
fonte
Recompensa premiada por atender aos critérios publicados, mas observe que esta solução não funciona para o problema mais amplo (por exemplo, com o modelo Memconached do Percona Cacti), portanto, não oferece a melhor resposta.
HTTP500
-1

Você pode usar a opção de configuração nc_cmd no modelo, conforme declarado no comentário logo acima do seu último comentário, para o relatório de erros no projeto de modelo do Google Code Cacti, no qual você vinculou a esta pergunta.

Além disso, você deve saber que está usando modelos desatualizados. Conforme declarado no projeto Better Cacti Templates, esse projeto foi descontinuado e agora faz parte dos plugins de monitoramento da Percona. Consulte http://www.percona.com/software/percona-monitoring-plugins/ e observe que este software é totalmente coberto pelos contratos de consultoria ou suporte da Percona, o que é uma ótima maneira de obter ajuda com a instalação. Ou, no caso improvável de haver uma incompatibilidade real que não permita a instalação dos modelos como estão, você poderá obter correções de bugs no software.

Barão Schwartz
fonte
Eu estou usando o modelo Plugins Percona Monitoramento conforme indicado no post original. Eu adicionei um comentário a esse tópico por frustração, minhas desculpas. E editei a opção de configuração nc_cmd no arquivo ../scripts/ss_get_by_ssh.php. É apenas esse modelo que me causou pesar e provavelmente não merece um contrato de suporte / consultoria no momento, mas obrigado pela sugestão.
HTTP500 27/06/12
Oh, meu erro, desculpe por não ler atentamente o suficiente. Eu pulei para uma conclusão. De qualquer forma, nc_cmd deve ser a solução certa, a menos que exista algo sobre o nc que você esteja usando que simplesmente impeça que ele funcione. Se puder funcionar, deve ser uma questão de encontrar as opções corretas para usar no seu nc.
Baron Schwartz
-3

Como alternativa, você pode escrever seu próprio invólucro usando as opções corretas e ignorar todos os outros. Salvando-o e use-o nos plugins de monitoramento percona. Como isso soa?

Dodger Web
fonte
Um wrapper não seria capaz de implementar a funcionalidade fornecida por essas opções. A menos que você esteja sugerindo que ele reescreva o próprio netcat.
Chutz # 31/12
-6
yum install nc
up2date install nc

e mude o script se precisar

GioMac
fonte
1
Você leu a nota em que eu disse que a versão que vem do Red Hat usa a versão openbsd do nc, certo?
HTTP500 14/06/12
"Você pode alterar as opções usadas configurando o script PHP" e alterar o script, se necessário
GioMac
A opção usada pelo script que não está presente na versão RHEL é -q1. Você pode sugerir uma opção análoga? Obrigado!
HTTP500 14/06/12
Ah, provavelmente eu encontraria o código fonte do netcat de que preciso e crie o RPM, ou o compile e instale diretamente (make, make install).
GioMac