Verwalten des Host-Agenten unter Linux

Nachdem Sie den Host-Agenten installiert haben, konfigurieren und verwalten Sie den Agenten nach Bedarf. In der folgenden Liste finden Sie alle verfügbaren Konfigurationsoptionen für Agenten unter Linux.

Anpassen der Agentenkonfiguration

Nach der Installation des Host-Agenten werden die folgenden Konfigurationsdateien erstellt:

/opt/instana/agent/etc/mvn-settings.xml
/opt/instana/agent/etc/org.ops4j.pax.url.mvn.cfg
/opt/instana/agent/etc/instana/com.instana.agent.bootstrap.AgentBootstrap.cfg
/opt/instana/agent/etc/instana/com.instana.agent.main.config.Agent.cfg
/opt/instana/agent/etc/instana/com.instana.agent.main.config.UpdateManager.cfg
/opt/instana/agent/etc/instana/com.instana.agent.main.sender.Backend.cfg
/opt/instana/agent/etc/instana/configuration.yaml
 

Sie können die Konfiguration des Agenten an Ihre Bedürfnisse anpassen. Sie können beispielsweise den Port und den Hostnamen von TCP für das Backend Instana sowie für Dienste ändern, mit denen Ihr Host-Agent eine Verbindung herstellt, den Agenten so konfigurieren, dass er an mehrere Backends meldet, oder einen Proxy für die indirekte Kommunikation vom Host-Agenten zum Backend Instana einrichten.

Weitere Informationen zum Anpassen der Agentenkonfiguration finden Sie in den folgenden Themen:

Starten, Stoppen und Aktualisieren des Agenten

In den folgenden Abschnitten erfahren Sie, wie Sie den Host-Agenten unter Linux starten, stoppen und aktualisieren können:

Agenten starten

Wenn Sie den Host-Agenten installieren, wird er beim Systemstart automatisch gestartet. Sie können dieses Verhalten abschalten, indem Sie bei der Installation des Agenten die Umgebungsvariable ' INSTANA_AGENT_AUTOSTART=false setzen.

  • Um den Host-Agenten zu starten, führen Sie den folgenden Befehl aus:

    /opt/instana/agent/bin/start
     
  • Wenn Ihr Betriebssystem " systemd als Init-System verwendet, führen Sie den folgenden Befehl aus:

    systemctl start instana-agent.service
     
  • Wenn Ihr Betriebssystem " SysVinit als Init-System verwendet, führen Sie den folgenden Befehl aus:

    service instana-agent start
     

Agent stoppen

Um den Agenten zu stoppen, führen Sie den folgenden Befehl aus:

 /opt/instana/agent/bin/stop
 
  • Wenn Ihr Betriebssystem " systemd als Init-System verwendet, führen Sie den folgenden Befehl aus:

    systemctl stop instana-agent.service
     
  • Wenn Ihr Betriebssystem " SysVinit als Init-System verwendet, führen Sie den folgenden Befehl aus:

    service instana-agent stop
     

Agent aktualisieren

Sie können den Paketmanager Ihres Betriebssystems verwenden, um ein Agentenpaket auf Ihrem Rechner zu aktualisieren. Um die Pakete und Patches Ihres Systems zu aktualisieren und zu verwalten, führen Sie den folgenden Befehl aus:

yum update // apt-get upgrade
 

Die Pakete instana-agent-static oder instana-agent-dynamic werden aktualisiert.

Verwaltung von Agenten über das Agent Management Dashboard

Über das Dashboard „Agentenverwaltung“ in der Benutzeroberfläche von „ Instana “ können Sie folgende Vorgänge ausführen:

Führen Sie die folgenden Schritte aus, um das Agent Management Dashboard zu öffnen:

  1. Wählen Sie in der Seitenleiste der Benutzeroberfläche von „ Instana “ die Option „Infrastruktur“ aus. Alternativ können Sie in der Host-Übersicht unter „ Instana -Agent “ auf den Agenten klicken.
  2. Klicken Sie auf einen bestimmten überwachten Host.
  3. Klicken Sie auf dem Host-Dashboard auf Agent Management öffnen.

Umgebungsvariablen festlegen und überschreiben

Wenn der Host-Agent als Paket installiert und über SystemV init oder gestartet systemd wird, müssen Sie bestimmte Umgebungsvariablen für den „ Instana “ festlegen. Darüber hinaus müssen Sie möglicherweise bestimmte Umgebungsvariablen außer Kraft setzen. Beispielsweise müssen für die Unterstützung von „ LXC “-Containern die Befehlszeilen-Tools „ LXC “ im Pfad des Host-Agenten enthalten sein.

  • Wenn Ihr Betriebssystem ' SysVinit als Init-System verwendet, gehen Sie zum Abschnitt SystemV Init, um Umgebungsvariablen zu setzen und zu überschreiben.

  • Wenn Ihr Betriebssystem " Systemd als Init-System verwendet, gehen Sie zum Abschnitt Systemd, um Umgebungsvariablen zu setzen und zu überschreiben.

SystemV Init

Wenn Ihr Betriebssystem ' SysVinit als Init-System verwendet, ruft der Host-Agent die entsprechenden Shell-Skripte im Verzeichnis ' /etc/default/Debian und Derivate) oder ' /etc/sysconfig/Red Hat und Derivate) ab.

Wenn der Name des Dienstes nicht geändert wird, verwendet das SysVinit die Datei " /etc/default/instana-agent oder " /etc/sysconfig/instana-agent.

Beispielsweise können Sie in „ Debian “ die Variablen „ Instana “ und aktualisieren PATH , indem Sie verwenden /etc/default/instana-agent (sofern diese Datei lesbar ist):

INSTANA_AGENT_KEY=$agentkey
INSTANA_AGENT_ENDPOINT=$endpoint
INSTANA_AGENT_ENDPOINT_PORT=$endpoint_port
PATH=/usr/local/bin:${PATH}
 
Hinweis: Die Verwendung der Umgebungsvariablen INSTANA_AGENT_HOST und INSTANA_AGENT_PORT zur Konfiguration des Agenten ist veraltet. Diese Umgebungsvariablen sind für die Konfiguration von „ Instana “-Tracern reserviert, damit diese eine Verbindung zum Agenten herstellen können. Wenn diese global festgelegt sind, können die „ Instana “-Tracer keine Verbindung zum Agenten herstellen. Die Unterstützung für die Verwendung dieser Umgebungsvariablen zur Konfiguration des Agenten wird in zukünftigen Versionen von Instana entfernt.

Um die Werte für Endpunkt, Port und Agentenschlüssel zu ermitteln, rufen Sie die Startseite der Benutzeroberfläche von „ Instana “ auf und klicken Sie auf „Agentenbereitstellung “. Klicken Sie auf der Seite „Agenten-Bereitstellungskatalog“ auf die Kachel „ Linux – Automatische Installation (One-Liner) “. Dann können Sie die Werte für Endpunkt, Port und Agentenschlüssel im Verteilungsskript sehen.

Systemd

Wenn Ihr Betriebssystem " Systemd als Init-System verwendet, können Sie Umgebungsvariablen setzen und überschreiben, indem Sie die folgenden verfügbaren Optionen verwenden. Die Drop-in-Units-Methode ist der empfohlene Ansatz, da Sie die Datei der Service-Units nicht ändern müssen, während Sie bei den anderen Methoden Änderungen an der Datei vornehmen müssen. Diese Änderungen können bei den Aktualisierungen auch wieder entfernt werden. Die Drop-in-Units-Methode stellt sicher, dass die Änderungen und eingestellten Umgebungsvariablen auch nach Updates erhalten bleiben.

Hinweis: Nachdem Sie die Umgebungsvariablen geändert haben, führen Sie unbedingt den sudo systemctl daemon-reload Befehl aus und anschließend den sudo systemctl restart instana-agent.service Befehl, um den Agenten mit den geänderten Variablen neu zu laden.

Drop-in-Einheiten

Durch die Verwendung vorbeikommen von Units können Sie die spezifischen Einstellungen überschreiben, ohne die ursprüngliche systemd-Unit-Datei zu ändern. Sie müssen die Drop-in-Datei unter ' /etc/systemd/system/<unit>.d/ mit dem Namen ' <name>.conf ablegen.

Um beispielsweise die Umgebungsvariablen ` Instana ` und `PATH` festzulegen, erstellen Sie eine /etc/systemd/system/instana-agent.service.d/10-environment.conf Datei mit folgendem Inhalt:

[Service]
Environment=INSTANA_AGENT_KEY=$agentkey
Environment=INSTANA_AGENT_ENDPOINT=$endpoint
Environment=INSTANA_AGENT_ENDPOINT_PORT=$endpoint_port
Environment=PATH=/usr/local/bin:${PATH}
 
Hinweis: Die Verwendung der Umgebungsvariablen INSTANA_AGENT_HOST und INSTANA_AGENT_PORT zur Konfiguration des Agenten ist veraltet. Diese Umgebungsvariablen sind für die Konfiguration von „ Instana “-Tracern reserviert, damit diese eine Verbindung zum Agenten herstellen können. Wenn diese global festgelegt sind, können die „ Instana “-Tracer keine Verbindung zum Agenten herstellen. Die Unterstützung für die Verwendung dieser Umgebungsvariablen zur Konfiguration des Agenten wird in zukünftigen Versionen von Instana entfernt.

EnvironmentFile-Anweisungen

Diese Methode verwendet die Drop-in-Units mit Ausnahme der Umgebungsanweisungen, die aus einer separaten Datei gelesen werden. Erstellen Sie zum Beispiel eine Datei " /etc/instana/environment.conf mit folgendem Inhalt:

INSTANA_AGENT_KEY=$agentkey
INSTANA_AGENT_ENDPOINT=$endpoint
INSTANA_AGENT_ENDPOINT_PORT=$endpoint_port
PATH=/usr/local/bin:${PATH}
 

Verwenden Sie dann in der systemd-Drop-in-Unit-Datei die folgende Konfiguration:

[Service]
EnvironmentFile=/etc/instana/environment.conf
 
Hinweis: Die Verwendung der Umgebungsvariablen INSTANA_AGENT_HOST und INSTANA_AGENT_PORT zur Konfiguration des Agenten ist veraltet. Diese Umgebungsvariablen sind für die Konfiguration von „ Instana “-Tracern reserviert, damit diese eine Verbindung zum Agenten herstellen können. Wenn diese global festgelegt sind, können die „ Instana “-Tracer keine Verbindung zum Agenten herstellen. Die Unterstützung für die Verwendung dieser Umgebungsvariablen zur Konfiguration des Agenten wird in zukünftigen Versionen von Instana entfernt.

Globale Umgebungseinstellungen

Standardmäßig liest systemd die globale Konfiguration aus verschiedenen Pfaden wie ' /etc/systemd/system.conf oder ' /etc/systemd/system.conf.d/10-default-env.conf. Indem Sie die " DefaultEnvironment -Konfiguration in diese Dateien stellen, werden sie für alle systemd-Einheiten verfügbar. Weitere Informationen finden Sie unter „systemd-Konfiguration “.

Beispielsweise werden durch die folgende Konfiguration drei Umgebungsvariablen „ Instana “ erstellt, wenn Sie diese in der/etc/systemd/system.conf.d/10-default-env.conf Datei festlegen:

[Manager]
DefaultEnvironment="INSTANA_AGENT_KEY=<key>" "INSTANA_AGENT_ENDPOINT=<endpoint>" "INSTANA_AGENT_ENDPOINT_PORT=<endpoint-port>"
 
Hinweis: Die Verwendung der Umgebungsvariablen INSTANA_AGENT_HOST und INSTANA_AGENT_PORT zur Konfiguration des Agenten ist veraltet. Diese Umgebungsvariablen sind für die Konfiguration von „ Instana “-Tracern reserviert, damit diese eine Verbindung zum Agenten herstellen können. Wenn diese global festgelegt sind, können die „ Instana “-Tracer keine Verbindung zum Agenten herstellen. Die Unterstützung für die Verwendung dieser Umgebungsvariablen zur Konfiguration des Agenten wird in zukünftigen Versionen von Instana entfernt.

Löschen von temporären Dateien

Der Host-Agent von „ Instana “ installiert einige benötigte Dateien im /tmp/.instana/ Verzeichnis. Wenn diese Dateien während der Betriebszeit des Hosts gelöscht werden, kann dies zu Problemen bei Aktualisierungen führen.

Tmpfiles.d

Auf ' system.d-basierten Systemen kann der ' systemd-tmpfiles -Daemon Dateien löschen, die vom Host-Agenten im ' /tmp/.instana benötigt werden, was zu Aktualisierungsfehlern führt, die schwer zu beheben sind.

Seit Version 181 installieren DEB- und RPM-Agentenpakete automatisch das folgende Konfigurationsskript, /usr/lib/tmpfiles.d das das Verhalten so anpasst, dass die erforderlichen Dateien nicht gelöscht werden und die Funktionen des Host-Agenten von „ Instana “ nicht beeinträchtigt werden.

# Instana files in /tmp cannot be deleted when the agent is running,
# or it may lead to issues on agent update
R! /tmp/.java_pid*
R! /tmp/.instana/*
 

Mit dieser Konfiguration können tmpdfiles.d die Dateien, die vom Instana -Agenten benötigt werden, erst nach einem Neustart des Hosts gelöscht werden. Der neu gestartete Host-Agent von „ Instana “ erstellt die Dateien beim Start neu.

Red Hat Enterprise Linux und CentOS, in den Versionen 6 und 7 enthalten standardmäßig " tmpdfiles.d, die das gesamte " /tmp alle 10 Tage löschen, unabhängig davon, welche Richtlinien ein Paket angeben kann. Das bedeutet, dass ein Paket wie „ Instana “ benutzerdefinierte Richtlinien festlegen kann, um das Verhalten des Systems oder des Pakets selbst zu steuern.

#  This file is part of systemd.
#
#  systemd is free software; you can redistribute it and/or modify it
#  under the terms of the GNU Lesser General Public License as published by
#  the Free Software Foundation; either version 2.1 of the License, or
#  (at your option) any later version.

# See tmpfiles.d(5) for details
# Clear tmp directories separately, to make them easier to override
v /tmp 1777 root root 10d
v /var/tmp 1777 root root 30d

...
 

Abgesehen von der Bearbeitung der standardmäßigen " tmpfiles.d gibt es keine bekannte Abhilfemaßnahme. Die Richtlinie tmpfiles.d befindet sich in der Datei /usr/lib/tmpfiles.d/tmp.conf.

Viele Derivate von „ Debian “, darunter „ Ubuntu “, enthalten tmpdfiles.d Standardrichtlinien, die das gesamte /tmp Verzeichnis löschen, unabhängig davon, welche Richtlinien ein Paket wie „ Instana “ festlegen kann. Bei der Installation führen die DEB- und RPM-Pakete einen Test durch, um das Verhalten der temporären Dateien " tmpfiles.d zu überprüfen, indem sie den Befehl " systemd-tmpfiles --remove ausführen.

Auf Systemen, auf denen Richtlinien das von den „ Instana “-Agentenpaketen festgelegte erforderliche Verhalten überschreiben, wird möglicherweise die folgende Warnung angezeigt:

WARNING: The tmpfiles.d policies of this system may cause the Instana agent to malfunction by deleting the /tmp/.instana directory; refer https://www.instana.com/docs/setup_and_manage/host_agent/on/linux#tmpfiles.d for more information.
 

Sie können dieses Problem lösen, indem Sie die Standardrichtlinien " tmpfiles.d bearbeiten. Die Richtlinie tmpfiles.d befindet sich in der Datei /usr/lib/tmpfiles.d/tmp.conf.

Tmpwatch

Red Hat Enterprise Linux 6 und CentOS 6 enthalten das Tool tmpwatch, das dafür bekannt ist, dass es unnötige Dateien im Verzeichnis " /tmp/.instana löscht. Die Verwendung von tmpwatch in diesen Distributionen kann jedoch gelegentlich Aktualisierungsprobleme mit dem Host-Agenten verursachen. Weitere Informationen finden Sie unter Löschen von temporären Dateien.

# Deal with tmpwatch, found in RHEL 6 and CentOS 6.
# It is a cronjob, installed in /etc/cron.d/daily, with pretty much hardcoded
# configurations to wipe data the Instana agent needs.
readonly TMPWATCH_CRONJOB='/etc/cron.d/daily/tmpwatch'
if [ -f "${TMPWATCH_CRONJOB}" ]; then
  # Let's check if we already touched the file and, if not, add our excludes
  if ! grep "${TMPWATCH_CRONJOB}" Instana 2&>1 > /dev/null; then
    echo "tmpwatch discovered in '${TMPWATCH_CRONJOB}': adding the exclude flags for Instana"
    # Edit in place with `sed`
    sed -i '/^flags=/a flags="${flags} -x /tmp/instana -x /tmp/.javapid* # Added by Instana"' "${TMPWATCH_CRONJOB}"
  fi
fi
 

Verzeichnis mit Daten zu Reinigungsmitteln

Sie können die Umgebungsvariable AGENT_CLEAN_DATA_DIR verwenden, um das Datenverzeichnis des Agenten zu bereinigen.

Wenn Sie vor dem Start des Agenten true die Option auf AGENT_CLEAN_DATA_DIR setzen, werden die Inhalte der Verzeichnisse „tmp“, „cache“ und „logs“ gelöscht. Bei dynamischen Agenten werden im Rahmen dieses Vorgangs zudem veraltete Artefakte entfernt und die neuesten Artefakte sowie JAR-Dateien abgerufen. Sowohl bei dynamischen als auch bei statischen Agenten wird der Vorgang fortgesetzt, indem der Cache neu aufgebaut und ein neues Agentenprotokoll erstellt wird.

Um die Umgebungsvariable zu aktivieren, verwende die folgende Konfiguration:

export AGENT_CLEAN_DATA_DIR=true
 

Nachdem Sie die Umgebungsvariable aktiviert haben, starten Sie den Agenten, um den Bereinigungsvorgang auszuführen.

Wenn Sie dynamische Agenten verwenden, wird empfohlen, die AGENT_CLEAN_DATA_DIR Umgebungsvariable zu entfernen, sobald sie nicht mehr benötigt wird. Wenn diese Option aktiviert bleibt, bereinigt der Agent bei jedem Start sein Datenverzeichnis und lädt Artefakte einschließlich Protokolle herunter, was die Startzeit des Agenten verlängert.