Observium em Debian 9
5 Abril 2018À procura de uma solução de monitorização de redes, depois de já ter testado Zabbix (nota para a possibilidade de descarregar maquinas virtuais já pré-configuradas para testes), e com o intuito de ter uma ferramenta simples e fácil de usar, sem necessidade de grandes detalhes e relatórios profundos, optei desta vez por testar o Observium.
Actualmente o Observium consiste em duas versões principais, a versão Community e a versão Profissional. A versão Profissional é uma versão de subscrição e garante o acesso às mais recentes actualizações, bem como a uma linha de suporte. Já a versão Community, de utilização gratuita, apenas dá acesso às actualizações de 6 em 6 meses e sem acesso a uma serie de funcionalidades avançadas que neste momento não me interessam.
Servidor/Maquina Virtual
Para este tipo de servidores utilizo quase sempre uma distribuição Debian, neste caso a versão 9, que vou buscar à pagina de download do Debian, e preferencialmente as versões netinstall. Nesta implementação estou a utilizar um novo servidor VMWare ESXi 6.5. Aproveito para deixar já aqui uma dica, em muitas distribuições estão disponíveis os pacotes Open VM Tool que permitem a interacção do host directamente com o VMWare ESXi. Isto permite algumas funcionalidades extra de gestão, configuração e administração dos hosts. Em Debian, depois da instalação, basta fazer:
apt-get install open-vm-tools
Instalação Debian
Durante a instalação do Debian, nas opções de instalação de pacotes, aconselho apenas a instalação do servidor SSH.
Locals
É sempre bom, antes de iniciar a configuração do servidor, dizer geograficamente onde é que ele está, para que as horas batam certo. Pessoalmente apenas reconfiguro a Time Zone (tzdata), pois prefiro que o SO esteja sempre em inglês.
dpkg-reconfigure locales dpkg-reconfigure tzdata
Configuração de rede Debian
IP Fixo
Visto que este irá ser um servidor empresarial convém o mais possível que o IP seja fixo (até porque vão precisar dele fixo mais tarde). Usei a ajuda da Debian para o fazer, disponível aqui. Esta configuração é aplicável também em Ubuntu e todas as distros Debian based. Para definir o IP fixo, editar:
nano /etc/network/interfaces
E depois definir à eth0 os seguintes valores (substituir pelos vossos):
PS: No Ubuntu14.x e Debian 8/9 é provável que encontrem algum texto novo, colocar a configuração estática debaixo de: “source-directory /etc/network/interfaces.d”.
auto eth0 iface eth0 inet static address 10.0.0.55/24 gateway 10.0.0.1 # dns-* options are implemented by the resolvconf package, if installed dns-nameservers 10.0.0.1 dns-search <network.local>
Recordar que, podem incluir duas, ou mais, configurações de IP, especialmente quando estão a trabalhar em duas redes distintas. É só adicionar a partir de iface. A seguir convém sempre reiniciar a placa de rede para ela poder assumir o IP atribuído:
ifdown eth0 ifup eth0
DNS’s
Em alguns casos será também boa ideia definir os servidores de resolução de nomes:
nano /etc/resolv.conf
E adicionar os seguintes, OpenDNS e Google DNS, respectivamente alterado:
nameserver 208.67.222.222 nameserver 8.8.8.8 nameserver 208.67.220.220 nameserver 8.8.4.4
Preparar o servidor SSH
Debian8/9
Por defeito o servidor SSH não vem instalado. Se não o instalaram no inicio, para continuarem a configuração no conforto do “sofá” basta seguir a help do Debian e:
apt-get install openssh-server
E em principio já podem aceder remotamente a partir da vossa rede interna. No entanto, no Debian 8 o acesso SSH remoto está desactivado por defeito. Para o activar, aceder a
nano /etc/ssh/sshd_config
e depois alterar a secção de “Authentication” para:
LoginGraceTime 1m PermitRootLogin yes #StrictModes yes #MaxAuthTries 6 MaxSessions 5
Para quem como eu tive alguns problemas de acesso através do putty, em que passado algum tempo, a conexão era dropada, alterar, mais abaixo, no ficheiro de configuração (apenas descomentar):
TCPKeepAlive yes
E não esquecer depois de ativar o serviço no arranque e reiniciar o servidor de SSH
update-rc.d ssh enable service ssh restart
Instalar o pacotes necessários
Alguns pacotes que costumo instalar por defeito:
apt-get install htop
Instalar o Observium
Na documentação oficial está explicado que a instalação poderá ser feita de forma manual, ou apenas correndo um script. Visto que o objectivo é testar, decidi ir pela segunda opção e ver até que ponto o script me ajuda. Facto é que apenas me pede a password do root para o MySQL (excelente), e de resto a configuração é feita por si só. Depois de finalizar a instalação, apenas me pede para criar o username e a password de acesso ao sistema.
O processo até foi relativamente rápido para a quantidade de (512Mb) RAM e para o (2) processador que atribuí à maquina virtual.
wget http://www.observium.org/observium_installscript.sh chmod +x observium_installscript.sh ./observium_installscript.sh
Depois da instalação, a adição dos dispositivos é relativamente simples, desde que o SNMP v2c esteja activo nos equipamentos.
Actualizar o Observium
Sempre que sair uma nova versão para a versão community, há que actualizar manualmente. Para o fazer, basta seguir o manual:
service cron stop service apache2 stop cd /opt mv observium observium_old wget -Oobservium-community-latest.tar.gz http://www.observium.org/observium-community-latest.tar.gz tar zxvf observium-community-latest.tar.gz mv /opt/observium_old/rrd observium/ mv /opt/observium_old/*log* observium/ mv /opt/observium_old/config.php observium/
Não esquecer de actualizar o schema da base de dados:
/opt/observium/discovery.php -u
Se a actualização não é feita há mais de 12 meses, convém forçar a descoberta de todos os activos de rede:
/opt/observium/discovery.php -h all
Por fim, eliminar todos os ficheiros antigos:
rm observium-community-latest.tar.gz rm -rf observium_old
E reactivar o cron e o Apache
service cron start service apache2 start
Instalar o SNMP deamon (Debian) nos hosts GNU/Linux
Normalmente o Observium configura automaticamente o o servidor onde está instalado/localhost para que fique disponível nos Devices. Para os restantes hosts/devices, é necessário instalar o snmpd, que é a aplicação que permite o envio da informação SNMP de uma máquina GNU/Linux para a rede.
apt-get install snmpd
Depois de instalado, há que optimizar o ficheiro de configuração. O meu conselho é não mexer no actual e criar um novo:
mv /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.orig touch /etc/snmp/snmpd.conf nano /etc/snmp/snmpd.conf
Desta forma, com um ficheiro novo, basta introduzir as seguintes configurações:
############################################################################### # # AGENT BEHAVIOUR # # Listen for connections from the local system only #agentAddress udp:127.0.0.1:161 # Listen for connections on all interfaces (both IPv4 *and* IPv6) agentAddress udp:161,udp6:[::1]:161 ############################################################################### # # Observium # rocommunity <community> 10.0.0.0/24 syslocation <your_locaion> syscontact <your_email> com2sec readonly default <community> group <community> v1 readonly group <community> v2c readonly group <community> usm readonly view all included .1 80 access <community> "" any noauth exact all none none # This line allows Observium to detect the host OS if the distro script is installed extend .1.3.6.1.4.1.2021.7890.1 distro /usr/bin/distro # This line allows Observium to collect an accurate uptime extend uptime /bin/cat /proc/uptime # This line enables Observium's ifAlias description injection #pass_persist .1.3.6.1.2.1.31.1.1.1.18 /usr/bin/ifAlias_persist ###############################################################################
Onde <communiy> deve ser alterado para o nome da community configurada. Por fim, devemos reiniciar o deamon para que as informações sejam actualizadas:
service snmpd restart
Se tiverem sugestões ou melhorias deixem em comentário.
Script /usr/bin/distro nos hosts GNU/Linux
Este script serve essencialmente para que o Observium mostre a versão de GNU/Linux correcta.
wget https://gitlab.com/joewholden/distroscript/raw/master/distro mv distro /usr/bin/distro chmod 755 /usr/bin/distro
Agora, o ficheiro de configuração o SNMP deamon já consegue ir buscar a informação necessária!
Testar SNMP trap para hosts GNU/Linux
Sempre que for necessário testar as conexões de SNMP nos hosts, pode ser executado o seguinte comando na maquina onde está instalada o Observium:
snmpwalk -v2c -c <community> <host/ip> .1.3.6.1.4.1.2021.7890.1
Onde <community> deve ser preenchido com a community configurada e o respectivo nome de host ou IP.
Alterar/Renomear um device
Ainda não é possível alterar na própria interface web, mas é extremamente simples alterar a partir da linha de comandos. Na versões mais recentes, basta aceder à pasta do Observium, e executar o seguinte comando:
cd /opt/observium/ php rename_device.php old_device_name new_device_name
Os *_devices_name, poderão ser simplesmente os IP’s dos equipamentos.
Activar o SNMP no VMware ESXi
Para activar o SNMP no VMware ESXi, pelo menos na versão 6.x que é a que estou a usar actualmente, primeiro há que activar o acesso SSH em Host > Manage > Services > TSM-SSH, seleccionar > Actions > Start. Agora basta efectuar o acesso via SSH e correr as seguintes linhas:
esxcli system snmp set -r esxcli system snmp set -c <community> esxcli system snmp set -p 161 esxcli system snmp set -L "<your_locaion>" esxcli system snmp set -C <your_email> esxcli system snmp set -e yes
Activar o SNMP no Windows Server 2012
Retirado deste tutorial, estão aqui os passos para configurar e activar o serviço de SNMP no Windows Server 2012.
Abrir o Menu Iniciar/Start > Administrative Tools > Server Manager > Manage > Add Roles and Features. A partir daqui, em Features, seleccionar > SNMP Services > e clicar em > Next.
Se o serviço for instalado com sucesso, Menu Iniciar/Start > Administrative Tools > Services > procurar o serviço > SNMP Service > clicar com o botão direito do rato e aceder a > Properties > [tab] Security > clicar em Add > seleccionar READ ONLY em Community rights e definir em Community Name o nome da community. Na [tab] Agent > pode ser feita a configuração do Contact e do Location.
Activar o SNMP no Windows Server 2008/R2
Retirado igualmente deste tutorial, estão aqui os passos para configurar e activar o serviço de SNMP no Windows Server 2008/R2.
Abrir o Menu Iniciar/Start > Administrative Tools > Server Manager > Manage > Add Roles and Features. A partir daqui, em Features, seleccionar > SNMP Services > e clicar em > Next.
Se o serviço for instalado com sucesso, Menu Iniciar/Start > Administrative Tools > Services > procurar o serviço > SNMP Service > clicar com o botão direito do rato e aceder a > Properties > [tab] Security > clicar em Add > seleccionar READ ONLY em Community rights e definir em Community Name o nome da community. Na [tab] Agent > pode ser feita a configuração do Contact e do Location.
Bonjour Mia excellente présentation Il y aurait une autre procédure par la ligne de commande en éditant le fichier /etc/resolv.conf par le rajout des lignes : nameserver 1.1.1.1 nameserver 1.0.0.1 Bonne journée