Instalando o agente de host no Cloud Foundry
Para instalar e configurar o agente de host do Instana no Cloud Foundry, baixe as versões do agente Instana para o BOSH, envie essas versões para o seu diretor BOSH, crie o cliente UAA Instana e configure os complementos do BOSH.
Versões suportadas
cf-deploymentv3.0 e mais tarde- v255.4, diretores da BOSH, e posteriormente
Stemcells suportados
Implantação do agente do ` Instana ` usando a versão BOSH
Baixando a versão BOSH do agente do Instana
_ como nome do usuário e uma chave de agente válida como senha. Os links de download na interface do usuário do Instana já vêm com o nome de usuário e a chave do agente preenchidos para você usar.Para baixar a versão BOSH do agente do Instana, siga estas etapas:
Na página inicial da interface do usuário do Instana, clique em “Agentes e coletores ”. Na guia " Instana Agents ", selecione "Instalar agentes".
Observação: Se você estiver iniciando uma nova instância de avaliação do ` Instana `, o catálogo de agentes será exibido com uma solicitação para selecionar um agente de host a ser instalado.Clique no ladrilho Cloud Foundry e BOSH
Para a Etapa 1: insira a versão do agente BOSH do Instana que você deseja baixar.
Para encontrar as versões do BOSH disponíveis, faça login no repositório público Artifactory e consulte os diretórios de versões.
Para a Etapa 2: Faça o download do archive de liberação 'instana-agent'
Fazendo upload da liberação do BOSH do agente do Instana para o diretor do BOSH
Quando os archives de liberação do agente tiverem sido transferidos por download, faça upload deles para o diretor BOSH executando o comando a seguir:
bosh upload-release <path/to/agent-bosh-xyz.tar.gz>
Aplicando as configurações de tempo de execução do agente do Instana
Para implantar a versão BOSH do agente do Instana em toda a sua infraestrutura, utilize uma configuração de tempo de execução do BOSH.
Para implementar a versão BOSH do agente do Instana em todas as suas implantações, siga estas etapas:
No documento
ymlda seguinte forma, digite os valores para os campos marcados(REQUIRED)e(Optional)que se encaixam no seu caso de uso.Para fazer upload da configuração do tempo de execução para o diretor do BOSH, execute o comando
bosh update-runtime-config. Depois que a configuração do tempo de execução for atualizada, todas as implementações serão consideradas desatualizadas.O Diretor aplica as mudanças de configuração do tempo de execução em cada implementação durante a próxima
bosh deploypara essa implementação.releases: - name: instana-agent version: # (REQUIRED) Fill in the value with the actual release version. # For example, if you downloaded the file # agent-bosh-1.157.31.tar.gz, the right value is: 1.157.31 addons: - name: instana-agent-infrastructure jobs: - name: instana-agent release: instana-agent properties: tanzu: foundation: id: # (REQUIRED) A technical ID to identify this foundation name: # (REQUIRED) A name to identify this foundation instana: agent: &agent-configuration mode: INFRASTRUCTURE endpoint: # (REQUIRED) Instana ingress endpoint, e.g., ingress-red-saas.instana.io endpoint_port: # (Optional) Instana ingress endpoint port, default is 443 key: # (REQUIRED) Fill this with the agent key for your Instana tenant unit download_key: # (Optional) Download key for downloading agent updates. # This is necessary only in special cases, like running a private update repository. # If not specified, the agent will fall back to the value 'instana.agent.key'. zone: # (Optional, not advised) the name of the zone of the host. # If unspecified, the value of `tanzu.foundation.name` will be used instead. # (Optional) Add further configurations for the Agent's configuration.yaml files. # Activate support for the JREs used in the latest Java buildpacks custom_configuration: | # (Optional) Add more environment variables to be passed to the Instana agent. # Experimental flags of the Instana agent are activated using environment variables. # It is not advised to use these settings unless instructed by Instana's support. # Each environment variable must be entered in a text line. # This entire stanza can be omitted if there is no proxy between the Instana agents and the Instana backend environment: | USE_ATTACH_TOOLS=true proxy: type: # (Optional) Type of proxy to be used by the agent to connect to the Instana backend. # Valid values are 'http' (works also for HTTPS proxies), 'socks4' and 'socks5'. # Default is to use no proxy. host: # (Optional) Hostname of the proxy server, e.g., 'my.proxy' (without protocol). # This property is required if a value is set for 'instana.agent.proxy.type', and ignored otherwise. port: # (Optional) Port of the proxy server. # This property is required if a value is set for 'instana.agent.proxy.type', and ignored otherwise. user: # (Optional) User to be used to authenticate against the proxy server. # Default is not to use authentication. # This property is ignored if 'instana.agent.proxy.type' has no value set. password: # (Optional) Password to be used to authenticate against the proxy server. # Default is not to use authentication. # This property is ignored if 'instana.agent.proxy.type' or 'instana.agent.proxy.user' have no value set. dns: # (Optional) If set to 'true', DNS will be used to resolve the proxy address. # Default is 'true'. # This property is ignored if 'instana.agent.proxy.type' has no value set. updates: mode: dynamic # Whether the agent should update itself dynamically ("dynamic") or not ("static", default). # Default is dynamic. dynamic: repository: hostname: artifact-public.instana.io # The hostname of the repository to tap for updates to agent and sensors. # The agent will connect to the repository on port 80 and 443. version: # (Optional) Which version of the updates pack to use without further updates (version pinning). # This setting overrides 'instana.agent.updates.dynamic.frequency' and 'instana.agent.updates.dynamic.time'. frequency:# (Optional) How often to update the agent. # Valid values are "DAY" (default, means daily updates), "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY" and "SUNDAY". # Default is 'DAY'. time: # Time of day when the update is executed, expected in hh:mm format in UTC. # Default is '04:30'. include: stemcell: &supported-linux-stemcells - alias: ubuntu-trusty os: ubuntu-trusty - alias: ubuntu-xenial os: ubuntu-xenial - alias: ubuntu-bionic os: ubuntu-bionic - alias: centos-7 os: centos-7 exclude: jobs: - name: garden release: garden-runc - name: instana-agent-apm jobs: - name: instana-agent release: instana-agent properties: instana: agent: <<: *agent-configuration mode: APM include: jobs: - name: garden release: garden-runc stemcell: *supported-linux-stemcells
Para obter mais informações sobre as políticas relacionadas às atualizações do agente, consulte a página de documentação Controle de versões e gerenciamento de atualizações do agente.
Verificando o status do agente do host
Após instalar o agente do host, você pode verificar o status do agente do host na interface do usuário do Instana ou no próprio host. Para obter mais informações, consulte Verificando o status do agente do host..
Configurando o sensor de Cloud Foundry
O agente Instana é capaz de recuperar dados sobre aplicativos, espaços e organizações do Cloud Foundry a partir do Cloud Foundry API. O Instana usa essas informações para alimentar recursos relacionados ao Cloud Foundry como:
- Cloud Foundry Painéis,
- Mapeamentos de serviços baseados em nomes de aplicativos Cloud Foundry (ver Mappings de Serviços: Regras Predefinidas, ver
Cloud Foundry application name), - Alguns aspectos da integração das aplicações do Cloud Foundry no mapa de infraestrutura, tais como o Dynamic Focus e o agrupamento.
Se configurado, todo agente do Instana é capaz de coletar os dados necessários da API do Cloud Foundry. No entanto, recomendamos que apenas um agente colete os dados a qualquer momento. Ao usar o bloco, automatizamos a coleta por um agente do Instana de forma transparente, empregando um mecanismo de eleição de liderança para ter diversos agentes do Instana em espera a quente a fim de coletar dados da API do Cloud Foundry; isso garante a continuidade da recuperação de dados, por exemplo, as atualizações contínuas das implementações do BOSH. No entanto, ao implementar o agente do Instana diretamente pelo BOSH, a configuração do sensor do Cloud Foundry precisa ser expressamente configurada e oferecemos suporte às seguintes formas de fazer isso:
- Recomendado: Faça com que os agentes do ` Instana ` em execução nas máquinas virtuais do Cloud Controller coletem os dados de ` Cloud Foundry ` e ` API ` por meio de uma configuração de tempo de execução do BOSH
- Inicie um BOSH dedicado
instance_groupexecutando agentes do Instana, especialmente configurados para coletar dados das APIs do Cloud Foundry
Instalação conjunta em máquinas do Cloud Controller
A seguinte configuração de tempo de execução permite que os agentes do Instana em execução nas diversas instâncias do Cloud Controller coletem os dados do Cloud Foundry API, coordenando qual agente do Instana realiza essa tarefa em cada momento por meio de um mecanismo de eleição de liderança fornecido pela ZooKeeper versão :
releases:
- name: instana-agent
version:# (REQUIRED) Fill in the value with the actual release version.
# For example, if you downloaded the file
# agent-bosh-1.157.31.tar.gz, the right value is: 1.157.31
- name: zookeeper
version: "0.0.10"
url: "https://bosh.io/d/github.com/cppforlife/zookeeper-release?v=0.0.10"
sha1: "a6d227abceebf1e3e68ce4a3cabf68b0b93165d2"
addons:
- name: instana-cf-sensor
jobs:
- name: instana-agent-configuration-cf-sensor
release: instana-agent
properties:
tanzu:
foundation:
id: # (REQUIRED) A technical ID to identify this foundation
name: # (REQUIRED) A name to identify this foundation
cf:
uaa:
client: # (REQUIRED) A UAA client that has the 'cloud_controller.admin_read_only' authorities
client_secret: # (REQUIRED) Client secret matching the above client
- name: zookeeper
release: zookeeper
properties:
leader_serves: "yes"
# 42600 is the legacy leadership election port and we wanna avoid incompatibilities over update
leader_election_port: 42601
quorum_port: 42602
include:
jobs:
- name: cloud_controller_ng
release: capi
De acordo com esta configuração de tempo de execução, o agente do Instana precisa de um cliente para o serviço de Conta de Usuário e Autorização (UAA) do Cloud Foundry com a cloud_controller.admin_read_only autoridade, que pode ser criado de duas maneiras:
- Manualmente, conforme mostrado na página “Criação e gerenciamento de usuários com a CLI da UAA (UAAC) ” da documentação do Cloud Foundry.
- Recomendado: automaticamente usando a tarefa
instana-ensure-uaa-clientda liberação do BOSHinstana-agentusando a configuração de tempo de execução do BOSH adicional a seguir:
releases:
- name: instana-agent
version:# (REQUIRED) Fill in the value with the actual release version.
# For example, if you downloaded the file
# agent-bosh-1.157.31.tar.gz, the right value is: 1.157.31
addons:
- name: instana-ensure-uaa-client
jobs:
- name: instana-ensure-uaa-client
release: instana-agent
properties:
cf:
uaa:
client: # (REQUIRED) This entry must match the one of the `cf.uaa.client` property of the `instana-cf-sensor` runtime configuration
client_secret: # (REQUIRED) This entry must match the one of the `cf.uaa.client_secret` property of the `instana-cf-sensor` runtime configuration
include:
jobs:
- name: uaa
release: uaa
O método recomendado usando a tarefa instana-ensure-uaa-client tem o benefício de garantir que o client da UAA seja recriado automaticamente, caso excluído por engano. Observe que a instana-ensure-uaa-client precisa estar localizada nas máquinas virtuais que estão executando a tarefa uaa, a fim de usar as credenciais disponíveis lá.
Grupo de instância dedicado
É possível implementar agentes do Instana dedicados configurados para executar o sensor do Cloud Foundry criando um grupo de instâncias dedicado do BOSH. Não o recomendamos, no entanto, pois isso leva a um desperdício significativo de recursos de computação: o trabalho que o sensor faz é leve e é simplesmente exagero atribuir máquinas virtuais dedicadas a ele. De qualquer forma, a configuração de tempo de execução a seguir renderá um grupo de instâncias com uma máquina virtual dedicada:
---
name: instana-cf-sensor
stemcells:
- alias: &stemcell_name bosh-aws-xen-hvm-ubuntu-xenial-go_agent
os: ubuntu-xenial
version: "621.29"
releases:
- name: instana-agent
version: <instana-agent-bosh-release-version>
instance_groups:
- name: instana-cf-sensor
azs: ...
instances: 1
jobs:
- name: instana-agent-configuration-cf-sensor
release: instana-agent
properties:
cf:
api:
url: <TODO> # e.g., https://api.sys.mypcf.qainfra.instana.io
uaa:
url: <TODO> # e.g., https://uaa.sys.mypcf.qainfra.instana.io
client: <TODO>
client_secret: <TODO>
vm_type: t3.micro
stemcell: *stemcell_name
networks:
# Your network setup may look different
- default:
- dns
- gateway
name: instana-cf-sensor
update:
canaries: 1
canary_watch_time: 30000-300000
max_errors: 2
max_in_flight: 1
serial: false
update_watch_time: 30000-300000
Notas:
- Este grupo de instância contém uma instância. Se desejar escalá-lo para mais de uma instância, para que seja resiliente entre as atualizações contínuas, será necessário implementar adicionalmente nas máquinas a tarefa do
ZooKeeperpor meio da liberação doZooKeeperhomônima. Oinstana-agent-configuration-cf-sensordetectará automaticamente a presença do mecanismo de eleição de liderança (via seus links do BOSH) e adotá-lo de forma transparente. - Será necessário configurar manualmente o URI das APIs da UAA e do Cloud Foundry. Isso significa que seria possível tecnicamente executar essa implementação em uma rede completamente diferente e até mesmo na zona de disponibilidade por meio das usadas pela implementação do Cloud Foundry.
- Você precisará criar um cliente UAA e um segredo de cliente correspondente junto à
cloud_controller.admin_read_onlyautoridade, conforme mostrado na página “Criação e gerenciamento de usuários com a CLI do UAA (UAAC) ” da documentação do Cloud Foundry.
Removendo configurações de tempo de execução do agente do Instana
Para remover a configuração do tempo de execução do Instana, faça upload do seguinte executando o comando bosh update-runtime-config:
releases: []
addons: []
Após a atualização da configuração do tempo de execução, a liberação do BOSH do agente do Instana é removida durante a próxima bosh deploy para cada implementação. Após a atualização de todas as implementações para remover as tarefas do BOSH do agente do Instana, recomenda-se executar o comando bosh clean-up para remover a liberação que agora é desnecessária, além de seus artefatos do diretor do BOSH.
Solução de problemas na implantação de agentes
Se a instalação do agente falhar, você pode verificar as mensagens de log e as dicas de solução de problemas. Se esta seção de solução de problemas não resolver o seu problema, entre em contato com a equipe de suporte do IBM Instana e forneça informações sobre o que aconteceu. Essas informações nos ajudam a atendê-lo melhor e a aprimorar nossa documentação.
Para obter informações sobre solução de problemas aplicáveis a todos os agentes de host, consulte Solução de problemas.