简介
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.gz
- tar zxvf redis_exporter-v1.15.0.linux-amd64.tar.gz
- cd 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/bash
- VERSION="1.15.0"
- wget -t 100 -c https://github.com/oliver006/redis_exporter/releases/download/v${VERSION}/redis_exporter-${VERSION}.linux-amd64.tar.gz
- if [ ! -e redis_exporter-${VERSION}.linux-amd64.tar.gz ]
- then
- echo "安装包下载失败"
- exit 1
- fi
- tar xvfz redis_exporter-${VERSION}.linux-amd64.tar.gz -C /opt/
- cd /opt
- ln -s redis_exporter-${VERSION}.linux-amd64 redis_exporter
- cat > /etc/systemd/system/redis_exporter.service <<EOF
- [Unit]
- Description=redis_exporter
- After=network.target
- [Service]
- Type=simple
- WorkingDirectory=/opt/redis_exporter
- ExecStart=/opt/redis_exporter/redis_exporter -redis.addr redis://localhost:6379 -redis.password redispassword
- LimitNOFILE=65536
- PrivateTmp=true
- RestartSec=2
- StartLimitInterval=0
- Restart=always
- [Install]
- WantedBy=multi-user.target
- EOF
- systemctl daemon-reload
- systemctl enable redis_exporter
- systemctl 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就可以直接展示了。
去O的话题,可谓由来已久。从十年前阿里提出了这一口号,并率先在公司内部实现了...
已经有多篇关于正则表达式介绍的文章,随着我们越来越多使用正则表达式,想对性...
关于这道题总的来说有两类方法迭代和递归。 先来介绍迭代递归的思路要在迭代上延...
复制代码 代码如下: '数据库表行数函数,这是取表的行数 Function GetTblRows(Tb...
今天遇见一个消除js正则表达式不区分大小写的问题,网上一搜,发现自己果然是菜...
在大三的时候,一直就想搭建属于自己的一个博客,但由于各种原因,最终都不了了...
一个典型的互联网产品架构包含接入层、逻辑处理层以及存储层,其中存储层承载着...
a标签是否新开一个页面: (1)百度百科:如果header不同,则一定重新开一个页面...
引言 都说 StringBuilder 在处理字符串拼接上效率要强于 String,但有时候我们的...
jsp中设置cookie如果不设置路径,会出现cookie丢失问题 Cookie cookie = new Coo...