gitlab-exporter-clickhouse-recorder
serves a gRPC endpoint that records data from
a gitlab-exporter and exports it to a
ClickHouse database.
To install gitlab-exporter-clickhouse-recorder
you can download a
prebuilt binary that matches your system, e.g.
# download latest release archive
RELEASE_TAG=$(curl -sSfL https://api.github.com/repos/cluttrdev/gitlab-exporter-clickhouse-recorder/releases/latest | jq -r '.tag_name')
curl -sSfL -o /tmp/gitlab-exporter-clickhouse-recorder.tar.gz \
https://github.com/cluttrdev/gitlab-exporter-clickhouse-recorder/releases/download/${RELEASE_TAG}/gitlab-exporter-clickhouse-recorder_${RELEASE_TAG}_linux_amd64.tar.gz
# extract executable binary into install dir (must exist)
INSTALL_DIR=$HOME/.local/bin
tar -C ${INSTALL_DIR} -zxof /tmp/gitlab-exporter-clickhouse-recorder.tar.gz gitlab-exporter-clickhouse-recorder
Alternatively, if you have the Go tools installed on your machine, you can use
go install github.com/cluttrdev/gitlab-exporter-clickhouse-recorder@latest
gitlab-exporter-clickhouse-recorder
can either run in server mode or execute one-off
commands.
To run gitlab-exporter-clickhouse-recorder
in server mode use:
gitlab-exporter-clickhouse-recorder run --config CONFIG_FILE
This will start a gRPC server that exports recorded data to the configured ClickHouse database. See Configuration for configuration options.
gitlab-exporter-clickhouse-recorder
supports commands that can be executed
individually. Use the following to get an overview of available commands:
gitlab-exporter-clickhouse-recorder -h
Configuration options can be specified in a config file that is passed to the
application using the --config
command-line flag.
For an overview of available configuration options and their default values, see configs/gitlab-exporter-clickhouse-recorder.yaml.
Common options can also be overridden with command-line flags and/or environment variables, where flags take precedence.
Flag | Environment Variable | Default Value |
---|---|---|
# global options | ||
--clickhouse-host | GLCHR_CLICKHOUSE_HOST |
"127.0.0.1" |
--clickhouse-port | GLCHR_CLICKHOUSE_PORT |
"9000" |
--clickhouse-database | GLCHR_CLICKHOUSE_DATABASE |
"default" |
--clickhouse-user | GLCHR_CLICKHOUSE_USER |
"default" |
--clickhouse-password | GLCHR_CLICKHOUSE_PASSWORD |
"" |
# run options | ||
--server-host | GLCHR_SERVER_HOST |
"0.0.0.0" |
--server-port | GLCHR_SERVER_PORT |
"0" |
--log-level | GLCHR_LOG_LEVEL |
"info" |
--log-format | GLCHR_LOG_FORMAT |
"text" |
To get up and running, have a look at the demo
example which contains a docker compose
setup to provision a ClickHouse server
and a Grafana instance that includes predefined dashboards.
This project is licensed under the MIT License.