Installation de l'agent hôte sur Cloud Foundry
Pour installer et configurer l'agent hôte Instana sur Cloud Foundry, vous devez télécharger les versions BOSH de l'agent Instana, les transférer vers votre directeur BOSH, créer le client UAA Instana et configurer les modules complémentaires BOSH.
Versions prises en charge
cf-deploymentv3.0 et plus tard- Les réalisateurs de BOSH : « v255.4 » et les suites
Stemcells pris en charge
Déploiement de l'agent « Instana » à l'aide de la version BOSH
Téléchargement de la version BOSH de l'agent « Instana »
_ comme nom d'utilisateur et une clé d'agent valide comme mot de passe. Les liens de téléchargement dans l'interface utilisateur d' Instana sont préremplis avec le nom d'utilisateur et la clé d'agent pour vous faciliter la tâche.Pour télécharger la version BOSH de l'agent « Instana », procédez comme suit :
Sur la page d'accueil de l'interface utilisateur d' Instana, cliquez sur « Agents et collecteurs ». Dans l'onglet « Agents » de l' Instana, sélectionnez « Installer les agents ».
Remarque : si vous lancez une nouvelle instance d'essai d' Instana, le catalogue d'agents s'affiche et vous invite à sélectionner un agent hôte à installer.Cliquez sur la vignette Cloud Foundry et BOSH
Pour l'étape 1 : indiquez la version BOSH de l'agent d' Instana que vous souhaitez télécharger.
Pour connaître les versions disponibles de BOSH, connectez-vous au référentiel public Artifactory, puis consultez les répertoires des versions.
Pour Etape 2: Téléchargez l'archive de l'édition'instana-agent'.
Envoi par téléchargement de l'édition BOSH de l'agent Instana dans le directeur BOSH
Une fois que les archives d'édition de l'agent ont été téléchargées, téléchargez-les vers le directeur BOSH en exécutant la commande suivante:
bosh upload-release <path/to/agent-bosh-xyz.tar.gz>
Application des configurations d'exécution de l'agent Instana
Pour déployer la version BOSH de l'agent « Instana » dans l'ensemble de votre infrastructure, utilisez une configuration d'exécution BOSH.
Pour déployer la version BOSH de l'agent « Instana » sur l'ensemble de vos déploiements, procédez comme suit :
Dans le document
yml, comme suit, entrez les valeurs des zones marquées(REQUIRED)et(Optional)qui correspondent à votre cas d'utilisation.Pour envoyer par téléchargement la configuration d'exécution au directeur BOSH, exécutez la commande
bosh update-runtime-config. Une fois la configuration d'exécution mise à jour, tous les déploiements sont considérés comme obsolètes.Le directeur applique les modifications de configuration d'exécution à chaque déploiement lors de l'exécution de la commande
bosh deploysuivante pour ce déploiement.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
Pour plus d'informations sur les règles relatives aux mises à jour des agents, consultez la page de documentation intitulée « Gestion des versions et des mises à jour des agents ».
Vérification de l'état de l'agent hôte
Une fois l'agent hôte installé, vous pouvez vérifier son état dans l'interface utilisateur d' Instana ou directement sur l'hôte. Pour plus d'informations, voir Vérification du statut de l'agent hôte.
Configuration du capteur Cloud Foundry
L'agent « Instana » est capable de récupérer des données concernant les applications, les espaces et les organisations d' Cloud Foundry à partir de l' API Cloud Foundry. Instana utilise ces informations pour alimenter les fonctions liées à Cloud Foundry, comme :
- Cloud Foundry Tableaux de bord,
- Les mappages de service basés sur les noms d'application Cloud Foundry (voir Mappages de service: règles prédéfinies, voir
Cloud Foundry application name), - Certains aspects de l 'intégration des applications d' Cloud Foundry s dans la carte de l'infrastructure, tels que Dynamic Focus et le regroupement.
Chaque agent Instana, s'il est configuré, peut collecter les données nécessaires depuis l'API Cloud Foundry. Toutefois, il est recommandé de n'utiliser qu'un seul agent pour collecter les données à tout moment. Si vous utilisez la vignette, la collecte par un seul agent Instana est automatisée en toute transparence, avec un mécanisme d'élection de leader permettant de disposer de plusieurs agents Instana en secours automatique pour collecter les données de l'API Cloud Foundry. Ainsi, la continuité de l'extraction des données, par exemple pendant les mises à jour continues des déploiements BOSH, est assurée. Toutefois, lors du déploiement de l'agent Instana directement via BOSH, le capteur Cloud Foundry doit être configuré expressément, et les méthodes suivantes sont prises en charge :
- Recommandation : demandez aux agents « Instana » exécutés sur les machines virtuelles du Cloud Controller de collecter les données de l' Cloud Foundry API via une configuration d'exécution BOSH
- Lancer un BOSH dédié
instance_groupexécutant des agents Instana spécialement configurés pour collecter des données à partir des API Cloud Foundry
Colocalisation sur des machines Cloud Controller
La configuration d'exécution suivante permet aux agents « Instana » s'exécutant sur les différentes instances du Cloud Controller de collecter les données de l' Cloud Foundry API, en coordonnant quel agent Instana effectue cette tâche à un moment donné grâce à un mécanisme d'élection de leader fourni par la ZooKeeper version :
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
Selon cette configuration d'exécution, l'agent d' Instana a besoin d'un client pour le service « User Account and Authorization » (UAA) d' Cloud Foundry doté des cloud_controller.admin_read_only droits nécessaires, qui peut être créé de deux façons :
- Manuellement, comme indiqué sur la page « Création et gestion des utilisateurs avec l'interface CLI de l'UAA (UAAC) » de la documentation d' Cloud Foundry.
- Méthode recommandée : automatiquement à l'aide du travail
instana-ensure-uaa-clientde l'édition BOSHinstana-agentBOSH avec la configuration d'exécution BOSH supplémentaire suivante :
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
La méthode recommandée qui utilise le travail instana-ensure-uaa-client présente un avantage supplémentaire : elle garantit que le client UAA est recréé automatiquement s'il est supprimé par erreur. Notez que le instana-ensure-uaa-client doit se trouver sur les machines virtuelles exécutant le travail uaa , afin d'utiliser les données d'identification disponibles.
Groupe d'instances dédié
Il est possible de déployer des agents Instana dédiés configurés pour exécuter le capteur Cloud Foundry en créant un groupe d'instances BOSH dédié. Ce n'est cependant pas recommandé car cela conduit à un gaspillage important des ressources informatiques : le travail du capteur est simple et il est tout simplement exagéré de lui allouer des machines virtuelles dédiées. Quoi qu'il en soit, la configuration d'exécution suivante produit un groupe d'instances avec une machine virtuelle dédiée :
---
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
Remarques :
- Ce groupe d'instances contient une instance. Si vous voulez le faire évoluer vers plusieurs instances, pour lui permettre d’être résilient dans toutes les mises à jour tournantes, vous devez également déployer le travail
ZooKeeperprovenant de l'édition homonymeZooKeeper. Leinstana-agent-configuration-cf-sensordétecte automatiquement la présence du mécanisme d'élection des dirigeants (via ses liens BOSH) et l'adopte de manière transparente. - Vous devrez configurer manuellement l'URI des API UAA et Cloud Foundry. Cela signifie que vous pouvez techniquement exécuter ce déploiement sur un réseau et même dans une zone de disponibilité complètement différents de ceux utilisés par le déploiement Cloud Foundry.
- Vous devrez créer un client UAA et une clé secrète de client correspondante auprès de
cloud_controller.admin_read_onlyl'autorité, comme indiqué sur la page « Création et gestion des utilisateurs avec l'interface CLI UAA (UAAC) » de la documentation de l' Cloud Foundry.
Retrait des configurations d'exécution d'agent Instana
Pour retirer la configuration d'exécution Instana, envoyez les éléments suivants par téléchargement en exécutant la commande bosh update-runtime-config :
releases: []
addons: []
Une fois la configuration d'exécution mise à jour, l'édition BOSH de l'agent Instana est retirée lors de l'exécution suivante de la commande bosh deploy pour chaque déploiement. Une fois que tous les déploiements ont été mis à jour pour retirer les travaux BOSH de l'agent Instana, il est recommandé d'exécuter la commande bosh clean-up pour retirer la version désormais inutile et ses artefacts du directeur BOSH.
Dépannage du déploiement des agents
Si l'installation de l'agent échoue, vous pouvez consulter les messages du journal et les conseils de dépannage. Si cette section consacrée au dépannage ne permet pas de résoudre votre problème, veuillez contacter l'équipe d'assistance d' IBM Instana en lui fournissant des détails sur le problème rencontré. Ces informations nous aident à vous aider et à améliorer notre documentation.
Pour obtenir des informations générales sur le dépannage de tous les agents hôtes, consultez la section Dépannage.