Monitoramento · 6 min read · Oct 20, 2025
Monitoramento de Servidores com Shinken no Ubuntu 16.04
Shinken é um framework de monitoramento de computadores e redes de código aberto escrito em python e compatível com Nagios. Shinken pode ser usado em todos os sistemas operacionais que podem executar aplicações python, como Linux, Unix e Windows. Shinken foi escrito por Jean Gabes como prova de conceito para uma nova arquitetura do Nagios, mas foi rejeitado pelo autor do Nagios e se tornou uma ferramenta independente de monitoramento de redes e sistemas que permanece compatível com o Nagios.
Neste tutorial, eu vou mostrar como instalar o Shinken a partir do código-fonte e adicionar um host Linux ao sistema de monitoramento. Eu usarei o Ubuntu 16.04 Xenial Xerus como o sistema operacional para o servidor Shinken e o host monitorado.
Passo 1 - Instalar o Servidor Shinken
Shinken é um framework python, podemos instalá-lo com pip ou instalá-lo a partir do código-fonte. Neste passo, vamos instalar o Shinken a partir do código-fonte.
Existem algumas tarefas que precisam ser concluídas antes de começarmos a instalar o Shinken.
Instale alguns novos pacotes python e crie um usuário Linux com o nome “shinken”:
sudo apt-get install python-setuptools python-pip python-pycurl
useradd -m -s /bin/bash shinkenBaixe o código-fonte do Shinken do repositório do GitHub:
git clone https://github.com/naparuba/shinken.git
cd shinken/Em seguida, instale o Shinken com o comando abaixo:
git checkout 2.4.3
python setup.py installPróximo, para melhores resultados, precisamos instalar ‘python-cherrypy3’ do repositório ubuntu:
sudo apt-get install python-cherrypy3Agora o Shinken está instalado, em seguida, adicionamos o Shinken para iniciar na inicialização e iniciá-lo:
update-rc.d shinken defaults
systemctl start shinkenPasso 2 - Instalar o Shinken Webui2
Webui2 é a interface web do Shinken disponível em shinken.io. A maneira mais fácil de instalar o webui2 do Shinken é usando o comando shinken CLI (que deve ser executado como usuário shinken).
Faça login como usuário shinken:
su - shinkenInicialize o arquivo de configuração do shinken - O comando criará um novo arquivo de configuração .shinken.ini:
shinken --initE instale o webui2 com este comando CLI do shinken:
shinken install webui2Webui2 está instalado, mas precisamos instalar o MongoDB e outro pacote python com pip. Execute o comando abaixo como root:
sudo apt-get install mongodb
pip install pymongo>=3.0.3 requests arrow bottle==0.12.8Em seguida, vá para o diretório do shinken e adicione o novo módulo webui2 editando o arquivo ‘broker-master.cfg’:
cd /etc/shinken/brokers/
vim broker-master.cfgAdicione uma nova opção dentro do módulo na linha 40:
modules webui2Salve o arquivo e saia do editor.
Agora vá para o diretório de contatos e edite o arquivo ‘admin.cfg’ para a configuração do administrador.
cd /etc/shinken/contacts/
vim admin.cfgAltere os valores mostrados abaixo:
contact_name admin # Nome de usuário 'admin'
password yourpass # Senha 'mypass'Salve e saia.
Passo 3 - Instalar Nagios-plugins e Pacotes Shinken
Neste passo, vamos instalar Nagios-plugins e alguns módulos Perl. Em seguida, instalar pacotes adicionais do shinken.io para realizar o monitoramento.
Instale Nagios-plugins e cpanminus que é necessário para construir e instalar os módulos Perl:
sudo apt-get install nagios-plugins* cpanminusInstale esses módulos Perl com o comando cpanm:
cpanm Net::SNMP
cpanm Time::HiRes
cpanm DBIAgora crie um novo link para o arquivo utils.pm no diretório shinken e crie um novo diretório para Log_File_Health:
chmod u+s /usr/lib/nagios/plugins/check_icmp
ln -s /usr/lib/nagios/plugins/utils.pm /var/lib/shinken/libexec/
mkdir -p /var/log/rhosts/
touch /var/log/rhosts/remote-hosts.logEm seguida, instale os pacotes shinken ssh e linux-snmp para monitorar fontes SSH e SNMP do shinken.io:
su - shinken
shinken install ssh
shinken install linux-snmpPasso 4 - Adicionar um Novo Host Linux/host-one
Vamos adicionar um novo host Linux que será monitorado usando um servidor Ubuntu 16.04 com endereço IP 192.168.1.121 e nome do host ‘host-one’.
Conecte-se ao host Linux host-one:
ssh [email protected]Instale os pacotes snmp e snmpd do repositório Ubuntu:
sudo apt-get install snmp snmpdEm seguida, edite o arquivo de configuração ‘snmpd.conf’ com vim:
vim /etc/snmp/snmpd.confComente a linha 15 e descomente a linha 17:
#agentAddress udp:127.0.0.1:161
agentAddress udp:161,udp6:[::1]:161Comente as linhas 51 e 53, e adicione uma nova linha de configuração abaixo:
#rocommunity mypass default -V systemonly
#rocommunity6 mypass default -V systemonly
rocommunity mypassSalve e saia.
Agora inicie o serviço snmpd com o comando systemctl:
systemctl start snmpdVá para o servidor shinken e defina o novo host criando um novo arquivo no diretório ‘hosts’.
cd /etc/shinken/hosts/
vim host-one.cfgCole a configuração abaixo:
define host{
use generic-host,linux-snmp,ssh
contact_groups admins
host_name host-one
address 192.168.1.121
_SNMPCOMMUNITY mypass # Configuração de Senha SNMP em snmpd.conf
}Salve e saia.
Edite a configuração SNMP no servidor Shinken:
vim /etc/shinken/resource.d/snmp.cfgAltere ‘public’ para ‘mypass’ - deve ser a mesma senha que você usou no arquivo de configuração snmpd no host cliente host-one.
$SNMPCOMMUNITYREAD$=mypassSalve e saia.
Agora reinicie ambos os servidores - servidor Shinken e o host Linux monitorado:
rebootO novo host Linux foi adicionado com sucesso ao servidor Shinken.
Passo 5 - Acessar o Shinken Webui2
Visite o Shinken webui2 na porta 7677 (substitua o IP na URL pelo seu IP):
Faça login com o usuário admin e sua senha (a que você definiu no arquivo de configuração admin.cfg).

Painel do Shinken no Webui2.

Nossos 2 servidores estão monitorados com Shinken.

Liste todos os serviços que estão sendo monitorados com linux-snmp.

Status de todos os hosts e serviços.

Passo 6 - Problemas Comuns com Shinken
- Problemas com o servidor NTP
Quando você recebe este erro com NTP.
TimeSync - CRITICAL ( NTP CRITICAL: No response from the NTP server)
TimeSync - CRITICAL ( NTP CRITICAL: Offset unknown )Para resolver esse problema, instale ntp em todos os hosts Linux.
sudo apt-get install ntp ntpdateEdite a configuração do ntp:
vim /etc/ntp.confComente todos os pools e substitua por:
#pool 0.ubuntu.pool.ntp.org iburst
#pool 1.ubuntu.pool.ntp.org iburst
#pool 2.ubuntu.pool.ntp.org iburst
#pool 3.ubuntu.pool.ntp.org iburst
pool 0.id.pool.ntp.org
pool 1.asia.pool.ntp.org
pool 0.asia.pool.ntp.orgEm seguida, adicione uma nova linha dentro de restrict:
# Usuários locais podem interrogar o servidor ntp mais de perto.
restrict 127.0.0.1
restrict 192.168.1.120 #endereço IP do servidor shinken
restrict ::1NOTA: 192.168.1.120 é o endereço IP do servidor Shinken.
Salve e saia.
Inicie o ntp e verifique o painel do Shinken:
tnpd- Problema check_netint.pl Não Encontrado
Baixe o código-fonte do repositório do github para o diretório lib do shinken:
cd /var/lib/shinken/libexec/
wget https://raw.githubusercontent.com/Sysnove/shinken-plugins/master/check_netint.pl
chmod +x check_netint.pl
chown shinken:shinken check_netint.pl- Problema com NetworkUsage
Há uma mensagem de erro:
ERROR : Unknown interface eth\d+Verifique sua interface de rede e edite o template linux-snmp.
No meu servidor Ubuntu, a interface de rede é ‘enp0s8’, não eth0, então eu recebi esse erro.
Edite os pacotes de template linux-snmp com vim:
vim /etc/shinken/packs/linux-snmp/templates.cfgAdicione a interface de rede à linha 24:
_NET_IFACES eth\d+|em\d+|enp0s8Salve e saia.
Referências
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.