在 Docker

取回 Instana 代理程式儲存器映像檔

您可以從公用 IBM Cloud Container Registry 取得 Instana 代理程式映像檔,網址為 icr.io/instana/agent:latest

此外,動態及靜態代理程式映像檔可從我們的 Instana Container Registry 取得,網址為 containers.instana.io。 使用代理程式金鑰登入並取回適當的映像檔:

docker login containers.instana.io -u _ -p <agent_key>

# pull the dynamic image, powered by the Azul JDK
docker pull containers.instana.io/instana/release/agent/dynamic:latest

# download the static image, powered by the Azul JDK
docker pull containers.instana.io/instana/release/agent/static:latest

# pull the dynamic image, powered by the OpenJ9 JDK
docker pull containers.instana.io/instana/release/agent/dynamic:latest-j9

# download the static image, powered by the OpenJ9 JDK
docker pull containers.instana.io/instana/release/agent/static:latest-j9

列出可用的標籤

若要列出可用的映像檔標籤,請查詢 icr.io 公用標籤清單。 映像檔標籤可以與 icr.io 公用登錄及 containers.instana.io Instana 登錄搭配使用。

您需要指令行工具 Curl 來查詢,需要 jq 來過濾輸出。 輸入下列指令,以列出所有可用的標籤:

curl https://icr.io/v2/instana/agent/tags/list | jq

如果要依 Instana 後端版本來過濾標籤,請輸入下列指令。 在下列範例中,輸入 Instana 版本來取代 <backend_version> :

INSTANA_VERSION=<backend_version> && curl https://icr.io/v2/instana/agent/tags/list | jq '.tags[] | select(. | contains ("'"$INSTANA_VERSION"'"))'

執行 Instana 代理程式儲存器映像檔

Docker 提供大量平台,例如許多 Kubernetes型服務、DC/OS 及其他服務。 因此,執行 Instana 代理程式 Docker 映像檔的方式取決於所使用的平台。 請參閱 安裝 Instana 主機代理程式 ,以取得可安裝 Instana 主機代理程式的平台清單。

您有什麼樣的容器化環境?

您也可以直接在 Linux 主機上安裝代理程式,例如,如果您具有工作者機器的特定映像檔。 請注意,目前僅在 Linux 上支援任何類型的容器技術作為管理 OS (例如,表示不支援 Mac 上的 Docker-Machine 或 Windows 上的 Docker )。

升級 Instana 代理程式儲存器映像檔

在某些情況下,您需要執行下列指令,以手動更新代理程式儲存器映像檔。 根據您的架構,將 <your-architecture> 取代為 amd64arm64s390xppc64le之一:

skopeo inspect docker://icr.io/instana/agent:latest-<your-architecture>-dynamic | jq '.Digest'

如果您正在執行 OpenJ9 變式,請執行下列指令:

skopeo inspect docker://icr.io/instana/agent:latest-<your-architecture>-dynamic-j9 | jq '.Digest'

請將它與您在安裝上使用的它進行比較。 若要檢查目前已安裝的 Instana 代理程式 Docker 映像檔,請移至 Kubernetes > 我的叢集> 名稱空間> instana-agent,選取一個代理程式 Pod ,選取 instana 代理程式儲存器,然後比較 Docker 儀表板上的映像檔 SHA。

如果您使用 Helm 升級至最新 Helm Chart:

helm upgrade --repo https://agents.instana.io/helm instana-agent --reuse-values --set agent.image.tag=latest --set agent.image.pullPolicy=Always instana-agent

如果您使用 Kubernetes Yaml ,請刪除名稱空間並重新安裝代理程式:

kubectl apply -f <your-instana-agent-daemonset.yaml>

如果您有任何問題,請 聯絡支援中心

使用自訂儲存器來安裝

Instana 提供的代理程式 Docker 儲存器是根據 Instana 代理程式 Docker 專案中的定義來建置。

雖然 Instana 不支援,但可能有理由進一步自訂我們的代理程式映像檔。 建議您使用 Instana 代理程式 Docker 專案 作為參照。

安裝

  1. 登入 Instana ,按一下 其他-> 代理程式-> Instana 代理程式安裝-> Docker

    您的 代理程式金鑰主機代理程式端點 已在單行指令中預先移入。

  2. 您可以使用下列指令,將 Instana 代理程式當作特許儲存器來執行:

    sudo docker run \
      --detach \
      --name instana-agent \
      --volume /var/run:/var/run \
      --volume /run:/run \
      --volume /dev:/dev:ro \
      --volume /sys:/sys:ro \
      --volume /var/log:/var/log:ro \
      --privileged \
      --net=host \
      --pid=host \
      --env="INSTANA_AGENT_KEY=your Instana agent key" \
      --env="INSTANA_AGENT_ENDPOINT=the host agent endpoint" \
      --env="INSTANA_AGENT_ENDPOINT_PORT=the host agent endpoint port" \
      icr.io/instana/agent
    

執行之後,即可使用下列指令來使用代理程式日誌:

docker logs instana-agent

檢查主機代理程式的狀態

安裝主機代理程式之後,您可以在 Instana 使用者介面或主機上檢查主機代理程式的狀態。 如需相關資訊,請參閱 檢查主機代理程式的狀態

代理程式配置

除了必要的環境變數之外,還可以在啟動期間配置其他變數:

變數名稱 必要 預設值 評論
INSTANA_AGENT_KEY N/A 您的 Instana 代理程式金鑰。
實例 _ 代理程式 _ 端點 N/A 主機代理程式端點。
INSTANA_AGENT_ENDPOINT_PORT N/A 主機代理程式端點埠。
INSTANA_AGENT_ZONE N/A 主機的區域名稱。
INSTANA_AGENT_TAGS N/A 以逗點區隔的主機標籤清單。
INSTANA_AGENT_MODE APM APMINFRASTRUCTUREAWS
INSTANA_DOWNLOAD_KEY N/A 您的 Instana 下載金鑰
INSTANA_AGENT_UPDATES_VERSION N/A 將感應器版本固定至特定的 SHA。 如需相關資訊,請參閱 更新項目及版本固定
INSTANA_AGENT_UPDATES_FREQUENCY 控制提取「感應器」更新項目的頻率。 如需相關資訊,請參閱 更新項目及版本固定
INSTANA_AGENT_UPDATES_TIME 04:30 控制提取「感應器」更新項目的時間。 如需相關資訊,請參閱 更新項目及版本固定
INSTANA_AGENT_PROXY_HOST N/A Proxy 的主機名稱/位址。
INSTANA_AGENT_PROXY_PORT N/A Proxy 的埠。
INSTANA_AGENT_PROXY_PROTOCOL N/A Proxy 通訊協定,例如 http
INSTANA_AGENT_PROXY_USER N/A Proxy 鑑別的使用者名稱。
INSTANA_AGENT_PROXY_PASSWORD N/A Proxy 鑑別的密碼。
INSTANA_AGENT_PROXY_USE_DNS false 如果 Proxy 也執行 DNS ,則為布林。
INSTANA_GIT_REMOTE_REPOSITORY N/A Git 遠端 URL ,供主機代理程式用於 Git型配置管理。 如果設定 INSTANA_GIT_REMOTE_BRANCH ,則必須設定變數。
INSTANA_GIT_REMOTE_BRANCH N/A Git 遠端分支,由主機代理程式針對 Git型配置管理進行追蹤。 如果設定 INSTANA_GIT_REMOTE_REPOSITORY ,則必須設定此變數。
INSTANA_REPOSITORY_PROXY_ENABLED N/A 啟用特別針對「感應器」更新項目的置換 Proxy 設定。
INSTANA_REPOSITORY_PROXY_HOST N/A Maven Sensors 儲存庫之 Proxy 的主機名稱/位址。
INSTANA_REPOSITORY_PROXY_PORT N/A Maven Sensors 儲存庫的 Proxy 埠。
INSTANA_REPOSITORY_PROXY_PROTOCOL N/A Maven Sensors 儲存庫的 Proxy 通訊協定。
INSTANA_REPOSITORY_PROXY_USER N/A Maven Sensors 儲存庫的 Proxy 鑑別使用者名稱。
INSTANA_REPOSITORY_PROXY_PASSWORD N/A Maven Sensors 儲存庫的 Proxy 鑑別密碼。
INSTANA_MVN_REPOSITORY_URL N/A 動態代理程式及感應器軟體組下載的 Maven 儲存庫主機名稱。 如需相關資訊,請參閱 配置代理程式儲存庫鏡映
INSTANA_MVN_REPOSITORY_FEATURES_PATH N/A 特性更新的 Maven 儲存庫路徑。 如需相關資訊,請參閱 配置代理程式儲存庫鏡映
INSTANA_MVN_REPOSITORY_SHARED_PATH N/A 代理程式及感應器組合更新項目的 Maven 儲存庫路徑。 如需相關資訊,請參閱 配置代理程式儲存庫鏡映
INSTANA_LOG_LEVEL 資訊 INFODEBUGTRACEWARNERROROFF

主要配置檔可以裝載至 /root 目錄,並在解壓縮代理程式 tarball 之後就地複製。

以磁區裝載置換代理程式配置

可以使用 Docker 磁區特性來換出代理程式配置檔。 映像檔隨附的代理程式 configuration.yaml 會定義預設值,且可能 不會 改寫。 它可以透過名為 configuration-<custom-extension>.yaml 的自訂配置 Snippet 來延伸,如下所示:

--volume <host-path>/configuration-<custom-extension>.yaml:/opt/instana/agent/etc/instana/configuration-<custom-extension>.yaml

一個使用案例範例是具有 MySQL 認證的 configuration-mysql.yaml ,並在儲存器啟動期間新增此配置檔。

configuration-mysql.yaml

# Mysql
com.instana.plugin.mysql:
  user: 'mysqlAdmin'
  password: 'mysqlSecretPassword'

Docker 執行磁區裝載

--volume /opt/instana-agent/etc/instana/configuration-mysql.yaml:/opt/instana/agent/etc/instana/configuration-mysql.yaml

配置多個後端

Instana 主機代理程式可以配置成向多個後端報告。 如需配置的一般考量及注意事項,請參閱 配置多個後端

Instana 主機代理程式儲存器映像檔已特別配置,因此可以透過裝載後端檔案 (例如 com.instana.agent.main.sender.Backend-2.cfg) 輕鬆地新增額外的後端。

儲存器化代理程式的範例引數如下:

--mount type=bind,source=<path-to-additional-backend-config>,target=/opt/instana/agent/etc/instana/com.instana.agent.main.sender.Backend-2.cfg

配置代理程式儲存庫鏡映

當您提供自己的代理程式儲存庫鏡映時,需要使用 INSTANA_MVN_REPOSITORY_URLINSTANA_MVN_REPOSITORY_SHARED_PATHINSTANA_MVN_REPOSITORY_FEATURES_PATH 環境變數來配置動態代理程式。 如需要配置哪些值的相關資訊,請參閱 代理程式儲存庫鏡映文件 中的範例。

代理程式 Proxy 設定

「Instana 代理程式」會延伸到兩個不同的端點; 我們的後端系統會傳送所有收集的資料,而儲存庫則會提取「代理程式」和「感應器」更新項目。 兩者都可以 (個別) 配置成使用 Proxy 設定。 有 3 個選項:

  1. 兩個端點都沒有 Proxy 設定-不需要配置任何 Proxy 設定

  2. 後端和儲存庫的 Proxy 設定相同-只需要配置「代理程式」Proxy 設定

  3. 後端和儲存庫的不同 Proxy 設定-個別配置這兩個 Proxy ,並確保設定 INSTANA_REPOSITORY_PROXY_ENABLED=true

    比方說,如果您 需要配置儲存庫的 Proxy ,請使用下列配置:

    • 將所有 INSTANA_AGENT_PROXY_ 變數設為 "" (空字串)。
    • 設定 INSTANA_REPOSITORY_PROXY_ENABLED=true
    • 視需要將所有 INSTANA_REPOSITORY_PROXY_ 設為 Proxy 配置。

相反地,當只需要後端的 Proxy ,而不需要儲存庫時,也是如此。

更新項目及版本固定

使用 INSTANA_AGENT_UPDATES_VERSIONINSTANA_AGENT_UPDATES_FREQUENCYINSTANA_AGENT_UPDATES_TIME 環境變數,您可以控制是否將代理程式感應器版本固定至特定版本。 這可讓您控制何時提取新的更新項目。

如需這些設定的相關資訊,請參閱 代理程式配置 文件。

INSTANA_AGENT_UPDATES_FREQUENCY 參數的有效選項如下:

  • DAY (適用於每日更新項目)
  • MONDAYTUESDAYWEDNESDAYTHURSDAYFRIDAYSATURDAYSUNDAY

可以提供多個選項,以冒號區隔。

啟用 GPU 監視

支援下列「Nvidia 圖形卡」。

品牌 模型
特斯拉 S1070, S2050, C1060, C2050/70, M2050/70/90, X2070/90, K10, K20, K20X, K40, K80, M40, P40, P100, V100
誇德羅 4000、5000、6000、7000、 M2070-Q、K 系列、M 系列、P 系列、RTX 系列
GeForce 不同層次的支援,可用度量值比 Tesla 和 Quadro 產品少

支援的 OS: Linux。

必要條件:

  • 最低 Docker 19.03版。
  • 已安裝最新官方 Nvidia 驅動程式。 透過套件管理程式安裝的驅動程式不足。
  • 已安裝 NVIDIA Container Toolkit

若要啟用 GPU 監視,請在一個以上 GPU 上啟動 Instana 代理程式儲存器。 代理程式可以作為特許儲存器啟動。

不論代理程式正在執行多少 GPU ,代理程式都會收集受支援之所有全系統可用 GPU 的度量值。

如需所收集度量值的詳細清單,請參閱 GPU 文件

有數種使用 GPU 來啟動代理程式儲存器的方式:

  • 若要在所有可用的 GPU 上啟動,請提供 --gpus all 旗標。
  • 若要從確切的 GPU 數目開始,請提供 --gpus <number of gpus to use> 旗標。
  • 若要在想要的 GPU 上啟動,請提供 --gpus '"device=<gpu1-uuid>,<gpu2-uuid>"' 旗標。