Docker Goインストール
管理 > エージェントインストール > 下段のアプリケーションインストール クリック > 設置案内の中で Docker Go タブを選択
DockerコンテナベースのGoアプリケーションにWhaTapモニタリングエージェントをインストールする方法を案内します。次の2 つの方法から選択してください。
-
クイックインストール方法: Dockerfileの作成からコンテナの実行、モニタリングデータの確認までの全インストールプロセス
-
デプロイ環境別設定: アーキテクチャ(x64/ARM64)、Kubernetes、Docker Compose環境別の追加設定方法
ノート
EKS Fargateはサポート予定です。
Tips
インストールを開始する前に、次の情報を準備してください。
- WhaTapプロジェクトアクセスキー([プロジェクトメニュー] > [管理] > [エージェントインストール]で確認)
- WhaTap収集サーバーIPアドレス
クイックインストール方法
3つのファイルだけでWhaTapモニタリングが適用されたDockerイメージをビルドできます。
ステップ1. 必須ファイルの準備
プロジェクトルートに次の3つのファイルを作成してください。
- 1. Dockerfile
- 2. entrypoint.sh
- 3. main.go (例)
# ============================================
# Build stage - whatap-go-instビルド
# ============================================
FROM golang:1.21-alpine AS builder
WORKDIR /app
# whatap-go-instインストール
#RUN go install github.com/whatap/go-api-inst/cmd/whatap-go-inst@latest
RUN wget -qO- https://github.com/whatap/go-api-inst/releases/latest/download/whatap-go-inst_linux_amd64.tar.gz | tar xz -C /usr/local/bin/
# ソースコピー
COPY go.mod go.sum ./
RUN go mod download
COPY . .
# whatap-go-instビルド
RUN whatap-go-inst go build -o /app/main .
# ============================================
# Runtime stage
# ============================================
FROM alpine:latest
WORKDIR /app
# WhaTap データ中継エージェントインストール
RUN apk add --no-cache wget
RUN wget https://s3.ap-northeast-2.amazonaws.com/repo.whatap.io/alpine/x86_64/whatap-agent.tar.gz
RUN tar -xvzf whatap-agent.tar.gz -C /
RUN rm whatap-agent.tar.gz
# アプリケーションコピー
COPY /app/main .
# 起動スクリプト
COPY entrypoint.sh /app/
RUN chmod +x /app/entrypoint.sh
ENTRYPOINT ["/app/entrypoint.sh"]
#!/bin/sh
# whatap.conf生成 (環境変数から)
mkdir -p /app/whatap_home
cat > /app/whatap_home/whatap.conf << EOF
license=${WHATAP_LICENSE}
whatap.server.host=${WHATAP_SERVER_HOST}
app_name=${WHATAP_APP_NAME:-myapp}
EOF
export WHATAP_HOME=/app/whatap_home
# データ中継エージェント起動後、アプリケーション実行
/usr/whatap/agent/whatap-agent start
exec ./main
package main
import "github.com/gin-gonic/gin"
func main() {
r := gin.Default()
r.GET("/", func(c *gin.Context) {
c.JSON(200, gin.H{"message": "Hello WhaTap"})
})
r.Run(":8080")
}
ステップ2. イメージビルド
docker build -t my-go-app .
ステップ3. コンテナ実行
環境変数でWhaTap設定を渡します。
docker run -d \
-e WHATAP_LICENSE={アクセスキー} \
-e WHATAP_SERVER_HOST={収集サーバーIP} \
-e WHATAP_APP_NAME=myapp \
-p 8080:8080 \
my-go-app
ステップ4. モニタリング確認
- アプリケーションにトラフィック発生:
curl http://localhost:8080 - WhaTapモニタリングサービスでデータ確認
データが表示されませんか?
トラブルシューティングセクションを参照してください。
デプロイ環境別設定
アーキテクチャ別Dockerfile設定
前述のクイックスタート例 は**x64 (AMD64)**を基準としています。ARM64環境ではエージェントダウンロードURLのみ変更してください。
WhaTapエージェントのアーキテクチャ別URL
| アーキテクチャ | エージェントダウンロードURL |
|---|---|
| x64 (AMD64) | https://s3.ap-northeast-2.amazonaws.com/repo.whatap.io/alpine/x86_64/whatap-agent.tar.gz |
| ARM64 (AArch64) | https://s3.ap-northeast-2.amazonaws.com/repo.whatap.io/alpine/aarch64/whatap-agent.tar.gz |
ARM64 Dockerfile修正例
Dockerfileのエージェントインストール部分のみ変更:
# Runtime stageで変更
RUN apk add --no-cache wget && \
wget https://s3.ap-northeast-2.amazonaws.com/repo.whatap.io/alpine/aarch64/whatap-agent.tar.gz && \
tar -xvzf whatap-agent.tar.gz -C / && rm whatap-agent.tar.gz
ARM64完全なDockerfileを表示
FROM golang:1.21-alpine AS builder
WORKDIR /app
# whatap-go-instインストール
#RUN go install github.com/whatap/go-api-inst/cmd/whatap-go-inst@latest
RUN wget -qO- https://github.com/whatap/go-api-inst/releases/latest/download/whatap-go-inst_linux_amd64.tar.gz | tar xz -C /usr/local/bin/
COPY go.mod go.sum ./
RUN go mod download
COPY . .
RUN whatap-go-inst go build -o /app/main .
FROM alpine:latest
WORKDIR /app
RUN apk add --no-cache wget && \
wget https://s3.ap-northeast-2.amazonaws.com/repo.whatap.io/alpine/aarch64/whatap-agent.tar.gz && \
tar -xvzf whatap-agent.tar.gz -C / && rm whatap-agent.tar.gz
COPY /app/main .
COPY entrypoint.sh /app/
RUN chmod +x /app/entrypoint.sh
ENTRYPOINT ["/app/entrypoint.sh"]