Setting up agent repositories for dynamic host agents
Dynamic host agents can update themselves from the Instana agent repository, or from a mirror thereof. This documentation covers how to set up a mirror of the Instana agent repository.
This topic applies to only dynamic host agents, instead of static host agents. For more information on the difference between static and dynamic agents, refer to the Host agent types documentation.
wgetto access the repository contents. An example command to list all available dynamic agent install packages for AIX on Power is as follows:
curl https://_:<agent-key>@artifact-public.instana.io/artifactory/shared/com/instana/agent-assembly/1.0.0-SNAPSHOT/ | grep aix-ppc
For more information on how to configure dynamic host agent updates, refer to the Updates of dynamic host agents documentation.
- Setting up an agent repository mirror
- Host agent configuration
Setting up an agent repository mirror
In situations where it is undesirable or impossible to make the agent communicate with the Instana hosted agent repositories, a local mirror can be created instead. Each deployed agent needs to be configured to use the mirror by following the process that is described in the host agent configuration section.
Generic repository information
The Instana host agent pulls feature definitions and updates from any Maven 2 Wagon compatible repository. When you mirror or proxy the repositories that Instana provides, the following general repository configuration applies. Two separate repositories that the agent accesses are provided to pull updates:
Repository Name: agent-release
Remote Repository: https://artifact-public.instana.io/artifactory/features-public
Repository Name: instana-shared
Remote Repository: https://artifact-public.instana.io/artifactory/shared
The mirror or proxy configuration depends on the vendor and version of your Maven 2 repository.
As an example, the following section describes how to configure Sonatype Nexus to act as an agent repository mirror. Though it's preferred, you are not required to use Nexus for
your installation. Any tools that can either proxy the requests to the public download site, or serve the Maven 2 Wagon (located in the
system folder of the static agent installation) is capable of acting as a mirror.
If you do not have Sonatype Nexus running, probably the easiest way to get started is to use it in a docker container (the WebUI appears on
http://localhost:8081/, and the default credentials are admin/admin123):
docker run -d -p 8081:8081 --name nexus sonatype/nexus3
If the corresponding machine that runs the Nexus is only allowed to access the Internet by using an HTTP proxy, you can find the form to enter the credentials when you click HTTP.
To proxy data between the Instana Backend and the Instana Agent, two repositories are required:
- Name: agent-release
- Format: Maven2
- Type: Proxy
- Version Policy: Mixed
- Layout Policy: Permissive
- Remote Storage: https://artifact-public.instana.io/artifactory/features-public
- Username: _
If you do not have a running Artifactory OSS, an easy way to get started is to use the vendor-provided Docker container. The UI appears on
http://localhost:8082/. The default credentials are admin/password. To
run this on your system, use the following command:
docker run --name artifactory -d -p 8081:8081 -p 8082:8082 docker.bintray.io/jfrog/artifactory-oss:latest
Then, create two remote repositories that are needed:
Host agent configuration
Note: The configurations that are shown in this setup are necessary only if you are running a mirror of the Instana agent repository.
There are two mutually exclusive ways to configure an Instana host agent to use a mirror of the Instana agent repository:
- configuring the mirror, or
- changing the repository location
Configuring the mirror
Note: This setup is mutually exclusive with the one shown in the changing the repository location section.
The configuration for the agent repository and how to authenticate with it, is specified in the file
To use your agent repository mirror, uncomment the prepared section in this file:
<mirrors> <mirror> <id>agent-release</id> <url>http://192.168.69.3:8081/repository/agent-release</url> <mirrorOf>features</mirrorOf> </mirror> <mirror> <id>instana-shared</id> <url>http://192.168.69.3:8081/repository/instana-shared</url> <mirrorOf>shared</mirrorOf> </mirror> </mirrors>
If you require authentication for that repository, the following settings can be configured in the same file:
<server> <id>agent-release</id> <username>myuser</username> <password>mypassword</password> </server> <server> <id>instana-shared</id> <username>myuser</username> <password>mypassword</password> </server>
Changing the repository location
Note: This setup is mutually exclusive with the one shown in the configuring the mirror section.
Package-based host agent
When you install the host agent by using the One-Liner or a package-based installer, the location from which the host agent downloads updates and sensors is specified in the
To use your agent repository mirror, replace the line that contains
org.ops4j.pax.url.mvn.repositories with your specific settings. An example configuration for the mentioned Nexus setup on the host
192.168.69.3 on port
8081 would look as follows:
Docker-based host agent
The Docker images for the host agent support setting by using the
INSTANA_MVN_REPOSITORY_FEATURES_PATH environment variables the location from which the host agent downloads updates
The following example is equivalent to the example that is displayed in the Package-based Host Agent section:
INSTANA_MVN_REPOSITORY_URL=http://192.168.69.3:8081/repository INSTANA_MVN_REPOSITORY_FEATURES_PATH=agent-release@id=features@noreleases@snapshots@snapshotsUpdate=always INSTANA_MVN_REPOSITORY_SHARED_PATH=instana-shared@id=shared@snapshots@snapshotsUpdate=always