Guia de Instalação do MobileFirst Analytics Server

improve this page | report issue

Visão Geral

O MobileFirst Analytics Server é implementado e fornecido como um conjunto de dois arquivos web application archive (WAR) Java EE padrão, ou um arquivo enterprise application archive (EAR). Portanto, ele pode ser instalado em um dos seguintes servidores de aplicativos suportados: WebSphere Application Server, WebSphere Application Server Liberty ou Apache Tomcat (Somente arquivos WAR).

MobileFirst Analytics Server O usa uma biblioteca Elasticsearch integrada para o armazenamento de dados e gerenciamento de cluster. Como ele pretende ser um mecanismo de procura e consulta de memória altamente eficiente, que requer E/S de disco rápida, é preciso seguir alguns requisitos do sistema de produção. Em geral, muito provavelmente você ficará sem memória e disco (ou descobre que a E/S de disco é seu gargalo de desempenho) antes que a CPU se torne um problema. Em um ambiente em cluster, você deseja um cluster de nós rápidos, confiáveis e colocalizados.

Ir para

Requisitos de Sistema

Sistemas operacionais

  • CentOS/RHEL 6.x/7.x
  • Oracle Enterprise Linux 6/7 somente com Kernel RHEL
  • Ubuntu 12.04/14.04
  • SLES 11/12
  • OpenSuSE 13.2
  • Windows Server 2012/R2
  • Debian 7

JVM

  • Oracle JVM 1.7u55+
  • Oracle JVM 1.8u20+
  • IcedTea OpenJDK 1.7.0.55+

Hardware

  • RAM: uma quantidade maior de RAM é melhor, mas sem ultrapassar 64 GB por nó. 32 GB e 16 GB também são aceitáveis. Menos que 8 GB requer muitos nós pequenos no cluster, e 64 GB é um desperdício e problemático devido à forma que Java usa a memória para ponteiros.
  • Disco: use SSDs quando possível, ou discos tradicionais de rápida rotação na configuração RAID 0 se os SSDs não forem possíveis.
  • CPU: a CPU não tende a ser o gargalo de desempenho. Use sistemas com 2 a 8 núcleos.
  • Rede: quando você precisar de ampliação horizontalmente, será necessário um datacenter rápido, confiável, com velocidades suportadas de 1 GbE a 10 GbE.

Configuração de hardware

  • Forneça para sua JVM metade da RAM disponível, mas não exceda 32 GB
    • Configurando a variável de ambiente ES_HEAP_SIZE como 32g.
    • Configurando as sinalizações de JVM usando -Xmx32g -Xms32g.
  • Desativar troca de disco. Permitir que o sistema operacional ative e desative a troca de disco do heap reduz significativamente o desempenho.
    • Temporariamente: sudo swapoff -a
    • Permanentemente: edite /etc/fstab de acordo com a documentação do sistema operacional.
    • Se nenhuma opção for possível, configure a opção de Elasticsearch bootstrap.mlockall: true (esse valor é o padrão na instância integrada de Elasticsearch).
  • Aumente os descritores de arquivos abertos permitidos.
    • O Linux geralmente limita um número por processo de descritores de arquivos abertos a um pequeno 1024.
    • Consulte a documentação do sistema operacional para saber como aumentar permanentemente esse valor para algo muito maior, como 64.000.
  • O Elasticsearch também usa uma combinação de NioFS e MMapFS para os vários arquivos. Aumente a contagem máxima de mapas para que haja uma grande quantidade de memória virtual disponível para arquivos mapeados.
    • Temporariamente: sysctl -w vm.max_map_count=262144
    • Permanentemente: Modifique a configuração vm.max_map_count em seu /etc/sysctl.conf.
  • Se você usar BSDs e Linux, certifique-se de que o planejador de E/S do sistema operacional esteja configurado como prazo final ou noop, não cfq.

Considerações de capacidade

A capacidade é a única pergunta mais comum. Qual a quantidade de RAM necessária? Qual a quantidade de espaço em disco? Quantos nós? A resposta é sempre: depende.

O IBM MobileFirst Analytics Analytics oferece a oportunidade de coletar muitos tipos de eventos heterogêneos, incluindo logs de depuração SDK brutos do cliente, eventos de rede relatados pelo servidor, dados customizados e muito mais. É um sistema big data com requisitos do sistema big data.

O tipo e quantidade de dados que você escolheu coletar, e por quanto tempo você opta por mantê-los, tem um impacto significativo nos requisitos de armazenamento e desempenho geral. Como um exemplo, considere as seguintes perguntas.

  • Os logs do cliente de depuração brutos são úteis depois de um mês?
  • Você está usando o recurso Alertas no MobileFirst Analytics? Se sim, você está consultando eventos que ocorreram nos últimos minutos ou em um intervalo mais longo?
  • Está usando gráficos customizados? Se sim, você está criando esses gráficos para dados integrados ou pares de chave/valor instrumentados customizados? Por quanto tempo você mantém os dados?

Os gráficos integrados no MobileFirst Analytics Console são renderizados consultando dados que o MobileFirst Analytics Server já resumiu e otimizou especificamente para a experiência do usuário do console mais rápida possível. Como são resumidos previamente e otimizados para os gráficos integrados, eles não são adequados para uso em alertas ou gráficos customizados em que o usuário do console define as consultas.

Ao consultar documentos brutos, aplicar filtros, executar agregações e solicitar que o mecanismo de consulta subjacente calcule médias e porcentagens, necessariamente o desempenho da consulta é prejudicado. É o caso de uso que requer cuidadosas considerações de capacidade. Após o desempenho da consulta ser prejudicado, é hora de decidir se você realmente deve manter dados antigos para visibilidade do console em tempo real ou limpá-los do MobileFirst Analytics Server. A visibilidade do console em tempo real realmente é útil para dados de quatro meses atrás?

Índices, shards e nós

O armazenamento de dados subjacente é Elasticsearch. Você deve saber um pouco sobre índices, shards e nós, e como a configuração afeta o desempenho. Grosseiramente, pode-se pensar em um índice como uma unidade lógica de dados. Um índice é mapeado de um para muitos em shards onde a chave de configuração é shards. O MobileFirst Analytics Server cria um índice separado por tipo de documento. Se sua configuração não descartar nenhum tipo de documento, você terá vários índices criados que são equivalentes ao número de tipos de documentos oferecidos pelo MobileFirst Analytics Server.

Se você configurar os shards como 1, cada índice terá somente um shard primário no qual os dados são gravados. Se você configurar os shards como 10, cada índice poderá ser balanceado para 10 shards. No entanto, mais shards têm um custo de desempenho quando você tiver apenas um nó. Esse nó agora está balanceando cada índice para 10 shards no mesmo disco físico. Somente configure shards como 10 se planejar imediatamente (ou quase imediatamente) uma ampliação para 10 nós físicos no cluster.

O mesmo princípio se aplica a réplicas. Configure réplicas como algo maior que 0 somente se você pretende imediatamente (ou quase imediatamente) uma ampliação do número de nós para corresponder à conta.
Por exemplo, se você configurar shards como 4 e réplicas como 2, poderá aumentar para 8 nós, que é 4 * 2.

Instalando o MobileFirst Analytics no WebSphere Application Server Liberty

Certifique-se de que já tenha o arquivo EAR do MobileFirst Analytics. Para obter informações adicionais sobre os artefatos de instalação, consulte Instalando o MobileFirst Server em um servidor de aplicativos. O arquivo analytics.ear está localizado na pasta **\analytics**. Para obter informações adicionais sobre como fazer download e instalar o WebSphere Application Server Liberty, consulte o artigo [Sobre o WebSphere Liberty](https://developer.ibm.com/wasdev/websphere-liberty/) no IBM developerWorks.

  1. Crie um servidor executando o comando a seguir em sua pasta ./wlp/bin.

    ./server create <serverName>
    
  2. Instale os recursos a seguir executando o seguinte comando em sua pasta ./bin.

    ./featureManager install jsp-2.2 ssl-1.0 appSecurity-1.0 localConnector-1.0
    
  3. Inclua o arquivo analytics.ear na pasta **./usr/servers//apps** de seu Liberty Server.
  4. Substitua o conteúdo da tag `` do arquivo **./usr/servers//server.xml** pelo conteúdo a seguir: ```xml jsp-2.2 ssl-1.0 appSecurity-1.0 localConnector-1.0 ```
  5. Configure analytics.ear como um aplicativo com segurança baseada em função no arquivo server.xml. O exemplo a seguir cria um registro do usuário básico codificado permanentemente e designa um usuário a cada uma das diferentes funções de análise de dados.

    <application location="analytics.ear" name="analytics-ear" type="ear">
         <application-bnd>
             <security-role name="analytics_administrator">
                 <user name="admin"/>
             </security-role>
             <security-role name="analytics_infrastructure">
                 <user name="infrastructure"/>
             </security-role>
             <security-role name="analytics_support">
                 <user name="support"/>
             </security-role>
             <security-role name="analytics_developer">
                 <user name="developer"/>
             </security-role>
             <security-role name="analytics_business">
                 <user name="business"/>
             </security-role>
         </application-bnd>
    </application>
    
    <basicRegistry id="worklight" realm="worklightRealm">
         <user name="business" password="demo"/>
         <user name="developer" password="demo"/>
         <user name="support" password="demo"/>
         <user name="infrastructure" password="demo"/>
         <user name="admin" password="admin"/>
    </basicRegistry>
    

    Para obter informações adicionais sobre como configurar outros tipos de registro do usuário, como LDAP, consulte o tópico Configurando um registro do usuário para Liberty na documentação do produto WebSphere Application Server.

  6. Inicie o Liberty Server executando o seguinte comando dentro da pasta bin

    ./server start <serverName>
    
  7. Vá para o MobileFirst Analytics Console.

    http://localhost:9080/analytics/console
    

Para obter informações adicionais sobre como administrar o WebSphere Application Server Liberty, consulte o tópico Administrando o Liberty a partir da linha de comandos na documentação do produto WebSphere Application Server.

Instalando o MobileFirst Analytics no Tomcat

Certifique-se de que já tenha os arquivos MobileFirst Analytics WAR do. Para obter informações adicionais sobre os artefatos de instalação, consulte Instalando o MobileFirst Server em um servidor de aplicativos. Os arquivos analytics-ui.war e analytics-service.war estão localizados na pasta **\analytics**. Para obter mais informações sobre como fazer o download e instalar o Tomcat, consulte [Apache Tomcat](http://tomcat.apache.org/). Assegure-se de fazer download da versão que suporte Java 7 ou superior. Para obter mais informações sobre qual versão do Tomcat suporta Java 7, consulte [Versões do Apache Tomcat](http://tomcat.apache.org/whichversion.html).

  1. Inclua os arquivos analytics-service.war e analytics-ui.war na pasta webapps do Tomcat.
  2. Remova o comentário da seção a seguir no arquivo conf/server.xml, que está presente, mas comentado, em um archive Tomcat recém-transferido por download.

    <Valve className="org.apache.catalina.authenticator.SingleSignOn"/>
    
  3. Declare os dois arquivos war no arquivo conf/server.xml e defina o registro do usuário.

    <Context docBase ="analytics-service" path ="/analytics-service"></Context>
    <Context docBase ="analytics" path ="/analytics"></Context>
    <Realm className ="org.apache.catalina.realm.MemoryRealm"/>
    

    O MemoryRealm reconhece os usuários que estão definidos no arquivo conf/tomcat-users.xml. Para obter mais informações sobre outras opções, consulte Instruções de configuração do domínio do Apache Tomcat.

  4. Inclua as seções a seguir no arquivo conf/tomcat-users.xml para configurar MemoryRealm.
    • Inclua as funções de segurança.

      <role rolename="analytics_administrator"/>
      <role rolename="analytics_infrastructure"/>
      <role rolename="analytics_support"/>
      <role rolename="analytics_developer"/>
      <role rolename="analytics_business"/>
      
    • Inclua alguns usuários com as funções desejadas.

      <user name="admin" password="admin" roles="analytics_administrator"/>
      <user name="support" password="demo" roles="analytics_support"/>
      <user name="business" password="demo" roles="analytics_business"/>
      <user name="developer" password="demo" roles="analytics_developer"/>
      <user name="infrastructure" password="demo" roles="analytics_infrastructure"/>
      
    • Inicie seu servidor Tomcat e acesse MobileFirst Analytics Console.

      http://localhost:8080/analytics/console
      

    Para obter mais informações sobre como iniciar o servidor Tomcat, consulte o site oficial do Tomcat. Por exemplo, Apache Tomcat 7 para Tomcat 7.0.

Instalando o MobileFirst Analytics no WebSphere Application Server

Para obter informações adicionais sobre as etapas iniciais de instalação para adquirir os artefatos de instalação (arquivos JAR e EAR), consulte Instalando o MobileFirst Server em um servidor de aplicativos. Os arquivos analytics.ear, analytics-ui.war e analytics-service.war estão localizados na pasta **\analytics**.

As etapas a seguir descrevem como instalar e executar o arquivo EAR do Analytics no WebSphere Application Server. Se estiver instalando os arquivos WAR individuais no WebSphere Application Server, siga apenas as etapas de 2 a 7 no arquivo WAR analytics-service depois de implementar ambos os arquivos WAR. A ordem de carregamento de classes não deve ser alterada no arquivo WAR analytics-ui.

  1. Implemente o arquivo EAR para o servidor de aplicativos, mas não o inicie. . Para obter informações adicionais sobre como instalar um arquivo EAR no WebSphere Application Server, consulte o tópico Instalando arquivos de aplicativo corporativo com o console na documentação do produto WebSphere Application Server.

  2. Selecione o aplicativo MobileFirst Analytics da lista Aplicativos corporativos.

    Instale os aplicativos WebSphere Enterprise

  3. Clique em Carregamento de Classes e Detecção de Atualização.

    Carregamento de classes no WebSphere

  4. Configure a ordem de carregamento de classe como pai por último.

    Mude a ordem de carregamento de classes

  5. Clique em Mapeamento de função de segurança para usuário/grupo para mapear o usuário administrativo.

    Ordem de carregamento de classes do War

  6. Clique em Gerenciar Módulos.

    Gerenciando módulos no WebSphere

  7. Selecione o módulo analytics e mude a ordem do carregador de classes para pai por último.

    Módulo do Analytics no WebSphere

  8. Ative a Segurança administrativa e a segurança do aplicativo no console de administração do WebSphere Application Server:
    • Efetue login no console administrativo do WebSphere Application Server.
    • No menu Segurança > Segurança global, certifique-se de que as opções Ativar segurança administrativa e Ativar segurança do aplicativo estejam selecionadas. Nota: a segurança do aplicativo pode ser selecionada somente depois que a Segurança administrativa for ativada.
    • Clique em OK e salve as alterações.
  9. Inicie o aplicativo MobileFirst Analytics e acesse o link no navegador: http://<hostname>:<port>/analytics/console.

Instalando o MobileFirst Analytics com tarefas Ant

Certifique-se de que tenha os arquivos WAR e de configuração necessários: analytics-ui.war e analytics-service.war. Para obter informações adicionais sobre os artefatos de instalação, consulte Instalando o MobileFirst Server em um servidor de aplicativos. Os arquivos analytics-ui.war e analytics-service.war estão localizados em MobileFirst_Platform_Server\analytics.

Deve-se executar a tarefa Ant no computador em que o servidor de aplicativos está instalado, ou o Network Deployment Manager para WebSphere Application Server Network Deployment. Se desejar iniciar a tarefa Ant a partir de um computador no qual o MobileFirst Server não está instalado, será preciso copiar o arquivo **/MobileFirstServer/mfp-ant-deployer.jar** para esse computador.

Nota: o item temporário mf_server_install_dir é o diretório onde o MobileFirst Server foi instalado.

  1. Edite o script Ant que você usará posteriormente para implementar arquivos WAR do MobileFirst Analytics.

    Nota: os seguintes caracteres especiais devem estar escapados quando forem usados nos valores dos scripts XML Ant:

    • O símbolo de dólar ($) deve ser escrito como $$, , a menos que você deseje referenciar explicitamente uma variável Ant por meio da sintaxe ${variable}, conforme descrito na seção Propriedades do Manual do Apache Ant.
    • O caractere e comercial (&) deve ser escrito como &, a menos que você deseje referenciar explicitamente uma entidade XML.
    • Aspas duplas (“) devem ser escritas como ", exceto quando estiverem dentro de uma sequência que estiver dentro de aspas simples.
  2. Se você instalar um cluster de nós em vários servidores:
    • Você deve remover o comentário da propriedade wl.analytics.masters.list e configurar o seu valor para a lista de nome do host e da porta de transporte dos nós mestres. Por exemplo: node1.mycompany.com:96000,node2.mycompany.com:96000
    • Inclua o atributo mastersList nos elementos elasticsearch nas tarefas installanalytics, updateanalytics e uninstallanalytics.

    Nota: Se você instalar em um cluster no WebSphere Application Server Network Deployment, e não configurar a propriedade, a tarefa Ant irá calcular os terminais de dados para todos os membros do cluster no momento da instalação, e configurará a propriedade JNDI masternodes para esse valor.

  3. Para implementar os arquivos WAR, execute o seguinte comando: ant -f configure-appServer-analytics.xml install É possível localizar o comando Ant em mf_server_install_dir/shortcuts. Isso instala um nó do MobileFirst Analytics, com o tipo padrão principal e dados no servidor, ou em cada membro de um cluster, se você instalar no WebSphere Application Server Network Deployment.
  4. Salve o arquivo Ant. Você pode precisar dele posteriormente para aplicar um fix pack ou executar um upgrade. Se não desejar salvar as senhas, é possível substituí-las por “****” (12 estrelas) para prompt interativo.

    Nota: Se você incluir um nó em um cluster de MobileFirst Analytics, deverá atualizar a propriedade JNDI analytics/masternodes, para que ela contenha as portas de todos os nós principais do cluster.

Instalando o MobileFirst Analytics Server em servidores que executam versões anteriores

Embora não haja nenhuma opção para fazer upgrade de versões anteriores do MobileFirst Analytics Server, ao instalar o MobileFirst Analytics Server V8.0.0 em um servidor que hospedou uma versão anterior, algumas propriedades e dados de análise de dados precisam ser migrados.

Para servidores que anteriormente executavam versões anteriores do MobileFirst Analytics Server, atualize os dados de análise de dados e as propriedades JNDI.

Migração de propriedades de servidor usadas por versões anteriores do MobileFirst Analytics Server

Se você instalar o MobileFirst Analytics Server V8.0.0 em um servidor que anteriormente executava uma versão anterior do MobileFirst Analytics Server, será preciso atualizar os valores das propriedades JNDI no servidor hosting.

Alguns tipos de eventos mudaram entre versões anteriores do MobileFirst Analytics Server e a V8.0.0. Devido a esta mudança, quaisquer propriedades JNDI que foram configuradas anteriormente em seu arquivo de configuração do servidor devem ser convertidas para o novo tipo de evento.

A tabela a seguir mostra o mapeamento entre os tipos de eventos antigos e novos. Alguns tipos de eventos não mudaram.

Tipo de evento antigo Novo tipo de evento
AlertDefinition AlertDefinition
AlertNotification AlertNotification
AlertRunnerNode AlertRunnerNode
AnalyticsConfiguration AnalyticsConfiguration
CustomCharts CustomChart
CustomData CustomData
Devices Dispositivo
MfpAppLogs AppLog
MfpAppPushAction AppPushAction
MfpAppSession AppSession
ServerLogs ServerLog
ServerNetworkTransactions NetworkTransaction
ServerPushNotifications PushNotification
ServerPushSubscriptions PushSubscription
Users User
inboundRequestURL resourceURL
mfpAppName appName
mfpAppVersion appVersion

Migração de dados de análise de dados

As partes internas do MobileFirst Analytics Console foram melhoradas, o que exigiu mudança do formato no qual os dados são armazenados. Para continuar a interagir com os dados de análise de dados que já foram coletados, os dados devem ser migrados no novo formato de dados.

Ao visualizar pela primeira vez o MobileFirst Analytics Console após o upgrade para a V8.0.0, nenhuma estatística será renderizada no MobileFirst Analytics Console. Os seus dados não foram perdidos, mas eles devem ser migrados para o novo formato de dados.

Será exibido um alerta em cada página do MobileFirst Analytics Console que lembra que os documentos devem ser migrados. O texto de alerta inclui um link para a página Migração.

A imagem a seguir mostra um alerta de amostra da página Visão geral da seção Painel:

Alerta de migração no console

Página de migração

É possível acessar a página Migração a partir do ícone de chave inglesa no MobileFirst Analytics Console. Na página Migração, é possível ver quantos documentos devem ser migrados, e em quais índices eles estão armazenados. Somente uma ação está disponível: Executar migração.

A imagem a seguir mostra a página Migração quando você tiver documentos que devem ser migrados:

Página de migração no console

Nota: Esse processo pode levar um longo tempo, dependendo da quantidade de dados que você possui, e ele não pode ser interrompido durante a migração.

A migração pode levar aproximadamente 3 minutos para migrar 1 milhão de documentos em um único nó com 32G de RAM, com 16G alocados para a JVM, com um processador 4-core. Os documentos que não forem migrados não serão consultados, portanto, eles não serão renderizados no MobileFirst Analytics Console.

Se a migração falhar durante o andamento, tente novamente a migração. Tentar novamente a migração não migra novamente os documentos que já foram migrados e sua integridade de dados é mantida.

Last modified on October 05, 2017