在 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
執行 Instana 代理程式儲存器映像檔
Docker 提供大量平台,例如許多 Kubernetes型服務、DC/OS 及其他服務。 因此,執行 Instana 代理程式 Docker 映像檔的方式取決於所使用的平台。 請參閱 安裝 Instana 主機代理程式 ,以取得可安裝 Instana 主機代理程式的平台清單。
您有什麼樣的容器化環境?
您也可以直接在 Linux 主機上安裝代理程式,例如,如果您具有工作者機器的特定映像檔。 請注意,目前僅在 Linux 上支援任何類型的容器技術作為管理 OS (例如,表示不支援 Mac 上的 Docker-Machine 或 Windows 上的 Docker )。
升級 Instana 代理程式儲存器映像檔
在某些情況下,您需要執行下列指令,以手動更新代理程式儲存器映像檔。 根據您的架構,將 <your-architecture> 取代為 amd64、 arm64、 s390x 或 ppc64le之一:
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 專案 作為參照。
安裝
登入 Instana ,按一下 其他-> 代理程式-> Instana 代理程式安裝-> Docker。
您可以使用下列指令,將 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 | APM、 INFRASTRUCTURE或 AWS。 |
| 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 | 否 | 資訊 | INFO、 DEBUG、 TRACE、 WARN、 ERROR 或 OFF。 |
主要配置檔可以裝載至 /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_URL、 INSTANA_MVN_REPOSITORY_SHARED_PATH 及 INSTANA_MVN_REPOSITORY_FEATURES_PATH 環境變數來配置動態代理程式。 如需要配置哪些值的相關資訊,請參閱 代理程式儲存庫鏡映文件 中的範例。
代理程式 Proxy 設定
「Instana 代理程式」會延伸到兩個不同的端點; 我們的後端系統會傳送所有收集的資料,而儲存庫則會提取「代理程式」和「感應器」更新項目。 兩者都可以 (個別) 配置成使用 Proxy 設定。 有 3 個選項:
兩個端點都沒有 Proxy 設定-不需要配置任何 Proxy 設定
後端和儲存庫的 Proxy 設定相同-只需要配置「代理程式」Proxy 設定
後端和儲存庫的不同 Proxy 設定-個別配置這兩個 Proxy ,並確保設定
INSTANA_REPOSITORY_PROXY_ENABLED=true比方說,如果您 只 需要配置儲存庫的 Proxy ,請使用下列配置:
- 將所有
INSTANA_AGENT_PROXY_變數設為""(空字串)。 - 設定
INSTANA_REPOSITORY_PROXY_ENABLED=true - 視需要將所有
INSTANA_REPOSITORY_PROXY_設為 Proxy 配置。
- 將所有
相反地,當只需要後端的 Proxy ,而不需要儲存庫時,也是如此。
更新項目及版本固定
使用 INSTANA_AGENT_UPDATES_VERSION、 INSTANA_AGENT_UPDATES_FREQUENCY 及 INSTANA_AGENT_UPDATES_TIME 環境變數,您可以控制是否將代理程式感應器版本固定至特定版本。 這可讓您控制何時提取新的更新項目。
如需這些設定的相關資訊,請參閱 代理程式配置 文件。
INSTANA_AGENT_UPDATES_FREQUENCY 參數的有效選項如下:
DAY(適用於每日更新項目)MONDAY、TUESDAY、WEDNESDAY、THURSDAY、FRIDAY、SATURDAY或SUNDAY
可以提供多個選項,以冒號區隔。
啟用 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>"'旗標。