gitlab-exporter-clickhouse-recorder
gitlab-exporter-clickhouse-recorder serves a gRPC endpoint that records data from
a gitlab-exporter and exports it to a
ClickHouse database.
Installation
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
Usage
gitlab-exporter-clickhouse-recorder can either run in server mode or execute one-off
commands.
Server Mode
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.
Command Mode
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
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" |
Getting Started
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.
License
This project is licensed under the MIT License.