簡介
redis_exporter就是為了收集redis服務指標的應用。
下載執行wget -c -t 100 https://github.com/oliver006/redis_exporter/releases/download/v1.15.0/redis_exporter-v1.15.0.linux-amd64.tar.gztar zxvf redis_exporter-v1.15.0.linux-amd64.tar.gzcd redis_exporter-v1.15.0.linux-amd64./redis_exporter
INFO[0000] Redis Metrics Exporter v1.15.0 build date: 2020-12-27-18:57:05 sha1: 43ec65f7a22041e64ec557291c36500d04c6f6b0 Go: go1.15.6 GOOS: linux GOARCH: amd64 INFO[0000] Providing metrics at :9121/metrics
預設埠是9121,預設連結是redis://localhost:6379
如果設定了密碼,就需要在執行的時候,指定密碼
./redis_exporter -redis.addr 'redis://localhost:6379' -redis.password redispassword
檢視更多引數
./redis_exporter -h
Usage of ./redis_exporter: -check-key-groups string Comma separated list of lua regex for grouping keys -check-key-groups-batch-size int Check key groups batch size hint for the underlying SCAN (default 10000) -check-keys string Comma separated list of key-patterns to export value and length/size, searched for with SCAN -check-single-keys string Comma separated list of single keys to export value and length/size -check-single-streams string Comma separated list of single streams to export info about streams, groups and consumers -check-streams string Comma separated list of stream-patterns to export info about streams, groups and consumers, searched for with SCAN -config-command string What to use for the CONFIG command (default "CONFIG") -connection-timeout string Timeout for connection to Redis instance (default "15s") -count-keys string Comma separated list of patterns to count, eg: 'db3=sessions:*'. Warning: The exporter runs SCAN to count the keys. -debug Output verbose debug information -export-client-list Whether to scrape Client List specific metrics -export-client-port Whether to include the client's port when exporting the client list. Warning: including the port increases the number of metrics generated and will make your Prometheus server take up more memory -include-system-metrics Whether to include system metrics like e.g. redis_total_system_memory_bytes -is-tile38 Whether to scrape Tile38 specific metrics -log-format string Log format, valid options are txt and json (default "txt") -max-distinct-key-groups int The maximum number of distinct key groups with the most memory utilization to present as distinct metrics per database, the leftover key groups will be aggregated in the 'overflow' bucket (default 100) -namespace string Namespace for metrics (default "redis") -ping-on-connect Whether to ping the redis instance after connecting -redis-only-metrics Whether to also export go runtime metrics -redis.addr string Address of the Redis instance to scrape (default "redis://localhost:6379") -redis.password string Password of the Redis instance to scrape -redis.user string User name to use for authentication (Redis ACL for Redis 6.0 and newer) -script string Path to Lua Redis script for collecting extra metrics -set-client-name Whether to set client name to redis_exporter (default true) -skip-tls-verification Whether to to skip TLS verification -tls-ca-cert-file string Name of the CA certificate file (including full path) if the server requires TLS client authentication -tls-client-cert-file string Name of the client certificate file (including full path) if the server requires TLS client authentication -tls-client-key-file string Name of the client key file (including full path) if the server requires TLS client authentication -tls-server-cert-file string Name of the server certificate file (including full path) if the web interface and telemetry should use TLS -tls-server-key-file string Name of the server key file (including full path) if the web interface and telemetry should use TLS -version Show version information and exit -web.listen-address string Address to listen on for web interface and telemetry. (default ":9121") -web.telemetry-path string Path under which to expose metrics. (default "/metrics")
部署指令碼#!/bin/bashVERSION="1.15.0"wget -t 100 -c https://github.com/oliver006/redis_exporter/releases/download/v${VERSION}/redis_exporter-${VERSION}.linux-amd64.tar.gzif [ ! -e redis_exporter-${VERSION}.linux-amd64.tar.gz ]then echo "安裝包下載失敗" exit 1fitar xvfz redis_exporter-${VERSION}.linux-amd64.tar.gz -C /opt/cd /optln -s redis_exporter-${VERSION}.linux-amd64 redis_exportercat > /etc/systemd/system/redis_exporter.service <<EOF[Unit]Description=redis_exporterAfter=network.target[Service]Type=simpleWorkingDirectory=/opt/redis_exporterExecStart=/opt/redis_exporter/redis_exporter -redis.addr redis://localhost:6379 -redis.password redispasswordLimitNOFILE=65536PrivateTmp=trueRestartSec=2StartLimitInterval=0Restart=always[Install]WantedBy=multi-user.targetEOFsystemctl daemon-reloadsystemctl enable redis_exportersystemctl start redis_exporter
prometheus配置新增下面的job
- job_name: 'redis' # metrics_path defaults to '/metrics' # scheme defaults to 'http'. static_configs: - targets: ['localhost:9121']
配置好以後,reload一下prometheus就可以載入
kill -HUP [promethues_pid]
指標展示
指標可以透過prometheus的WebUI進行檢視
http://[promethe server ip]:9090
如果需要畫圖,可以直接使用grafana,有人已經配置好了圖形可以透過grafana官方下的dashboard搜尋redis_exporter,配置好prometheus資料來源,直接匯入grafana就可以直接展示了。