fluent-plugin-jfrog-metrics

Fluentd input plugin to scrape metrics from JFrog Artifactory and Xray openmetrics API endpoints and export them to Fluentd to process into various outputs

Building

To build / test locally use rake:

rake

To build install locally use bundler:

bundle install

This will install the gem shown below from source.

Development

Bundler

Add following line to your Gemfile:

gem "fluent-plugin-jfrog-metrics"

And then execute:

$ bundle

Configuration

You can generate configuration template:

$ fluent-plugin-config-format input jfrog-metrics

You can copy and paste generated documents here.

Installation

RubyGems

$ gem install rest-client
$ gem install thread
$ gem install fluent-plugin-jfrog-metrics

Setup & configuration

Fluentd is the supported log collector for this integration. For Fluentd setup and information, read the JFrog log analytics repository's README.

Fluentd Output

Download fluentd conf for different log-vendors. For example Splunk:

Splunk setup can be found at README.

wget https://raw.githubusercontent.com/jfrog/metrics/master/splunk/splunk_metrics.conf

Configuration parameters

Integration is done by setting up Xray. Obtain JPD url and access token for API. Configure the source directive parameters specified below

  • tag (string) (required): The value is the tag assigned to the generated metrics.
  • jpd_url (string) (required): JPD url required to pull metrics, (note - if deployed on K8s use the localhost and port number combination per sidecar)
  • username (string) (required): USER is the Artifactory username for authentication
  • apikey (string) (required if token is not used, do refer Note section for specifics): API Key is the Artifactory API Key for authentication
  • token (string) (required if apikey is not used, do refer Note section for specifics): Admin token is the Artifactory Scoped Tokens for authentication
  • metric_prefix (string) (required): This values pulls the specific metrics. Values can be - jfrog.artifactory, jfrog.xray
  • interval (integer) (optional): Wait interval between pulling new events
    • Default value: 60
  • common_jpd (true / false) (optional): This flag should be set as true only for non-kubernetes installations or installations where JPD base URL is same to access both Artifactory and Xray,
  • target_platform (string) (optional): Output format of target platform allowed values SPLUNK and ELASTIC
    • Default value: SPLUNK
  • verify_ssl (true / false) (optional): This flag should be set as false in order to bypass client's ssl certificate verification. When false, sets ssl_opts['verify_ssl'] to OpenSSL::SSL::VERIFY_NONE. Otherwise, sets ssl_opts['verify_ssl'] to OpenSSL::SSL::VERIFY_PEER
    • Default value: true

Note:

  • For Artifactory v7.4 and below only API Key must be used,
  • For Artifactory v7.4 to 7.46 either Token or API Key can be used,
  • For Artifactory v7.47 and above token only must be used.
  • Copyright(c) 2020 - JFrog
  • License
    • Apache License, Version 2.0