Tag: linux

SSH muito lento (de uma máquina Linux para outra). Como resolver?

Estava com esse problema em alguns servidores na minha rede local: quando tentava logar em alguma máquina, demorava muito pra pedir a senha. Encontrei a resposta:

Se você utilizar o parâmetro -v no ssh, você poderá descobrir o que é que está acontecendo, como no exemplo:

ssh -v tiago@192.168.0.1

No meu caso, a autenticação começava a ficar lenta quando chegava aqui:

debug1: Next authentication method: gssapi-with-mic
debug1: Unspecified GSS failure.  Minor code may provide more information
Cannot determine realm for numeric host address

Aí pra resolver o problema, basta desabilitar o parâmetro GSSAPIAuthentication, assim:

ssh -o GSSAPIAuthentication=no tiago@192.168.0.1

Se você preferir, pode deixar a mudança permentente, alterando o arquivo /etc/ssh/ssh_config (da máquina que você está utilizando para acessar o servidor, e não do servidor!) e descomentando (remover o #) a linha:

GSSAPIAuthentication no

Dessa forma você não vai precisar passar o parâmetro toda vez que for utilizar o SSH.

Fonte: https://forums.oracle.com/forums/thread.jspa?threadID=2393548


Monitorando servidores remotos com o Nagios NRPE no Linux Centos 6

Há algum tempo atrás, escrevi um artigo sobre como instalar o Nagios em um servidor Linux Centos 5, e posteriormente atualizei para que funcionasse também no Centos 6 Minimal.

No artigo que escrevi, mostro como o Nagios pode monitorar a própria máquina, e agora irei mostrar como monitorar outras máquinas com o NRPE (Nagios Remote Plugin Executor).

Se você nunca instalou o Nagios, é importante que instale seguindo as instruções do artigo.

Para o exemplo, irei considerar duas máquinas:

  • Servidor – Servidor de monitoramento, com IP: 192.168.0.247
  • Cliente – Cliente que será monitorado, com IP: 192.168.0.248

O procedimento deve ser executado em uma máquina com instalação limpa do Centos 6 Minimal para que funcione corretamente. É importante que antes de testar em uma máquina de produção, você simule em máquinas virtuais.

As duas máquinas deverão estar com acesso à internet e com a rede local configurada.

Atenção! O Servidor já deverá estar como Nagios instalado. Se você ainda não fez isso, siga as instruções do artigo citado acima!

Execute os passos abaixo para instalar o NRPE no cliente (que será monitorado).

Obs.: Se os códigos abaixo aparecerem sem o destaque, acesse o link direto do artigo aqui.

Todos os comandos abaixo devem ser executados como root. Antes de começar, adquira permissões de root e atualize o sistema:

su -l
yum update

1. Pré-requisitos

yum install openssl-devel xinetd make gcc perl

2. Dados para acesso

useradd nagios
passwd nagios

3. Baixe os plugins e o NRPE

Baixe os arquivos para instalação do NRPE e dos Plugins (visite http://www.nagios.org/download/ para a última versão). Esse passo-a-passo foi testado com o NRPE 2.12 e Nagios Plugins 1.4.11.

mkdir ~/downloads
cd ~/downloads
wget http://ufpr.dl.sourceforge.net/project/nagiosplug/nagiosplug/1.4.11/nagios-plugins-1.4.11.tar.gz
wget http://ufpr.dl.sourceforge.net/project/nagios/nrpe-2.x/nrpe-2.12/nrpe-2.12.tar.gz

4. Instale os plugins

tar xzf nagios-plugins-1.4.11.tar.gz
cd nagios-plugins-1.4.11
./configure --with-nagios-user=nagios --with-nagios-group=nagios
make
make install
chown nagios.nagios /usr/local/nagios
chown -R nagios.nagios /usr/local/nagios/libexec

5. Instale o NRPE

cd ~/downloads
tar xzf nrpe-2.12.tar.gz
cd nrpe-2.12
./configure 
make all
make install-plugin
make install-daemon
make install-daemon-config
make install-xinetd

6. Configurações adicionais do NRPE

Adicione o serviço do NRPE no arquivo /etc/services. Por algum motivo que desconheço, quando copio e colo a linha a ser adicionada, eu tenho um problema (mais adiante) ao configurar a máquina servidor para se conectar com o cliente. Retorna uma mensagem como essa: CHECK_NRPE: Error – Could not complete SSL handshake. Então recomendo que você não copie e cole a linha abaixo, e sim digite ela no arquivo /etc/services (vi /etc/services):

nrpe      5666/tcp     #NRPE

Adicione o xinetd para iniciar quando a máquina ligar, e reinicie o xinetd

chkconfig xinetd on
service xinetd restart

Verifique se o NRPE está ouvindo na porta 5666

netstat -at |grep nrpe

A saída deve ser algo como:

tcp    0    0 *:nrpe    *.*    LISTEN

Verifique se o NRPE está funcionando:

/usr/local/nagios/libexec/check_nrpe -H localhost

A saída deve ser algo como:

NRPE v2.12

Agora que verificamos que o NRPE está funcionando, abra o arquivo /etc/xinetd.d/nrpe e na linha "only_from", troque o IP 127.0.0.1 pelo IP do servidor de monitoramento. No nosso caso:

only_from       = 192.168.0.247

Abra a porta 5666 no Firewall:

/sbin/iptables -I INPUT -p tcp --dport 5666 -j ACCEPT
/etc/init.d/iptables save
/etc/init.d/iptables restart

Agora execute os passos abaixo para instalar o NRPE no servidor (máquina que irá monitorar as outras)

7. Instale os pré-requisitos

yum -y install openssl-devel

8. Baixe o NRPE

Baixe os arquivos para instalação do NRPE (visite http://www.nagios.org/download/ para a última versão). Esse passo-a-passo foi testado com o NRPE 2.12.

cd ~/downloads
wget http://prdownloads.sourceforge.net/sourceforge/nagios/nrpe-2.12.tar.gz

9. Instale o NRPE

tar xzf nrpe-2.12.tar.gz
cd nrpe-2.12
./configure 
make all
make install-plugin

10. Testando a conexão com o cliente. Lembre-se de trocar pelo IP correto

/usr/local/nagios/libexec/check_nrpe -H 192.168.0.248

Se você receber o erro CHECK_NRPE: Error – Could not complete SSL handshake, veja novamente o passo 6.

Deverá retornar algo como:

NRPE v2.12

11. Crie a definição de comando do NRPE

Adicione ao arquivo /usr/local/nagios/etc/objects/commands.cfg (vi /usr/local/nagios/etc/objects/commands.cfg):

###############################################################################
# NRPE CHECK COMMAND
#
# Command to use NRPE to check remote host systems
###############################################################################

define command{
        command_name check_nrpe
        command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
        }

12. Crie um template

Adicione ao arquivo /usr/local/nagios/etc/objects/linux-box-remote.cfg (vi /usr/local/nagios/etc/objects/linux-box-remote.cfg):

define host{
          name                  linux-box-remote 		; Name of this template
          use                   generic-host			; Inherit default values
          check_period          24x7
          check_interval        5
          retry_interval        1
          max_check_attempts    10
          check_command         check-host-alive
          notification_period   24x7
          notification_interval 30
          notification_options  d,r
          contact_groups        admins
          register              0 						; DONT REGISTER THIS - ITS A TEMPLATE	
          }

define host{
          use       linux-box-remote; 
          host_name cliente			; Nome do servidor (curto)
          alias     cliente			; Nome do servidor (pode ser maior)
          address   192.168.0.248   ; IP do cliente
          }

define service{
          use                 generic-service
          host_name           cliente
          service_description CPU Load
          check_command       check_nrpe!check_load
          }
define service{
          use                 generic-service
          host_name           cliente
          service_description Current Users
          check_command       check_nrpe!check_users
          }
define service{
          use                 generic-service
          host_name           cliente
          service_description /dev/hda1 Free Space
          check_command       check_nrpe!check_hda1
          }
define service{
          use                 generic-service
          host_name           cliente
          service_description Total Processes
          check_command       check_nrpe!check_total_procs
          }
define service{
          use                 generic-service
          host_name           cliente
          service_description Zombie Processes
          check_command       check_nrpe!check_zombie_procs
          }

13. Ative o template linux-box-remote.cfg.

Abra o arquivo /usr/local/nagios/etc/nagios.cfg (vi /usr/local/nagios/etc/nagios.cfg) e adicione:

#Definicoes para monitoramento de máquina linux remota
cfg_file=/usr/local/nagios/etc/objects/linux-box-remote.cfg

14. Verifique se as configurações estão corretas

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

Deverá retornar algo como:

Total Warnings: 0
Total Errors:   0

Things look okay - No serious problems were detected during the pre-flight check

15. Reinicie os serviços e acesse o nagios

service httpd restart
service nagios restart

Agora é só acessar o servidor: 192.168.0.247/nagios e logar com o usuário nagiosadmin (e a senha que você definiu

Pronto! Agora você já pode monitorar suas máquinas remotas com o Nagios! Dúvidas? Use os comentários!

Fonte: http://www.kernelhardware.org/nagios-nrpe-to-monitor-remote-linux-server/


Enviando e-mails pelo terminal ou por um script Shell no Centos Linux 6

Enviar e-mails é uma coisa bastante útil quando se utiliza rotinas automáticas, como backups, por exemplo. Abaixo mostro uma dica rápida de como fazer isso.

Nos testes utilizei o Centos 6.3 minimal, que é a versão mais "básica" do CentOS.

Antes de começar, instale o sendmail. Lembre de estar logado como root:

yum install sendmail #Instalando sendmail
chkconfig sendmail on #Configurando para iniciar servico quando o computador ligar

Depois é só seguir o exemplo abaixo para enviar um e-mail:

echo "CORPO DO E-MAIL" | mail -s "ASSUNTO DO E-MAIL" endereco@do.email

Troque ASSUNTO DO E-MAIL, CORPO DO E-MAIL e endereco@do.email pelas informações corretas, e pronto! É claro que esse é um exemplo bem simplificado, útil para enviar alertas ao administrador de um servidor. Se quizer mais detalhes, veja o link abaixo.

Fonte: http://www.dicas-l.com.br/arquivo/enviar_email_com_msmtp.php


Configurando máquinas com ou sem horário de verão brasileiro no Centos Linux 6, Ubuntu 10.04 ou Mint 13

Se você, assim como eu, está com problemas em relação ao horário de verão em alguma máquina com o CentOS Linux, três linhas de código resolvem seu problema.

A dica abaixo foi testada inicialmente no CentOS, mas posteriormente testei no Linux Mint 13 (Maya) e Ubuntu 10.04 (Lucid Lynx). Provavelmente deverá funcionar também nas versões mais recentes do Ubuntu, no Debian e no Fedora.

Não se esqueça de executar os comandos como root, digitando su antes de começar, se estiver usando o CentOS, ou sudo antes de cada comando se estiver usando Ubuntu ou Linux Mint. No caso do Debian e do Fedora, não me lembro se já vem com senha de root ou com sudo definido.

Caso a máquina esteja em um local do Brasil que não está no horário de verão:

#FAZENDO BACKUP DO ARQUIVO QUE DEFINE A HORA DO SISTEMA
cp /etc/localtime /etc/localtime_bkp

#COPIANDO ARQUIVO REFERENTE AO TIMEZONE DE RECIFE, SEM HORARIO DE VERAO
cp /usr/share/zoneinfo/America/Recife /etc/localtime

#ATUALIZANDO A HORA
ntpdate br.pool.ntp.org pool.ntp.org

Caso a máquina esteja em um local do Brasil que está no horário de verão:

#FAZENDO BACKUP DO ARQUIVO QUE DEFINE A HORA DO SISTEMA
cp /etc/localtime /etc/localtime_bkp

#COPIANDO ARQUIVO REFERENTE AO TIMEZONE DE SAO PAULO, COM HORARIO DE VERAO
cp /usr/share/zoneinfo/America/Sao_Paulo /etc/localtime

#ATUALIZANDO A HORA
ntpdate br.pool.ntp.org pool.ntp.org

Mais informações:


Fontes para Windows não funcionam no Centos Linux 6

Para resolver esse pequeno problema, copie todas as fontes que você quer para o diretório /usr/share/fonts

Atualize o sistema:

yum update

Instale as dependências:

yum install freetype

Se sua instalação for x86_64 (64 bits), instale o pacote rpm fontconfig-2.8.0-3.el6.x86_64.rpm:

rpm -Uvh ftp://mirror.switch.ch/pool/1/mirror/scientificlinux/6rolling/x86_64/os/Packages/fontconfig-2.8.0-3.el6.x86_64.rpm

Se sua instalação for i386 (32 bits), instale o pacote rpm fontconfig-2.8.0-3.el6.i686.rpm:

rpm -Uvh ftp://mirror.switch.ch/pool/1/mirror/scientificlinux/6rolling/i386/os/Packages/fontconfig-2.8.0-3.el6.i686.rpm

Se os endereços acima não funcionarem, você pode procurar um outro pelo site rpm.pbone.net

E por último, basta rodar o seguinte comando:

fc-cache -f -v

Caso esteja utilizando um servidor web como Tomcat ou Apache, talvez seja necessário reiniciar o serviço para que as alterações façam efeito.

Fonte: http://www.centos.org/modules/newbb/viewtopic.php?topic_id=39629&forum=55


Como descobrir no número do processo de um programa (Ex.: java) no CentOS Linux

Eventualmente precisamos saber o número do processo de um programa.

Os números de todos os processos rodando no sistema podem ser obtidos a partir do comando:

ps aux

Se você quizer sabe o número – e apenas o número – de processo de um programa específico, como por exemplo, o Java? Você pode fazer essa forma:

/sbin/pidof java

Caso você queira outras informações, além do número do precesso, pode fazer dessa forma:

ps aux | grep java

Procedimento testado no CentOS Linux 6.3


Instalando o Nagios no Linux CentOS 5 ou CentOS 6

O Nagios, como talvez você já saiba, é um software para monitoramento de servidores. Não é o objetivo desse artigo explicar o que o Nagios faz, mas sim, como instalar rapidamente no CentOS. Inicialmente o procedimento foi executado no CentOS 5, mas foi atualizado para ser instalado tanto no Centos 5, quanto no CentOS 6.

Recomendo que utilize uma nova instalação (e de preferência que teste primeiro uma máquina virtual), e com acesso à internet.

Todos os comandos abaixo devem ser executados como root. Antes de começar, adquira permissões de root e atualize o sistema:

su -l
yum update

1. Pré-requisitos

Instale os seguintes pacotes:

yum install httpd php
yum install gcc glibc glibc-common
yum install gd gd-devel

Se você estiver instalando no CentOS 6 Minimal, instale também os seguintes pacotes:

yum install perl make

2. Dados para acesso

Crie o usuário nagios e defina a senha:

/usr/sbin/useradd -m nagios
passwd nagios

Crie o grupo nagcmd para permitir comandos externos, enviados pela interface web. Os usuários nagios e apache devem fazer parte desse grupo:

/usr/sbin/groupadd nagcmd
/usr/sbin/usermod -a -G nagcmd nagios
/usr/sbin/usermod -a -G nagcmd apache

3. Baixe o Nagios e os Plugins

Crie um diretório para armezenar os arquivos temporariamente:

mkdir ~/downloads
cd ~/downloads

Baixe os arquivos para instalação do Nagios e dos Plugins (visite http://www.nagios.org/download/ para a última versão). Esse passo-a-passo foi testado com o Nagios 3.1.1 e Nagios Plugins 1.4.11.

wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.2.3.tar.gz
wget http://nagios-plugins.org/download/nagios-plugins-1.4.11.tar.gz

4. Compile e instale o Nagios

cd ~/downloads
tar xzf nagios-3.2.3.tar.gz
cd nagios-3.2.3

Execute os comandos abaixo para compilar e instalar o Nagios:

./configure --with-command-group=nagcmd
make all
make install
make install-init
make install-config
make install-commandmode

5. Configure o Nagios

Um arquivo de configuração de exemplo está no diretório /usr/local/nagios/etc

Edite o arquivo /usr/local/nagios/etc/objects/contacts.cfg e altere o e-mail associado para que você possa receber alertas:

vi /usr/local/nagios/etc/objects/contacts.cfg

6. Configure a interface web

make install-webconf

Crie o usuário nagiosadmin e digite a senha duas vezes. Não esqueça essa senha, pois ela será necessária para o acesso pela interface web:

htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

Reinicie o Apache:

service httpd restart

7. Compile e instale os Plugins

cd ~/downloads
tar xzf nagios-plugins-1.4.11.tar.gz
cd nagios-plugins-1.4.11
./configure --with-nagios-user=nagios --with-nagios-group=nagios
make
make install

8. Inicie o Nagios

Configurar para que o Nagios inicie automaticamente quando o sistema iniciar:

chkconfig --add nagios
chkconfig nagios on

Verificar o arquivo de configuração:

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

Se não tiver erros (Errors ou Warnings):

service nagios start

9. Modifique as configurações SELinux

O CentOS vem com o SELinux (Security Enhanced Linux) instalado e configurado no modo "Enforcing" por padrão. Isso pode resultar em um "Internal Server Error" (Erro Interno do Servidor). Para alterar isso, digite:

setenforce 0

Para tornar a alteração permanente, altere o arquivo /etc/selinux/config e deixe a linha SELINUX=disabled

vi /etc/selinux/config

Caso prefira, ao invés de desabilitar o SELinux ou modificar para o modo permissivo, você pode utilizar os comandos abaixo para rodar CGIs no modo "Enforcing" do SELinux:

chcon -R -t httpd_sys_content_t /usr/local/nagios/sbin/
chcon -R -t httpd_sys_content_t /usr/local/nagios/share/

10. Configure o Firewall

Libere a porta 80 no Firewall:

/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT
/etc/init.d/iptables save
/etc/init.d/iptables restart 

11. Acesse pela Interface Web

Acesse o Nagios pela interface web, pelo seu navegador:

http://localhost/nagios/

Se você estiver instalando em uma máquina remota, troque "localhost" pelo IP do servidor.

Fonte: http://nagios.sourceforge.net/docs/3_0/quickstart-fedora.html

 


O que significa o load average, do comando top, no Linux?

Um dos recursos "emergenciais" para que um administrador de sistemas Linux consiga entender um eventual problema com uma máquina é o load average.

Na verdade, é um conjunto de três números (Ex.: load average: 0.39, 0.66, 0.85) que dão a média de utilização de CPU em intervalos de tempo. Mas como interpretar esses valores?

O primeiro valor representa a média no último 1 minuto, o segundo 5 minutos, e o terceiro 15 minutos. Se você possui um servidor com apenas um núcleo, o ideal é que o load average esteja em 1.00.

Um valor de 1.00 significa que o processador está 100% utilizado, e não tem nenhuma sobrecarga. Um valor de 1.50 significa que o processador está com 100% de uso, e 50% de sobrecarga. E assim por diante.

Se seu servidor tiver 2 processadores (núcleos), o valor ideal é 2.00. Se tiver 3 processadores, o valor ideal é 3.00. E assim por diante.

Mas e se o valor estiver sempre alto, quer dizer que temos que colocar mais processadores?

Não. Pode ser ocasionado por vários fatores. Ex.: Disco lento ou com problemas, rede lenta, pouca memória (fazendo swap) etc.

Se o valor estiver muito baixo, também não quer dizer que é melhor. Pode ser que por algum dos motivos citados a cima, o processador não esteja conseguindo utilizar todos os recursos.

Esse valores também podem ser obtidos a partir do comando uptime. O valor de carga no momento atual (sem considerar a média) pode ser obtido a partir do comando: cat /proc/loadavg

Mais informações:


Listar os subdiretórios (subpastas) de um diretório (pasta) no Linux

Precisei disso hoje. Pra quem também estiver precisando, vai aqui o comando (execute no Terminal):

ls -d */

Resolvendo problema com Amarok no Linux: Após pausar música, volume volta em 100%

Essa é uma dica rápida pra quem está passando por esse problema. Aconteceu comigo e após uma pequena pesquisa, consegui resolver.

O procedimento foi testado no Linux Mint Debian Edition, mas deverá funcionar normalmente no Ubuntu e Debian.

Pelo que pesquisei, o problema não é no Amarok, mas sim no Phonon, que é uma API multimídia criada para abstrair o gerenciamento multimídia no KDE. Além de outras coisas, isso faz com que o Amarok possa funcionar no Windows e MacOS, por exemplo.

Enfim, sem entrar em maiores detalhes, o post que encontrei me sugeriu trocar o pacote phonon-backend-vlc pelo phonon-backend-gstreamer. Pra isso, digite o seguinte no Terminal:

sudo apt-get update
sudo apt-get remove phonon-backend-vlc
sudo apt-get install phonon-backend-gstreamer

Depois é só fechar e abrir o Amarok, que deve funcionar normalmente. Pelo menos funcionou comigo 🙂

Mais informações:


  • Publicidade

  • Redes Sociais

    Facebook  Twitter
  • Estatísticas

    Page Views (desde março de 2010):

    Estatísticas detalhadas
  • Novidades por e-mail!

    Digite seu e-mail:


    Fique tranquilo. Seu e-mail não será usado para outros fins, e você poderá se descadastrar quando quizer.

    Eu!

    Tiago Passos
    Todo o conteúdo desse site esta licenciado sob a licença Creative Commons 3.0 (CC BY 3.0). Você pode copiar e modificar o conteúdo desde que cite o autor.
    iDream theme by Templates Next | Powered by WordPress