Tutorial Módulo 10 Monitoração de Ambientes

Tamanho: px
Começar a partir da página:

Download "Tutorial Módulo 10 Monitoração de Ambientes"

Transcrição

1 LABORATÓRIO 10 Monitoração de Este laboratório tem por objetivo exercitar o uso das ferramentas especializadas para a monitoração de aplicações Java através dos servidores SNMP (genérico) e Zabbix (específico) disponibilizadas pelo componente Demoiselle Monitoring. Objetivos: Monitoração do tipo polling via SNMP e uso de cliente SNMP; Monitoração do tipo trapping via SNMP, uso de servidor SNMP e criação de checkers; Monitoração do tipo polling via Zabbix; Monitoração do tipo trapping via Zabbix e criação de checkers; Utilização de trapping padrão e appenders Log4j para SNMP e Zabbix; Pré-requisitos: Conhecimento da ferramenta de gerenciamento de pacotes Apache Maven; Instalação de cliente e servidor SNMP, tal como Net-SNMP; Conhecimento básico de utilização da interface Web do Zabbix. Referências: Net-SNMP: Zabbix: 1

2 Preâmbulo Preparação da aplicação de exemplo Obs.: Caso você já possua uma aplicação do tipo Java Web, pode ignorar esta seção. 1. No Eclipse, crie um novo projeto utilizando o menu File > New > Other > Maven Project tal como ilustrado a seguir: 2. Na tela seguinte, escolha o arquétipo demoiselle-archetype-webapp para o projeto: 2

3 3. Na próxima tela, informe o grupo br.gov.sample.demoiselle e o artefato escola conforme tela abaixo, clicando em seguida no botão Finish: 4. Substitua o conteúdo do arquivo WEB-INF/web.xml da aplicação com as seguintes linhas: <?xml version="1.0" encoding="utf-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemalocation="http://java.sun.com/xml/ns/javaee version="2.5"> </web-app> <display-name>escola</display-name> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> 5. Lance o servidor Tomcat do Eclipse, associe a aplicação escola e teste a sua execução. 3

4 Exercício 10.1 Polling SNMP: Criação e utilização do agente 1. Inclua a seguinte dependência no arquivo pom.xml da aplicação: <dependency> <groupid>br.gov.component.demoiselle</groupid> <artifactid>demoiselle-monitoring</artifactid> <version>1.0.0</version> </dependency> 2. Crie a interface EscolaMonitoringMBean estendendo a interface IMBean e com o seguinte conteúdo: package br.gov.sample.demoiselle.escola.monitoring.mbean; import br.gov.component.demoiselle.monitoring.jmx.imbean; public interface EscolaMonitoringMBean extends IMBean { long getqtdalunosmatriculados(); int getqtdturmasincluidas(); String getversaoaplicacao(); String getultimousuariologado(); int getnivellog(); void setnivellog(int nivellog); 3. Crie a classe EscolaMonitoring implementando a interface EscolaMonitoringMBean desenvolvida anteriormente, incluindo todos os métodos nela existentes: package br.gov.sample.demoiselle.escola.monitoring.mbean; public class EscolaMonitoring implements EscolaMonitoringMBean { 4. Inclua as (para identificar o Managed Bean no servidor JMX) (para registrar a Managed Information Base MIB no agente SNMP) na classe EscolaMonitoring conforme ilustrado no código a = = " ") public class EscolaMonitoring implements EscolaMonitoringMBean { 4

5 5. Inclua a (para registrar cada um dos OIDs a serem disponibilizados na MIB via SNMP) e implemente a classe EscolaMonitoring por completo utilizando o conteúdo a seguir (modificações necessárias em destaque): package br.gov.sample.demoiselle.escola.monitoring.mbean; import org.snmp4j.smi.counter32; import org.snmp4j.smi.gauge32; import org.snmp4j.smi.integer32; import org.snmp4j.smi.octetstring; import br.gov.component.demoiselle.monitoring.jmx.mbean; import br.gov.component.demoiselle.monitoring.snmp.accessmode; import br.gov.component.demoiselle.monitoring.snmp.managedobject; import = = " ") public class EscolaMonitoring implements EscolaMonitoringMBean { private long qtdalunos = = ".1", type = Gauge32.class) public long getqtdalunosmatriculados() { this.qtdalunos = (int) (Math.random() * 100) + 100; return this.qtdalunos; private int qtdturmas = = ".2", type = Counter32.class) public int getqtdturmasincluidas() { this.qtdturmas += (int) (Math.random() * 10); return this.qtdturmas; private static final String[] USUARIOS = { "Fulano", "Sicrano", "Beltrano" = ".3", type = OctetString.class) public String getultimousuariologado() { int pos = (int) (Math.random() * USUARIOS.length); return USUARIOS[pos]; private static final String VERSAO = = ".4") public String getversaoaplicacao() { return = ".5", access = AccessMode.READ_WRITE, type = Integer32.class, allowedvalues = { 1, 2, 3, 4 ) private int nivellog = 1; public int getnivellog() { return this.nivellog; public void setnivellog(final int nivellog) { this.nivellog = nivellog; 5

6 6. Adicione as seguintes linhas ao arquivo de configurações demoiselle.properties: # JMX MBeans to be loaded on application startup component.demoiselle.monitoring.jmx.mbeans = \ br.gov.sample.demoiselle.escola.monitoring.mbean.escolamonitoring 7. Crie o arquivo de configurações snmp.properties específico para serviços SNMP contendo as linhas a seguir: # SNMP Configuration # 1) polling / active check # enable a SNMP agent that provides a given MIB tree monitoring.snmp.agent.enabled = true # the network protocol to be used (udp or tcp) monitoring.snmp.agent.protocol = udp # the port that the agent listens on (default 1161) monitoring.snmp.agent.port = 1161 # the address to listen on, or '*' to listen on any available address monitoring.snmp.agent.address = * # the MIB root to be considered monitoring.snmp.agent.mib.root = # MBeans to be exported as MIB trees monitoring.snmp.agent.mibs = \ br.gov.sample.demoiselle.escola.monitoring.mbean.escolamonitoring # security settings (particularly for SNMPv3) monitoring.snmp.agent.security = snmp-security.xml 6

7 8. Crie o arquivo snmp-security.xml contendo as definições de segurança (i.e. SNMPv3) para o serviço SNMP de acordo com as linhas a seguir: <?xml version="1.0" encoding="utf-8"?> <snmp-security> <security> <user name="escola"> <auth protocol="sha" pass="senha123" /> <priv protocol="aes" pass="senha456" /> </user> <user name="zabbix"> <auth protocol="md5" pass="senha321" /> <priv protocol="des" pass="senha654" /> </user> </security> <access-control> <views> <view name="fullreadview"> <include subtree="1.3" mask="" /> </view> <view name="fullwriteview"> <include subtree="1.3" /> </view> <view name="fullnotifyview"> <include subtree="1.3" /> </view> <view name="escolareadview"> <include subtree=" " /> </view> <view name="escolawriteview"> <include subtree=" " /> </view> <view name="escolanotifyview"> <include subtree=" " /> </view> </views> <groups> <group name="v1v2group"> <security name="public" model="snmpv1"/> <security name="public" model="snmpv2c"/> <access context="" model="any" auth="false" priv="false" exact="true"> <read view="fullreadview" /> <write view="fullwriteview" /> <notify view="fullnotifyview" /> </access> </group> <group name="v3escola"> <security name="escola" model="usm" /> <security name="zabbix" model="usm" /> <access model="usm" auth="true" priv="true" exact="true"> <read view="escolareadview" /> <write view="escolawriteview" /> <notify view="escolanotifyview" /> </access> </group> </groups> </access-control> </snmp-security> 7

8 9. Associe o listener de SNMP na aplicação Web incluindo as seguintes linhas no arquivo WEB- INF/web.xml: <!-- Demoiselle Monitoring Configuration (SNMP) --> <listener> <listener-class> br.gov.component.demoiselle.monitoring.web.snmp.snmplistener </listener-class> </listener> 10. Crie o arquivo log4j.properties de configurações do Log4j com as linhas a seguir: log4j.rootcategory=info, stdout log4j.logger.br.gov.component=debug log4j.appender.stdout=org.apache.log4j.consoleappender log4j.appender.stdout.layout=org.apache.log4j.patternlayout log4j.appender.stdout.layout.conversionpattern=%-5p [%c{1] %m%n 11. Publique a aplicação Web no contêiner Apache Tomcat e observe as linhas inseridas no console do Eclipse (vide imagem a seguir): 12. Tendo o serviço SNMP levantado pelo agente, podemos usar ferramentas tais como um cliente SNMP qualquer para efetuar operações. Eis um exemplo de utilização do comando snmpwalk para listar todos os OIDs disponíveis a partir de um determinado nó da árvore - utilizando SNMPv1, comunidade public no servidor local (localhost) e porta 1161: $ snmpwalk -v 1 -c public localhost:1161. SNMPv2-SMI::enterprises = Gauge32: 146 SNMPv2-SMI::enterprises = Counter32: 73 SNMPv2-SMI::enterprises = STRING: "Fulano" SNMPv2-SMI::enterprises = STRING: "2.4.1-RC2" SNMPv2-SMI::enterprises = INTEGER: 1 End of MIB Observe que o tipo de dados de cada objeto é disponibilizado de acordo com o que fora definido na implementação em Java. Cada OID é montado através da concatenação da raiz da MIB (definido no arquivo snmp.properties), do prefixo da MIB (definido da classe) e da do método ou atributo. 8

9 13. Ainda no terminal, execute a instrução snmpget conforme exemplo a seguir, com o objetivo de testar requisições SNMP do tipo GET, desta vez utilizando a versão 2c do protocolo desta forma podemos obter o valor de um único objeto especificando o seu OID completo: $ snmpget -v 2c -c public : SNMPv2-SMI::enterprises = Counter32: Um outro comando, o snmpgetnext, recupera o primeiro objeto disponível na árvore especificada parcialmente. Teste a execução de requisições SNMP do tipo GETNEXT utilizando a instrução abaixo: $ snmpgetnext -v 1 -c public localhost: SNMPv2-SMI::enterprises = Gauge32: Existe ainda a possibilidade de se alterar o valor de um objeto pelo cliente, sendo que neste caso usamos a instrução snmpset especificando o OID completo, o tipo de dados e o valor para o qual se deseja mudar. Teste a execução de uma instrução SNMP do tipo SET invocando a seguinte instrução: $ snmpset -v 1 -c public localhost: i 2 SNMPv2-SMI::enterprises = INTEGER: É possível ainda utilizar outros clientes SNMP para os testes anterios. Por exemplo, eis o mbrowse: 9

10 17. Considerando a configuração de segurança contida no arquivo snmp-security.xml, ao utilizar os comandos das ferramentas clientes com o protocolo SNMPv3, é preciso passar argumentos adicionais, tais como o nome do usuário, a forma escolhida para autenticação e privacidade e as respectivas senhas e algoritmos de criptografia. A instrução snmpget fica assim para o usuário escola usando SHA na autenticação e DES na privacidade: $ snmpget -v 3 -l authpriv -u escola -a SHA -A senha123 -x AES -X senha456 \ : SNMPv2-SMI::enterprises = Gauge32: Para testar o controle de acesso (VACM) do SNMPv3, ao requisitar um objeto pertencente a uma visão não permitida ao grupo do usuário, o resultado é exibido abaixo: $ snmpget -v 3 -l authpriv -u escola -a SHA -A senha123 -x AES -X senha456 \ : SNMPv2-SMI::enterprises = No Such Object available on this agent at this OID 19. Além disso, ao executar o comando snmpwalk, apenas os ramos da árvore disponíveis para o grupo do usuário são exibidos: $ snmpwalk -v 3 -l authpriv -u escola -a SHA -A senha123 -x AES -X senha456 \ : SNMPv2-SMI::enterprises = Gauge32: 102 SNMPv2-SMI::enterprises = Counter32: 86 SNMPv2-SMI::enterprises = STRING: "Sicrano" SNMPv2-SMI::enterprises = STRING: "2.4.1-RC2" SNMPv2-SMI::enterprises = INTEGER: 2 SNMPv2-SMI::enterprises = No more variables left in this MIB View (It is past the end of the MIB tree) 20. De maneira semelhante, ao utilizar o usuário zabbix com os protocolos MD5 para autenticação e DES para privacidade, além das respectivas senhas, a instrução para o snmpget é a seguinte: $ snmpget -v 3 -l authpriv -u zabbix -a MD5 -A senha321 -x DES -X senha654 \ : SNMPv2-SMI::enterprises = Gauge32: Se caso a senha de autenticação estiver incorreta, o resultado é o seguinte: $ snmpget -v 3 -l authpriv -u zabbix -a MD5 -A senha_errada -x DES -X senha654 \ : snmpget: Authentication failure (incorrect password, community or key) 22. Entretanto, se a senha de privacidade for inválida, ocorre um timeout na requisição: $ snmpget -v 3 -l authpriv -u zabbix -a MD5 -A senha321 -x DES -X senha_errada \ : Timeout: No Response from : E por fim, caso as formas de autenticação e privacidade especificadas no cliente forem diferentes das configuradas no agente, a resposta é a seguinte: $ snmpget -v 3 -l authnopriv -u zabbix -a MD5 -A senha321 \ : Error in packet Reason: authorizationerror (access denied to that object) Failed object: SNMPv2-SMI::enterprises

11 Exercício 10.2 Trapping SNMP: Criação e utilização do trapper 1. Crie a interface IEscolaTrapper estendendo a interface ITrapper e com o seguinte conteúdo: package br.gov.sample.demoiselle.escola.monitoring.trapper; import br.gov.component.demoiselle.monitoring.trapper.itrapper; public interface IEscolaTrapper extends ITrapper { void enviarfalha(string mensagem); void enviarinfobd(string base, int conexoes); void enviarmemoriaheapusada(); void enviarmensagem(string mensagem, int nivel, int valor); void enviarversaoaplicacao(); 2. Crie a classe EscolaSNMPTrapper herdando da superclasse SNMPTrapper e implementando a interface IEscolaTrapper desenvolvida anteriormente, incluindo todos os métodos nela existentes: package br.gov.sample.demoiselle.escola.monitoring.trapper; import br.gov.component.demoiselle.monitoring.trapper.snmp.snmptrapper; public class EscolaSNMPTrapper extends SNMPTrapper implements IEscolaTrapper { 3. Inclua a para configurar o envio de traps SNMP na classe EscolaSNMPTrapper conforme destacado no código a = " ", generictype = TrapType.ENTERPRISE_SPECIFIC) public class EscolaSNMPTrapper extends SNMPTrapper implements IEscolaTrapper { 4. Na mesma classe, crie uma variável estática e privada para armazenar uma única instância do objeto e um método getinstance() para sempre referenciá-la (i.e. aplicação do padrão singleton): private static EscolaSNMPTrapper instance; public static synchronized EscolaSNMPTrapper getinstance() { if (instance == null) { instance = new EscolaSNMPTrapper(); return instance; 11

12 5. Inclua a (para registrar cada um dos traps a serem disparados via SNMP) e implemente a classe EscolaSNMPTrapper por completo utilizando o conteúdo a seguir (modificações necessárias em destaque): package br.gov.sample.demoiselle.escola.monitoring.trapper; import org.snmp4j.smi.counter32; import org.snmp4j.smi.gauge32; import org.snmp4j.smi.integer32; import org.snmp4j.smi.octetstring; import br.gov.component.demoiselle.monitoring.snmp.managedobject; import br.gov.component.demoiselle.monitoring.snmp.managedtrap; import br.gov.component.demoiselle.monitoring.snmp.traptype; import br.gov.component.demoiselle.monitoring.trapper.snmp.snmptrapper; public class EscolaSNMPTrapper extends SNMPTrapper implements IEscolaTrapper { private static EscolaSNMPTrapper instance; public static synchronized EscolaSNMPTrapper getinstance() { if (instance == null) { instance = new EscolaSNMPTrapper(); return = 5, variablebindings = ".1", type = OctetString.class)) public void enviarfalha(final String message) = 15, variablebindings = = ".1", type = = ".2", type = Gauge32.class)) public void enviarinfobd(final String datasource, final int connections) = TrapType.ENTERPRISE_SPECIFIC, specifictype = 12345, variablebindings = = ".1", type = = ".2", type = = ".3", type = Counter32.class)) public void enviarmensagem(final String message, final int level, final int value) = 2, variablebindings = ".1", type = Gauge32.class), mbeanname = "java.lang:type=memory", mbeanattribute = "HeapMemoryUsage.used") public void enviarmemoriaheapusada() = ".1", type = OctetString.class), mbeanname = "br.gov.demoiselle:name=escola", mbeanattribute = "VersaoAplicacao") public void enviarversaoaplicacao() { 12

13 6. Adicione ao arquivo de configurações snmp.properties existente as linhas a seguir: # 2) trapping / passive check # enable a SNMP trapper that sends data to the server monitoring.snmp.trapper.enabled = true # the network protocol to be used (udp or tcp) monitoring.snmp.trapper.protocol = udp # name or IP address of the machine that SNMP server runs on monitoring.snmp.trapper.server = # the port of SNMP on its server (default 162) monitoring.snmp.trapper.port = 162 # name of the community to be considered monitoring.snmp.trapper.community = public # SNMP version (v1, v2c or v3) monitoring.snmp.trapper.version = v1 # enterprise OID for sending traps monitoring.snmp.trapper.enterprise_oid = # default generic trap type monitoring.snmp.trapper.generic_type = 6 # default specific trap type monitoring.snmp.trapper.specific_type = 1 # default application trap OID for sending traps monitoring.snmp.trapper.application_trap_oid = No arquivo pom.xml da aplicação inclua a referência à compilação por aspectos para artefatos que façam uso do componente Demoiselle Monitoring, tal como indicado a seguir: <plugin> <groupid>org.codehaus.mojo</groupid> <artifactid>aspectj-maven-plugin</artifactid> <version>1.3</version> <configuration> <source>1.5</source> <target>1.5</target> <aspectlibraries> <aspectlibrary> <groupid>br.gov.component.demoiselle</groupid> <artifactid>demoiselle-monitoring</artifactid> </aspectlibrary> </aspectlibraries> </configuration> <executions> <execution> <goals> <goal>compile</goal> <goal>test-compile</goal> </goals> </execution> </executions> </plugin> 13

14 8. Crie a classe ExemploUsoTrappers conforme código fonte exibido a seguir: package br.gov.sample.demoiselle.escola.business; import br.gov.sample.demoiselle.escola.monitoring.trapper.escolasnmptrapper; import br.gov.sample.demoiselle.escola.monitoring.trapper.iescolatrapper; public class ExemploUsoTrappers { public static void main(final String[] args) { // iniciar trappers EscolaSNMPTrapper.getInstance().start(); // invocar regras de negócio com envio de traps ExemploUsoTrappers exemplo = new ExemploUsoTrappers(); exemplo.executarinformativo(); exemplo.executarcomfalha(); // finalizar trappers EscolaSNMPTrapper.getInstance().stop(); public void executarcomfalha() { try { throw new Exception("Um erro ocorreu intencionalmente"); catch (Exception e) { EscolaSNMPTrapper.getInstance().enviarFalha(e.getMessage()); public void executarinformativo() { IEscolaTrapper trapper1 = EscolaSNMPTrapper.getInstance(); trapper1.enviarmemoriaheapusada(); trapper1.enviarinfobd("db1", 500); 9. Execute a classe ExemploUsoTrappers e observe as linhas inseridas no console do Eclipse (vide imagem a seguir): 14

15 10. Abra um terminal como superusuário (i.e. root ) e inicie o servidor SNMP para captura de traps (i.e. snmptrapd) utilizando a instrução a seguir. Execute novamente a classe Java de exemplo e acompanhe a chegada das notificações e mensagens: # snmptrapd -f -Le NET-SNMP version :53: (via UDP: [ ]:55019) TRAP, SNMP v1, community public SNMPv2-SMI::enterprises Enterprise Specific Trap (2) Uptime: 0:00:00.36 SNMPv2-SMI::enterprises = Gauge32: :53: (via UDP: [ ]:38062) TRAP, SNMP v1, community public SNMPv2-SMI::enterprises Enterprise Specific Trap (15) Uptime: 0:00:00.72 SNMPv2-SMI::enterprises = STRING: "db1" SNMPv2-SMI::enterprises = Gauge32: :53: (via UDP: [ ]:46024) TRAP, SNMP v1, community public SNMPv2-SMI::enterprises Enterprise Specific Trap (5) Uptime: 0:00:00.72 SNMPv2-SMI::enterprises = STRING: "Um erro ocorreu intencionalmente" Obs: Lembre-se de configurar o arquivo /etc/snmp/snmptrapd.conf incluindo a seguinte linha que define a comunidade public para o recebimento de traps. authcommunity log,execute,net public 11. Para que o envio destes traps ocorra de forma periódica em intervalos regulares e automaticamente, é preciso de classes do tipo checker. Crie a classe EscolaChecker estendendo a superclasse GenericChecker e utilize as tal como no código a seguir: package br.gov.sample.demoiselle.escola.monitoring.checker; import java.util.concurrent.timeunit; import br.gov.component.demoiselle.monitoring.checker.genericchecker; import br.gov.component.demoiselle.monitoring.checker.scheduledcheck; import br.gov.component.demoiselle.monitoring.trapper.trapper; import br.gov.sample.demoiselle.escola.monitoring.trapper.escolasnmptrapper; public class EscolaChecker extends GenericChecker private EscolaSNMPTrapper = 30, unit = TimeUnit.SECONDS) public void checkdatabases() { int conn1 = (int) (Math.random() * 1000); int conn3 = (int) (Math.random() * 1000); this.snmptrapper.enviarinfobd("db1", conn1); this.snmptrapper.enviarinfobd("db3", = 1, unit = TimeUnit.MINUTES) public void checkusedmemory() { this.snmptrapper.enviarmemoriaheapusada(); 15

16 12. Altere o arquivo de configurações demoiselle.properties incluindo as linhas a seguir: # Custom trapper classes to be loaded on application startup component.demoiselle.monitoring.trappers = \ br.gov.sample.demoiselle.escola.monitoring.trapper.escolasnmptrapper # Custom checker classes to be loaded on application startup component.demoiselle.monitoring.checkers = \ br.gov.sample.demoiselle.escola.monitoring.checker.escolachecker 13. Publique novamente a aplicação Web no contêiner Apache Tomcat e observe o envio periódico de traps no console do Eclipse (vide imagem a seguir) e no terminal com o serviço SNMP: 16

17 Exercício 10.3 Polling Zabbix: Criação e utilização do agente 1. Para a abordagem específica utilizando Zabbix é preciso também criar uma interface inicial estendendo IMBean. Como já criamos a EscolaMonitoringMBean, podemos reutilizá-la nesta seção: package br.gov.sample.demoiselle.escola.monitoring.mbean; import br.gov.component.demoiselle.monitoring.jmx.imbean; public interface EscolaMonitoringMBean extends IMBean { long getqtdalunosmatriculados(); int getqtdturmasincluidas(); String getversaoaplicacao(); String getultimousuariologado(); int getnivellog(); void setnivellog(int nivellog); 2. Tal como na abordagem genérica com SNMP, para Zabbix também precisamos criar uma classe que implemente a interface EscolaMonitoringMBean, porém desta vez apenas a precisará ser utilizada. Ela servirá para identificar o Managed Bean no servidor JMX. O código final da classe EscolaMonitoring deve ficar assim: package br.gov.sample.demoiselle.escola.monitoring.mbean; import = "br.gov.demoiselle:name=escola") public class EscolaMonitoring implements EscolaMonitoringMBean { private long qtdalunos = 0; public long getqtdalunosmatriculados() { this.qtdalunos = (int) (Math.random() * 100) + 100; return this.qtdalunos; private int qtdturmas = 0; public int getqtdturmasincluidas() { this.qtdturmas += (int) (Math.random() * 10); return this.qtdturmas; private static final String[] USUARIOS = { "Fulano", "Sicrano", "Beltrano" ; public String getultimousuariologado() { int pos = (int) (Math.random() * USUARIOS.length); return USUARIOS[pos]; private static final String VERSAO = "2.4.1-RC2"; public String getversaoaplicacao() { return VERSAO; 17

18 private int nivellog = 1; public int getnivellog() { return this.nivellog; public void setnivellog(final int nivellog) { this.nivellog = nivellog; 3. Crie o arquivo de configurações zabbix.properties específico para serviços Zabbix contendo as linhas a seguir: # Zabbix Configuration # 1) polling / active check # enable a Zabbix agent that handles JMX queries monitoring.zabbix.agent.enabled = true # the port that the agent listens on (default 10052) monitoring.zabbix.agent.port = # the address to listen on, or '*' to listen on any available address monitoring.zabbix.agent.address = * # protocol version to use (default 1.4) monitoring.zabbix.agent.protocol = Associe o listener de Zabbix na aplicação Web incluindo as seguintes linhas no arquivo WEB- INF/web.xml: <!-- Demoiselle Monitoring Configuration (Zabbix) --> <listener> <listener-class> br.gov.component.demoiselle.monitoring.web.zabbix.zabbixlistener </listener-class> </listener> 5. Publique a aplicação Web no contêiner Apache Tomcat e observe as linhas inseridas no console do Eclipse (vide imagem a seguir): Com isso o agente Zabbix está pronto para receber requisições TCP na porta

19 6. Para conferir se o serviço está funcionando devidamente, abra um terminal e execute o comando telnet passando o servidor (localhost) e a porta (10052). Assim que a conexão TCP tiver sido estabelecida, envie a requisição no protocolo 1.4 do Zabbix digitando um texto no seguinte formato: jmx[nome-do-mbean][nome-do-atributo]. Por exemplo, para invocar o método getultimousuariologado() exposto pela interface EscolaMonitoringMBean, execute as instruções destacadas conforme exemplo: $ telnet localhost Trying Connected to localhost. Escape character is '^]'. jmx[br.gov.demoiselle:name=escola][ultimousuariologado] ZBXD#SicranoConnection closed by foreign host. 7. A string ZBXD faz parte do protocolo, observe que a resposta de cada requisição aparece a seguir (no exemplo: Sicrano ). Teste a execução com os demais atributos exportados pelo MBean. É possível ainda enviar múltiplas consultas de atributos em uma única requisição, tal como no exemplo a seguir: $ telnet localhost Trying Connected to localhost. Escape character is '^]'. jmx[br.gov.demoiselle:name=escola][qtdalunosmatriculados] jmx[br.gov.demoiselle:name=escola][qtdturmasincluidas] jmx[br.gov.demoiselle:name=escola][versaoaplicacao] jmx[br.gov.demoiselle:name=escola][ultimousuariologado] jmx[br.gov.demoiselle:name=escola][nivellog] ZBXD##116ZBXD##0ZBXD# Connection closed by foreign host RC2ZBXDBeltranoZBXD##1 19

20 Exercício 10.4 Trapping Zabbix: Criação e utilização do trapper 1. O desenvolvimento de trappers utilizando a abordagem específica com o Zabbix começa da mesma forma que com SNMP. É preciso criar a interface IEscolaTrapper estendendo a interface ITrapper e com o seguinte conteúdo: package br.gov.sample.demoiselle.escola.monitoring.trapper; import br.gov.component.demoiselle.monitoring.trapper.itrapper; public interface IEscolaTrapper extends ITrapper { void enviarfalha(string mensagem); void enviarinfobd(string base, int conexoes); void enviarmemoriaheapusada(); void enviarmensagem(string mensagem, int nivel, int valor); void enviarversaoaplicacao(); 2. Crie a classe EscolaZabbixTrapper herdando da superclasse ZabbixTrapper e implementando a interface IEscolaTrapper desenvolvida anteriormente, incluindo todos os métodos nela existentes: package br.gov.sample.demoiselle.escola.monitoring.trapper; import br.gov.component.demoiselle.monitoring.trapper.zabbix.zabbixtrapper; public class EscolaZabbixTrapper extends ZabbixTrapper implements IEscolaTrapper { 3. Inclua as para configurar o envio de traps Zabbix na classe EscolaZabbixTrapper conforme destacado no código a seguir: package br.gov.sample.demoiselle.escola.monitoring.trapper; import br.gov.component.demoiselle.monitoring.trapper.zabbix.zabbixhost; import br.gov.component.demoiselle.monitoring.trapper.zabbix.zabbixitem; import public class EscolaZabbixTrapper extends ZabbixTrapper implements IEscolaTrapper = "escola.message") public void enviarfalha(final String mensagem) = "escola.database[*]") public void enviarinfobd(final String base, final int conexoes) = "escola.memory[used]", mbeanname = "java.lang:type=memory", mbeanattribute = "HeapMemoryUsage.used") public void enviarmemoriaheapusada() { 20

21 @ZabbixItem(key = "escola.versao", mbeanname = "br.gov.demoiselle:name=escola", mbeanattribute = "VersaoAplicacao") public void enviarversaoaplicacao() { public void enviarmensagem(final String mensagem, final int nivel, final int valor) { 4. Na mesma classe, crie uma variável estática e privada para armazenar uma única instância do objeto e um método getinstance() para sempre referenciá-la (i.e. aplicação do padrão singleton): private static EscolaZabbixTrapper instance; public static synchronized EscolaZabbixTrapper getinstance() { if (instance == null) { instance = new EscolaZabbixTrapper(); return instance; 5. Adicione ao arquivo de configurações zabbix.properties existente as linhas a seguir: # 2) trapping / passive check # enable a Zabbix trapper that sends data to the server monitoring.zabbix.trapper.enabled = true # name or IP address of the machine that Zabbix runs on monitoring.zabbix.trapper.server = # the port of Zabbix on its server (default 10051) monitoring.zabbix.trapper.port = # name of the host as defined in the hosts section in Zabbix monitoring.zabbix.trapper.host = Armenia Zabbix # schedule automatic trapping of active checks monitoring.zabbix.trapper.active_checks = false # default item key to be used when sending traps monitoring.zabbix.trapper.default_key = escola.message 6. Modifique a classe ExemploUsoTrappers conforme destacado no código fonte exibido a seguir: package br.gov.sample.demoiselle.escola.business; import br.gov.sample.demoiselle.escola.monitoring.trapper.escolazabbixtrapper; import br.gov.sample.demoiselle.escola.monitoring.trapper.iescolatrapper; public class ExemploUsoTrappers { /** args */ public static void main(final String[] args) { // iniciar trappers EscolaZabbixTrapper.getInstance().start(); 21

22 // invocar regras de negócio com envio de traps ExemploUsoTrappers exemplo = new ExemploUsoTrappers(); exemplo.executarinformativo(); exemplo.executarcomfalha(); // finalizar trappers EscolaZabbixTrapper.getInstance().stop(); public void executarcomfalha() { try { throw new Exception("Um erro ocorreu intencionalmente"); catch (Exception e) { EscolaZabbixTrapper.getInstance().enviarFalha(e.getMessage()); public void executarinformativo() { IEscolaTrapper trapper2 = EscolaZabbixTrapper.getInstance(); trapper2.enviarmemoriaheapusada(); trapper2.enviarinfobd("db1", 500); 7. Execute a classe ExemploUsoTrappers e observe as linhas inseridas no console do Eclipse (vide imagem a seguir): Por enquanto ignore a exceção ConnectException levantada durante a tentativa de conexão. Para que o teste seja completamente validado é preciso ter à disposição um servidor Zabbix configurado com o host e indicadores definidos. Eis o resultado de uma execução com sucesso: 22

Desenvolvimento Web com Framework Demoiselle versão 1.1

Desenvolvimento Web com Framework Demoiselle versão 1.1 Desenvolvimento Web com Framework Demoiselle versão 1.1 Módulo 10: Monitoração de Ambientes Autor: Rodrigo Hjort SERPRO / Coordenação Estratégica de Tecnologia / Curitiba www.frameworkdemoiselle.org.br

Leia mais

LOGGING DE EVENTOS COM LOG4J

LOGGING DE EVENTOS COM LOG4J LOGGING DE EVENTOS COM LOG4J por Luiz Gustavo Stábile de Souza O que é logging? Fazer o logging de uma aplicação é uma das possíveis maneiras de debugá-la, registrando em algum meio (arquivo, enviando

Leia mais

Para iniciar um agente SNMP, usamos o comando snmpd. Por padrão, aceita requisições na porta 161 (UDP).

Para iniciar um agente SNMP, usamos o comando snmpd. Por padrão, aceita requisições na porta 161 (UDP). EN3610 Gerenciamento e interoperabilidade de redes Prof. João Henrique Kleinschmidt Prática SNMP Net-SNMP (http://www.net-snmp.org) é um conjunto de aplicações usado para implementar SNMPv1, SNMPv2 e SNMPv3.

Leia mais

Para iniciar um agente SNMP, usamos o comando snmpd. Por padrão, aceita requisições na porta 161 (UDP).

Para iniciar um agente SNMP, usamos o comando snmpd. Por padrão, aceita requisições na porta 161 (UDP). EN3610 Gerenciamento e interoperabilidade de redes Prof. João Henrique Kleinschmidt Prática SNMP 1 MIBs RMON No Linux os arquivos MIB são armazenados no diretório /usr/share/snmp/mibs. Cada arquivo MIB

Leia mais

Universidade Federal do Rio Grande do Norte

Universidade Federal do Rio Grande do Norte Universidade Federal do Rio Grande do Norte Redes de Computadores - Camada de Aplicação Curso de Engenharia de Software Prof. Marcos Cesar Madruga/Thiago P. da Silva Material basedado em [Kurose&Ross 2009]

Leia mais

Nesta sessão introduziremos os conceitos básicos do Cacti, e como fazer para instalá-lo em seu computador.

Nesta sessão introduziremos os conceitos básicos do Cacti, e como fazer para instalá-lo em seu computador. Cacti é uma ferramenta gráfica de gerenciamento de dados de rede que disponibiliza a seus usuários uma interface intuitiva e bem agradável de se usar, sendo acessível a qualquer tipo de usuários. Este

Leia mais

Hoje em dia é muito comum utilizar uma API de logging de mensagens como o Log4j para indicar os comportamentos de uma aplicação.

Hoje em dia é muito comum utilizar uma API de logging de mensagens como o Log4j para indicar os comportamentos de uma aplicação. Introdução Hoje em dia é muito comum utilizar uma API de logging de mensagens como o Log4j para indicar os comportamentos de uma aplicação. O Log4j é um é um projeto open source distribuído pela Apache

Leia mais

Application Notes: SNMP. Configuração do protocolo SNMP

Application Notes: SNMP. Configuração do protocolo SNMP Application Notes: SNMP Configuração do protocolo SNMP Application Notes: SNMP Configuração do protocolo SNMP. Data 10/05/2010, Revisão 1.1 Introdução Desenvolvimento Configurando o Protocolo SNMP Traps

Leia mais

GESTÃO DE SISTEMAS E REDES SIMPLE NETWORK MANAGEMENT PROTOCOL (SNMP)

GESTÃO DE SISTEMAS E REDES SIMPLE NETWORK MANAGEMENT PROTOCOL (SNMP) GESTÃO DE SISTEMAS E REDES SIMPLE NETWORK MANAGEMENT PROTOCOL (SNMP) OUTLINE SIMPLE NETWORK MANAGEMENT PROTOCOL ESTRUTURA DA INFORMAÇÃO DE GESTÃO PROTOCOLO SNMPV1 SNMPV2 SNMPV3 SNMP NO IOS SNMP NO PACKET

Leia mais

INSTALANDO E CONFIGURANDO O ACTIVE DIRECTORY NO WINDOWS SERVER 2008

INSTALANDO E CONFIGURANDO O ACTIVE DIRECTORY NO WINDOWS SERVER 2008 INSTALANDO E CONFIGURANDO O ACTIVE DIRECTORY NO WINDOWS SERVER 2008 Objetivo Esse artigo tem como objetivo demonstrar como instalar e configurar o Active Directory no Windows Server 2008. Será também apresentado

Leia mais

Software de gerenciamento do sistema Intel. Guia do usuário do Pacote de gerenciamento do servidor modular Intel

Software de gerenciamento do sistema Intel. Guia do usuário do Pacote de gerenciamento do servidor modular Intel Software de gerenciamento do sistema Intel do servidor modular Intel Declarações de Caráter Legal AS INFORMAÇÕES CONTIDAS NESTE DOCUMENTO SÃO RELACIONADAS AOS PRODUTOS INTEL, PARA FINS DE SUPORTE ÀS PLACAS

Leia mais

Redes de Computadores II

Redes de Computadores II Redes de Computadores II Slide 1 Gerenciamento de Redes Gerenciamento de redes inclui o fornecimento, a integração e a coordenação de hardware, software e elementos humanos para monitorar, testar, configurar,

Leia mais

Tutorial Módulo 06 - Segurança

Tutorial Módulo 06 - Segurança LABORATÓRIO 06 Segurança Este laboratório tem por objetivo exercitar o uso do componente de segurança do Framework e uso da especificação JAAS. Objetivos: Uso do Login Module do Componente de Segurança

Leia mais

Desenvolvimento Web com Framework Demoiselle versão 1.0

Desenvolvimento Web com Framework Demoiselle versão 1.0 Desenvolvimento Web com Framework Demoiselle versão 1.0 Módulo 07: Outros Componentes Autor: Rodrigo Hjort Serpro / Coordenação Estratégica de Tecnologia / Curitiba www.frameworkdemoiselle.org.br Modificado

Leia mais

ADMINISTRAÇÃO DE SISTEMAS OPERACIONAIS

ADMINISTRAÇÃO DE SISTEMAS OPERACIONAIS ADMINISTRAÇÃO DE SISTEMAS OPERACIONAIS FUNDAMENTOS DE Visão geral sobre o Active Directory Um diretório é uma estrutura hierárquica que armazena informações sobre objetos na rede. Um serviço de diretório,

Leia mais

3. O protocolo SNMP 1

3. O protocolo SNMP 1 3. O protocolo SNMP 1 Veicula informações de gerência transporte de valores das MIBs Interações sem conexão Mensagens em UDP/IP portas 161 e 162 pacotes de tamanho variável Mensagens auto-contidas formato

Leia mais

Manual de Instalação PIMSConnector em Windows

Manual de Instalação PIMSConnector em Windows Manual de Instalação PIMSConnector em Windows Julho/2015 Sumário 1. Contexto de negócio (Introdução)... 3 2. Pré-requisitos instalação/implantação/utilização... 4 3. JBOSS... 6 3.1. Instalação... 6 3.2.

Leia mais

ARQUITETURA SISGRAD. Manual de Utilização. Versão: 2.0. Criação: 05 de julho de 2007 Autor: André Penteado

ARQUITETURA SISGRAD. Manual de Utilização. Versão: 2.0. Criação: 05 de julho de 2007 Autor: André Penteado ARQUITETURA SISGRAD Manual de Utilização Versão: 2.0 Criação: 05 de julho de 2007 Autor: André Penteado Última Revisão: 09 de outubro de 2009 Autor: Alessandro Moraes Controle Acadêmico - Arquitetura SISGRAD

Leia mais

Criação de Servlets Name Directory Build WAR JSP/Servlet frameworks Launch URL Package Class name Generate header comments

Criação de Servlets Name Directory Build WAR JSP/Servlet frameworks Launch URL Package Class name Generate header comments Criação de Servlets 1. Crie um novo projeto através do Menu File New Project. 2. Acesse o Menu File New. 3. Na janela Object Gallery que surgirá, selecione a guia Web. 4. Escolha o ícone que corresponde

Leia mais

INSTALANDO SQL SERVER 2008

INSTALANDO SQL SERVER 2008 VERSÃO 2 INSTALANDO SQL SERVER 2008 Pré-requisitos para instalação do SQL SERVER 2008 Antes de iniciar o instalador do SQL SERVER 2008 é necessário instalar os seguintes componentes: Microsoft Windows

Leia mais

Iniciando a configuração do BOT

Iniciando a configuração do BOT Iniciando a configuração do BOT Traduzido por: Antonio Edivaldo de O. Gaspar, edivaldo.gaspar(at)gmail(dot)com Texto original: http://www.blockouttraffic.de/gettingstarted.php Revisado em: 25/07/06 09:00

Leia mais

Desenvolvimento para Android Prá3ca 3. Prof. Markus Endler

Desenvolvimento para Android Prá3ca 3. Prof. Markus Endler Desenvolvimento para Android Prá3ca 3 Prof. Markus Endler Exercício 3.1 Solicitando permissão para abrir uma página Web ü Criaremos uma Ac.vity com um EditText (para entrada de uma URL), um Bu?on e uma

Leia mais

Manual de Instalação e Configuração MySQL

Manual de Instalação e Configuração MySQL Manual de Instalação e Configuração MySQL Data alteração: 19/07/11 Pré Requisitos: 1. Baixar os seguintes arquivos no através do link http://ip.sysfar.com.br/install/ mysql-essential-5.1.46-win32.msi mysql-gui-tools-5.0-r17-win32.msi

Leia mais

Criação de um novo projeto no Eclipse utilizando Maven

Criação de um novo projeto no Eclipse utilizando Maven 1. Faça o download da versão mais atual do Eclipse IDE for Java EE Developers em https://www.eclipse.org/downloads/. 2. No Eclipse, crie um novo projeto Maven, em File >> New >> Maven Project 3. Marque

Leia mais

Tutorial RMI (Remote Method Invocation) por Alabê Duarte

Tutorial RMI (Remote Method Invocation) por Alabê Duarte Tutorial RMI (Remote Method Invocation) por Alabê Duarte Este tutorial explica basicamente como se implementa a API chamada RMI (Remote Method Invocation). O RMI nada mais é que a Invocação de Métodos

Leia mais

Laboratório Configuração do SNMP

Laboratório Configuração do SNMP Topologia Tabela de Endereçamento Objetivos Dispositivo Interface Endereço IP Máscara de Sub-Rede Gateway padrão R1 G0/1 192.168.1.1 255.255.255.0 N/A S0/0/0 192.168.2.1 255.255.255.252 N/A R2 S0/0/0 192.168.2.2

Leia mais

Manual de Instalação PIMSConnector em Linux

Manual de Instalação PIMSConnector em Linux Manual de Instalação PIMSConnector em Linux Julho/2015 Sumário 1. Contexto de negócio (Introdução)... 3 2. Pré-requisitos instalação/implantação/utilização... 4 3. JBOSS... 6 3.1. Instalação... 6 3.2.

Leia mais

INTERCONEXÃO DE REDES DE COMPUTADORES

INTERCONEXÃO DE REDES DE COMPUTADORES 1 Resumo 2 INTERCONEXÃO DE REDES DE COMPUTADORES Parte 7 Introdução à Gerência de Redes Introdução Segurança SNMPv1, SNMPv2 Segurança SNMPv3 Prof. Pedro S. Nicolletti (Peter), 2013 Introdução 3 4 Com o

Leia mais

MA001. 01 de 28. Responsável. Revisão Q de 26/06/2015. Cantú & Stange Software. Página

MA001. 01 de 28. Responsável. Revisão Q de 26/06/2015. Cantú & Stange Software. Página Manual de instalação do Zada 5 MA001 Responsável Revisão Q de 26/06/2015 FL Página 01 de 28 Página 1 de 33 Revisão Q de 26/06/2015 MA001 Responsável: FL Manual de instalação do Zada 5 Este manual consiste

Leia mais

3. O protocolo SNMP. Managed system. Management system. resources. management application. MIB objects. SNMP manager UDP IP. IP link.

3. O protocolo SNMP. Managed system. Management system. resources. management application. MIB objects. SNMP manager UDP IP. IP link. 3. O protocolo SNMP Veicula informações de gerência transporte de valores das MIBs Interações sem conexão Mensagens em UDP/IP portas e 162 pacotes de tamanho variável Mensagens auto-contidas formato Type

Leia mais

Cacti 4 de fevereiro de 2010

Cacti 4 de fevereiro de 2010 4 de fevereiro de 2010 Sumário 1 Introdução 2 2 Pré-requisitos 2 3 Instalação 2 3.1 Instalando os pacotes necessários................ 3 4 Configuração 3 4.1 Configurando o MySQL..................... 3

Leia mais

MANUAL DO USUÁRIO DE REDE

MANUAL DO USUÁRIO DE REDE MANUAL DO USUÁRIO DE REDE Armazenar registro de impressão na rede Versão 0 BRA-POR Definições de observações Utilizamos o seguinte ícone neste Manual do Usuário: Observações indicam como você deve reagir

Leia mais

Manual de instalação Servidor Orion Phoenix

Manual de instalação Servidor Orion Phoenix Manual de instalação Servidor Orion Phoenix Fevereiro/2011 Este documento se destina a instalação do Orion Phoenix na sua rede Versão 1.01 C ONTE ÚDO 1. INTRODUÇÃO... 3 2. VISÃO GERAL... 3 3. PROCEDIMENTOS

Leia mais

FACULDADE DE TECNOLOGIA SENAC GOIÁS CONTROLE DE ACESSO USANDO O FRAMEWORK RICHFACES. 5º PERÍODO Gestão da Tecnologia da Informação

FACULDADE DE TECNOLOGIA SENAC GOIÁS CONTROLE DE ACESSO USANDO O FRAMEWORK RICHFACES. 5º PERÍODO Gestão da Tecnologia da Informação FACULDADE DE TECNOLOGIA SENAC GOIÁS CONTROLE DE ACESSO USANDO O FRAMEWORK RICHFACES 5º PERÍODO Gestão da Tecnologia da Informação Alunos: Alessandro Aparecido André Alexandre Bruno Santiago Thiago Castilho

Leia mais

LABORATÓRIO IX. SNMP Parte II Autenticação e Traps Documento versão 0.1. Aluno: Paulo Henrique Moreira Gurgel #5634135

LABORATÓRIO IX. SNMP Parte II Autenticação e Traps Documento versão 0.1. Aluno: Paulo Henrique Moreira Gurgel #5634135 LABORATÓRIO IX SNMP Parte II Autenticação e Traps Documento versão 0.1 Aluno: Paulo Henrique Moreira Gurgel #5634135 Orientado pela Professora Kalinka Regina Lucas Jaquie Castelo Branco Agosto / 2010 Laboratório

Leia mais

Integrando Eclipse e Websphere Application Server Community Edition

Integrando Eclipse e Websphere Application Server Community Edition 1 Integrando Eclipse e Websphere Application Server Community Edition Sobre o Autor Carlos Eduardo G. Tosin (carlos@tosin.com.br) é formado em Ciência da Computação pela PUC-PR, pós-graduado em Desenvolvimento

Leia mais

Lidando de Forma Eficiente com Validações Locais de Objetos

Lidando de Forma Eficiente com Validações Locais de Objetos Lidando de Forma Eficiente com Validações Locais de Objetos Aprenda a construir um mini-framework para validar objetos locais sem afetar a complexidade do código. Autor Paulo César M. N. A. Coutinho (pcmnac@gmail.com):

Leia mais

Java 2 Standard Edition Como criar classes e objetos

Java 2 Standard Edition Como criar classes e objetos Java 2 Standard Edition Como criar classes e objetos Helder da Rocha www.argonavis.com.br 1 Assuntos abordados Este módulo explora detalhes da construção de classes e objetos Construtores Implicações da

Leia mais

Universidade Católica do Salvador CURSO DE BACHARELADO EM INFORMÁTICA

Universidade Católica do Salvador CURSO DE BACHARELADO EM INFORMÁTICA Universidade Católica do Salvador CURSO DE BACHARELADO EM INFORMÁTICA O Protocolo SNMP Por Lécia de Souza Oliveira Índice Página 2... O que é SNMP? Histórico Página 3 e 4... Estrutura Geral do Sistema

Leia mais

Procedimentos para configuração em modo WDS

Procedimentos para configuração em modo WDS Procedimentos para configuração em modo WDS 1- WDS (Wireless Distribution System) permite o acesso de um DAP-1353 com o outro DAP-1353 de um modo padronizado. Dessa forma pode simplificar a infraestrutura

Leia mais

Criação de uma base de dados em MS SQL Server e acesso com VB 6. Professor Sérgio Furgeri

Criação de uma base de dados em MS SQL Server e acesso com VB 6. Professor Sérgio Furgeri OBJETIVOS DA AULA: Criação de uma base de dados em MS SQL Server e acesso com VB 6. Fazer uma breve introdução a respeito do MS SQL Server 7.0; Criar uma pequena base de dados no MS SQL Server 7.0; Elaborar

Leia mais

Redes de Computadores

Redes de Computadores Redes de Computadores Gestão de redes. Protocolo SNMP. Maio de 2010 1 Gestão de redes Gestão de redes refere-se neste contexto às actividades relacionadas com a manutenção do bom funcionamento de um conjunto

Leia mais

Módulo 5 JPATransaction Camadas Turma Turma TurmaBC .business @BusinessController TurmaBC TurmaBC TurmaBC

Módulo 5 JPATransaction Camadas Turma Turma TurmaBC .business @BusinessController TurmaBC TurmaBC TurmaBC Módulo 5 No módulo anterior adaptamos nosso projeto para persistir as informações no banco de dados utilizando as facilidades da extensão demoiselle-jpa. Experimentamos o controle transacional do Framework

Leia mais

#apt-get install make flex gcc gpp apache2 php5 php5-pgsql postgresql-8.4 libapache2-mod-php5 php5-gd php-net-socket postgres

#apt-get install make flex gcc gpp apache2 php5 php5-pgsql postgresql-8.4 libapache2-mod-php5 php5-gd php-net-socket postgres no Debian 6.0 Instalação do Zabbix (Sistema de Gerenciamento de Rede) Utilizando o terminal do linux digite o comando abaixo: #apt-get install make flex gcc gpp apache2 php5 php5-pgsql postgresql-8.4 libapache2-mod-php5

Leia mais

Especialização em desenvolvimento para web com interfaces ricas. Tratamento de exceções em Java Prof. Fabrízzio A. A. M. N. Soares

Especialização em desenvolvimento para web com interfaces ricas. Tratamento de exceções em Java Prof. Fabrízzio A. A. M. N. Soares Especialização em desenvolvimento para web com interfaces ricas Tratamento de exceções em Java Prof. Fabrízzio A. A. M. N. Soares Objetivos Conceito de exceções Tratar exceções pelo uso de try, catch e

Leia mais

PROTÓTIPO TIPO DE UM SOFTWARE AGENTE SNMP PARA REDE WINDOWS

PROTÓTIPO TIPO DE UM SOFTWARE AGENTE SNMP PARA REDE WINDOWS UNIVERSIDADE REGIONAL DE BLUMENAU BACHARELADO EM CIÊNCIAS DA COMPUTAÇÃO PROTÓTIPO TIPO DE UM SOFTWARE AGENTE SNMP PARA REDE WINDOWS Acadêmico: Luciano Waltrick Goeten Orientador: Prof. Sérgio Stringari

Leia mais

The Simple Network Management Protocol, version 1

The Simple Network Management Protocol, version 1 SNMPv1 The Simple Network Management Protocol, version 1, 2007 1 O Protocolo A versão original do SNMP derivou do Simple Gateway Monitoring Protocol (SGMP) em 1988 RFC1157, STD0015 A Simple Network Management

Leia mais

J550. Model View Controller

J550. Model View Controller J550 Model View Controller 1 Design de aplicações JSP Design centrado em páginas Aplicação JSP consiste de seqüência de páginas (com ou sem beans de dados) que contém código ou links para chamar outras

Leia mais

Como criar um EJB. Criando um projeto EJB com um cliente WEB no Eclipse

Como criar um EJB. Criando um projeto EJB com um cliente WEB no Eclipse Como criar um EJB Criando um projeto EJB com um cliente WEB no Eclipse Gabriel Novais Amorim Abril/2014 Este tutorial apresenta o passo a passo para se criar um projeto EJB no Eclipse com um cliente web

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Marcelo Lobosco DCC/UFJF Comunicação em Sistemas Distribuídos Aula 06 Agenda Modelo Cliente-Servidor (cont.) Invocação Remota de Método (Remote Method Invocation RMI) Visão Geral

Leia mais

Parte I. Demoiselle Mail

Parte I. Demoiselle Mail Parte I. Demoiselle Mail Para o envio e recebimento de e-s em aplicativos Java, a solução mais natural é usar a API JavaMail [http:// www.oracle.com/technetwork/java/java/index.html]. Ela provê um framework

Leia mais

TUTORIAL JAVA AS - HTTP CLIENT COMPOSITION ENVIROMENT 7.1

TUTORIAL JAVA AS - HTTP CLIENT COMPOSITION ENVIROMENT 7.1 TUTORIAL JAVA AS - HTTP CLIENT COMPOSITION ENVIROMENT 7.1 FABIO HAIDER 2008 C O N T E Ú D O : 1 HTTP Client...3 1.1 Arquitetura...3 1.2 Usando HTTP Client...3 1.2.1 Usuário...3 1.2.2 Implementação HTTP

Leia mais

EAI Manual do Administrador

EAI Manual do Administrador EAI Manual do Administrador 1 Definição de Host Application O que é um Host Application? Significa Aplicativo Hospedeiro, é o nome dado ao ambiente EAI que estará executando no seu computador ou em um

Leia mais

Invocação de Métodos Remotos

Invocação de Métodos Remotos Invocação de Métodos Remotos Java RMI (Remote Method Invocation) Tópicos Tecnologia RMI Introdução Modelo de camadas do RMI Arquitetura Fluxo de operação do RMI Passos para implementação Estudo de caso

Leia mais

ESET Remote Administrator ESET EndPoint Solutions ESET Remote Adminstrator Workgroup Script de Logon

ESET Remote Administrator ESET EndPoint Solutions ESET Remote Adminstrator Workgroup Script de Logon AGENDA 1. Download dos pacotes de instalação ESET Remote Administrator 2. Download dos pacotes de instalação ESET EndPoint Solutions 3. Procedimento de instalação e configuração básica do ESET Remote Adminstrator

Leia mais

CONFIGURAÇÃO DO SOFTFONE EYEBEAM INSTALAÇÃO CONFIGURANDO A LICENÇA TESTE DE REPRODUÇÃO E GRAVAÇÃO CONFIGURAÇÃO DO SIP SETTINGS

CONFIGURAÇÃO DO SOFTFONE EYEBEAM INSTALAÇÃO CONFIGURANDO A LICENÇA TESTE DE REPRODUÇÃO E GRAVAÇÃO CONFIGURAÇÃO DO SIP SETTINGS CONFIGURAÇÃO DO SOFTFONE EYEBEAM INSTALAÇÃO CONFIGURANDO A LICENÇA TESTE DE REPRODUÇÃO E GRAVAÇÃO CONFIGURAÇÃO DO SIP SETTINGS CONFIGURAÇÃO DE CODEC G729 AJUSTE DE VOLUME ONDE CONSEGUIR O SOFTFONE 1 INSTALAÇÃO

Leia mais

Criar um novo projeto

Criar um novo projeto Criar um novo projeto Esse passo-a-passo tem o intuito de auxiliar na criação de um novo projeto Java. Você verá os passos de criação utilizando os IDEs Eclipse e NetBeans. Eclipse 1. Inicie o Eclipse.

Leia mais

WebWork 2. João Carlos Pinheiro. jcpinheiro@cefet-ma.br

WebWork 2. João Carlos Pinheiro. jcpinheiro@cefet-ma.br WebWork 2 João Carlos Pinheiro jcpinheiro@cefet-ma.br Versão: 0.5 Última Atualização: Agosto/2005 1 Agenda Introdução WebWork 2 & XWork Actions Views Interceptadores Validação Inversão de Controle (IoC)

Leia mais

Monitorização da Rede. Simple Network Management Protocol (SNMP).

Monitorização da Rede. Simple Network Management Protocol (SNMP). Capítulo 15 Monitorização da Rede. Simple Network Management Protocol (SNMP). Uma das mais importantes tarefas de um administrador de uma rede informática é monitorizar o tráfego na rede, Detectar perdas

Leia mais

1 Criar uma entity a partir de uma web application que usa a Framework JavaServer Faces (JSF)

1 Criar uma entity a partir de uma web application que usa a Framework JavaServer Faces (JSF) Sessão Prática II JPA entities e unidades de persistência 1 Criar uma entity a partir de uma web application que usa a Framework JavaServer Faces (JSF) a) Criar um Web Application (JPAsecond) como anteriormente:

Leia mais

Segurança de Acesso a Banco de Dados no MS SQL Server

Segurança de Acesso a Banco de Dados no MS SQL Server Segurança de Acesso a Banco de Dados no MS SQL Server Para efetuar com sucesso os exemplos que serão mostrados a seguir é necessário que exista no SQL Server uma pessoa que se conecte como Administrador,

Leia mais

INTERCONEXÃO DE REDES DE COMPUTADORES

INTERCONEXÃO DE REDES DE COMPUTADORES 1 INTERCONEXÃO DE REDES DE COMPUTADORES Parte 7 Introdução à Gerência de Redes Prof. Pedro S. Nicolletti (Peter), 2013 Resumo 2 Conceitos Básicos de SNMP Introdução Arquitetura MIB Segurança SNMPv1, SNMPv2

Leia mais

CONEXÃ O NFS-E SISTEMÃ ISS-INTEL UTILIZÃNDO JÃVÃ E SSL

CONEXÃ O NFS-E SISTEMÃ ISS-INTEL UTILIZÃNDO JÃVÃ E SSL CONEXÃ O NFS-E SISTEMÃ ISS-INTEL UTILIZÃNDO JÃVÃ E SSL Autor : Julio P. Leiser House Company Data : 17/08/2011 16:00 ETAPA 1 IMPORTAR CERTIFICADO A1 DO CLIENTE COM EXTENSÃO.PFX NO INTERNET EXPLORER A partir

Leia mais

Persistência de Classes em Tabelas de Banco de Dados

Persistência de Classes em Tabelas de Banco de Dados UTFPR DAELN - Disciplina de Fundamentos de Programação II ( IF62C ). 1 Persistência de Classes em Tabelas de Banco de Dados 1) Introdução! Em algumas situações, pode ser necessário preservar os objetos

Leia mais

Gerenciamento de Redes - Evolução. Gerenciamento de Rede. Gerenciamento de Rede NOC NOC

Gerenciamento de Redes - Evolução. Gerenciamento de Rede. Gerenciamento de Rede NOC NOC s - Evolução 1970s 1970s 1980s 1980s Dispositivos 1990s 1990s Browser A Web Server Mainframe Estação Gerenciadora Browser C Browser B NOC (Network( Operation Center) Conjunto de atividades para manter

Leia mais

LABORATÓRIO 3 (parte 1)

LABORATÓRIO 3 (parte 1) FACULDADE PITÁGORAS Tecnólogo em Redes de Computadores Desempenho de Redes Prof. Ulisses Cotta Cavalca LABORATÓRIO 3 (parte 1) OBJETIVOS Verificar e manipular ferramentas de desempenho

Leia mais

MANUAL DE INSTRUÇÕES

MANUAL DE INSTRUÇÕES MANUAL DE INSTRUÇÕES 1 Conteúdo 1. LogWeb... 3 2. Instalação... 4 3. Início... 6 3.1 Painel Geral... 6 3.2 Salvar e Restaurar... 7 3.3 Manuais... 8 3.4 Sobre... 8 4. Monitoração... 9 4.1 Painel Sinóptico...

Leia mais

Telefonia IP MOT. Prática 1

Telefonia IP MOT. Prática 1 Prática 1 Instalando o proxy SIP Kamailio, configurando os usuários e interligando proxies. Objetivo: Criar um ambiente VoIP básico utilizando o proxy SIP Kamailio que terá suas informações de usuário

Leia mais

Criando documentação com javadoc

Criando documentação com javadoc H Criando documentação com javadoc H.1 Introdução Neste apêndice, fornecemos uma introdução a javadoc ferramenta utilizada para criar arquivos HTML que documentam o código Java. Essa ferramenta é usada

Leia mais

Acessando um Banco de Dados

Acessando um Banco de Dados Acessando um Banco de Dados Introdução Agora que você já está craque em JSP e já instalou seu servidor, vamos direto para a parte prática! Neste tutorial vamos aprender a acessar um banco de dados. Para

Leia mais

Prática em Laboratório N.04 (Parte 01) Criando uma aplicação composta a partir de um serviço Web

Prática em Laboratório N.04 (Parte 01) Criando uma aplicação composta a partir de um serviço Web Prática em Laboratório N.04 (Parte 01) Criando uma aplicação composta a partir de um serviço Web O objetivo deste exercício é fornecer uma introdução a criação de uma aplicação composta de modo a ilustrar

Leia mais

Prática em Laboratório N.02 Criando um serviço Web via NetBeans

Prática em Laboratório N.02 Criando um serviço Web via NetBeans Prática em Laboratório N.02 Criando um serviço Web via NetBeans O objetivo deste exercício é criar um projeto apropriado para desenvolver um contêiner que você resolva utilizar. Uma vez criado o projeto,

Leia mais

Aula 03 - Projeto Java Web

Aula 03 - Projeto Java Web Aula 03 - Projeto Java Web Para criação de um projeto java web, vá em File/New. Escolha o projeto: Em seguida, na caixa Categorias selecione Java Web. Feito isso, na caixa à direita selecione Aplicação

Leia mais

Desenvolvimento de aplicações Web. Java Server Pages

Desenvolvimento de aplicações Web. Java Server Pages Desenvolvimento de aplicações Web Java Server Pages Hamilton Lima - athanazio@pobox.com 2003 Como funciona? Servidor web 2 Internet 1 Browser 3 Arquivo jsp 4 JSP Compilado 2 Passo a passo 1 browser envia

Leia mais

Nesse artigo abordaremos os principais aspectos de instalação e uso do NTOP no Fedora Core 4.

Nesse artigo abordaremos os principais aspectos de instalação e uso do NTOP no Fedora Core 4. Diego M. Rodrigues (diego@drsolutions.com.br) O NTOP é um programa muito simples de ser instalado e não requer quase nenhuma configuração. Ele é capaz de gerar excelentes gráficos de monitoramento das

Leia mais

Arquitetura de Aplicações JSP/Web. Padrão Arquitetural MVC

Arquitetura de Aplicações JSP/Web. Padrão Arquitetural MVC Arquitetura de Aplicações JSP/Web Padrão Arquitetural MVC Arquitetura de Aplicações JSP/Web Ao projetar uma aplicação Web, é importante considerála como sendo formada por três componentes lógicos: camada

Leia mais

Programação de Computadores - I. Profª Beatriz Profº Israel

Programação de Computadores - I. Profª Beatriz Profº Israel Programação de Computadores - I Profª Beatriz Profº Israel As 52 Palavras Reservadas O que são palavras reservadas São palavras que já existem na linguagem Java, e tem sua função já definida. NÃO podem

Leia mais

ISP Redundancy e IPS Utilizando Check Point Security Gateway. Resumo

ISP Redundancy e IPS Utilizando Check Point Security Gateway. Resumo ISP Redundancy e IPS Utilizando Check Point Security Gateway Radamés Bett Curso de Especialização em Redes e Segurança de Sistemas Pontifícia Universidade Católica do Paraná Curitiba, outubro de 2010 Resumo

Leia mais

Demoiselle Tutorial Módulo 1 Arquitetura

Demoiselle Tutorial Módulo 1 Arquitetura Demoiselle Tutorial Módulo 1 Arquitetura Vanderson Botelho da Silva (SERPRO/SUPST/STCTA) Emerson Sachio Saito (SERPRO/CETEC/CTCTA) Flávio Gomes da Silva Lisboa (SERPRO/CETEC/CTCTA) Serge Normando Rehem

Leia mais

HCN/HCS SERIES CÂMERAS E CONVERSORES IP

HCN/HCS SERIES CÂMERAS E CONVERSORES IP HCN/HCS SERIES CÂMERAS E CONVERSORES IP Obrigado por utilizar os produtos Dimy s. Antes de operar o equipamento, leia atentamente as instruções deste manual para obter um desempenho adequado. Por favor,

Leia mais

Instrução para Exportação de Certificados Digitais de Servidor Web IIS 6 e IIS 7

Instrução para Exportação de Certificados Digitais de Servidor Web IIS 6 e IIS 7 Instrução para Exportação de Certificados Digitais de Servidor Web IIS 6 e IIS 7 Proibida a reprodução total ou parcial. Todos os direitos reservados 1 Sumário Introdução... 3 Pré-Requisitos:... 3 Utilizando

Leia mais

Instrução para Exportação de Certificados Digitais de Servidor Web IIS 6 e IIS 7

Instrução para Exportação de Certificados Digitais de Servidor Web IIS 6 e IIS 7 Instrução para Exportação de Certificados Digitais de Servidor Web IIS 6 e IIS 7 Gerar backup do certificado Gerar arquivo.pfx Certificado Digital do tipo A1 Sistemas Operacionais: Windows 2000 Server

Leia mais

Instruções de Instalação do Agente RMON2

Instruções de Instalação do Agente RMON2 Instruções de Instalação do Agente RMON2 Débora Pandolfi Alves deborapa@terra.com.br Ricardo Nabinger Sanchez rnsanchez@cscience.org Lúcio Braga luciobraga@yahoo.com.br Luciano Paschoal Gaspary paschoal@exatas.unisinos.br

Leia mais

Descrição. Implementação. Departamento de Informática e Estatística Universidade Federal de Santa Catarina LAB 4 Transferência de Arquivos

Descrição. Implementação. Departamento de Informática e Estatística Universidade Federal de Santa Catarina LAB 4 Transferência de Arquivos Departamento de Informática e Estatística Universidade Federal de Santa Catarina LAB 4 Transferência de Arquivos Descrição Implemente nesta atividade de laboratório um programa em Java utilizando threads

Leia mais

O essencial do comando mysqladmin, através de 18 exemplos

O essencial do comando mysqladmin, através de 18 exemplos O essencial do comando mysqladmin, através de 18 exemplos Elias Praciano O mysqladmin é uma ferramenta de linha de comando que vem junto com a instalação do servidor MySQL e é usada por administradores

Leia mais

LABORATÓRIO 3 (parte 2)

LABORATÓRIO 3 (parte 2) FACULDADE PITÁGORAS Tecnólogo em Redes de Computadores Desempenho de Redes Prof. Ulisses Cotta Cavalca LABORATÓRIO 3 (parte 2) OBJETIVOS Verificar e manipular ferramentas de desempenho

Leia mais

Um pouco do Java. Prof. Eduardo

Um pouco do Java. Prof. Eduardo Um pouco do Java Prof. Eduardo Introdução A tecnologia JAVA é composta pela linguagem de programação JAVA e pela plataforma de desenvolvimento JAVA. Os programas são escritos em arquivos-texto com a extensão.java.

Leia mais

Escrito por Daniel Donda Qui, 06 de Novembro de 2008 18:21 - Última atualização Qui, 06 de Novembro de 2008 18:47

Escrito por Daniel Donda Qui, 06 de Novembro de 2008 18:21 - Última atualização Qui, 06 de Novembro de 2008 18:47 Conhecendo o Event Viewer Muito importante na manutenção e monitoramento de servidores o Event Viewer é uma ferramenta que gera logs de eventos tudo o que ocorre no servidor. Como o sistema nunca para

Leia mais

Aplicabilidade: visão geral

Aplicabilidade: visão geral CURSO BÁSICO SAXES 2 Aplicabilidade: visão geral BI Comércio Indústria nf-e Serviços Software house Enterprise Business Bus Banco financeiro Instituição Sindicato ERP html Casos 3 6 Customização: importação

Leia mais

WiNGS Wireless Gateway WiNGS Telecom. Manual. Índice

WiNGS Wireless Gateway WiNGS Telecom. Manual. Índice Wireless Network Global Solutions WiNGS Wireless Gateway Manual Índice Pagina Características Técnicas 3 Descrição do Aparelho 4 Quick Start 5 Utilizando a interface de administração WEB 7 Login 7 Usuários

Leia mais

TUTORIAL PARA CONFIGURAÇÃO MIKROTIK UTILIZANDO ROTEAMENTO DINÂMICO COM OSPF E AUTENTIÇÃO RADIUS EM NOSSO SISTEMA IXCPROVEDOR.

TUTORIAL PARA CONFIGURAÇÃO MIKROTIK UTILIZANDO ROTEAMENTO DINÂMICO COM OSPF E AUTENTIÇÃO RADIUS EM NOSSO SISTEMA IXCPROVEDOR. TUTORIAL PARA CONFIGURAÇÃO MIKROTIK UTILIZANDO ROTEAMENTO DINÂMICO COM OSPF E AUTENTIÇÃO RADIUS EM NOSSO SISTEMA IXCPROVEDOR. Neste senário temos um roteador de internet que vai ser nosso gateway do MK1,

Leia mais

CONFIGURAÇÃO DO SOFTFONE EYEBEAM INSTALAÇÃO CONFIGURANDO A LICENÇA TESTE DE REPRODUÇÃO E GRAVAÇÃO CONFIGURAÇÃO DO SIP SETTINGS

CONFIGURAÇÃO DO SOFTFONE EYEBEAM INSTALAÇÃO CONFIGURANDO A LICENÇA TESTE DE REPRODUÇÃO E GRAVAÇÃO CONFIGURAÇÃO DO SIP SETTINGS Voip do Brasil Telefone: 0800 889 9050 CONFIGURAÇÃO DO SOFTFONE EYEBEAM INSTALAÇÃO CONFIGURANDO A LICENÇA TESTE DE REPRODUÇÃO E GRAVAÇÃO CONFIGURAÇÃO DO SIP SETTINGS CONFIGURAÇÃO DE CODEC G729 AJUSTE DE

Leia mais

INSTALANDO E CONFIGURANDO NAGIOS NO LINUX CENTOS 5.7

INSTALANDO E CONFIGURANDO NAGIOS NO LINUX CENTOS 5.7 INSTALANDO E CONFIGURANDO NAGIOS NO LINUX CENTOS 5.7 Gerson Ribeiro Gonçalves www.websolutti.com.br MANUAL DE INSTALAÇÃO E CONFIGURAÇÃO DO NAGIOS CENTOS 1. INSTALANDO NAGIOS-CORE Para todo administrador

Leia mais

Utilizando subversion como controle de versão

Utilizando subversion como controle de versão Utilizando subversion como controle de versão Heitor Rapcinski Este documento descreverá a utilização de subversion como ferramenta de controle de versão mostrando as facilidades da sua utilização para

Leia mais

Programação para Internet Orientada a Objetos com PHP & MySQL Instalando e configurando um ambiente de ferramentas PHP e MySQL. Prof. MSc.

Programação para Internet Orientada a Objetos com PHP & MySQL Instalando e configurando um ambiente de ferramentas PHP e MySQL. Prof. MSc. Programação para Internet Orientada a Objetos com PHP & MySQL Instalando e configurando um ambiente de ferramentas PHP e MySQL Prof. MSc. Hugo Souza Na última aula falamos um pouco sobre as ferramentas

Leia mais

ANDROID APPLICATION PROJECT

ANDROID APPLICATION PROJECT Criando um programa Abrindo o programa Eclipse, clique na opção [FILE], depois em [NEW], selecione a opção [PROJECT], uma janela de opção do tipo de projeto irá se abrir, escolha [ANDROID] logo depois

Leia mais