Sobre o Serviço

Descrição

Arquitetura do Serviço

Portal de Medições

Kit de Medições

Política de Uso e Segurança

Status da Implantação

Guia de Instalação

MP (Atraso e Vazão)

Kits de Baixo Custo (2a. Geração)

Guia de Uso

Portal de Medições

Implantação

[Instituições Clientes (Kit de Baixo Custo)]

[Instituição (2a. Geração)]

PoP

RNP

MonIPÊ Live

Disseminação

Material de apoio

Suporte

Lista de E-mail e Suporte

FAQ & Glossário




Desenvolvimento

Comparativo Técnico

Hardware

Software

Ferramentas de Medição

Montagem

MonIPÊ 2.0

MP

LS

MA

MA-Esmond

NDT

Proxy IdP CAFé

Versões Anteriores

MonIPÊ 1.0




Acompanhamento

Log de Problemas

Implantação GTI

Roadmap

2016

2015

2014

2013

Lista de Requisitos

2014

2013

Demonstrações

Piloto 2013

Equipe

2016

2015

2014

2013

Reuniões

2016

2015

2014

2013

Relatórios Anuais

[2014]

2013

Child pages
  • Desenvolvimento - MP Atraso

AVISO: Essa página foi movida! Para versão atualizada do conteúdo acesse: https://wiki.rnp.br/display/monipe

Skip to end of metadata
Go to start of metadata

Instalação Sistema Operacional

Realize a instalação usando a seguinte imagem: http://cdimage.debian.org/debian-cd/7.8.0/kfreebsd-amd64/iso-cd/debian-7.8.0-kfreebsd-amd64-netinst.iso

Seleção da Imagem

A seleção da imagem do Debian com kernel FreeBSD se deve por duas razões:
1) O kernel do FreeBSD é mais preciso que o Kernel do Linux convencional (1, 2) e;
2) O ambiente foi concebido para rodar em Debian. Esta imagem, em detrimento da utilização de uma FreeBSD convencional, facilitou o processo de instalação e manutenção do software.

 

Selecione as seguintes opções durante o processo de instalação:

Opção da Instalação:

Modo 				: Default install (using kernel of FreeBSD 9)
Idioma				: Inglês
Localização			: en_US-UTF-8
Teclado				: Brasileiro
Adicionar usuário	: monipe
Particionamento		: Guiado - usar disco inteiro (com todos os arquivos em uma partição)
Seleção de software	: "SSH server" e "standard system utilities"

CLMP

  • Criação dos diretórios:

# mkdir -p /var/lib/perfsonar/cron
# mkdir /var/lib/perfsonar/data
# mkdir /var/lib/perfsonar/conf
# mkdir /var/lib/perfsonar/store
# chown -R www-data:www-data /var/lib/perfsonar
# chmod -R 777 /var/lib/perfsonar/data

 

  • Instale os pacotes necessários:
# apt-get install ssh vim php5 php5-cli php5-curl php5-mcrypt ntp apache2 libapache2-mod-php5 build-essential rcconf snmpd sudo bind9
# apt-get autoremove nano

 

  • Baixar os pacotes de instalação:
# cd /usr/local/src
# wget http://rep.monipe.rnp.br/perfSONAR-2014/libs/libs-last-stable.tar.gz -O libs-last-stable.tar.gz
# wget http://rep.monipe.rnp.br/perfSONAR-2014/nmwg/nmwg-last-stable.tar.gz -O nmwg-last-stable.tar.gz
# wget http://rep.monipe.rnp.br/perfSONAR-2014/services/clmp/services-clmp-last-stable.tar.gz -O services-clmp-last-stable.tar.gz
# cd /
# tar xzvf usr/local/src/libs-last-stable.tar.gz
# tar xzvf usr/local/src/nmwg-last-stable.tar.gz
# tar xzvf usr/local/src/services-clmp-last-stable.tar.gz
  • Criar os diretórios de logs

# mkdir /var/log/perfsonar
# chown -R www-data:www-data /var/log/perfsonar
# touch /var/log/perfsonar/clmp.log
# chmod 777 /var/log/perfsonar/clmp.log

 

  • Configurar o apache:
# cd /var/www
# ln -s /opt/perfsonar/services/clmp/web ./clmp
# apache2ctl restart

 

Instalação do OWAMP

  • Baixe e compile os fontes do OWAMP:

# cd /usr/local/src
# wget http://software.internet2.edu/sources/owamp/owamp-3.1.tar.gz
# tar -xvzf owamp-3.1.tar.gz
# cd owamp-3.1
# ./configure --sysconfdir=/usr/local/etc
# make && make install

 

  • Criação do usuário e dos diretórios:

# mkdir -p /usr/local/etc/owamp
# cd /usr/local/etc/owamp
# cp /usr/local/src/owamp-3.1/conf/owampd.conf ./
# cp /usr/local/src/owamp-3.1/conf/owampd.limits ./
# chown -R monipe:monipe /usr/local/etc/owamp

# mkdir /var/run/owamp
# mkdir -p /var/db/owamp
# chown -R monipe:monipe /var/run/owamp
# chown -R monipe:monipe /var/db/owamp

 

Configurações

Crontab:

Editar a configuração da crontab através do comando "# crontab -e":

# EXECUTAR AGENDAS CLMP
* * * * * /opt/perfsonar/services/clmp/scripts/execute_schedule.sh 2>&1 /dev/null &

# GRAVAR AGENDAS MA
*/5 * * * * /opt/perfsonar/services/clmp/scripts/exec_local_store.sh 2>&1 /dev/null &

# INICIALIZAR OWAMPD QUANDO NAO ESTIVER RODANDO
* * * * * /etc/init.d/owampd start 2>&1 /dev/null

# ATUALIZAR SISTEMA AUTOMATICAMENTE
*/20 * * * * /opt/perfsonar/services/ma/scripts/upgrade_system.sh > /dev/null

NTP:

Editar o arquivo /etc/ntp.conf:

###############
# MONIPE - RNP
#
# v2014052100
#
# TRIMBLE
###############
tinker panic 0
driftfile /var/lib/ntp/ntp.drift
logfile /var/log/ntp/ntp.log
 
#server 127.127.29.0 prefer

 
server ntp.pop-sc.rnp.br iburst
server ntp.cais.rnp.br iburst
server a.ntp.br iburst
server b.ntp.br iburst
 
#LIBERA ACESSO TOTAL PARA LOOPBACK
restrict 127.0.0.1
restrict -6 ::1
 
#NEGA REQUISICOES REDVAR DE TODOS CLIENTES
restrict 0.0.0.0 mask 0.0.0.0 nomodify noquery
restrict :: mask :: nomodify noquery
 
disable monitor

Editar o script de inicialização do NTP /etc/init.d/ntp, adicionando as seguintes linhas na cláusula de "start)", abaixo da linha "lock_ntpdate":

/usr/sbin/ntptime -N
/bin/ln -s /dev/cuau0 /dev/palisade0

Bind:

Configurar o bind, no arquivo /etc/bind/named.conf.options:

options {
        directory "/var/cache/bind";

        // If there is a firewall between you and nameservers you want
        // to talk to, you may need to fix the firewall to allow multiple
        // ports to talk.  See http://www.kb.cert.org/vuls/id/800113

        // If your ISP provided one or more IP addresses for stable
        // nameservers, you probably want to use them as forwarders.
        // Uncomment the following block, and insert the addresses replacing
        // the all-0's placeholder.

        forwarders {
          IP_DNS_1;
          IP_DNS_2;
        };

        listen-on { 127.0.0.1; };
        auth-nxdomain no;    # conform to RFC1035
        listen-on-v6 { none; }; # Desabilitar v6
        allow-recursion { 127.0.0.1/32; }; # Somente permitir recursao para ele mesmo
};

Configurar a resolução de nome da máquina no arquivo /etc/resolv.conf:

nameserver      127.0.0.1
nameserver      IP_DNS_1
nameserver      IP_DNS_2

Reiniciar o bind:

# /etc/init.d/bind9 restart

Apache2:

Alterar porta de escuta do apache no arquivo /etc/apache2/ports.conf conforme indicado abaixo:

NameVirtualHost *:8080
Listen 8080

Alterar 2 parâmetros configuração do virtual host para porta 8080 e caminho do CLMP no arquivo /etc/apache2/sites-enabled/000-default:

<VirtualHost *:8080>
...
DocumentRoot /var/www
...

Reiniciar Apache2:

# /etc/init.d/apache2 restart

Owamp:

Alterar os seguintes parâmetros de configuração do arquivo de configurações do Owamp (/usr/local/etc/owamp/owampd.conf):

user            monipe
group           monipe
 
vardir          /var/run/owamp
datadir         /var/db/owamp

testports 0

Alterar os limites do Owamp para deixar liberado testes sem limites (/usr/local/etc/owamp/owampd.limits):

assign default root

Criar o script de inicialização do Owamp (/etc/init.d/owampd) com as seguintes linhas:

#!/bin/bash
. /lib/lsb/init-functions
if [[ ! -e /var/run/owamp ]]; then
    mkdir /var/run/owamp
fi
PATH=$PATH:/sbin
export PATH
NAME=owampd
DAEMON=/usr/local/bin/owampd
OPTS="-U monipe -G monipe -c /usr/local/etc/owamp -R /var/run/owamp"
test -x $DAEMON || exit 5
if [ -r /etc/default/$NAME ]; then
         . /etc/default/$NAME
fi
case $1 in
        start)
                log_daemon_msg "Starting $NAME Daemon" "$NAME"
                start-stop-daemon --start --quiet --oknodo --exec $DAEMON -- $OPTS
                ;;
        stop)
                log_daemon_msg "Stopping $NAME Daemon" "$NAME"
                start-stop-daemon --stop --quiet --oknodo --exec $DAEMON
                ;;
        restart)
                log_daemon_msg "Restarting $NAME Daemon" "$NAME"
                start-stop-daemon --stop --quiet --oknodo --exec $DAEMON
                start-stop-daemon --start --quiet --oknodo --exec $DAEMON -- $OPTS
                ;;
        status)
                STATUS=`/bin/ps aux | /bin/grep $NAME | grep -v init | grep -v grep | wc -l`
                if [ $STATUS -eq 1 ]; then
                        log_success_msg "$NAME Daemon is running"
                else
                        log_failure_msg "$NAME Daemon is not running"
                fi
                exit 0
                ;;
        *)
                echo "Usage: $0 {start|stop|restart|status}"
                exit 2
                ;;
esac

Alterar a permissão do script de inicialização:

# chmod 755 /etc/init.d/owampd

Selecionar o Owamp para inicializar na inicialização do sistema:

# rcconf
[*] owampd

SNMP:

Editar o arquivo /etc/snmp/snmpd.conf com o seguinte conteúdo, alterando as variáveis NOMESISTEMA, CONTATO, EMAIL@CONTATO, LOCALIZACAO com respectivos valores do ambiente de implatação e adicionando as comunidades SNMP necessárias:

agentAddress  udp:0.0.0.0:161
#
#
################################
# CONTATO E LOCALIZACAO
#
sysname         NOMESISTEMA
syscontact      CONTATO - EMAIL@CONTATO
syslocation     LOCALIZACAO
#

#ADICIONAR COMUNIDADES
#rocommunity COMUNIDADE_SNMP REDE_SNMP
rocommunity m0nip32015 200.237.196.29

################################
# MONITORAMENTO DE PROCESSOS    - OID: .1.3.6.1.4.1.2021.2.1
#                                               TRIGGERS           .1.3.6.1.4.1.2021.2.1.100
# MONITORAMENTO DE DISCOS               - OID: .1.3.6.1.4.1.2021.9.1
#                                               TRIGGERS           .1.3.6.1.4.1.2021.9.1.100
# MONITORAMENTO CARGA MEDIA             - OID: .1.3.6.1.4.1.2021.10.1.3
# MONITORAMENTO CPU                             - OID: .1.3.6.1.4.1.2021.11
# MEMORIA                                               - OID: .1.3.6.1.4.1.2021.4
#
# DESCOMENTAR AS LINHAS DO(S) PROCESSO(S) QUE EXISTE(M) NO SERVIDOR
#
#APACHE
proc apache2
#
#SSH
proc sshd
#MySQL
proc mysqld
#NAMED - BIND
proc named

proc ntpd
proc owampd

load   12 10 5
extend owamp_status /opt/perfsonar/system/scripts/owamp_check.sh
extend ntp_status /opt/perfsonar/system/scripts/ntp_check.sh

Criar diretório para hospedar script para monitorar o NTP:

# mkdir -p /opt/perfsonar/system/scripts

Criar o script /opt/perfsonar/system/scripts/ntp_check.sh para monitorar o NTP com o seguinte conteúdo:

#!/bin/bash
#Script para buscar estado do NTP
RETORNO=`/usr/bin/ntpq -4 -p | /bin/egrep "^\*|^o"`
if [ "$RETORNO" == "" ]
then
        echo "WARNING: NOT SYNC"
        exit 0
else
        echo "OK: $RETORNO"
        exit 1
fi

Alterar a permissão do script de monitoramento de NTP:

# chmod 755 /opt/perfsonar/system/scripts/ntp_check.sh

Criar o script /opt/perfsonar/system/scripts/owamp_check.sh para monitorar o NTP com o seguinte conteúdo:

#!/bin/bash
#Script para buscar estado do NTP
RETORNO=`/bin/ps aux | /bin/grep owampd | /bin/grep -v grep | /usr/bin/wc -l`
if [ $RETORNO -eq 0 ]
then
        echo "WARNING: NOT RUNNING"
        exit 0
else
        echo "OK: $RETORNO"
        exit 1
fi

Alterar a permissão do script de monitoramento do OWAMP:

# chmod 755 /opt/perfsonar/system/scripts/owamp_check.sh


Logrotate:

Criar o arquivo /etc/logrotate.d/monipe com o conteúdo abaixo:

/var/log/perfsonar/clmp.log {
        size 10M
        rotate 2
        compress
        notifempty
        delaycompress
        missingok
        create 644 www-data www-data
        su www-data www-data
}


Firewall:

Alterar as regras de configuração do firewall no arquivo /etc/pf.conf, conforme o template abaixo:

#
# MONIPE
# Servico Monitoramento da rede IPE
#
# Script de Firewall Para PF
#
# Versao 2014081200
#
# Enderecamento
# Para variavel REDES_SSH e REDES_SNMP, utilizar rede separadas por virgula
# Ex:
# ger_ssh = "{ 192.168.0.0/24, 192.168.1.0/24 }"
# gerencia_snmp = "{ 192.168.0.0/24, 192.168.1.0/24 }"
#

external_addr="IP_MP_ATRASO"
ger_ssh = "{ REDES_SSH }"
gerencia_snmp = "{ REDES_SNMP }"

#
# OWAMP TCP 861 e  UDP 1024-65535
# APACHE2 TCP 8080
# NTP   UDP 123
#

# Bloqueios Porta de entrada
portas_tcp_in="{ 861, 8080 }"
portas_udp_in="{ 123, 1024:65535 }"

# Bloqueios Porta de Saida
portas_tcp_out="{ 861, 8080 }"
portas_udp_out="{ 53, 123, 1024:65535 }"
set block-policy drop
block in log all
pass quick on lo0 all

# Regras de permissao e negacao 
pass  in inet proto udp from any to $external_addr port $portas_udp_in keep state
pass  in inet proto tcp from any to $external_addr port $portas_tcp_in keep state
pass  in inet proto udp from $gerencia_snmp to $external_addr port 161 keep state
pass  in inet proto tcp from $ger_ssh to $external_addr port 22 flags S/SA keep state
pass  in inet proto icmp from any to any keep state
pass  out inet proto icmp all keep state
pass  out inet proto tcp from any to any port $portas_tcp_out keep state
pass  out inet proto tcp from any to any port $portas_udp_out keep state

Adicionar as entradas no /etc/rc.local antes do comando "exit 0":

pfctl -f /etc/pf.conf
pfctl -e

Reiniciar a máquina e a instalação está finalizada.

# reboot


 

 

  • No labels