Monitore serviços na nuvem

Descubra os segredos do monitoramento de serviços na nuvem por meio de dicas, truques e ferramentas

Monitorar serviços em nuvem é um dos elementos principais da nuvem. Ao monitorar serviços na nuvem, é possível determinar se você está extraindo o máximo de sua utilização de recursos. Neste artigo, os autores definem o monitoramento com atenção específica para o monitoramento no ambiente da Nuvem IBM® e discutem as opções fundamentais para monitoramento na Nuvem IBM. Eles examinam dois cenários projetados para ilustrar o processo técnico de monitoramento de serviços em nuvem, demonstram o Agente Autônomo do IBM Tivoli® Monitoring (ITM) e APIs RESTful, duas ferramentas para serviços de monitoramento e acompanham passo a passo a configuração e uso do Agente Autônomo IBM Tivoli Monitoring na Nuvem IBM.

Dominique Vernier, IT Architect, IBM

Dominique Vernier photoNos últimos anos, Dominique Vernier se concentrou em tecnologias Java e arquitetura de nuvem. Ele também trabalha em tecnologia da informação há algum tempo, tendo obtido conhecimento amplo em tecnologias e produtos como sistema de mensagens, banco de dados, SOA, EAI, cliente/servidor, C/C++ e estruturas existentes. Dominique também possui extenso conhecimento de áreas do setor como telecomunicações, CRM, logística e seguros. Ele é o autor/coautor de quatro patentes relacionadas a motores de estado e gerenciamento de recursos. Atualmente, Dominique é responsável por Desenvolvimento e Teste de Negócios Inteligentes em soluções da Nuvem IBM na Equipe Global IBM GTS.


nível de autor Contribuidor do
        developerWorks

Alex Amies, Senior Software Engineer, IBM

Alex Amies photoAlex Amies é engenheiro de software senior no Laboratório de Desenvolvimento IBM GTS no laboratório de desenvolvimento da China. Ele é atualmente arquiteto e trabalha no design do Desenvolvimento e Teste de Negócios Inteligentes IBM na Nuvem IBM. Anteriormente, ele atuou como arquiteto e desenvolvedor de produtos de nuvem e de segurança em outros grupos na IBM.



John Sanchez, Architect, IBM

John Sanchez photoJohn Sanchez é arquiteto na equipe de monitoramento do IBM Tivoli. Ele desenvolveu imagens para IBM Tivoli Monitoring no Desenvolvimento e Teste de Negócios Inteligentes na Nuvem IBM.



Xu Dong Zheng, Staff Software Engineer, IBM

Xu Dong Zheng photoXu Dong Zheng é engenheiro de software da equipe do Laboratório de Desenvolvimento IBM GTS na China, trabalhando em Desenvolvimento e Teste de Negócios Inteligentes na Nuvem IBM, especializado em desempenho.



21/Mar/2011

Nós todos sabemos por que o conceito de computação em nuvem é empolgante para nós. Queremos poder usar os recursos da nuvem para fornecer utilização ideal de recursos. A capacidade de monitorar serviços na nuvem é um componente essencial para atingir um estado em que extraímos o uso (e valor) máximo de cada recurso.

Desenvolvimento e Teste de Negócios Inteligentes IBM na Nuvem IBM é uma nuvem pública de infrastructure as a service (IaaS) hospedada na Nuvem de Desenvolvimento e Teste. A IBM fornece com exclusividade uma oferta de nuvem pública que é adequada para empreendimentos. Os diferenciais da IBM incluem uma ampla gama de serviços e produtos, um modelo de administração delegada que permite colaboração, serviços de suporte de negócios adequados a empreendimentos e um grande catálogo de imagens de software comerciais e de software livre suportadas, pré-configuradas por equipes de trabalho, prontas para serem executadas on demand. O monitoramento de sistema é um requisito importante, que permite que empreendimentos forneçam serviços confiáveis com excelentes níveis de serviço.

Há muitos cenários de negócios nos quais os serviços em nuvem precisam de monitoramento. Este artigo se concentra em cenários que os usuários da nuvem pública de Desenvolvimento e Teste têm mais chances de encontrar. O primeiro cenário mostra como monitorar eventos essenciais no ciclo de vida de uma instância de máquina virtual. O ambiente de nuvem é ainda mais propenso a monitoramento e reação automatizada que ambientes de computação físicos tradicionais. Uma das melhores coisas a respeito da Nuvem de Desenvolvimento e Teste de Negócios Inteligentes IBM é que é possível usar diretamente configurações estabelecidas pela equipe do produto IBM Tivoli Monitoring. O segundo cenário aproveita as vantagens dos recursos de virtual LAN (VLAN) que permitem mover recursos na nuvem a partir da Internet pública e conectá-los à rede privada de sua organização por meio de um VPN completamente criptografado, para alocar recursos onde eles são mais necessários.

O monitoramento inclui monitoramento de disponibilidade e de desempenho. Geralmente um programa externo monitora a pulsação de uma máquina virtual, ou de um aplicativo em execução em uma máquina virtual, para verificar a disponibilidade. Ou seja, um programa externo envia um ping ao sistema e, se o sistema não responder ao ping, é gerado um alarme. O monitoramento de desempenho envolve o controle de métricas essenciais do desempenho do sistema. Para sistemas operacionais, trata-se geralmente de uso de CPU, de memória, de disco rígido e de rede. Monitoramento de desempenho de aplicativos geralmente envolve tempos de resposta para transações, procuras, geração de páginas ou outras operações, e medições relacionadas da carga que o aplicativo está sustentando.

Uma aplicação importante do monitoramento é prever e responder a problemas em tempo hábil. Por exemplo, um sistema de monitoramento pode permitir o estabelecimento de um acionador para quando o uso do disco atingir certo ponto. Você pode enviar um alerta a um administrador do sistema quando o uso do disco atingir 80%. Em um ambiente de computação tradicional, um administrador do sistema, ao receber o alerta, pode montar um novo disco e evitar um problema de disponibilidade resultante de uma condição de disco sem espaço.

Tradicionalmente, os requisitos de monitoramento se aplicam também à computação em nuvem. No entanto, há várias diferenças nos ambientes em nuvem.

  • Uma nuvem é um ambiente no qual ações podem ser automatizadas com maior facilidade do que em ambientes tradicionais. Por exemplo, Desenvolvimento e Teste de Negócios Inteligentes IBM na Nuvem IBM fornece uma API REST para gerenciar recursos da nuvem. A API REST é usada para responder a notificações de monitoramento.
  • Recursos de nuvem são pagos com base no uso. Portanto, o monitoramento desempenha um papel no uso mais econômico dos recursos.
  • Recursos de nuvem são criados de maneira mais dinâmica que recursos de computação tradicional, o que leva à proliferação. Isso pode levar a uma expansão de recursos virtuais que podem facilmente fugir ao controle se não forem monitorados e gerenciados efetivamente.

Este artigo detalha o processo do monitoramento de serviços em nuvem por meio de dois cenários:

  • Monitorar eventos essenciais no ciclo de vida de uma instância de máquina virtual.
  • Gerenciar recursos na nuvem que são uma extensão da rede de seu empreendimento por meio de um VPN criptografado.

Opções fundamentais para monitoramento na Nuvem IBM

Antes de olhar os cenários, vamos revisar algumas opções fundamentais para monitoramento em no Desenvolvimento e Teste de Negócios Inteligentes IBM na Nuvem IBM. Cada opção é descrita em detalhes e, se você tiver os dados, as informações podem ajudar a decidir qual método oferece o melhor benefício na Nuvem IBM.

  • Desenvolvimento e Teste de Negócios Inteligentes IBM na Nuvem IBM suporta sistemas operacionais Linux® e Windows™ e muitos produtos de software. Os próprios sistemas operacionais incluem algumas boas opções de monitoramento, como top no Linux e Task Monitor no Windows. Esses dois exemplos incluem informações como uso de CPU e memória por processo ou tarefa, além de métricas de rede. Outras ferramentas nativas fornecem métricas mais avançadas. Algumas das coisas que faltam às ferramentas nativas são a capacidade de acionar um evento, enviar uma notificação, gerenciar uma grande quantidade de dados para vários sistemas centralmente em um painel, ou acessar informações de forma conveniente e programática. O melhor uso das ferramentas nativas é para monitoramento casual ou para realizar uma investigação detalhada em um evento de desempenho acionado por um sistema de monitoramento.
  • Uma segunda opção é um script de criação própria para monitorar disponibilidade de eventos essenciais do ciclo de vida. Por exemplo, é possível criar um programa Java™ que usa uma biblioteca de SSH para enviar ping a uma máquina virtual e cria um evento quando o sistema fica disponível ou indisponível. Essa tornou-se uma estratégia popular, com SSH sendo a primeira escolha para acessar máquinas virtuais na nuvem. A mesma estratégia pode ser aplicada a outros serviços que estão disponíveis através de serviços da rede, como banco de dados, servidores da Web, servidores do LDAP etc. Por exemplo, é possível criar um programa Java que usa a biblioteca de SSH de software livre Ganymed ou a biblioteca Apache HttpClient para serviços HTTP. Programas mais sofisticados podem usar sinais do sistema operacional e Protocolo Simples de Gerenciamento de Rede (SNMP) para gerenciar a disponibilidade. IBM Systems Director é um produto comercial baseado nesses princípios, que fornece alguns recursos de monitoramento de disponibilidade, notificação e gerenciamento centralizado.
  • Uma terceira opção é criar seu próprio programa para coletar e analisar informações de fontes de monitoramento nativas. Por exemplo, é possível criar um programa Perl para analisar a saída da ferramenta top do Linux. No entanto, você descobrirá que fazer isso com confiabilidade para cenários de monitoramento e notificação pode ser um desafio. Por exemplo, suponha que o uso de CPU de um processo em particular suba de repente para 100% e em seguida diminua com a mesma rapidez. Fornecer notificações de monitoramento significativas pode ser difícil.
  • A quarta opção de monitoramento é usar um sistema de monitoramento desenvolvido especialmente, como IBM Tivoli Monitoring. Esses produtos são desenvolvidos especialmente para lidar com cenários em que é difícil programar por conta própria, incluindo movimento de médias e outras medições estatísticas, e fornecem um conjunto robusto de notificações e opções de gerenciamento centralizadas, incluindo IBM Tivoli Enterprise Portal. Tivoli Live é uma nova oferta da IBM que permite usar IBM Tivoli Monitoring Server completo, incluindo uma instalação do IBM Tivoli Enterprise Portal hospedada pela IBM. Isso permite monitorar no seu empreendimento sem precisar instalar ou manter o console de monitoramento do IBM Tivoli Enterprise Portal.

Este artigo se concentra no uso dos agentes do IBM Tivoli Monitoring, incluindo o recurso de agente autônomo para uma solução poderosa, porém simples. São incluídas capturas de tela para ilustrar esse recurso. IBM Tivoli Monitoring também fornece um Agent Builder, que permite criar convenientemente um agente customizado para suas próprias aplicações. Há também um modo autônomo que permite soluções de monitoramento leves. Ele é explorado em mais detalhes abaixo.

Uma das características de sistemas de TI corporativos é que eles precisam ser mantidos por um período longo de tempo, ainda que muitos sistemas sejam criados por pessoas que podem sair ou transferir-se para outro lugar após concluir seus projetos. Isso torna particularmente importante ter uma abordagem de monitoramento centralizado que é padronizada em vários tipos diferentes de sistemas. Em um ambiente de produção, o monitoramento será provavelmente realizado por uma pessoa dedicada à tarefa. É importante fornecer a ela as ferramentas para permitir que monitore muitos sistemas de forma eficiente. Em um ambiente de desenvolvimento e teste, o monitoramento é mais uma coisa que pode deixar a vida do desenvolvedor mais complexa. No entanto, a vantagem da nuvem é que é possível usar ativos criados por outros com menos esforço que em ambientes tradicionais. Isso faz com que as soluções de monitoramento estejam ao alcance das equipes de desenvolvimento e teste. Além disso, o custo da mão de obra de desenvolvimento e teste torna importante manter os desenvolvedores e testadores produtivos e os sistemas nos quais dependem operacionais.

Vantagens e desvantagens das opções de monitoramento
OpçãoVantagemDesvantagem
Ferramentas nativas
  • Fornecidas com sistemas operacionais e muitos produtos de software de fábrica; pode ser a única opção disponível
  • Podem ser usadas para realizar investigação mais detalhada com base em um evento de monitoramento geral
  • Não possuem acionamento, notificação, gerenciamento centralizado
  • Cada ferramenta de monitoramento funciona de uma maneira diferente, o que as torna caras para uso rotineiro
Ferramentas de criação própria baseadas em pulsações
  • Desenvolvimento necessário
  • Difícil implementar um conjunto robusto de recursos
Ferramentas de criação própria baseadas em monitoramento nativo
  • Desenvolvimento necessário
  • Difícil implementar um conjunto robusto de recursos
Software IBM Tivoli® Monitoring
  • Centralizado
  • Conjunto robusto de recursos
  • Gerencia vários sistemas de forma padrão

Cenário 1: Acompanhe eventos essenciais no ciclo de vida de uma instância de máquina virtual

Esta seção descreve o monitoramento de eventos essenciais no ciclo de vida de uma instância de máquina virtual. Eventos de exemplo incluem inicialização do sistema operacional e uso alto de CPU, memória e disco rígido. O conhecimento desses eventos pode permitir que software de gerenciamento inicie instâncias adicionais para compartilhar a carga, monte armazenamento adicional ou envie um aviso a um administrador do sistema. Esta seção examina o processo usando IBM Tivoli Monitoring para criar um exemplo simples.

Crie uma instância de máquina virtual

  1. Faça login na Nuvem de Desenvolvimento e Teste e acesse a área Instances do painel de controle (veja a Figura 1). Ela exibe qualquer instância de máquina virtual que você tenha.
    Figura 1. Visualize instâncias de máquina virtual
    Visualize instâncias de máquina virtual
  2. Clique em Add Instance. São listadas as imagens de software disponíveis.
    Figura 2. Inclua instância e visualize opções de software
    Inclua instância e visualize opções de software
  3. Selecione IBM Tivoli Monitoring 6.2.2.1 e clique em Next.
  4. No painel Configure Image, selecione Bronze 32 bit para tamanho de servidor e um endereço IP gerado pelo sistema. Se você não tiver criado uma chave, pode criar e salvar uma agora sem interromper o fluxo do assistente Add Instance. Não se esqueça de salvar a chave privada gerada; do contrário, você terá problemas quando tentar se conectar à máquina virtual com um cliente de SSH. Você pode fazer download da chave pública mais tarde na guia Account em Profile, mas a Nuvem de Desenvolvimento e Teste não salvará sua chave privada. Clique em Next.
  5. O painel Additional configuration parameters contém parâmetros específicos do IBM Tivoli Monitoring. Insira TivoliMonitoring como parâmetro de nome do host de CTIRA, que é o nome do host que aparece no IBM Tivoli Enterprise Portal. Insira a senha do administrador do sistema. Clique em Next.
  6. O painel Verify configuration exibe uma visualização de resumo dos parâmetros. Clique em Next.
  7. No painel Service agreement, clique no botão de opções para aceitar o acordo e clique em Submit. A solicitação para criar a instância de máquina virtual é enviada.

O painel de controle da Nuvem de Desenvolvimento e Teste mostra o status da solicitação, que muda para "Active" quando a máquina virtual está pronta para ser usada. O painel de controle mostra os parâmetros de configuração, incluindo o endereço IP para se conectar à instância. Com imagens do sistema operacional Linux, normalmente a conexão com a máquina virtual é feita por SSH. Além disso, neste caso, a imagem está configurada para uso com um navegador da Web para conexão ao IBM Tivoli Enterprise Portal usando a porta 1920.

Faça login no IBM Tivoli Enterprise Portal usando o ID do usuário sysadmin e a senha que você forneceu na Etapa 5. No IBM Tivoli Enterprise Portal, devem aparecer um monitor sem agente e um agente do sistema operacional. Também devem aparecer os dados de SNMP recebidos para o sistema sem agente, como uso de disco, CPU, memória e rede.

Figura 3. Uso da memória
Uso da memória

Monitoramento um servidor sem agente

Uma das maneiras mais fáceis de monitorar recursos é usar o recurso de monitoramento sem agente do IBM Tivoli Monitoring. A abordagem sem agente é baseada na coleta de dados usando protocolos remotos. Em geral, quando há uma escolha entre sem agente e baseado em agente, sem agente é melhor, pois não há software a ser instalado ou mantido. No entanto, agentes são necessários quando há informações de monitoramento necessárias que só podem ser coletadas por um método que não está disponível remotamente. Além disso, o recurso de agente autônomo também é fornecido por agentes.

Para monitorar um servidor sem agente, crie primeiro um servidor como instância de máquina virtual, chamado de "servidor monitorado" neste artigo, configure o SNMP e atualize o firewall para permitir que as solicitações de SNMP do IBM Tivoli Enterprise Portal entrem no servidor.

  1. Crie um servidor e abra uma sessão de ssh para ele usando iduser. Há duas maneiras de criar um servidor: usar a interface do console da Nuvem de Desenvolvimento e Teste ou a linha de comando.
  2. No prompt de comandos, insira sudo bash para obter acesso do usuário raiz.

    Talvez seja necessário instalar net-snmp antes da configuração usando as etapas abaixo, já que SNMP não é um pacote de software padrão no SUSE Linux Enterprise Server 11. Para fazer isso, abra o yast em uma linha de comando, selecione Software Manager, procure por snmp e instale net-snmp.

  3. Edite o arquivo /etc/snmp/snmp.conf e altere a linha rocommunity public 127.0.0.1 substituindo o endereço IP pelo endereço IP do IBM Tivoli Enterprise Portal (veja o exemplo na Figura 4).
    Figura 4. Substituição de endereço IP
    Substituição de endereço IP
  4. Reinicie o daemon SNMP usando o comando service snmpd restart.
  5. Abra o firewall para permitir acesso de Protocolo de Datagramas do Usuário (UDP) do servidor IBM Tivoli Enterprise Portal para o seu servidor. Para fazer isso, inicie o yast2 e selecione Security and Users.
    Figura 5. Abra o firewall para permitir acesso de UDP
    Abra o firewall para permitir acesso de UDP
  6. Escolha Firewall e Custom Rules.
    Figura 6. Configurações de firewall
    Configurações de firewall
  7. Selecione Add e insira o endereço IP de seu IBM Tivoli Enterprise Portal como origem, UDP, e 161 como destino.
    Figura 7. Incluir endereço IP do IBM Tivoli Enterprise Portal, UDP e destino
    Incluir endereço IP do IBM Tivoli Enterprise Portal, UDP e destino
  8. Clique em Next, Finish e Quit.

Teste a conexão SNMP fazendo login no servidor IBM Tivoli Monitoring como usuário raiz sudo bash:

snmpwalk -v 1 -c public <Endereço IP do Servidor Monitorado>

.

Você agora está pronto para incluir este servidor no IBM Tivoli Enterprise Portal (veja a Figura 8).

  1. Abra seu navegador em http://<TEP IP address>:1920///cnp/kdh/lib/cnp.html (as três "/" não são um erro).
    Figura 8. Faça login no IBM Tivoli Enteprise Portal
    Faça login no IBM Tivoli Enteprise Portal
  2. Expanda Linux System e TivoliMonitoring, e clique com o botão direito em Linux System.
    Figura 9. Exibição Linux System
    Exibição Linux System
  3. Clique em Take Action > Select.
    Figura 10. Take Action
    Take Action
  4. Para Action Name, selecione LinuxSnmpMonitorStart.
    Figura 11. Selecione LinuxSnmpMonitorStart
    Selecione LinuxSnmpMonitorStart

    Forneça um nome e o endereço IP do servidor que gostaria de monitorar. Insira public no campo community. Clique em OK e OK novamente.

    Figura 12. Status da Ação
    Status da Ação
  5. Clique em OK mais uma vez.
  6. Atualize o Navegador (setas opostas próximas ao marcador vermelho na barra de tarefa de ícones). Selecione seu servidor monitorado na árvore do navegador. Agora é possível navegar pelos diferentes diagramas.
    Figura 13. Navegue pelos diagramas
    Navegue pelos diagramas

Agentes de sistemas operacionais podem ser implementados usando SSH. Para implementar um agente de sistema operacional do Linux, faça login usando a linha de comando. Se você estiver em um cliente Windows, use Putty. Se estiver em um cliente Linux, use o cliente de SSH já fornecido para se conectar à máquina virtual usando o endereço IP fornecido no painel de controle. Faça login com o ID de usuário idcuser e a chave privada que você salvou em uma etapa anterior.

  1. Faça login em tacmd usando /opt/IBM/ITM/bin/tacmd login -s localhost.
  2. Insira sysadmin como nome de usuário e senha.
  3. Quando o login tiver sucesso, execute:
    /opt/IBM/ITM/bin/tacmd createNode -h <endereço IP de destino> -d /opt/IBM/ITM -p
    PROTOCOL=IP.PIPE PORT=1918 SERVER=<endereço IP da sua instância>

    .
  4. Insira o nome de usuário e senha da máquina de destino.
  5. Uma solicitação é colocada na fila para implementação. Para verificar o status da implementação, insira /opt/IBM/ITM/bin/tacmd getdeploystatus.
  6. Após a implementação bem sucedida, desconecte do tacmd usando /opt/IBM/ITM/bin/tacmd logout.

É possível ler sobre como as imagens estão configuradas no catálogo da Nuvem de Desenvolvimento e Teste. Pode ser útil ler os documentos de Introdução da imagem do IBM Tivoli Monitoring e da imagem do SUSE Linux Enterprise Server 11 básica operacional de 32 bits. Há também vídeos curtos que apresentam cada imagem, e que podem ser vistos online. A imagem do IBM Tivoli Monitoring inclui:

  • IBM Tivoli Enterprise Monitoring Server V06.22.01.00
  • IBM Tivoli Enterprise Portal Server V06.22.01.00
  • IBM Tivoli Enterprise Portal Desktop Client V06.22.01.00
  • Agente de para Sistemas Operacionais Linux do IBM Tivoli Monitoring V06.22.01.00
  • IBM Tivoli Agentless Monitoring para Sistemas Operacionais Linux V06.22.01.00

Há vários recursos dessa imagem que não são descritos neste artigo, como o uso do IBM Tivoli Enterprise Portal para criar notificação de situações e geração, armazém de dados de evento e relatórios detalhados de dados de monitoramento, sistemas de monitoramento além de sistemas operacionais, e uso do Agent Builder para criar agentes customizados. O restante deste artigo foca no uso do Agente para Sistemas Operacionais Linux do IBM Tivoli Monitor para começar a integrar IBM Tivoli Monitoring com as APIs de Desenvolvimento e Nuvem. O monitoramento de sistemas operacionais é uma base importante para qualquer solução de monitoramento.

Alguns dos benefícios de poder realizar monitoramento de sistemas operacionais são:

  • Aprender como monitorar recursos da nuvem no IBM Tivoli Enterprise Portal em abordagens sem agente ou baseadas em agente.
  • Aproveitar um sistema já configurado por um especialista em IBM Tivoli Monitoring.
  • Fazer suas próprias customizações e salvar a imagem após ter um sistema funcional com IBM Tivoli Monitoring configurado. Assim será possível iniciar qualquer instância de máquina virtual daquela imagem, a qualquer momento que seja necessário. Usando as novas comunidades corporativas da Nuvem de Desenvolvimento e Teste, é possível compartilhar a imagem com outras pessoas na sua organização.
  • Usar o armazenamento externo da Nuvem de Desenvolvimento e Teste para salvar dados de monitoramento e configuração que podem ser reutilizados por outras instalações do IBM Tivoli Enterprise Portal.

Cenário 2: Gerencie recursos por meio de uma conexão de VPN para a nuvem

Suponha que você descubra que alguns dos seus recursos computacionais na Internet pública estão subutilizados, e os recursos na rede interna da sua organização estão sobrecarregados. A Nuvem IBM de Desenvolvimento e Teste permite que cada empreendimento tenha sua própria rede local virtual (VLAN) para isolar suas instâncias da Internet pública e conectá-las à rede privada do empreendimento por meio de uma conexão VPN. Esta seção descreve como usar a ferramenta de linha de comando da Nuvem de Desenvolvimento e Teste para gerenciar recursos na nuvem da Internet pública e incluí-los na rede privada de sua organização através de uma conexão VPN totalmente criptografada.

Uma VLAN é uma abstração do conceito tradicional de rede local (LAN). Ela permite isolar seus recursos computacionais em sua própria rede sem passar cabos Ethernet e dispositivos de rede físicos, como em redes de TI tradicionais. Isso é bom porque, de outra maneira, em uma nuvem pública, seus recursos estão na Internet pública. Conecte-se à sua VLAN usando uma conexão de rede privada virtual (VPN).

O cenário descrito na seção anterior era relacionado ao gerenciamento de recursos na nuvem. O significado da tecnologia VLAN/VPN é que é possível conectar soluções de nuvem à sua própria infraestrutura de TI corporativa, incluindo monitoramento e equilíbrio de recursos. Nos velhos tempos, uma rede era criada passando um cabo Ethernet por diferentes computadores e dispositivos de rede. Hoje, é possível solicitar alguns endereços IP em diferentes zonas de rede e desenvolver redes simplesmente atribuindo os endereços a diferentes máquinas virtuais.

Crie uma instância de máquina virtual

Criar uma máquina virtual conectada à VLAN de seu empreendimento é fácil com o assistente da Nuvem de Desenvolvimento e Teste.

  1. No catálogo, escolha o SUSE Linux Enterprise Server 11 para x86.
    Figura 14. Escolha SUSE Linux Enterprise Server 11 para x86
    Escolha SUSE Linux Enterprise Server 11 para x86
  2. Dê um nome à instância, escolha o tamanho de servidor Bronze 32-bit e selecione a opção Private VLAN.
    Figura 15. Configure sua seleção de instância
    Configure sua seleção de instância
  3. Monitore o status de fornecimento da solicitação em My Instances no painel de controle.
    Figura 16. Monitore o status de fornecimento da solicitação
    Monitore o status de fornecimento da solicitação
    Quando a instância se torna ativa, um endereço IP é exibido no painel de detalhes da instância.
    Figura 17. Painel de detalhes da instância
    Painel de detalhes da instância

Para conectar-se a esse tipo de instância, é preciso configurar uma conexão VLAN.

Máquinas virtuais em uma VLAN são visíveis apenas para outros recursos na VLAN, mas podem ver recursos na Internet pública. Isso é importante para a conexão ao console do IBM Tivoli Enterprise Portal. Se o console do IBM Tivoli Enterprise Portal não estiver conectado à VLAN, ele não poderá ver os recursos nela.

Agora que você concluiu essas tarefas:

  • Você entende o uso de VLANs na computação em nuvem pública.
  • Você sabe como fornecer máquinas virtuais acessíveis apenas na VLAN de sua empresa.

Automatize o gerenciamento de recursos com scripts da linha de comando

Esta seção oferece detalhes de como integrar aplicativos em nuvem usando os scripts de linha de comando de nuvem e monitoramento com o Agente Autônomo do IBM Tivoli Monitoring. Desenvolvimento e Teste de Negócios Inteligentes IBM na Nuvem IBM fornece REST, APIs Java e uma ferramenta de linha de comando para automatizar ações de gerenciamento de recursos que são semelhantes aos recursos da interface com o usuário de autoatendimento. Essas ações incluem criação e gerenciamento de instâncias de máquina virtual, volumes de armazenamento e endereços IP. Esta seção descreve como automatizar o gerenciamento de recursos usando scripts de linha de comando.

Para fazer download do cliente da Nuvem IBM de Desenvolvimento e Teste, clique na guia Support no portal da nuvem. Consulte a Referência da Ferramenta da Linha de Comando para ver os detalhes dos comandos disponíveis.

Comece criando um diretório para seus scripts de linha de comando. Supõe-se que você esteja usando um cliente Windows. Linux é semelhante.

  1. Instale um JDK IBM versão 1.6, se não já tiver instalado.
  2. Defina JAVA_HOME.
  3. Extraia o zip da ferramenta da linha de comando em um diretório no seu sistema sem espaços no caminho, usando CC_HOME.
  4. Se você preferir armazenar seus comandos em arquivos de script, crie um diretório para seus scripts usando MY_HOME.

Após criar um diretório para seus scripts, inicialize seu cliente com um arquivo de senha. Isso é necessário e protege sua senha real da Nuvem de Desenvolvimento e Teste; não é necessário armazená-la em scripts ou em texto simples.

  1. Digite os seguintes comandos para realizar essa ação:
    > set JAVA_HOME=D:\Program Files\IBM\SDP\jdk
    > set PATH=%JAVA_HOME%\bin;%PATH%
    > set CC_HOME=D:\dev_test_cloud\cmd
    > set MY_HOME=D:\myhome\script
    > cd %CC_HOME%
    > ic-create-password -u u@abc.com -p secret -w unlock -g %MY_HOME%/mykey.ext
  2. Dependendo de o sistema em uso ser o Windows ou Linux, a extensão do comando será .cmd ou .sh, respectivamente. Esses comandos configuram o início Java, o caminho do sistema, o início dos scripts e alterações no diretório de script, e executam o comando ic-create-password para criar o arquivo de senha.
  3. A passphrase para desbloquear o arquivo de senha é unlock.
  4. Substitua seus próprios valores em ID do usuário (u@abc.com), senha (secret) e passphrase (unlock).

Uma maneira de realizar seu objetivo de mover recursos é excluir a instância na Internet pública e criar outra instância na VLAN de sua empresa. No pacote de recepção, você receberá informações sobre como conectar-se à VLAN usando uma conexão VPN.

  1. Para obter uma lista das instâncias das quais você é proprietário, use o comando:
    > ic-describe-instances -u u@abc.com -w unlock -g %MY_HOME%/mykey.ext

    Esse comando dá o ID e outros detalhes da instância a ser excluída.

  2. Usando o ID da instância a ser excluída, INSTANCE_ID, digite o comando:
    > ic-delete-instance -u u@abc.com -w unlock -g %MY_HOME%/mykey.ext -l INSTANCE_ID

    u@abc.com é um nome de usuário fictício.

Siga estas etapas para criar uma nova instância em sua VLAN.

  1. Escolha a imagem para a qual você deseja criar uma máquina virtual. Para obter uma lista de imagens, use o comando:
    > ic-describe-images -u u@abc.com -w unlock -g %MY_HOME%/mykey.ext > images.txt
  2. Como a lista de imagens é grande demais, salve no arquivo images.txt. O ID da imagem é necessário abaixo.
  3. A saída do comando, conforme salvo no arquivo, é semelhante a isto:
    ...
    ID : 20003206
    Name : IBM Lotus Web Content Management 6.1.5 - BYOL
    Visibility : PUBLIC
    State : AVAILABLE
    Owner : SYSTEM
    Platform : SUSE Linux Enterprise Server/11
    Location : 41
        ~~~~~
        InstanceType ID : BRZ32.1/2048/175
        Label : Bronze 32 bit
    ...

Vamos fornecer uma instância da imagem com o nome SUSE Linux Enterprise Server 11 para x86 e ID 20001150.

  1. Forneça a imagem em um sistema Bronze de 32 bits, com ID de tipo de instância BRZ32.1/2048/175.
  2. Como você deseja fornecer a máquina virtual na rede da sua empresa, também é necessário descobrir como a VLAN é identificada. Para isso, digite o comando:
    > ic-describe-vlans -u u@abc.com -w unlock -g %MY_HOME%/mykey.ext
  3. A saída é semelhante a isto:
    Executing action: DescribeVLANs ...
    ----------------------------------
    ID : 1
    Name : Private VLAN Raleigh
    Location : 41
    ...

A chave SSH usada para se conectar à máquina virtual pode ser gerada usando a interface com o usuário da Nuvem de Desenvolvimento e Teste ou usando a linha de comando.

  1. Para gerar uma chave chamada MyKey, digite o comando:
    > ic-generate-keypair -u u@abc.com -w unlock -g %MY_HOME%/mykey.ext -c MyKey ?
  2. Recorte e cole o texto retornado em um arquivo de texto, para uso com o seu cliente de SSH.

Você agora tem todas as informações necessárias para fornecer uma máquina virtual.

  1. Use o ID de VLAN retornado e as demais informações acima no comando ic-create-instance para criar a máquina virtual.
  2. As informações retornadas também incluem um ID de datacenter associado com a VLAN. É preciso fornecer a máquina virtual no mesmo datacenter que a VLAN. Para criar a instância, digite este comando:
    > ic-create-instance -u u@abc.com -w unlock -g %MY_HOME%/mykey.ext 
      -t BRZ32.1/2048/175 -n MySUSE -k 20001150 -c MyKey -d MyDescription 
      -L DATA_CENTER_ID -x VLAN_ID
  3. A variável DATA_CENTER_ID deve ser substituída por 41 e VLAN_ID pelo valor 1 nesse comando.
  4. O endereço IP da máquina virtual é gerado pelo sistema na VLAN dada. Para encontrar o endereço IP, digite o comando describe instances novamente.
  5. Esse comando também fornece o status da instância, permitindo descobrir quando a instância foi iniciada. Você deve ver algo assim em resposta ao comando:
    Executing action: CreateInstance ...
    The request has been submitted successfully.
    1 instances!
    ----------------------------------
    ID : 36519
    Name : MySUSE
    Hostname :
    InstanceType : BRZ32.1/2048/175
    IP :
    KeyName : MyKey
    Owner : u@abc.com
    RequestID : 36819
    RequestName : MySUSE
    Status : NEW
    Volume IDs :
    ----------------------------------
    Executing CreateInstance finished
  6. É possível acompanhar o status da solicitação no painel de controle da Nuvem de Desenvolvimento e Teste ou usar o comando ic-describe-instances acima para descobrir quando a instância estiver pronta para uso. A saída é semelhante a isto:
    Executing action: DescribeInstances ...
    1 instances!
    ----------------------------------
    ID : 36519
    Name : MySUSE
    Hostname : 10.216.1.129
    InstanceType : BRZ32.1/2048/175
    IP : 10.216.1.129
    KeyName : MyKey
    Owner : u@abc.com
    RequestID : 36819
    RequestName : MySUSE
    Status : ACTIVE
    Location : 41
    Vlan ID : 1
    Vlan Name : Private VLAN Raleigh
    Vlan Location : 41
    Volume IDs :
    Disk Size : 175
    Root Only : null
  7. Observe que o status é ACTIVE e lembre-se do endereço IP para conectar-se à instância.

Agora que você concluiu essas tarefas, você sabe como automatizar o gerenciamento de recursos de computação em nuvem usando scripts de linha de comando.


Configure um agente autônomo passo a passo

Um Agente do IBM Tivoli Enterprise Monitoring pode ser usado independentemente do Tivoli Enterprise Portal com o recurso de agente autônomo. Um Agente de Monitoramento de sistema Tivoli é um agente do sistema operacional instalado e configurado para não depender do IBM Tivoli Enterprise Portal. Agentes são configurados para capacidade autônoma por padrão. Nesse modo, um agente é executado, coleta dados, executa situações e gera eventos independentemente. Ele fornece uma interface HTML/XML simples independente, API REST e autenticação segura, e emite eventos SNMP.

Isso pode ser uma solução apropriada para ambientes de desenvolvimento e teste, nos quais o custo de uma solução completa de monitoramento não se justifica e estão disponíveis qualificações de desenvolvimento. Também pode ser apropriado como um componente de monitoramento leve integrado em um aplicativo de nuvem reutilizável. Por exemplo, hoje está se tornando comum oferecer produtos como dispositivos virtuais que incluem um sistema operacional e software configurado em situações nas quais, no passado, era oferecida como produto uma imagem de instalação de software. Uma oferta de dispositivo virtual pode incluir uma solução de monitoramento leve. No entanto, em aplicações de missão crítica, como financeiras, de seguro, frete e transporte, uma solução de monitoramento completa é a escolha apropriada.

Eventos privados são eventos processados localmente, em oposição a eventos corporativos, que são processados pelo servidor de monitoramento. Os eventos emitidos podem ser SNMP ou Event Integration Facility (EIF). Arquivos XML são usados para configurar as situações para eventos privados, de maneira semelhante a eventos corporativos, que são criados com o editor de situação do IBM Tivoli Enterprise Portal.

Eventos podem ser definidos por situações nas quais os dados estão ausentes ou atingem um valor em particular. Aqui está um exemplo de uma situação:

<?xml version="1.0" encoding="UTF-8"?>
<PRIVATECONFIGURATION>
  <PRIVATESIT>
    <SITUATION NAME='High_CPU'/> 
    <CRITERIA> <![CDATA[  *VALUE Linux_CPU.Idle_CPU *LT 10  *AND  
	    *VALUE Linux_CPU.CPU_ID *EQ Aggregate ]]> </CRITERIA>
    <CMD><![CDATA[High CPU' > ~/cpulog.txt]]></CMD>
    <AUTOSOPT When='Y' Frequency='Y' />
    <INTERVAL>000100</INTERVAL> 
  </PRIVATESIT>
</PRIVATECONFIGURATION>
  • Esse fragmento XML contém uma situação privada. Ela detecta CPU alta fazendo a média das CPUs de máquina virtual. O intervalo é um minuto (000100).
  • A expressão usa as funções de critério *VALUE, *LT, *AND e *EQ para testar se o tempo de inatividade da CPU é baixo demais.
  • Se essa condição for verdadeira, o comando no elemento <CMD> será executado. O comando é um exemplo que registra a linha no arquivo cpulog.txt. Em uma implementação real, isso deve ser substituído por scripts de linha de comando da Nuvem de Desenvolvimento e Teste, apresentados acima.
  • O elemento <AUTOSPOPT> é necessário quando um elemento <CMD> está presente, para especificar a frequência de execução do comando.
  • O valor do atributo When de Y significa que o comando deve ser executado para cada item cuja avaliação seja verdadeira.
  • O valor do atributo Frequency de Y indica que o comando deve ser executado sempre que o critério for avaliado como verdadeiro.
  • Para testar se funciona apropriadamente, altere o valor da CPU de 10 para 100, de modo que seja acionado sempre que for obtida uma amostra da situação.
  • Os atributos disponíveis estão listados no arquivo:
    /opt/IBM/ITM/tables/TEMS/ATTRLIB/klz.atr

Há centenas de atributos de monitoramento relatados pelo agente do Linux, incluindo parâmetros de login, uso de disco, uso de rede, CPU, processos, estatísticas do sistema (troca e outros), E/S de disco e NFS. A seguir está uma lista de alguns dos atributos disponíveis para ajudar você a começar:

  • Variáveis de login:KLZ_User_Login.System_Name, KLZ_User_Login.Timestamp, KLZ_User_Login.User_Name, KLZ_User_Login.Login_PID, KLZ_User_Login.Line, KLZ_User_Login.Login_Time, KLZ_User_Login.Idle_Time, KLZ_User_Login.From_Hostname
  • Uso do disco: KLZ_Disk.System_Name, KLZ_Disk.Timestamp, KLZ_Disk.Disk_Name, KLZ_Disk.Mount_Point, KLZ_Disk.FS_Type, KLZ_Disk.Size, KLZ_Disk.Disk_Used, KLZ_Disk.Disk_Free, Linux_Disk.Space_Available_Percent
  • Uso de rede:KLZ_Network.System_Name, KLZ_Network.Timestamp, KLZ_Network.Network_Interface_Name, KLZ_Network.Interface_IP_Address, KLZ_Network.Interface_Status, KLZ_Network.Transmission_Unit_Maximum, KLZ_Network.KBytes_Received_Count, KLZ_Network.Bytes_Received_per_sec, KLZ_Network.KBytes_Transmitted_Count, KLZ_Network.Bytes_Transmitted_per_sec
  • CPU: KLZ_CPU.System_Name, KLZ_CPU.Timestamp, KLZ_CPU.CPU_ID, KLZ_CPU.User_CPU, KLZ_CPU.User_Nice_CPU, KLZ_CPU.System_CPU, KLZ_CPU.Idle_CPU, KLZ_CPU.Busy_CPU, KLZ_CPU.Wait_IO_CPU, KLZ_CPU.User_Sys_Pct, KLZ_CPU_Averages.System_Name, KLZ_CPU_Averages.Timestamp, KLZ_CPU_Averages.Days_to_CPU_Upgrade, KLZ_CPU_Averages.CPU_Usage_Current_Average, KLZ_CPU_Averages.CPU_Usage_Moving_Average, Linux_CPU.Idle_CPU, Linux_CPU.CPU_ID, Linux_Process.Busy_CPU
  • Processos:KLZ_Process.System_Name, KLZ_Process.Timestamp, KLZ_Process.Process_ID, KLZ_Process.Parent_Process_ID, KLZ_Process.Process_Command_Name, KLZ_Process.Proc_CMD_Line, KLZ_Process.State, KLZ_Process.Proc_System_CPU, KLZ_Process.Total_Size_Memory, KLZ_Process.Threads
  • Estatísticas do sistema:KLZ_System_Statistics.System_Name, KLZ_System_Statistics.Timestamp, KLZ_System_Statistics.Ctxt_Switches_per_sec, KLZ_System_Statistics.Pct_Change_Ctxt_Switches, KLZ_System_Statistics.System_Load_1min, KLZ_System_Statistics.System_Load_5min, KLZ_System_Statistics.System_Load_15min, KLZ_System_Statistics.Pages_paged_in, KLZ_System_Statistics.Pages_Swapped_in, KLZ_Swap_Rate.System_Name, Linux_System_Statistics.Pages_Swap_in_per_sec, Linux_System_Statistics.Pages_Swap_out_per_sec
  • E/S de disco:KLZ_Disk_IO.System_Name, KLZ_Disk_IO.Transfers_per_sec, KLZ_Disk_IO.Blk_Rds_per_sec, KLZ_Disk_IO.Blk_wrtn_per_sec
  • NFS:KLZ_NFS_Statistics.System_Name, KLZ_NFS_Statistics.NFS_lookups, KLZ_NFS_Statistics.NFS_Read_Calls , KLZ_NFS_Statistics.NFS_Writes

O arquivo de configuração do agente é /opt/IBM/ITM/config/lz.ini. Verifique se o arquivo contém a linha: IRA_AUTONOMOUS_MODE=Y.

Experimente esta situação privada:

  1. Recorte e cole o XML acima em um arquivo chamado lz_situations.xml.
  2. Coloque o arquivo no diretório /opt/IBM/ITM/localconfig/lz.
  3. Cuidado para não inserir caracteres que não são válidos em XML durante o processo de recortar e colar. Verifique isso carregando o arquivo em um navegador da Web.
  4. Reinicie o agente usando os comandos:
    sudo /etc/init.d/ITMAgents1 stop
    sudo /etc/init.d/ITMAgents1 start

Também é possível definir parâmetros para coleta local de dados históricos de monitoramento. Consulte a seção de Autonomia de Agente do Centro de Informações do IBM Tivoli Monitoring 6.2.2 para obter mais detalhes sobre autonomia de agente. O Centro de Informações contém vários arquivos de configuração de exemplo de situação privada.

Use a interface de serviço do agente para receber informações do agente, por exemplo, relatórios de informações do agente, situações privadas e histórico. O serviço do agente é acessado por meio do recurso IBM Tivoli Monitoring Index Service, que opera como um servidor de HTTP.

  1. Para iniciar a interface de serviço do agente, insira a URL http://<host name>:1920 ou https://<host name>:3661/ no seu navegador.
  2. Deve aparecer algo semelhante à Figura 18:
    Figura 18. IBM Tivoli Monitoring Service Index
    IBM Tivoli Monitoring Service Index
  3. Siga o link de Interface de Serviço do Agente IBM Tivoli LZ para ver Informações do Agente, Situações, Histórico, Consultas e Solicitação de Serviço do Agente. Se você tiver problemas nesse momento, verifique e ajuste as configurações de firewall usando Yast (no SUSE).
  4. É preciso abrir a porta para a Interface do Serviço do Agente, que é configurada aleatoriamente cada vez que o agente é iniciado. Para fazer isso, digite yast na linha de comando e acesse Security and Users > Firewall.
  5. Selecione Advanced em Allowed Service.
  6. Insira a porta TCP mostrada passando o mouse por cima da Interface de Serviço do Agente LZ. O navegador Microsoft Internet Explorer parece funcionar melhor para essas páginas.
  7. Se você tiver problemas, verifique os logs do agente em /opt/IBM/ITM/logs. Use grep nos logs com um comando como > grep 'private situation' /opt/IBM/ITM/logs/*.*, para verificar se há erros.
  8. Deve aparecer a tela de interface de serviço do agente Linux:
    Figura 19. Interface de serviço do agente Linux
    Interface de serviço do agente Linux
  • O link Queries permite visualizar informações de monitoramento, como a lista de processos:
    Figura 20. Lista de processos
    Lista de processos
  • O link Situations exibe situações definidas em um arquivo XML. A situação High CPU Overload do Linux é mostrada na Figura 21, definida em um exemplo de arquivo XML anterior:
    Figura 21. Situação high CPU overload do Linux
    Situação high CPU overload do Linux
  • Para testar a execução do evento, procure o arquivo cpulog.txt no diretório inicial do usuário raiz e um valor diferente de zero de TRUESAMPLES na interface da Web.

Neste momento, você tem todas as peças necessárias para uma solução de monitoramento leve. Uma desvantagem dessa solução é que é preciso implementar o pacote configurável da linha de comando da Nuvem de Desenvolvimento e Teste em cada sistema que está sendo monitorado. Isso pode ser resolvido pela interface REST do agente autônomo, mencionada abaixo.

  • O link Service Request Interface na Interface de Serviço do Agente é a interface REST para recuperar dados coletados pelo agente em formato XML.
  • O Centro de Informações do IBM Tivoli Monitoring oferece detalhes sobre a interface de programação de aplicativo REST.
  • O IBM Tivoli Monitoring Agent Service Interface Client (veja a Figura 22) é uma boa ferramenta, que permite testar a interface do serviço REST.
  • Um controle de situação privada permite iniciar, parar ou reciclar uma situação privada no agente de monitoramento com uma solicitação <PVTCONTROL>.
    Figura 22. IBM Tivoli Monitoring Agent Service Interface Client
    IBM Tivoli Monitoring Agent Service Interface Client
  • Para resolução de problemas, lembre-se de verificar as configurações de firewall usando Yast, como descrito acima.
  • Para acesso remoto, cada agente requer que uma porta de saída 1918 seja aberta. O servidor de gerenciamento requer 1918 e 1920.

Conclusão

Agora que você passou pelas etapas neste artigo, você sabe como:

  • Criar uma máquina virtual usando Desenvolvimento e Teste na Nuvem IBM.
  • Usar IBM Tivoli Monitoring na nuvem para monitorar seus sistemas.
  • Usar ferramentas da linha de comando de Desenvolvimento e Teste na Nuvem IBM para automatizar a criação e exclusão e máquinas virtuais.
  • Usar os recursos de agente autônomo do IBM Tivoli Monitoring para implementar uma solução de monitoramento leve.

A imagem do IBM Tivoli Monitoring pode ser usada no catálogo de Desenvolvimento e Teste na Nuvem IBM para experimentação.

Recursos

Aprender

Obter produtos e tecnologias

Discutir

Comentários

developerWorks: Conecte-se

Los campos obligatorios están marcados con un asterisco (*).


Precisa de um ID IBM?
Esqueceu seu ID IBM?


Esqueceu sua senha?
Alterar sua senha

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

 


A primeira vez que você entrar no developerWorks, um perfil é criado para você. Informações no seu perfil (seu nome, país / região, e nome da empresa) é apresentado ao público e vai acompanhar qualquer conteúdo que você postar, a menos que você opte por esconder o nome da empresa. Você pode atualizar sua conta IBM a qualquer momento.

Todas as informações enviadas são seguras.

Elija su nombre para mostrar



Ao se conectar ao developerWorks pela primeira vez, é criado um perfil para você e é necessário selecionar um nome de exibição. O nome de exibição acompanhará o conteúdo que você postar no developerWorks.

Escolha um nome de exibição de 3 - 31 caracteres. Seu nome de exibição deve ser exclusivo na comunidade do developerWorks e não deve ser o seu endereço de email por motivo de privacidade.

Los campos obligatorios están marcados con un asterisco (*).

(Escolha um nome de exibição de 3 - 31 caracteres.)

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

 


Todas as informações enviadas são seguras.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=80
Zone=Tivoli, Cloud computing
ArticleID=642747
ArticleTitle=Monitore serviços na nuvem
publish-date=03212011