{"id":561,"date":"2011-03-02T14:18:36","date_gmt":"2011-03-02T17:18:36","guid":{"rendered":"http:\/\/www.eriberto.pro.br\/blog\/?p=561"},"modified":"2011-10-10T17:58:23","modified_gmt":"2011-10-10T20:58:23","slug":"mensagens-jabber-via-linha-de-comando-ideal-para-servidores-de-rede","status":"publish","type":"post","link":"https:\/\/eriberto.pro.br\/blog\/2011\/03\/02\/mensagens-jabber-via-linha-de-comando-ideal-para-servidores-de-rede\/","title":{"rendered":"Mensagens Jabber via linha de comando (ideal para servidores de rede)"},"content":{"rendered":"<p>Ontem tive a necessidade de fazer um script que provesse comunica\u00e7\u00e3o comigo, informando a situa\u00e7\u00e3o de um servidor. A minha primeira ideia foi o envio de um e-mail. Mas depois pensei: poderia ser jabber! Isso faria a mensagem pipocar na tela, quando ocorresse um evento que necessite de aten\u00e7\u00e3o urgente. Ent\u00e3o, fiz um <strong><em>$ apt-cache search jabber terminal<\/em><\/strong> e apareceu, dentre outros, o <strong><em>sendxmpp<\/em><\/strong>. Com ele, foi f\u00e1cil a implementa\u00e7\u00e3o do meu desejo tecnol\u00f3gico. A manpage \u00e9 simples e clara.<\/p>\n<p>A instala\u00e7\u00e3o e a configura\u00e7\u00e3o se deu como narrarei agora. Primeiro, instalei o sendxmpp:<\/p>\n<pre># apt-get install sendxmpp<\/pre>\n<p>Depois, dentro do usu\u00e1rio root, que iria executar a tarefa agendada que dispararia o script, criei um arquivo chamado <strong><em>\/root\/.sendxmpprc<\/em><\/strong>, com permiss\u00e3o 400 (obrigat\u00f3rio) com o seguinte conte\u00fado:<\/p>\n<pre>nome_do_usuario@servidor.jabber\u00a0\u00a0 minha_senha<\/pre>\n<p>No meu caso, tenho um servidor jabber aqui na minha rede. Se quiser montar um igual, siga esta artigo: <a href=\"http:\/\/bit.ly\/jabber_sasl_tls\">http:\/\/bit.ly\/jabber_sasl_tls<\/a>. Mas voc\u00ea poder\u00e1 usar qualquer servidor. Sugiro o <strong><em>jabber-br.org<\/em><\/strong>. Veja detalhes em <a href=\"https:\/\/jabber-br.org\/\">https:\/\/jabber-br.org<\/a>. No meu caso, o nome de usu\u00e1rio foi o nome do servidor (pegasus).<\/p>\n<p>Depois disso, considerando o uso de TLS para dar mais seguran\u00e7a (op\u00e7\u00e3o -t), a linha de comando foi algo assim:<\/p>\n<pre>echo Ol\u00e1 | sendxmpp -t destinatario1@servidor.jabber destinatario2@jabber.outro.servidor<\/pre>\n<p>No caso mostrado, a palavra &#8220;Ol\u00e1&#8221; ser\u00e1 enviada para dois destinat\u00e1rios diferentes.<\/p>\n<p>S\u00f3 para que fique bem claro, a seguir, um exemplo para o alerta sobre problemas com um servidor Squid:<\/p>\n<pre># verifica problemas no log cache do squid a cada 10 min\r\n# colocar no cron como *\/10\u00a0 8-18\u00a0 *\u00a0 *\u00a0 1-5\r\n#\r\n# by eriberto - 2011\r\n\r\nTEMPO=$(date --date '1 minute ago' '+%Y:%H:%M' | cut -c 1-9)\r\n\r\ncat \/var\/log\/squid\/cache.log | grep $TEMPO | egrep '(filedescriptors|lifetime|failure)' &gt; \/tmp\/squidcon2\r\n\r\nif [ -s \/tmp\/squidcon2 ]\r\nthen\r\n echo -e \"SQUID - OCORRENCIAS IRREGULARES \\n\\n$(cat \/tmp\/squidcon2)\" | \\\r\n sendxmpp -t eriberto@servidor.jabber\r\nfi\r\n<\/pre>\n<p>O script mostrado deve ser colocado no cron e ir\u00e1 verificar a situa\u00e7\u00e3o do log cache do Squid a cada 10 minutos. Caso ocorra algum problema que possa paralisar a rede, ser\u00e1 enviada uma mensagem para o administrador via Jabber. Veja um exemplo a seguir:<\/p>\n<p style=\"text-align: center;\"><a href=\"http:\/\/www.eriberto.pro.br\/blog\/wp-content\/uploads\/2011\/03\/pegasusjabber.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-572 aligncenter\" title=\"pegasusjabber\" src=\"http:\/\/www.eriberto.pro.br\/blog\/wp-content\/uploads\/2011\/03\/pegasusjabber.jpg\" alt=\"\" width=\"362\" height=\"448\" srcset=\"https:\/\/eriberto.pro.br\/blog\/wp-content\/uploads\/2011\/03\/pegasusjabber.jpg 362w, https:\/\/eriberto.pro.br\/blog\/wp-content\/uploads\/2011\/03\/pegasusjabber-242x300.jpg 242w\" sizes=\"auto, (max-width: 362px) 100vw, 362px\" \/><\/a><\/p>\n<p>Bem, \u00e9 isso. Divirta-se!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ontem tive a necessidade de fazer um script que provesse comunica\u00e7\u00e3o comigo, informando a situa\u00e7\u00e3o de um servidor. A minha primeira ideia foi o envio de um e-mail. Mas depois pensei: poderia ser jabber! Isso faria a mensagem pipocar na tela, quando ocorresse um evento que necessite de aten\u00e7\u00e3o urgente. Ent\u00e3o, fiz um $ apt-cache&hellip;&nbsp;<a href=\"https:\/\/eriberto.pro.br\/blog\/2011\/03\/02\/mensagens-jabber-via-linha-de-comando-ideal-para-servidores-de-rede\/\" rel=\"bookmark\">Continue a ler &raquo;<span class=\"screen-reader-text\">Mensagens Jabber via linha de comando (ideal para servidores de rede)<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"neve_meta_sidebar":"","neve_meta_container":"","neve_meta_enable_content_width":"","neve_meta_content_width":0,"neve_meta_title_alignment":"","neve_meta_author_avatar":"","neve_post_elements_order":"","neve_meta_disable_header":"","neve_meta_disable_footer":"","neve_meta_disable_title":"","footnotes":""},"categories":[16,3,4,5,14,11],"tags":[624,625,228,621,622,60,623,229,226,131,49,227],"class_list":["post-561","post","type-post","status-publish","format-standard","hentry","category-debian","category-linux","category-rede","category-seguranca","category-shell","category-sistema-operacional","tag-debian","tag-internet","tag-jabber","tag-linux","tag-rede","tag-redes","tag-seguranca","tag-servidores","tag-shell-2","tag-squeeze","tag-unix","tag-xmpp"],"_links":{"self":[{"href":"https:\/\/eriberto.pro.br\/blog\/wp-json\/wp\/v2\/posts\/561","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/eriberto.pro.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/eriberto.pro.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/eriberto.pro.br\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/eriberto.pro.br\/blog\/wp-json\/wp\/v2\/comments?post=561"}],"version-history":[{"count":0,"href":"https:\/\/eriberto.pro.br\/blog\/wp-json\/wp\/v2\/posts\/561\/revisions"}],"wp:attachment":[{"href":"https:\/\/eriberto.pro.br\/blog\/wp-json\/wp\/v2\/media?parent=561"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/eriberto.pro.br\/blog\/wp-json\/wp\/v2\/categories?post=561"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/eriberto.pro.br\/blog\/wp-json\/wp\/v2\/tags?post=561"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}