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 - MA-Esmond 2.0

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

Procedimentos de Instalação MA-Esmond

Referência: http://software.es.net/esmond/rpm_install.html

Sistema Operacional: CentOS 6.7

Instalação dos pré-requisitos

Seguir o procedimento:

# yum update
# yum install openssh.x86_64
# yum install wget
# cd /usr/local/src
# wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
# wget http://software.internet2.edu/rpms/el6/x86_64/RPMS.main/Internet2-repo-0.6-1.noarch.rpm
# yum localinstall epel-release-6-8.noarch.rpm
# yum localinstall Internet2-repo-0.6-1.noarch.rpm

Configurar repositório DATASTAX no arquivo /etc/yum.repos.d/datastax.repo:

[datastax]
name= DataStax Repo for Apache Cassandra
baseurl=http://rpm.datastax.com/community
enabled=1
gpgcheck=0

Instalação do Esmond:

# yum install esmond

Configuração Esmond

Habilitar inicialização do Cassandra, HTTPD e Postgres:

# chkconfig --add cassandra
# chkconfig cassandra on
# chkconfig httpd on
# chkconfig postgresql on

Inicialização do banco de dados:

# /sbin/service postgresql initdb
# /sbin/service postgresql start

Criação do banco de dados:

# sudo -u postgres psql -c "CREATE USER esmond WITH PASSWORD 'SENHA'"
# sudo -u postgres psql -c "CREATE DATABASE esmond"
# sudo -u postgres psql -c "GRANT ALL ON DATABASE esmond to esmond"

Ajustar a configuração, alterando o método de autenticação para MD5, no arquivo /var/lib/pgsql/data/pg_hba.conf:

# TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD

# "local" is for Unix domain socket connections only
local   all         all                               md5
# IPv4 local connections:
host    all         all         127.0.0.1/32          md5
# IPv6 local connections:
host    all         all         ::1/128               md5

Reinicializar o banco de dados:

# /sbin/service postgresql restart

Configurar a senha do banco no Esmond no arquivo /etc/esmond/esmond.conf:

sql_db_password = SENHA

Inicializar ambiente python e realizar configuração do usuário do perfsonar para acessar a API perfSONAR. A chave gerada será utilizada pelos clientes para acessar a API, sendo que o usuário perfsonar e a credencial gerada devem ser armazenados em algum lugar para futuro uso:

# cd /usr/lib/esmond
# source /opt/rh/python27/enable
# /opt/rh/python27/root/usr/bin/virtualenv --prompt="(esmond)" .
(esmond)# . bin/activate
(esmond)# python esmond/manage.py syncdb
(esmond)# python esmond/manage.py add_api_key_user perfsonar
...
Key: 35bb23f3d8a9d63e63e9cc5fc5fab5b75a7e5db4

Inicializar o cassandra e o apache:

# /sbin/service cassandra start
# /sbin/service httpd start

Desabilitar o SELINUX no arquivo /etc/selinux/config:

SELINUX=disabled

Firewall

Configurar o arquivo /etc/sysconfig/iptables com o seguinte conteúdo:

#
# MONIPE/ RNP
#
# TEMPLATE DE FIREWALL PRA SER UTILIZADO
# NO LINUX/DEBIAN
#
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT

-A INPUT -s 0.0.0.0/0 -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT

### Ajustar conforme necessario
#SSH
-A INPUT -s 200.237.192.0/24 -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -s 200.143.192.0/24 -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -s 200.143.200.0/24 -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -s 200.130.28.0/24 -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -s 200.133.240.58/32 -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT

#SNMP
-A INPUT -s 200.237.196.29/32 -p udp -m state --state NEW -m udp --dport 161 -j ACCEPT
### Ajustar conforme necessario

#Servidor Negar e logar tudo
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

Configurar o arquivo /etc/sysconfig/ip6tables com o seguinte conteúdo:

#
# MONIPE/ RNP
#
# TEMPLATE DE FIREWALL PRA SER UTILIZADO
# NO LINUX/DEBIAN
#
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p ipv6-icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT


-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT

-A INPUT -m state --state NEW -m udp -p udp --dport 546 -d fe80::/64 -j ACCEPT

### Ajustar conforme necessario
-A INPUT -s 2801:80:a85:4031::/64 -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT

#SNMP
##-A INPUT -s ::1/128 -p udp -m state --state NEW -m udp --dport 161 -j ACCEPT
### Ajustar conforme necessario

#Servidor Negar
-A INPUT -j REJECT --reject-with icmp6-adm-prohibited
-A FORWARD -j REJECT --reject-with icmp6-adm-prohibited
COMMIT

NTP

Realizar a instalação do NTP com o seguinte comando:

# yum install ntp

Configurar o NTP no arquivo /etc/ntp.conf:

tinker panic 0
driftfile /var/lib/ntp/ntp.drift
logfile /var/log/ntp/ntp.log

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

Reinicializar NTP:

# service ntpd restart

Monitoramento

Realizar a instalação do SNMPD com o seguinte comando:

# yum install net-snmp.x86_64

Configurar o SNMPD, no arquivo /etc/snmp/snmpd.conf, com o seguinte conteúdo:

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 httpd
#
#SSH
proc sshd
proc postmaster

proc ntpd
proc java

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

Criar o script /opt/perfsonar/system/scripts/ntp_check.sh, criando primeiramente a parte de armazenamento conforme abaixo:

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

Inserir o seguinte conteúdo no arquivo do script:

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

Dar permissão:

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

Reiniciar o SNMPD:

# service snmpd restart

Testes

Reiniciar o host e testar o acesso via browser nos endereços abaixo citados. O primeiro deve aparecer a resposta do serviço, que inicialmente é "[]". O segundo é a interface de administração do Django, que pode ser acessado utilizando credenciais criadas na instalação.

http://<IP_HOST>/esmond/perfsonar/archive/?format=json
http://<IP_HOST>/esmond/admin/
  • No labels