Nagios: mudanças entre as edições
Ir para navegação
Ir para pesquisar
(Criou página com '== Sobre == Olá! Visitante, reunimos aqui, informações sobre a ferramenta Nagios, Sistema de Monitoramento de Hosts e Serviços, utilizando protocolos de Redes. Nagios é...') |
|||
Linha 104: | Linha 104: | ||
nano /etc/apache2/mods-enabled/mime.conf e remover (#) na linha "#AddHandler cgi-script .cgi" | nano /etc/apache2/mods-enabled/mime.conf e remover (#) na linha "#AddHandler cgi-script .cgi" | ||
service apache restart | service apache restart | ||
== Cadastrar Grupos == | |||
* Editar /usr/local/nagios/etc/nagios.cfg | |||
nano /usr/local/nagios/etc/nagios.cfg | |||
* Adicionar o caminho do .cfg (config) dos serviços para estes hosts. | |||
# Definitions for monitoring from groups | |||
cfg_file=/usr/local/nagios/etc/objects/groups.cfg | |||
* Fazer uma cópia do arquivo /usr/local/nagios/etc/objects/localhost.cfg em /usr/local/nagios/etc/objects/groups.cfg | |||
cp /usr/local/nagios/etc/objects/localhost.cfg /usr/local/nagios/etc/objects/groups.cfg | |||
* Remover todas as linhas que não são referentes ao HOST GROUP DEFINITION, deixando como no exemplo: | |||
* ATENÇÃO: Para criar um novo grupo, apenas faça como no exemplo abaixo e para adicionar um host em um grupo, seja um novo ou já existente, apenas coloque ao lado de members, o nome do host que irá pertencer ao grupo, separando por vírgulas. | |||
############################################################################### | |||
############################################################################### | |||
## HOST GROUP DEFINITION | |||
################################################################################ | |||
############################################################################### | |||
# Definições para o grupo de máquinas Linux | |||
define hostgroup{ | |||
hostgroup_name linux-servers ; Nome do Grupo | |||
alias Grupo de Servidores Linux ; Nome Completo do Grupo | |||
members localhost ; Membros (hosts) que iram participar do grupo, separados por (, ) | |||
} | |||
# Definições para o grupo de máquinas windows | |||
define hostgroup{ | |||
hostgroup_name windows-servers ; Nome do Grupo | |||
alias Windows Desktops ; Nome Completo do Grupo | |||
members windows_10 ; Membros (hosts) que iram participar do grupo, separados por (, ) | |||
} | |||
== Cadastrar Hosts Linux == | |||
* Editar /usr/local/nagios/etc/nagios.cfg | |||
nano /usr/local/nagios/etc/nagios.cfg | |||
* Adicionar o caminho do .cfg (config) dos hosts Servidores Linux. | |||
# Definitions for monitoring the (Linux) host | |||
cfg_file=/usr/local/nagios/etc/objects/linux.cfg | |||
* Fazer uma cópia do arquivo /usr/local/nagios/etc/objects/localhost.cfg em /usr/local/nagios/etc/objects/linux.cfg | |||
cp /usr/local/nagios/etc/objects/localhost.cfg /usr/local/nagios/etc/objects/linux.cfg | |||
* Editar o Arquivo linux.cfg | |||
nano /usr/local/nagios/etc/objects/linux.cfg | |||
* Alterar apenas host_name, alias, address para o host linux a ser monitorado. | |||
* Editar /usr/local/nagios/etc/objects/localhost.cfg | |||
nano /usr/local/nagios/etc/objects/localhost.cfg | |||
* Remover as linhas referente aos serviços e grupos, mantendo apenas o que for localhost | |||
== Cadastrar Hosts Windows == | |||
* Editar /usr/local/nagios/etc/nagios.cfg | |||
nano /usr/local/nagios/etc/nagios.cfg | |||
* Adicionar o caminho do .cfg (config) dos hosts Windows. | |||
# Definitions for monitoring a Windows desktop | |||
cfg_file=/usr/local/nagios/etc/objects/windows_server.cfg | |||
* Fazer uma cópia do arquivo /usr/local/nagios/etc/objects/windows.cfg em /usr/local/nagios/etc/objects/windows_server.cfg: | |||
cp /usr/local/nagios/etc/objects/windows.cfg /usr/local/nagios/etc/objects/windows_server.cfg | |||
* Modificar conforme o exemplo abaixo: | |||
############################################################################### | |||
############################################################################### | |||
# | |||
# HOST DEFINITIONS | |||
# | |||
############################################################################### | |||
############################################################################### | |||
# Definição do host Windows que será monitorado, para cada novo host windows | |||
# copie e cole os paremetros abaixo e modifique o host_name, alias, address. | |||
define host{ | |||
use windows-server ; Template que será utilizado | |||
host_name windows_10 ; Nome do host a ser monitorado | |||
alias Windows_10_Finaceiro ; Nome completo do host | |||
address 192.168.200.117 ; Endereço IP do host | |||
} | |||
############################################################################### | |||
############################################################################### | |||
# | |||
# SERVICE DEFINITIONS | |||
# | |||
############################################################################### | |||
############################################################################### | |||
#>>> Estes serviços são diferentes do arquivo services.cfg, pois aqui estamos utilizando | |||
#>>> o plugin NSClient no host windows, para ser possivel a execução de comandos no host. | |||
#>>> Para atribuir os serviços em cada host cadastrado acima , é necessário incluir em cada | |||
#>>> Serviço no campo host_name: ex. host_name windows_10, windows_2012, ... | |||
# Create a service for monitoring the version of NSCLient++ that is installed | |||
# Change the host_name to match the name of the host you defined above | |||
define service{ | |||
use generic-service | |||
host_name windows_10 | |||
service_description NSClient++ Version | |||
check_command check_nt!CLIENTVERSION | |||
} | |||
... | |||
== Cadastrar Serviços == | |||
* Editar /usr/local/nagios/etc/nagios.cfg | |||
nano /usr/local/nagios/etc/nagios.cfg | |||
* Adicionar o caminho do .cfg (config) dos serviços para estes hosts. | |||
# Definitions for monitoring the Services | |||
cfg_file=/usr/local/nagios/etc/objects/services.cfg | |||
* Fazer uma cópia do arquivo /usr/local/nagios/etc/objects/localhost.cfg em /usr/local/nagios/etc/objects/services.cfg | |||
cp /usr/local/nagios/etc/objects/localhost.cfg /usr/local/nagios/etc/objects/services.cfg | |||
* Remover todas as linhas antes de : SERVICE DEFINITIONS, mantendo apenas as informações dos comentários para baixo. | |||
Em: host_name, adicionar o nome dos hosts que serão monitorados, como no exemplo: | |||
host_name localhost, server-logs | |||
== NAGIOS Mandando E-mail == | |||
* Editar o arquivo /usr/local/nagios/etc/objects/contacts.cfg | |||
nano /usr/local/nagios/etc/objects/contacts.cfg | |||
* Configurar conforme exemplo para o nagios enviar e-mail: | |||
define contact{ | |||
contact_name nagiosadmin ; Nome curto do contato | |||
use generic-contact ; Template que será utilizado generic-contacts | |||
alias Nagios Admin ; Nome completo do Usuário | |||
host_notification_period 24x7 ; Tempo de notificação de host | |||
service_notification_period 24x7 ; Tempo de notificação de serviço | |||
host_notification_options d,u,r ; Opções de notificação de host (d= Down, u= Unknown, r= Recovery) | |||
service_notification_options u,c,r ; Opções de notificações de serviço (u= Unknown c= Critical r= Recovery) | |||
host_notification_commands notify-host-by-email ; Opção de host para notificar por e-mail | |||
service_notification_commands notify-service-by-email ; Opção de serviço para notificar por e-mail | |||
email [email protected] ; <<***** Altere para o seu e-mail | |||
} | |||
== Exemplo de arquivo para Windows Server == | |||
############################################################################### | |||
# WINDOWS.CFG - SAMPLE CONFIG FILE FOR MONITORING A WINDOWS MACHINE | |||
# | |||
# | |||
# NOTES: This config file assumes that you are using the sample configuration | |||
# files that get installed with the Nagios quickstart guide. | |||
# | |||
############################################################################### | |||
############################################################################### | |||
############################################################################### | |||
# | |||
# HOST DEFINITIONS | |||
# | |||
############################################################################### | |||
############################################################################### | |||
# Definição do host Windows que será monitorado, para cada novo host windows | |||
# copie e cole os paremetros abaixo e modifique o host_name, alias, address. | |||
define host{ | |||
use windows-server ; Template que será utilizado | |||
host_name windows_10 ; Nome do host a ser monitorado | |||
alias Windows_10_Finaceiro ; Nome completo do host | |||
address 192.168.200.117 ; Endereço IP do host | |||
} | |||
############################################################################### | |||
############################################################################### | |||
# | |||
# SERVICE DEFINITIONS | |||
# | |||
############################################################################### | |||
############################################################################### | |||
#>>> Estes serviços são diferentes do arquivo services.cfg, pois aqui estamos utilizando | |||
#>>> o plugin NSClient no host windows, para ser possivel a execução de comandos no host. | |||
#>>> Para atribuir os serviços em cada host cadastrado acima , é necessário incluir em cada | |||
#>>> Serviço no campo host_name: ex. host_name windows_10, windows_2012, ... | |||
# Create a service for monitoring the version of NSCLient++ that is installed | |||
# Change the host_name to match the name of the host you defined above | |||
define service{ | |||
use generic-service | |||
host_name windows_10 | |||
service_description NSClient++ Version | |||
check_command check_nt!CLIENTVERSION | |||
} | |||
# Create a service for monitoring the uptime of the server | |||
# Change the host_name to match the name of the host you defined above | |||
define service{ | |||
use generic-service | |||
host_name windows_10 | |||
service_description Uptime | |||
check_command check_nt!UPTIME | |||
} | |||
# Create a service for monitoring CPU load | |||
# Change the host_name to match the name of the host you defined above | |||
define service{ | |||
use generic-service | |||
host_name windows_10 | |||
service_description CPU Load | |||
check_command check_nt!CPULOAD!-l 5,80,90 | |||
} | |||
# Create a service for monitoring memory usage | |||
# Change the host_name to match the name of the host you defined above | |||
define service{ | |||
use generic-service | |||
host_name windows_10 | |||
service_description Memory Usage | |||
check_command check_nt!MEMUSE!-w 80 -c 90 | |||
} | |||
# Create a service for monitoring C:\ disk usage | |||
# Change the host_name to match the name of the host you defined above | |||
define service{ | |||
use generic-service | |||
host_name windows_10 | |||
service_description C:\ Drive Space | |||
check_command check_nt!USEDDISKSPACE!-l c -w 80 -c 90 | |||
} | |||
# Create a service for monitoring the W3SVC service | |||
# Change the host_name to match the name of the host you defined above | |||
define service{ | |||
use generic-service | |||
host_name windows_10 | |||
service_description W3SVC | |||
check_command check_nt!SERVICESTATE!-d SHOWALL -l W3SVC | |||
} | |||
# Create a service for monitoring the Explorer.exe process | |||
# Change the host_name to match the name of the host you defined above | |||
define service{ | |||
use generic-service | |||
host_name windows_10 | |||
service_description Explorer | |||
check_command check_nt!PROCSTATE!-d SHOWALL -l Explorer.exe | |||
} |
Edição atual tal como às 12h04min de 26 de setembro de 2018
Sobre
Olá! Visitante, reunimos aqui, informações sobre a ferramenta Nagios, Sistema de Monitoramento de Hosts e Serviços, utilizando protocolos de Redes. Nagios é uma popular aplicação de monitoramento de rede de código aberto distribuída sob a licença GPL. Ele pode monitorar tanto hosts quanto serviços, alertando quando ocorrerem problemas e também quando os problemas são resolvidos. Entre os Protocolos utilizados estão: SMTP, POP3, HTTP, NTP, ICMP, SNMP.
Vídeo
Instalação
- Instalando Dependências:
apt-get install wget apache2 apache2-utils php5 libapache2-mod-php5 build-essential libgd2-xpm-dev snmp snmpd libnet-snmp-perl libgd-tools xinetd rcconf zip unzip
Criando usuários e Grupos
useradd -m nagios passwd nagios groupadd nagcmd usermod -a -G nagcmd nagios usermod -a -G nagcmd www-data
Download Nagios Core/Nagios Plugin
cd /opt wget https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.4.1.tar.gz wget http://www.nagios-plugins.org/download/nagios-plugins-2.2.1.tar.gz
Descompactando, Compilando e Instalando o Core
tar xvf nagios-4.4.1.tar.gz cd nagios-4.4.1 ./configure --with-command-group=nagcmd make all make install make install-init make install-config make install-commandmode make install-webconf **** (caso precise)
Configurando Acesso WEB
nano /etc/apache2/sites-enabled/nagios.conf
ScriptAlias /nagios/cgi-bin "/usr/local/nagios/sbin" <Directory "/usr/local/nagios/sbin"> Options ExecCGI AllowOverride None Order allow,deny Allow from all AuthName "Restricted Area" AuthType Basic AuthUserFile /usr/local/nagios/etc/htpasswd.users Require valid-user </Directory> Alias /nagios "/usr/local/nagios/share" <Directory "/usr/local/nagios/share"> Options None AllowOverride None Order allow,deny Allow from all AuthName "Restricted Area" AuthType Basic AuthUserFile /usr/local/nagios/etc/htpasswd.users Require valid-user </Directory>
Criando usuário para acesso
htpasswd -s -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
Descompactando, Compilando e Instalando o Plugins
cd /opt tar xvf nagios-plugins-2.2.1.tar.gz && cd nagios-plugins-2.2.1 ./configure --with-nagios-user=nagios --with-nagios-group=nagios make && make install
Nagios na inicialização
ln -s /etc/init.d/nagios /etc/rcS.d/S99nagios
- Verificar se arquivo de conf está OK
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg service nagios start
Ativar o CGI no apache
cd /etc/apache2/mods-enabled ln -s ../mods-available/cgi.load cgi.load nano /etc/apache2/mods-enabled/mime.conf e remover (#) na linha "#AddHandler cgi-script .cgi" service apache restart
Cadastrar Grupos
- Editar /usr/local/nagios/etc/nagios.cfg
nano /usr/local/nagios/etc/nagios.cfg
- Adicionar o caminho do .cfg (config) dos serviços para estes hosts.
# Definitions for monitoring from groups cfg_file=/usr/local/nagios/etc/objects/groups.cfg
- Fazer uma cópia do arquivo /usr/local/nagios/etc/objects/localhost.cfg em /usr/local/nagios/etc/objects/groups.cfg
cp /usr/local/nagios/etc/objects/localhost.cfg /usr/local/nagios/etc/objects/groups.cfg
- Remover todas as linhas que não são referentes ao HOST GROUP DEFINITION, deixando como no exemplo:
- ATENÇÃO: Para criar um novo grupo, apenas faça como no exemplo abaixo e para adicionar um host em um grupo, seja um novo ou já existente, apenas coloque ao lado de members, o nome do host que irá pertencer ao grupo, separando por vírgulas.
############################################################################### ############################################################################### ## HOST GROUP DEFINITION ################################################################################ ############################################################################### # Definições para o grupo de máquinas Linux define hostgroup{ hostgroup_name linux-servers ; Nome do Grupo alias Grupo de Servidores Linux ; Nome Completo do Grupo members localhost ; Membros (hosts) que iram participar do grupo, separados por (, ) } # Definições para o grupo de máquinas windows define hostgroup{ hostgroup_name windows-servers ; Nome do Grupo alias Windows Desktops ; Nome Completo do Grupo members windows_10 ; Membros (hosts) que iram participar do grupo, separados por (, ) }
Cadastrar Hosts Linux
- Editar /usr/local/nagios/etc/nagios.cfg
nano /usr/local/nagios/etc/nagios.cfg
- Adicionar o caminho do .cfg (config) dos hosts Servidores Linux.
# Definitions for monitoring the (Linux) host cfg_file=/usr/local/nagios/etc/objects/linux.cfg
- Fazer uma cópia do arquivo /usr/local/nagios/etc/objects/localhost.cfg em /usr/local/nagios/etc/objects/linux.cfg
cp /usr/local/nagios/etc/objects/localhost.cfg /usr/local/nagios/etc/objects/linux.cfg
- Editar o Arquivo linux.cfg
nano /usr/local/nagios/etc/objects/linux.cfg
- Alterar apenas host_name, alias, address para o host linux a ser monitorado.
- Editar /usr/local/nagios/etc/objects/localhost.cfg
nano /usr/local/nagios/etc/objects/localhost.cfg
- Remover as linhas referente aos serviços e grupos, mantendo apenas o que for localhost
Cadastrar Hosts Windows
- Editar /usr/local/nagios/etc/nagios.cfg
nano /usr/local/nagios/etc/nagios.cfg
- Adicionar o caminho do .cfg (config) dos hosts Windows.
# Definitions for monitoring a Windows desktop cfg_file=/usr/local/nagios/etc/objects/windows_server.cfg
- Fazer uma cópia do arquivo /usr/local/nagios/etc/objects/windows.cfg em /usr/local/nagios/etc/objects/windows_server.cfg:
cp /usr/local/nagios/etc/objects/windows.cfg /usr/local/nagios/etc/objects/windows_server.cfg
- Modificar conforme o exemplo abaixo:
############################################################################### ############################################################################### # # HOST DEFINITIONS # ############################################################################### ############################################################################### # Definição do host Windows que será monitorado, para cada novo host windows # copie e cole os paremetros abaixo e modifique o host_name, alias, address. define host{ use windows-server ; Template que será utilizado host_name windows_10 ; Nome do host a ser monitorado alias Windows_10_Finaceiro ; Nome completo do host address 192.168.200.117 ; Endereço IP do host } ############################################################################### ############################################################################### # # SERVICE DEFINITIONS # ############################################################################### ############################################################################### #>>> Estes serviços são diferentes do arquivo services.cfg, pois aqui estamos utilizando #>>> o plugin NSClient no host windows, para ser possivel a execução de comandos no host. #>>> Para atribuir os serviços em cada host cadastrado acima , é necessário incluir em cada #>>> Serviço no campo host_name: ex. host_name windows_10, windows_2012, ... # Create a service for monitoring the version of NSCLient++ that is installed # Change the host_name to match the name of the host you defined above define service{ use generic-service host_name windows_10 service_description NSClient++ Version check_command check_nt!CLIENTVERSION } ...
Cadastrar Serviços
- Editar /usr/local/nagios/etc/nagios.cfg
nano /usr/local/nagios/etc/nagios.cfg
- Adicionar o caminho do .cfg (config) dos serviços para estes hosts.
# Definitions for monitoring the Services cfg_file=/usr/local/nagios/etc/objects/services.cfg
- Fazer uma cópia do arquivo /usr/local/nagios/etc/objects/localhost.cfg em /usr/local/nagios/etc/objects/services.cfg
cp /usr/local/nagios/etc/objects/localhost.cfg /usr/local/nagios/etc/objects/services.cfg
- Remover todas as linhas antes de : SERVICE DEFINITIONS, mantendo apenas as informações dos comentários para baixo.
Em: host_name, adicionar o nome dos hosts que serão monitorados, como no exemplo: host_name localhost, server-logs
NAGIOS Mandando E-mail
- Editar o arquivo /usr/local/nagios/etc/objects/contacts.cfg
nano /usr/local/nagios/etc/objects/contacts.cfg
- Configurar conforme exemplo para o nagios enviar e-mail:
define contact{ contact_name nagiosadmin ; Nome curto do contato use generic-contact ; Template que será utilizado generic-contacts alias Nagios Admin ; Nome completo do Usuário host_notification_period 24x7 ; Tempo de notificação de host service_notification_period 24x7 ; Tempo de notificação de serviço host_notification_options d,u,r ; Opções de notificação de host (d= Down, u= Unknown, r= Recovery) service_notification_options u,c,r ; Opções de notificações de serviço (u= Unknown c= Critical r= Recovery) host_notification_commands notify-host-by-email ; Opção de host para notificar por e-mail service_notification_commands notify-service-by-email ; Opção de serviço para notificar por e-mail email [email protected] ; <<***** Altere para o seu e-mail }
Exemplo de arquivo para Windows Server
############################################################################### # WINDOWS.CFG - SAMPLE CONFIG FILE FOR MONITORING A WINDOWS MACHINE # # # NOTES: This config file assumes that you are using the sample configuration # files that get installed with the Nagios quickstart guide. # ############################################################################### ############################################################################### ############################################################################### # # HOST DEFINITIONS # ############################################################################### ############################################################################### # Definição do host Windows que será monitorado, para cada novo host windows # copie e cole os paremetros abaixo e modifique o host_name, alias, address. define host{ use windows-server ; Template que será utilizado host_name windows_10 ; Nome do host a ser monitorado alias Windows_10_Finaceiro ; Nome completo do host address 192.168.200.117 ; Endereço IP do host } ############################################################################### ############################################################################### # # SERVICE DEFINITIONS # ############################################################################### ############################################################################### #>>> Estes serviços são diferentes do arquivo services.cfg, pois aqui estamos utilizando #>>> o plugin NSClient no host windows, para ser possivel a execução de comandos no host. #>>> Para atribuir os serviços em cada host cadastrado acima , é necessário incluir em cada #>>> Serviço no campo host_name: ex. host_name windows_10, windows_2012, ... # Create a service for monitoring the version of NSCLient++ that is installed # Change the host_name to match the name of the host you defined above define service{ use generic-service host_name windows_10 service_description NSClient++ Version check_command check_nt!CLIENTVERSION } # Create a service for monitoring the uptime of the server # Change the host_name to match the name of the host you defined above define service{ use generic-service host_name windows_10 service_description Uptime check_command check_nt!UPTIME } # Create a service for monitoring CPU load # Change the host_name to match the name of the host you defined above define service{ use generic-service host_name windows_10 service_description CPU Load check_command check_nt!CPULOAD!-l 5,80,90 } # Create a service for monitoring memory usage # Change the host_name to match the name of the host you defined above define service{ use generic-service host_name windows_10 service_description Memory Usage check_command check_nt!MEMUSE!-w 80 -c 90 } # Create a service for monitoring C:\ disk usage # Change the host_name to match the name of the host you defined above define service{ use generic-service host_name windows_10 service_description C:\ Drive Space check_command check_nt!USEDDISKSPACE!-l c -w 80 -c 90 } # Create a service for monitoring the W3SVC service # Change the host_name to match the name of the host you defined above define service{ use generic-service host_name windows_10 service_description W3SVC check_command check_nt!SERVICESTATE!-d SHOWALL -l W3SVC } # Create a service for monitoring the Explorer.exe process # Change the host_name to match the name of the host you defined above define service{ use generic-service host_name windows_10 service_description Explorer check_command check_nt!PROCSTATE!-d SHOWALL -l Explorer.exe }