es-fieldusage
Table of Contents
Installation
pip install es-fieldusage
Description
Determine which fields are being used, how much, for a given index.
Top-level help output
$ es-fieldusage --help
Usage: es-fieldusage [OPTIONS] COMMAND [ARGS]...
Elasticsearch Index Field Usage Reporting Tool
Sum all field query/request access for one or more indices using the Elastic Field Usage API (https://ela.st/usagestats)
Generate a report at the command-line with the stdout command for all indices in INDEX_PATTERN:
$ es-fieldusage stdout INDEX_PATTERN
To avoid errors, be sure to encapsulate wildcards in single-quotes:
$ es-fieldusage stdout 'index-*'
Options:
--config PATH Path to configuration file.
--hosts TEXT Elasticsearch URL to connect to.
--cloud_id TEXT Elastic Cloud instance id
--api_token TEXT The base64 encoded API Key token
--id TEXT API Key "id" value
--api_key TEXT API Key "api_key" value
--username TEXT Elasticsearch username
--password TEXT Elasticsearch password
--request_timeout FLOAT Request timeout in seconds
--verify_certs / --no-verify_certs
Verify SSL/TLS certificate(s)
--ca_certs TEXT Path to CA certificate file or directory
--client_cert TEXT Path to client certificate file
--client_key TEXT Path to client key file
--loglevel [DEBUG|INFO|WARNING|ERROR|CRITICAL]
Log level
--logfile TEXT Log file
--logformat [default|ecs] Log output format
--blacklist TEXT Named entities will not be logged
-v, --version Show the version and exit.
-h, --help Show this message and exit.
Commands:
show-all-options Show all configuration options
stdout Output field usage information to the console
Learn more at https://github.com/untergeek/es-fieldusage
Command: stdout help output
$ es-fieldusage stdout --help
Usage: es-fieldusage stdout [OPTIONS] SEARCH_PATTERN
Display field usage information on the console for SEARCH_PATTERN
$ es-fieldusage stdout [OPTIONS] SEARCH_PATTERN
Options:
--show-report / --hide-report Show a summary report [default: show-report]
--show-headers / --hide-headers
Show block headers for un|accessed fields [default: show-headers]
--show-accessed / --hide-accessed
Show accessed fields [default: hide-accessed]
--show-unaccessed / --hide-unaccessed
Show unaccessed fields [default: hide-unaccessed]
--show-counts / --hide-counts Show field access counts [default: hide-counts]
--delimiter TEXT Value delimiter if access counts are shown [default: ,]
-h, --help Show this message and exit.
Learn more at https://github.com/untergeek/es-fieldusage
Command file help output
$ es-fieldusage file --help
Usage: es-fieldusage file [OPTIONS] SEARCH_PATTERN
Write field usage information to file for SEARCH_PATTERN
$ es-fieldusage file [OPTIONS] SEARCH_PATTERN
Options:
--show-report / --hide-report Show a summary report [default: show-report]
--show-headers / --hide-headers
Show block headers for un|accessed fields [default: show-headers]
--show-accessed / --hide-accessed
Show accessed fields [default: hide-accessed]
--show-unaccessed / --hide-unaccessed
Show unaccessed fields [default: hide-unaccessed]
--show-counts / --hide-counts Show field access counts [default: hide-counts]
--per_index Create one file per index found
--delimiter TEXT Value delimiter if access counts are shown [default: ,]
-h, --help Show this message and exit.
Learn more at https://github.com/untergeek/es-fieldusage
Command show-indices help output
$ es-fieldusage show-indices --help
Usage: es-fieldusage show-indices SEARCH_PATTERN
Show indices on the console matching SEARCH_PATTERN
$ es-fieldusage show_indices SEARCH_PATTERN
This is included as a way to ensure you are seeing the indices you expect before using the file or stdout commands.
Options:
-h, --help Show this message and exit.
Learn more at https://github.com/untergeek/es-fieldusage
Docker usage
Docker build
From the path which contains Dockerfile:
$ ./docker build . -t reponame/es-fieldusage:x.y.z
e.g.
docker build . -t untergeek/es-fieldusage:1.0.0
You can also build for x86_64 and arm64 if you have the appropriate buildx image setup:
docker buildx build --platform linux/amd64,linux/arm64 -t untergeek/es-fieldusage:1.0.0 --push .
Docker run
Example:
docker run -t --rm --name es-fieldusage -v /path/to/configfile/:/.esfieldusage -v $(pwd)/:/fileoutput untergeek/es-fieldusage:1.0.0 --config /.esfieldusage/config.yml show-indices 'index-*'
Explanation:
- The
-tflag indicates that you are interacting with a terminal application --rmdeletes the created Docker image after the run. Omitting this will result in a lot of created images that run once. Using--namewill prevent this collision if--rmis omitted by reminding you that there is already an image with the same name.--nameis the name of the image to create. This is optional.-vsets up volumes./path/to/configfile/is the local file path to where you have a YAML configuration file, if you choose to use one. The:/.esfieldusageportion of the volume map is the directory where that configuration file is expected in the Docker image. The second volume mapping is$(pwd):/fileoutput./fileoutputis the dedicated file path on the Docker image where output from the file command will be written. By using$(pwd)it will map your present working directory so the files will appear there. Otherwise you can map another path here.untergeek/es-fieldusage:1.0.0is therepository/image:versionto run.--config /.esfieldusage/config.yml, as stated previously, if you intend to use a YAML configuration file, the path needs to be mapped as a volume, and then accessed this way. The filename should match whatever you actually have, and not necessarilyconfig.ymlshow-indices 'index-*'Everything after here is available as regular options and commands for es-fieldusage.
License
es-fieldusage is distributed under the terms of the Apache 2.0 license.
Metadata
Release files for es-fieldusage 1.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| es_fieldusage-1.2.0.tar.gz | 79.6 kB | Without provenance | Details for es_fieldusage-1.2.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| es_fieldusage-1.2.0-py3-none-any.whl | Python 3 | none | any | Details for es_fieldusage-1.2.0-py3-none-any.whl |
Total release size: 94.5 kB
Release files / es_fieldusage-1.2.0.tar.gz
| Download URL | es_fieldusage-1.2.0.tar.gz |
|---|---|
| Size | 79.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
52b4d19466ebf0f2c04c75695397b31eb5cb982874999d713b1bf2e5f2f99d92
|
|
BLAKE2b-256 checksum How to use checksums |
64923189a9d69645367f9842195cf37a9f30e56c257e2fe1e54393b2099629c8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
Release files / es_fieldusage-1.2.0-py3-none-any.whl
| Download URL | es_fieldusage-1.2.0-py3-none-any.whl |
|---|---|
| Size | 14.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b34b818105c294bca0575b445b45136774fd8b520f1b10e3ac764c437f3ea8c5
|
|
BLAKE2b-256 checksum How to use checksums |
e923562175229e5bb6b98bd973a1495618144a180e369dc36579bfe32b17af79
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
Security for es-fieldusage 1.2.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.