On-premiseインストール及び起動
▣ On-premise を基準にインストール及び起動方法について説明します。
- exem-python-agent 3.0.8 バージョンを基準に説明します。
❶ Download
- インストールする EXEM-PYTHON-AGENT-X.X.X.tar.gz パッケージをサーバーにダウンロードまたは直接アップロードします。
$ wget https://{donwload URL}/EXEM-PYTHON-AGENT-3.0.8.tar.gz
--2025-03-13 11:33:52-- https://{donwload URL}/EXEM-PYTHON-AGENT-3.0.8.tar.gz
......
HTTP request sent, awaiting response... 200 OK
Length: 25407076 (24M) [application/x-gzip]
Saving to: ‘EXEM-PYTHON-AGENT-3.0.8.tar.gz’
100%[================================================================================================================>] 25,407,076 100MB/s in 0.2s
2025-03-13 11:33:52 (100 MB/s) - ‘EXEM-PYTHON-AGENT-3.0.8.tar.gz’ saved [25407076/25407076]
$ ls
EXEM-PYTHON-AGENT-3.0.8.tar.gz
❷ 解凍
- EXEM-PYTHON-AGENT-X.X.X.tar.gz を解凍します。
$ ls
EXEM-PYTHON-AGENT-3.0.8.tar.gz
$ tar -zxvf EXEM-PYTHON-AGENT-3.0.8.tar.gz
exem/
exem/python/
exem/python/cfg/
exem/python/cfg/agent/
exem/python/cfg/agent/pymon.ini
exem/python/cfg/agent/pymon_extend.ini
exem/python/cfg/tmp/
exem/python/cfg/tmp/Dockerfile
exem/python/cfg/tmp/deploy_configmap.yaml
exem/python/cfg/tmp/deploy_env.yaml
exem/python/pkg_version.sh
exem/python/data/
exem/python/data/agent/
exem/python/lib/
exem/python/lib/dependency/
exem/python/lib/dependency/grpcio-1.53.0.tar.gz
exem/python/lib/dependency/grpcio-tools-1.53.0.tar.gz
exem/python/lib/dependency/protobuf-4.21.6.tar.gz
exem/python/lib/dependency/psutil-5.9.8.tar.gz
exem/python/lib/exem-python-agent-3.0.8.tar.gz
❸ モジュールインストール
- モジュールは
exem/python/libディレクトリに配置されています。
- モジュールファイル名は
exem-python-agent-x.x.x.tar.gzです。 - pip install を利用してモジュールをインストールします。
- ex ] pip install ${モジュールファイル名}
$ cd exem/python/lib
$ ls
dependency exem-python-agent-3.0.8.tar.gz
$ pip install exem-python-agent-3.0.8.tar.gz
Processing ./exem-python-agent-3.0.8.tar.gz
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... done
Requirement already satisfied: grpcio>=1.53.0 in /usr/local/lib/python3.9/site-packages (from exem-python-agent==3.0.8) (1.66.0)
Requirement already satisfied: grpcio-tools>=1.53.0 in /usr/local/lib/python3.9/site-packages (from exem-python-agent==3.0.8) (1.66.0)
Requirement already satisfied: psutil in /usr/local/lib/python3.9/site-packages (from exem-python-agent==3.0.8) (6.0.0)
Requirement already satisfied: protobuf<6.0dev,>=5.26.1 in /usr/local/lib/python3.9/site-packages (from grpcio-tools>=1.53.0->exem-python-agent==3.0.8) (5.27.3)
Requirement already satisfied: setuptools in /usr/local/lib/python3.9/site-packages (from grpcio-tools>=1.53.0->exem-python-agent==3.0.8) (70.0.0)
Building wheels for collected packages: exem-python-agent
Building wheel for exem-python-agent (pyproject.toml) ... done
Created wheel for exem-python-agent: filename=exem_python_agent-3.0.8-py3-none-any.whl size=163430 sha256=0ab194fe150236d82fe1b4a96887fdeb9b4083e585b7e120cc8e1b609f95f855
Stored in directory: /root/.cache/pip/wheels/2a/e8/db/279042942c5ad697ab8e054e021ca0dcb95b7e3c5547a4528c
Successfully built exem-python-agent
stalling collected packages: exem-python-agent
Successfully installed exem-python-agent-3.0.8
❹ 起動に必要な必須オプション設定
- ◈ CURR_TRACE_TXN オプションのデフォルト値が
*:3000に設定されているため、3秒未満のトランザクションは収集されません。 すべてのトランザクションを確認したい場合は、CURR_TRACE_TXN オプションを *:0 に設定する必要があります。
EXEM_PYTHON_HOME、EXEM_PYTHON_AGENT_NAME、EXEM_RECEIVER_ADDR、EXEM_GROUP_IDは exem-python-agent 起動に必須のオプション設定です。- オプションは 環境変数、起動オプション、設定ファイルで設定可能です。
❶ 環境変数
- 4つのオプション(
EXEM_PYTHON_HOME、EXEM_PYTHON_AGENT_NAME、EXEM_GROUP_ID、EXEM_RECEIVER_ADDR) を export で 環境変数として設定します。
export EXEM_PYTHON_HOME=/exem/python
export EXEM_PYTHON_AGENT_NAME=python-agent
export EXEM_GROUP_ID=python
export EXEM_RECEIVER_ADDR=10.10.10.10:9010
❷ 起動オプション + 設定ファイル
- 2つのオプション(
EXEM_PYTHON_HOME、EXEM_PYTHON_AGENT_NAME) を、下記 ❺ モジュール適用 の際に 起動オプションとして設定します。
start_agent --python_home /exem/python --agent_name python-agent ${python application 실행 명령어}
- 2つのオプション(
EXEM_RECEIVER_ADDR、EXEM_GROUP_ID) を pymon.ini 設定ファイルで設定します、(/exem/python/cfg/agent/pymon.ini)
$ cd exem/python/cfg/agent
$ ls
pymon.ini pymon_extend.ini
$ vim pymon.ini
// .. 省略
EXEM_GROUP_ID=python
RECEIVER_ADDR=10.10.10.10:9010
// .. 省略
❺ モジュール適用
- モジュールインストール時に
start_agentという実行ファイルが Python のパスに追加されます。
start_agentを利用してモジュールを適用します。- ただし、上記 ❹ 起動に必要な必須オプション設定 で環境変数として設定していない場合は、起動オプションを追加して start_agent で起動します。
- ex ] start_agent ${python application 実行コマンド}
$ start_agent uvicorn app:app
INFO: Started server process [2634]
INFO: Waiting for application startup.
INFO: Application startup complete.
INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)