{"id":13676769,"url":"https://github.com/peimanja/artifactory_exporter","last_synced_at":"2026-02-28T09:21:44.879Z","repository":{"id":39878103,"uuid":"229988125","full_name":"peimanja/artifactory_exporter","owner":"peimanja","description":"JFrog Artifactory Prometheus Exporter written in Go","archived":false,"fork":false,"pushed_at":"2025-09-10T13:07:28.000Z","size":856,"stargazers_count":151,"open_issues_count":8,"forks_count":54,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-09-10T16:59:28.093Z","etag":null,"topics":["artifactory","artifactory-exporter","go","golang","jfrog-artifactory","metrics","monitoring","prometheus","prometheus-exporter"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/peimanja.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2019-12-24T18:28:17.000Z","updated_at":"2025-09-09T14:40:00.000Z","dependencies_parsed_at":"2023-12-10T04:18:36.863Z","dependency_job_id":"6ac24f79-3658-47d9-8188-d5dd82fb71a3","html_url":"https://github.com/peimanja/artifactory_exporter","commit_stats":null,"previous_names":[],"tags_count":37,"template":false,"template_full_name":null,"purl":"pkg:github/peimanja/artifactory_exporter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peimanja%2Fartifactory_exporter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peimanja%2Fartifactory_exporter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peimanja%2Fartifactory_exporter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peimanja%2Fartifactory_exporter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/peimanja","download_url":"https://codeload.github.com/peimanja/artifactory_exporter/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peimanja%2Fartifactory_exporter/sbom","scorecard":{"id":726675,"data":{"date":"2025-08-11","repo":{"name":"github.com/peimanja/artifactory_exporter","commit":"199b465669c07dbc127e9ce2b000b265f57124d2"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5.5,"checks":[{"name":"Code-Review","score":8,"reason":"Found 24/29 approved changesets -- score normalized to 8","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Maintained","score":8,"reason":"5 commit(s) and 5 issue activity found in the last 90 days -- score normalized to 8","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/publish-image.yml:1","Warn: no topLevel permission defined: .github/workflows/release.yml:1","Warn: no topLevel permission defined: .github/workflows/stale.yaml:1","Warn: no topLevel permission defined: .github/workflows/tests.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: Apache License 2.0: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish-image.yml:31: update your workflow using https://app.stepsecurity.io/secureworkflow/peimanja/artifactory_exporter/publish-image.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish-image.yml:38: update your workflow using https://app.stepsecurity.io/secureworkflow/peimanja/artifactory_exporter/publish-image.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish-image.yml:42: update your workflow using https://app.stepsecurity.io/secureworkflow/peimanja/artifactory_exporter/publish-image.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish-image.yml:50: update your workflow using https://app.stepsecurity.io/secureworkflow/peimanja/artifactory_exporter/publish-image.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish-image.yml:57: update your workflow using https://app.stepsecurity.io/secureworkflow/peimanja/artifactory_exporter/publish-image.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish-image.yml:69: update your workflow using https://app.stepsecurity.io/secureworkflow/peimanja/artifactory_exporter/publish-image.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish-image.yml:80: update your workflow using https://app.stepsecurity.io/secureworkflow/peimanja/artifactory_exporter/publish-image.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish-image.yml:83: update your workflow using https://app.stepsecurity.io/secureworkflow/peimanja/artifactory_exporter/publish-image.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish-image.yml:90: update your workflow using https://app.stepsecurity.io/secureworkflow/peimanja/artifactory_exporter/publish-image.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:24: update your workflow using https://app.stepsecurity.io/secureworkflow/peimanja/artifactory_exporter/release.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/peimanja/artifactory_exporter/release.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/stale.yaml:11: update your workflow using https://app.stepsecurity.io/secureworkflow/peimanja/artifactory_exporter/stale.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests.yml:16: update your workflow using https://app.stepsecurity.io/secureworkflow/peimanja/artifactory_exporter/tests.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests.yml:19: update your workflow using https://app.stepsecurity.io/secureworkflow/peimanja/artifactory_exporter/tests.yml/master?enable=pin","Warn: containerImage not pinned by hash: Dockerfile:1","Warn: containerImage not pinned by hash: Dockerfile:27: pin your Docker image by updating gcr.io/distroless/static:nonroot to gcr.io/distroless/static:nonroot@sha256:cdf4daaf154e3e27cfffc799c16f343a384228f38646928a1513d925f473cb46","Info:   0 out of   5 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   9 third-party GitHubAction dependencies pinned","Info:   0 out of   2 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Signed-Releases","score":0,"reason":"Project has not signed or included provenance with any releases.","details":["Warn: release artifact v1.16.0 not signed: https://api.github.com/repos/peimanja/artifactory_exporter/releases/236999534","Warn: release artifact v1.15.1 not signed: https://api.github.com/repos/peimanja/artifactory_exporter/releases/202851073","Warn: release artifact v1.15.0 not signed: https://api.github.com/repos/peimanja/artifactory_exporter/releases/195752274","Warn: release artifact v1.14.0 not signed: https://api.github.com/repos/peimanja/artifactory_exporter/releases/142708831","Warn: release artifact v1.13.2 not signed: https://api.github.com/repos/peimanja/artifactory_exporter/releases/107363407","Warn: release artifact v1.16.0 does not have provenance: https://api.github.com/repos/peimanja/artifactory_exporter/releases/236999534","Warn: release artifact v1.15.1 does not have provenance: https://api.github.com/repos/peimanja/artifactory_exporter/releases/202851073","Warn: release artifact v1.15.0 does not have provenance: https://api.github.com/repos/peimanja/artifactory_exporter/releases/195752274","Warn: release artifact v1.14.0 does not have provenance: https://api.github.com/repos/peimanja/artifactory_exporter/releases/142708831","Warn: release artifact v1.13.2 does not have provenance: https://api.github.com/repos/peimanja/artifactory_exporter/releases/107363407"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Packaging","score":10,"reason":"packaging workflow detected","details":["Info: Project packages its releases by way of GitHub Actions.: .github/workflows/publish-image.yml:26"],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"SAST","score":5,"reason":"SAST tool is not run on all commits -- score normalized to 5","details":["Warn: 17 commits out of 30 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-22T13:01:04.593Z","repository_id":39878103,"created_at":"2025-08-22T13:01:04.593Z","updated_at":"2025-08-22T13:01:04.593Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29929346,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-27T19:37:42.220Z","status":"online","status_checked_at":"2026-02-28T02:00:07.010Z","response_time":90,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["artifactory","artifactory-exporter","go","golang","jfrog-artifactory","metrics","monitoring","prometheus","prometheus-exporter"],"created_at":"2024-08-02T13:00:32.659Z","updated_at":"2026-02-28T09:21:44.841Z","avatar_url":"https://github.com/peimanja.png","language":"Go","funding_links":[],"categories":["Go"],"sub_categories":[],"readme":"# JFrog Artifactory Exporter\n\n[![Go Build](https://github.com/peimanja/artifactory_exporter/actions/workflows/release.yml/badge.svg)](https://github.com/peimanja/artifactory_exporter/actions/workflows/release.yml) [![Publish Image](https://github.com/peimanja/artifactory_exporter/actions/workflows/publish-image.yml/badge.svg)](https://github.com/peimanja/artifactory_exporter/actions/workflows/publish-image.yml) [![Go Report Card](https://goreportcard.com/badge/github.com/peimanja/artifactory_exporter)](https://goreportcard.com/report/github.com/peimanja/artifactory_exporter)\n\nA [Prometheus](https://prometheus.io) exporter for [JFrog Artifactory](https://jfrog.com/artifactory) stats.\n\n\n## Note\n\nThis exporter is under development and more metrics will be added later. Tested on Artifactory Commercial, Enterprise and OSS version `6.x` and `7.x`.\n\n## Authentication\n\nThe Artifactory exporter requires **admin** user and it supports multiple means of authentication. The following methods are supported:\n  * Basic Auth\n  * Bearer Token\n\n### Basic Auth\n\nBasic auth may be used by setting `ARTI_USERNAME` and `ARTI_PASSWORD` environment variables.\n\n### Bearer Token\n\nArtifactory access tokens may be used via the Authorization header by setting `ARTI_ACCESS_TOKEN` environment variable.\n\n## Usage\n\n### Binary\n\nDownload the binary for your operation system from [release](https://github.com/peimanja/artifactory_exporter/releases) page and run it:\n```bash\n$ ./artifactory_exporter \u003cflags\u003e\n```\n\n### Docker\n\nSet the credentials in `env_file_name` and you can deploy this exporter using the [peimanja/artifactory_exporter](https://registry.hub.docker.com/r/peimanja/artifactory_exporter/) Docker image:\n\n```bash\n$ docker run --env-file=env_file_name -p 9531:9531 peimanja/artifactory_exporter:latest \u003cflags\u003e\n```\n\n### Docker Compose\n\nRunning the exporter against an Artifactory instance with millions of artifacts will cause performance issues in case Prometheus will scrape too often.\n\nTo avoid such situations you can run nginx in front of the exporter and use it as a cache. The Artifactory responses will be cached in nginx and kept valid for `PROXY_CACHE_VALID` seconds. After that time any new request from Prometheus will re-request metrics from Artifactory and store again in the nginx cache.\n\nSet the credentials in an environment file as described in the *Docker* section and store the file as `.env` next to `docker-compose.yml` and run the following command:\n\n```bash\ndocker-compose up -d\n```\n\n## Install with Helm\n\n[Helm](https://helm.sh) must be installed to use the charts.\nPlease refer to Helm's [documentation](https://helm.sh/docs/) to get started.\n\nSource code for the exporter helm chart can be found [here peimanja/helm-charts](https://github.com/peimanja/helm-charts/tree/main/charts/prometheus-artifactory-exporter)\n\nOnce Helm is set up properly, add the repo as follows:\n\n### Prerequisites\n\n- Kubernetes 1.8+ with Beta APIs enabled\n\n### Add Repo\n\n```console\nhelm repo add peimanja https://peimanja.github.io/helm-charts\nhelm repo update\n```\n\n_See [helm repo](https://helm.sh/docs/helm/helm_repo/) for command documentation._\n\n### Configuration\n\nSee [Customizing the Chart Before Installing](https://helm.sh/docs/intro/using_helm/#customizing-the-chart-before-installing). To see all configurable options with detailed comments, visit the chart's [values.yaml](https://github.com/peimanja/helm-charts/blob/main/charts/prometheus-artifactory-exporter/values.yaml), or run these configuration commands:\n\n\n```console\n# Helm 3\nhelm show values peimanja/prometheus-artifactory-exporter\n```\n\nSet your values in `myvals.yaml`:\n```yaml\nartifactory:\n  url: http://artifactory:8081/artifactory\n  accessToken: \"xxxxxxxxxxxxxxxxxxxx\"\n  existingSecret: false\n\noptions:\n  logLevel: info\n  logFormat: logfmt\n  telemetryPath: /metrics\n  verifySSL: false\n  timeout: 5s\n  optionalMetrics:\n    - replication_status\n    - federation_status\n```\n\n### Install Chart\n\n```console\n# Helm 3\nhelm install -f myvals.yaml [RELEASE_NAME] peimanja/prometheus-artifactory-exporter\n```\n\n_See [configuration](#configuration) below._\n\n_See [helm install](https://helm.sh/docs/helm/helm_install/) for command documentation._\n\n### Flags\n\n```bash\n$  docker run peimanja/artifactory_exporter:latest -h\nusage: artifactory_exporter [\u003cflags\u003e]\n\nFlags:\n  -h, --help                    Show context-sensitive help (also try --help-long and --help-man).\n      --web.listen-address=\":9531\"\n                                Address to listen on for web interface and telemetry.\n      --web.telemetry-path=\"/metrics\"\n                                Path under which to expose metrics.\n      --artifactory.scrape-uri=\"http://localhost:8081/artifactory\"\n                                URI on which to scrape JFrog Artifactory.\n      --artifactory.ssl-verify  Flag that enables SSL certificate verification for the scrape URI\n      --artifactory.timeout=5s  Timeout for trying to get stats from JFrog Artifactory.\n      --optional-metric=metric-name ...\n                                optional metric to be enabled. Pass multiple times to enable multiple optional metrics.\n      --log.level=info          Only log messages with the given severity or above. One of: [debug, info, warn, error]\n      --log.format=logfmt       Output format of log messages. One of: [logfmt, json]\n      --version                 Show application version.\n```\n\n| Flag / Environment Variable | Required | Default | Description |\n| --------------------------- | -------- | ------- | ----------- |\n| `web.listen-address`\u003cbr/\u003e`WEB_LISTEN_ADDR` | No | `:9531`| Address to listen on for web interface and telemetry. |\n| `web.telemetry-path`\u003cbr/\u003e`WEB_TELEMETRY_PATH` | No | `/metrics` | Path under which to expose metrics. |\n| `artifactory.scrape-uri`\u003cbr/\u003e`ARTI_SCRAPE_URI` | No | `http://localhost:8081/artifactory` | URI on which to scrape JFrog Artifactory. |\n| `artifactory.ssl-verify`\u003cbr/\u003e`ARTI_SSL_VERIFY` | No | `true` | Flag that enables SSL certificate verification for the scrape URI. |\n| `artifactory.timeout`\u003cbr/\u003e`ARTI_TIMEOUT` | No | `5s` | Timeout for trying to get stats from JFrog Artifactory. |\n| `optional-metric`| No | | optional metric to be enabled. Pass multiple times to enable multiple optional metrics. |\n| `log.level` | No | `info` | Only log messages with the given severity or above. One of: [debug, info, warn, error]. |\n| `log.format` | No | `logfmt` | Output format of log messages. One of: [logfmt, json]. |\n| `ARTI_USERNAME` | *No | | User to access Artifactory |\n| `ARTI_PASSWORD` | *No | | Password of the user accessing the Artifactory |\n| `ARTI_ACCESS_TOKEN` | *No | | Access token for accessing the Artifactory |\n\n* Either `ARTI_USERNAME` and `ARTI_PASSWORD` or `ARTI_ACCESS_TOKEN` environment variables has to be set.\n\n### Metrics\n\nSome metrics are not available with Artifactory OSS license. The exporter returns the following metrics:\n\n| Metric | Description | Labels | OSS support |\n| ------ | ----------- | ------ | ------ |\n| artifactory_up | Was the last scrape of Artifactory successful. |  | \u0026#9989; |\n| artifactory_exporter_build_info | Exporter build information. | `version`, `revision`, `branch`, `goversion` | \u0026#9989; |\n| artifactory_exporter_total_scrapes | Current total artifactory scrapes. |  | \u0026#9989; |\n| artifactory_exporter_total_api_errors | Current total Artifactory API errors when scraping for stats. |  | \u0026#9989; |\n| artifactory_exporter_json_parse_failures |Number of errors while parsing Json. |  | \u0026#9989; |\n| artifactory_replication_enabled | Replication status for an Artifactory repository (1 = enabled). | `name`, `type`, `cron_exp`, `status` | |\n| artifactory_security_certificates | SSL certificate name and expiry as labels, seconds to expiration as value | `alias`, `expires`, `issued_by` | |\n| artifactory_security_groups | Number of Artifactory groups. | | |\n| artifactory_security_users | Number of Artifactory users for each realm. | `realm` | |\n| artifactory_storage_artifacts | Total artifacts count stored in Artifactory. |  | \u0026#9989; |\n| artifactory_storage_artifacts_size_bytes | Total artifacts Size stored in Artifactory in bytes. |  | \u0026#9989; |\n| artifactory_storage_binaries | Total binaries count stored in Artifactory. |  | \u0026#9989; |\n| artifactory_storage_binaries_size_bytes | Total binaries Size stored in Artifactory in bytes. |  | \u0026#9989; |\n| artifactory_storage_filestore_bytes | Total space in the file store in bytes. | `storage_dir`, `storage_type` | \u0026#9989; |\n| artifactory_storage_filestore_used_bytes | Space used in the file store in bytes. | `storage_dir`, `storage_type` | \u0026#9989; |\n| artifactory_storage_filestore_free_bytes | Space free in the file store in bytes. | `storage_dir`, `storage_type` | \u0026#9989; |\n| artifactory_storage_repo_used_bytes | Space used by an Artifactory repository in bytes. | `name`, `package_type`, `type` | \u0026#9989; |\n| artifactory_storage_repo_folders | Number of folders in an Artifactory repository. | `name`, `package_type`, `type` | \u0026#9989; |\n| artifactory_storage_repo_files | Number files in an Artifactory repository. | `name`, `package_type`, `type` | \u0026#9989; |\n| artifactory_storage_repo_items | Number Items in an Artifactory repository. | `name`, `package_type`, `type` | \u0026#9989; |\n| artifactory_artifacts_created_1m | Number of artifacts created in the repo (last 1 minute). | `name`, `package_type`, `type` | \u0026#9989; |\n| artifactory_artifacts_created_5m | Number of artifacts created in the repo (last 5 minutes). | `name`, `package_type`, `type` | \u0026#9989; |\n| artifactory_artifacts_created_15m | Number of artifacts created in the repo (last 15 minutes). | `name`, `package_type`, `type` | \u0026#9989; |\n| artifactory_artifacts_downloaded_1m | Number of artifacts downloaded from the repository (last 1 minute). | `name`, `package_type`, `type` | \u0026#9989; |\n| artifactory_artifacts_downloaded_5m | Number of artifacts downloaded from the repository (last 5 minutes). | `name`, `package_type`, `type` | \u0026#9989; |\n| artifactory_artifacts_downloaded_15m | Number of artifacts downloaded from the repository (last 15 minute). | `name`, `package_type`, `type` | \u0026#9989; |\n| artifactory_system_healthy | Is Artifactory working properly (1 = healthy). | | \u0026#9989; |\n| artifactory_system_license | License type and expiry as labels, seconds to expiration as value | `type`, `licensed_to`, `expires` | \u0026#9989; |\n| artifactory_system_version | Version and revision of Artifactory as labels. | `version`, `revision` | \u0026#9989; |\n| artifactory_federation_mirror_lag | Federation mirror lag in milliseconds. | `name`, `remote_url`, `remote_name` | |\n| artifactory_federation_unavailable_mirror | Unsynchronized federated mirror status. | `status`, `name`, `remote_url`, `remote_name` | |\n\n* Common labels:\n  * `node_id`: Artifactory node ID that the metric is scraped from.\n\n#### Optional metrics\n\nSome metrics are expensive to compute and are disabled by default. To enable them, use `--optional-metric=metric_name` flag. Use this with caution as it may impact the performance in Artifactory instances with many repositories.\n\nSupported optional metrics:\n\n* `artifacts` - Extracts number of artifacts created/downloaded for each repository. Enabling this will add `artifactory_artifacts_*` metrics. Please note that on large Artifactory instances, this may impact the performance.\n* `replication_status` - Extracts status of replication for each repository which has replication enabled. Enabling this will add the `status` label to `artifactory_replication_enabled` metric.\n* `federation_status` - Extracts federation metrics. Enabling this will add two new metrics: `artifactory_federation_mirror_lag`, and `artifactory_federation_unavailable_mirror`. Please note that these metrics are only available in Artifactory Enterprise Plus and version 7.18.3 and above.\n* `open_metrics` - Exposes Open Metrics from the JFrog Platform. For more information about Open Metrics, please refer to [JFrog Platform Open Metrics](https://jfrog.com/help/r/jfrog-platform-administration-documentation/open-metrics).\n\n### Grafana Dashboard\n\nDashboard can be found [here](https://grafana.com/grafana/dashboards/12113).\n\n![Grafana dDashboard](/grafana/dashboard-screenshot-1.png)\n![Grafana dDashboard](/grafana/dashboard-screenshot-2.png)\n\n### Common Issues\n\nIn most cases enabling debug logs will help to identify the issue. To enable debug logs, use `--log.level=debug` flag.\n\n#### No metrics are being scraped\n\n* Check if the exporter is running and listening on the port specified by `--web.listen-address` flag.\n* Check if `artifactory_up` metric is `1` or `0`. If it is `0`, check the logs for the error message.\n* Check if `artifactory_exporter_total_api_errors` metric is `0`. If it is not `0` and it is increasing, check the logs for the error message.\n\n#### Some metrics or labels are missing\n\n* Check the logs to see if there are any timeouts or errors while scraping for metrics. In a large Artifactory instance, it may take a long time to scrape for all metrics especially `artifactory_artifacts_*` metrics. If there are any errors, try increasing the default timeout(5s) using `--artifactory.timeout` flag.\n* Some metrics are not available based on your version or license type. Check the [metrics](#metrics) section to see if the metric is available for your license type.\n* Some metrics are optional and are disabled by default. Check the [optional metrics](#optional-metrics) section to see available optional metrics. You can enable them using `--optional-metric=metric_name` flag. You can pass this flag multiple times to enable multiple optional metrics.\n\n#### There was an error when trying to unmarshal the API Error\n\nThis error is usually means that the exporter is not able to properly reach the Artifactory endpoint. One of the common reasons for this is that the Artifactory URL is not set properly. Make sure your are not missing `/artifactory` at the end of the URL which is how most implementations of Artifactory are configured. (e.g. `http://artifactory.yourdomain.com/artifactory`)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpeimanja%2Fartifactory_exporter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpeimanja%2Fartifactory_exporter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpeimanja%2Fartifactory_exporter/lists"}