Criando o 
contacts.cfg:
# vi contacts.cfg
#'dstec' contact definition
define contact{
contact_name   dstec ;(nome do membro)
alias   DSTEC ;(Informações úteis de descrição)
service_notification_period  24x7;(período de alerta, será definido no arquivo "timeperiods")
host_notification_period   24x7;(período de alerta, será definido no arquivo "timeperiods"
service_notification_options     w,c,r;(notificar serviços se w=warning, c=critical, r=recovery)
host_notification_options   d,u,r ;(notificar hosts se d=down, u=ureachebla, r=recovery)
service_notification_commands   notify-by-email ;(tipo de notificação, neste caso via e-mail)
host_notification_commands    host-notify-by-email;( tipo de notificação, neste caso via e-mail)
email   dstec@dominio.gov.br ;(aqui se define o endereço de envio da notificação)
}
:wq
Criando o 
contactgroups.cfg:
# vi contactgroups.cfg
# Definindo grupo
define contactgroup {
   contactgroup_name    dstec-admins ;(nome do grupo)
   alias                   Administradores ;(alias de informação)
   members                 dstec ;(membros definidos no contacts.cfg)
}
Criando o  
dependencies.cfg:
# touch dependencies.cfg
Criando o 
hosts.cfg:
# vi hosts.cfg
Aqui é um pouco mais difícil. Neste arquivo, primeiro você criará uma definição (template) de host, logo em seguida você criará uma sub-definição (sub-template) de host e a partir de então você aplicará essas definições aos hosts existentes na rede e que serão monitorados.
Exemplo:
# vi hosts.cfg
Criando a definição primária de hosts.
Nota: Os arquivos abaixo seguem com os comentários em inglês devido a falta de documentação à respeito, desculpem.
#Definindo uma template
define host{
name                              generic-host ; (The name of this host template)
notifications_enabled              1                 ; (Host notifications are enabled)
event_handler_enabled              1               ; (Host event handler is enabled)
flap_detection_enabled             1               ; (Flap detection is enabled)
process_perf_data                  1               ; (Process performance data)
retain_status_information          1                 ; (Retain status informationacross program restarts)
retain_nonstatus_information    1               ; (Retain non-status information) across program 
register                          0               ; DONT REGISTER THIS DEFINITION - ITS NOT #A REAL HOST, JUST A TEMPLATE!
contact_groups                        dstec-admins
}
;Criando uma sub-definição de hosts:
define host{
use                        generic-host ;(Definição primária que será utilizada)
name                       generic-switch-borda ;(define qual nome esta sub-definição terá)
check_command         check-host-alive ;(tipo de verificação que será utilizada)
max_check_attempts  10 ;(quantidade de checagens até o envio da notificação)
notification_interval   60 ;(intervalo de cada notificação, neste caso a cada 60 minutos)
notification_period     24x7 ;(período de alerta,  será definido no arquivo “timeperiods”)
notification_options    d,u,r ;(notificar somente em caso de d=down u=unreachable r= recovery)
register                   0
}
;Agora sim vamos editar as linhas referentes a um verdadeiro host existente em sua rede (vou utilizar como exemplo um switch, já que criamos uma sub-definição para um switch.)
define host{
use                      generic-switch-borda ;(define qual sub-definição será utilizada)
host_name           switch-sede-terreo ;(nome dado para este host, Obs: não usar espaços)
alias                   Sw4 sede terreo sala 01 R-06 ;(informações úteis para caracterização do host)
#parents             intermediario05 ;(host pai, ou seja, onde este host se conecta)
address              10.10.40.93 ;(endereço ip deste host, altere este endereço para um ip de sua rede)
}
Obs: Neste exemplo teríamos que definir previamente o host chamado "intermediario05", senão ocorreria um erro na inicialização do serviço. 
Agora é só preencher os hosts que serão monitorados, aí vai uma dica: para os demais hosts podemos criar sub-definições diferentes como por exemplo /"servidores", "rede interna", "access point", "roteadores" e outros. Assim não só os arquivos como a monitoração da rede ficará mais organizada.
:wq
Criando o 
hostgroups.cfg:
# vi hostgroups.cfg
Neste arquivo podemos criar vários grupos, isto serve para facilitar na distinção de hosts (quando se tem uma rede muito complexa).
define hostgroup{
   hostgroup_name     switchs ;(nome do grupo)
   alias              Switchs de Borda ;(informação útil sobre o grupo)
   members      switch-sede-terreo ;(nome dos membros deste grupo, não devemos    por espaço e os mesmos devem ser separados por vírgula da seguinte forma:  switch-sede-   terreo, switch-sede-terreo-01)
}
:wq
Criando o 
hostextinfo.cfg:
# vi hostextinfo.cfg
define hostextinfo{
host_name          switch-sede-terreo ;(É aqui onde a criação de grupos é útil pois podemos tanto adicionar hosts isolados ou grupos de hosts o que poupa tempo)
hostgroup_name   switchs ;(nome do grupo)
name               switchs-borda ;(nome dado ao hostextinfo criado)
icon_image         forecp90.png ;(imagem que aparecerá como ícone)
icon_image_alt     forecp90.png ;(imagem que aparecerá como ícone em mudança de                estado)
statusmap_image    forecp90.png ;(imagem que aparecerá no status map)
2d_coords          100,100 ;(coordenadas para a exibição no status map)
3d_coords          100.0,50.0,75.0 ;(coordenadas para a exibição no 3D map)
}
Obs: Nas coordenadas não é necessário alterar os valores para cada hostextinfo criado. Também é provável que as figuras citadas "forecp90.png" não existam em seu servidor.
As imagens ficam em "/usr/local/nagios/share/images", você pode conseguir mais imagens em 
http://www.nagiosexchange.org.
Criando o 
services.cfg:
# vi services.cfg
Aqui iremos proceder da mesma forma do host.cfg, iremos criar os arquivos de forma hierárquica.
;Criando uma definição de serviços:
define service{
        name                                    generic-service 
        active_checks_enabled              1       
        passive_checks_enabled            1      
        parallelize_check                      1       
        obsess_over_service               1    
        check_freshness                      0          
        notifications_enabled               1      
        event_handler_enabled            1       
        flap_detection_enabled            1       
        process_perf_data                   1       
        retain_status_information         1       
        retain_nonstatus_information    1       
        passive_checks_enabled           1
        register                                 0       
}
;Criando a sub-definição de serviços:
define service{
use                              generic-service
name                            is-alive ;(nome da sub-definição do serviço)
service_description        Tempo de Resposta ;(Descrição das características do serviço)
check_period                  24x7 ;(Período de checagem,  será definido no arquivo "timeperiods")
max_check_attempts      3
normal_check_interval    3
retry_check_interval       1
contact_groups               dstec-admins ;(grupo definido no contactsgroup para envios de                    notificações)
notification_interval        30
notification_period          24x7 ;(Período de envio de notificações,  será definido no arquivo                "timeperiods")
notification_options         c,r ;(Opções de notificação c=critical, r=recovery)
check_command             check_ping!30,10%!100,40% ;(tempo para checagem de ping)
register                         0
notifications_enabled      1 
}
;Definindo formas de checagem de serviços para os hosts:
define service{
        use                                 is-alive ;(sub-definição a ser utilizada)
        hostgroup_name            (Host ou grupo de hosts que serão checados por este serviço)
        host_name                     switch-sede-terreo
        service_description         Tempo de resposta
}
;Também poderá ser acrescentado a linha abaixo (Exemplo):
   check_command               check_oracle_listener!bdjur06 ;(Comando para ser utilizado em   conjunto com o plugin, lembre-se que no nosso caso já definimos isso como sendo ping. )
:wq
Criando o 
servicesgroups.cfg:
# vi servicesgroups.cfg
define servicegroup{
servicegroup_name  monit-switchs ;(nome do grupo criado, não use espaços)
alias                       Serviços de Monitoramento de Swtich ;(Alias de informação)
members                switch-sede-terreo ;(Nome do membro que foi definido no arquivo hosts.cfg)
}
:wq
Criando o 
timeperiods.cfg:
Aqui iremos definir os períodos e monitoração e envios de alertas e notificações.
Nota: Observe que em vários arquivos definimos o valor "24x7", isto ocorreu apenas para ficar mais intuitivo (24 horas e 7 dias por semana). Assim você poderia colocar qualquer outro nome, desde que crie o mesmo no arquivo "timeperiods".
# vi timeperiods.cfg
define timeperiod{
timeperiod_name   24x7 ;(nome do timeperiod)
alias               Horário de funcionamento da minha rede ;(alias de informação)
monday          00:00-24:00 ;(monitora na segunda-feira das 0 às 24)
tuesday          00:00-24:00 ;(monitora na terça-feira das 0 às 24)
wednesday   00:00-24:00 ;(monitora na quarta-feira das 0 às 24)
thursday       00:00-24:00 ;(monitora na quinta-feira das 0 às 24)
friday           00:00-24:00 ;(monitora na sexta-feira das 0 às 24 )
}
Caso você possua uma parte da rede a qual não quer que seja monitorada num determinado horário, dia ou uma combinação dos dois, este é o arquivo onde se configura isto, basta adicionar outro período de monitoramento.