デジタルエクスペリエンス エージェントのインストール
前提条件
- エージェントのインストールに必要な前提条件のチェックについては エージェントのインストールに必要な前提条件のチェック を参照してください。
- SixthSense コレクタの URL/IP(オンボーディングチームから提供されるテナントURL)
- SixthSense ポータルからのアクセストークン(「SixthSense ポータルからの アクセストークンの取得 を参照してください)。
- PACKAGE_TOKEN(オンボーディングチームから提供されます)
エージェントのダウンロード
SixthSense エージェント "@sixthsense/sixthsense-de-agent": "^1.0.3" をプロジェクトの依存関係としてダウンロードします(この依存関係をアプリケーションの package.json ファイルに追加します)。
例:
"dependencies": {
"async": "^1.5.2",
"body-parser": "^1.15.1",
"cookie-parser": "^1.4.3",
"express": "^4.13.4",
"express-session": "^1.13.0",
"finalhandler": "^0.4.1",
"request": "^2.72.0",
"serve-static": "^1.10.2",
"prom-client": "^6.3.0",
"morgan": "^1.7.0",
"connect-redis": "^3.2.0",
"@sixthsense/sixthsense-de-agent": "^3.4.0"
}
エージェントの設定
エージェントの設定は、アプリケーションのエントリーポイントに追加されます。
React JS
SixthSense デジタルエクスペリエンス | 内容 |
---|---|
サービス名 | アプリケーションの名称 |
api_host | カスタマーサポートチームから提供されるテナント URL |
authorization | SixthSense ポータルよりアクセストークンを取得します。 |
// Index.js file
import sixthsenseDE from '@sixthsense/sixthsense-de-agent'
sixthsenseDE.init('#authorization','#service_name',{api_host:'#api_host', disable_session_recording: false, autocapture: false, capture_pageview: false})
// App.js
import { SixthsenseDE } from 'sixthsense-de-agent';
import {useLocation} from "react-router-dom";
const location = useLocation();
useEffect(() => {
SixthsenseDE.capture('$pageview');
}, [location]);
Vue JS
sixthsense-de.js プラグインを追加します。
import sixthsenseDE from '@sixthsense/sixthsense-de-agent';
export default {
install(Vue, options) {
Vue.prototype.$posthog = sixthsenseDE.init('#authorization','#service_name',{api_host:'#api_host', disable_session_recording: false, autocapture: false, capture_pageview: false})
},
};
// App.vue
import sixthsenseDE from '@sixthsense/sixthsense-de-agent';
watch: {
$route(to, from) {
sixthsenseDE.capture('$pageview');
},
},
//main.ts
import sixthsenseDe from './plugins/sixthsense-de';
Vue.use(sixthsenseDe);
SixthSense ポータルよりアクセストークンを取得
- SixthSenseポータルにログインします。
- 左側のペインにある [設定] に移動します。
- [アクセス トークン] に移動します。
- [アクセス トークンを表示] をクリックします。
- [コピー] をクリックしてアクセス トークンをコピーし、token_from_ui に追加します。
アプリケーションの実行
npm install コマンドを実行する前に、以下の各コマンドを1つずつ実行します。
npm config set "@sixthsense:registry" https://artifacts-observability.sixthsense.rakuten.com/api/v4/projects/46/packages/npm/
npm config set -- '//artifacts-observability.sixthsense.rakuten.com/api/v4/projects/46/packages/npm/:_authToken' "${PACKAGE_TOKEN}"`
- PACKAGE_TOKEN (オンボーディングチームから提供されます)。
- npm install コマンドを実行して、すべての依存関係をダウンロードします (npm i @sixthsense/sixthsense-de-agent) 。
- start コマンドを実行して、アプリケーションを実行します。
Docker でのエージェント統合
エージェントの設定を参照してください。
Docker ファイルへの「依存関係の追加」と「構成のダウンロード」
- SixthSense エージェントは、楽天のセルフホスト型プライベートパッケージマネージャーでホストされています。パッケージをダウンロードするには、認証のため追加の手順が必要です。
- 以下のコード スニペットを、Docker ファイル内の NPM インストールコマンドの前に追加します。
npm config set "@sixthsense:registry" https://artifacts-observability.sixthsense.rakuten.com/api/v4/projects/46/packages/npm/ && \
npm config set -- '//artifacts-observability.sixthsense.rakuten.com/api/v4/projects/46/packages/npm/:_authToken' "${PACKAGE_TOKEN}"
- この設定により、SixthSense パッケージレジストリを識別するための構成が設定され、依存関係にあるパッケージ .json ファイルで同じ名前で定義した URL からダウンロードするように指示されます。
- https://artifacts-observability.sixthsense.rakuten.com/api/v4/projects/9/packages/npm/ (SixthSense パッケージマネージャーの URL)。
- _authToken' "PACKAGE_TOKEN"– パッケージはプライベートパッケージマネージャーでホストされているため、ユーザーを識別するために認証が必要となります。この認証トークンは、オンボーディング中に定義されます。
- 手続きの簡略化のため、認証トークンは Docker ファイルに配置されています。ただし、認証トークンを Docker ファイルに追加してバージョン管理リポジトリにプッシュされるのを希望しない場合は、環境変数を設定して Jenkins CI/CD からシークレットを渡すなど、認証管理に基づいてこの認証トークンを渡すことが可能です。
- その後、docker build を使用してアプリケーションをビルドし、Docker イメージ/コンテナを実行します。 するとエージェントがアプリケーションに統合され、SixthSense ダッシュボードにメトリクスが表示されるようになります。
PACKAGE_TOKEN をビルド引数として渡します。
docker build --build-arg PACKAGE_TOKEN=${PACKAGE_TOKEN_VALUE} -t service:tag .
例: Docker 構成
FROM node:10-alpine
ENV NODE_ENV "production"
ENV PORT 8079
EXPOSE 8079
RUN addgroup mygroup && adduser -D -G mygroup myuser && mkdir -p /usr/src/app && chown -R myuser /usr/src/app
# Prepare app directory
WORKDIR /usr/src/app
COPY package.json /usr/src/app/
COPY yarn.lock /usr/src/app/
RUN chown myuser /usr/src/app/yarn.lock
USER myuser
RUN mkdir sixthsense-logs
ARG PAT
RUN npm config set "@sixthsense:registry" https://artifacts-observability.sixthsense.rakuten.com/api/v4/projects/46/packages/npm/ && \
npm config set -- '//artifacts-observability.sixthsense.rakuten.com/api/v4/projects/46/packages/npm/:_authToken' "${PAT}"
# RUN yarn add @sixthsense/sixthsense-de-agent
RUN yarn install
COPY . /usr/src/app
# Start the app
CMD ["/usr/local/bin/npm", "start"]