JFrog Platform

Supported OS Linux Mac OS Windows

Integrationv1.0.0

概要

以下では、JFrog Artifactory および JFrog Xray からメトリクスおよびログを収集するように Datadog を構成する方法について説明します。

JFrog Artifactory および Xray

JFrog Enterprise with Xray の特徴は Artifactory Enterprise と Xray です。これらを組み合わせることで、DevOps チームは生産性を向上させて速度を上げ、自信を持って高品質のソフトウェアリリースを提供できます。

Artifactory は、複数のビルドパッケージ、アーティファクト、メタデータをサポートしています。DevOps チームは Bower、Chef、CocoaPods、Conan、Conda、CRAN、Debian、Docker、Golang、Gradle、Git LFS、Helm、Ivy、Maven、npm、NuGet、Opkg、P2、PHP Composer、Puppet、PyPI、RPM、RubyGems、SBT、Vagrant & VCS、CI/CD プラットフォーム、および DevOps ツールなどのビルドパッケージを自由に選択できます。

Artifactory Enterprise は、地理的に分散したチームのマルチリージョン、マルチクラウド、ハイブリッドレプリケーションをサポートしており、これにより、ソースリポジトリと複数のターゲット間で同時にレプリケートできます。また、IP フィルタリング、CNAME、保存時のデータ暗号化などのセキュリティ機能もサポートしています。Artifactory は、マイクロサービスとコンテナ化されたアプリケーション用に Kubernetes をサポートしています。Kubernetes レジストリとして Artifactory を使用することで、デプロイを管理し、依存関係を詳しく理解することができます。

JFrog Xray は継続的なセキュリティおよびユニバーサルアーティファクト分析に役立つソリューションで、お使いのコンテナとソフトウェアのアーティファクトの脆弱性とライセンスのコンプライアンスに関する問題の多層分析を行います。JFrog Artifactory とネイティブに連携し、最適化されたスキャンと一体型の運用を可能にする唯一のソフトウェアコンポジション解析ソリューションでもあります。すべての主要なパッケージタイプに対応し、アンパックも簡単に行うことができます。また、帰納的スキャンを使用して、Docker イメージや zip ファイルにパッケージされたものも含むすべての基底レイヤーと依存関係を分析することができます。

JFrog Artifactory および Xray ログの Datadog ダッシュボード

JFrog の Datadog インテグレーションにより、Artifactory/Xray ログを Datadog のログストリームに送信できます。これを使用して、既存のダッシュボードを拡張したり、Artifactory の使用統計や JFrog Xray のスキャン済みコンポーネントの詳細についてさらに理解を深めたりすることができます。

ダッシュボード

dashboard

dashboard

JFrog Artifactory および Xray メトリクス API ダッシュボード

JFrog Artifactory および Xray メトリクス API と Datadog のインテグレーションにより、OpenMetrics API エンドポイントから Datadog へメトリクスを送信することができます。このインテグレーションを使用することでシステムのパフォーマンス、ストレージ使用率、JFrog Artifactory/Xray の接続統計に関するインサイト、アーティファクトおよび Xray によりスキャンされたコンポーネントの数と種類などを得ることができます。このコンフィギュレーションを設定することで、これらのメトリクスが事前設定済みのダッシュボードで利用できるようになり、Datadog 内の既存ダッシュボードの操作性が向上します。

artifactory

xray

セットアップ

要件

ログの収集

  1. インストールタイプに基づき、jFrog ドキュメントを使用して Fluentd をインストールして、環境変数を定義します。

  2. 書き込み許可のあるディレクトリ(例: $JF_PRODUCT_DATA_INTERNAL などの場所)に Artifactory Fluentd コンフィギュレーションファイルをダウンロードして、Artifactory でFluentD を構成します。

    cd $JF_PRODUCT_DATA_INTERNAL
    wget https://raw.githubusercontent.com/jfrog/log-analytics-datadog/master/fluent.conf.rt
    

    ダウンロードした fluent.conf.rt の match ディレクティブ(最終セクション)を、以下の詳細で上書きします。

    <match jfrog.**>
      @type datadog
      @id datadog_agent_jfrog_artifactory
      api_key API_KEY
      include_tag_key true
      dd_source fluentd
    </match>
    
    • API_KEY (必須) は、Datadog の API キーです。
    • dd_source は、Datadog でインテグレーションの自動セットアップをトリガーするための、ログ内のログインテグレーションの名前です。
    • include_tag_key のデフォルトは false で、true に設定すると JSON レコードに fluentd タグが追加されます
  3. 書き込み許可のあるディレクトリ(例: $JF_PRODUCT_DATA_INTERNAL などの場所)に Xray Fluentd コンフィギュレーションファイルをダウンロードして、Xray でFluentD を構成します。

    cd $JF_PRODUCT_DATA_INTERNAL
    wget https://raw.githubusercontent.com/jfrog/log-analytics-datadog/master/fluent.conf.xray
    

    ダウンロードした fluent.conf.xray の source ディレクティブの JPD_URL, USER, JFROG_API_KEY フィールドに、以下の詳細を入力します。

    <source>
      @type jfrog_siem
      tag jfrog.xray.siem.vulnerabilities
      jpd_url JPD_URL
      username USER
      apikey JFROG_API_KEY
      pos_file "#{ENV['JF_PRODUCT_DATA_INTERNAL']}/log/jfrog_siem.log.pos"
    </source>
    
    • JPD_URL (必須) は、Xray Violations をプルするために使用されるフォーマット http://<ip_address> の Artifactory JPD URL です。
    • USER (必須) は、認証用の Artifactory ユーザー名です。
    • JFROG_API_KEY (必須) は、認証用の Artifactory API キーです。

    ダウンロードした fluent.conf.xray の match ディレクティブ(最終セクション)を、以下の詳細で上書きします。

    <match jfrog.**>
      @type datadog
      @id datadog_agent_jfrog_xray
      api_key API_KEY
      include_tag_key true
      dd_source fluentd
    </match>
    
    • API_KEY (必須) は、Datadog の API キーです。
    • dd_source は、Datadog でインテグレーションの自動セットアップをトリガーするための、ログ内のログインテグレーションの名前です。
    • include_tag_key のデフォルトは false で、true に設定すると json レコードに fluentd タグが追加されます
  4. artifactory および xray インスタンスで td-agent を実行し、インテグレーションを有効にします。

    td-agent
    

    API キーは td-agent で構成され、これにより Datadog へのログの送信が開始します。別のタイプのインストールについては、JFrog ドキュメントを参照してください。

    Facets > Add (ログの画面左側) > Search からすべての属性をファセットとして追加します。

メトリクスの収集

  1. Artifactory および Xray でメトリクスを有効化:

    1. Artifactory でメトリクスを有効化
    2. Artifactory および Xray の管理者アクセストークンを作成
  2. Datadog コンフィギュレーション

    ホストで実行されている Agent 用にこのチェックを構成する場合は、以下の手順に従ってください。コンテナ環境の場合は、コンテナ化のセクションを参照してください。

    これらの値は以下のコンフィギュレーションをオーバーライドします

    ARTIFACTORY_HOST_NAME_OR_IP   -> IP address or DNS of Artifactory 
    ARTIFACTORY_ADMIN_TOKEN       -> Admin token for Artifactory
    XRAY_ADMIN_TOKEN              -> Admin token for Xray
    

    ホストで実行中の Agent に対してこのチェックを構成するには:

    1. Agent のコンフィギュレーションディレクトリのルートにある openmetrics.d/conf.yaml ファイルを編集します。使用可能なすべてのコンフィギュレーションオプションの詳細については、サンプル openmetrics.d/conf.yaml を参照してください。
      instances:
         - prometheus_url: http://<ARTIFACTORY_HOST_NAME_OR_IP>:80/artifactory/api/v1/metrics
           scheme: http
           headers:
             Authorization: "Bearer <ARTIFACTORY_ADMIN_TOKEN>"
           static_configs:
             - targets: ["<ARTIFACTORY_HOST_NAME_OR_IP>:80"]
           namespace: jfrog.artifactory
           metrics:
             - sys*
             - jfrt*
             - app*
         - prometheus_url: http://<ARTIFACTORY_HOST_NAME_OR_IP>:80/xray/api/v1/metrics
             scheme: http
             headers:
               Authorization: "Bearer <XRAY_ADMIN_TOKEN>"
             namespace: jfrog.xray
             metrics:
               - app*
               - db*
               - go*
               - queue*
               - sys*
               - jfxr*
      
    2. Agent を再起動します。コンテナ環境の場合は、オートディスカバリーのインテグレーションテンプレートのガイドを参照して、上記のパラメーターを適用します。変更が適用されたことを確認するには、Agent の status サブコマンドを実行し、Checks セクションで openmetrics を探します。

JFrog プラットフォームタイル

JFrog プラットフォームをまだインストールしていない場合は、タイルをインストールします。

JFrog ダッシュボード

Dashboard -> Dashboard List の順に移動し、JFrog Artifactory DashboardArtifactory MetricsXray MetricsXray LogsXray Violations を探して開きます。

収集データ

メトリクス

このチェックによって提供されるメトリクスのリストについては、metadata.csv を参照してください。

トラブルシューティング

ご不明な点は、Datadog のサポートチームまでお問合せください。