文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

运维监控系统之Prometheus redis监控

2024-12-03 14:02

关注

redis_exporter就是为了收集redis服务指标的应用。


下载运行

  1. wget -c -t 100 https://github.com/oliver006/redis_exporter/releases/download/v1.15.0/redis_exporter-v1.15.0.linux-amd64.tar.gz 
  2.  
  3. tar zxvf   redis_exporter-v1.15.0.linux-amd64.tar.gz 
  4.  
  5. cd redis_exporter-v1.15.0.linux-amd64 
  6.  
  7. ./redis_exporter 

  1. 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  
  2. INFO[0000] Providing metrics at :9121/metrics   

 默认端口是9121,默认链接是redis://localhost:6379


如果设置了密码,就需要在执行的时候,指定密码

  1. ./redis_exporter -redis.addr 'redis://localhost:6379'   -redis.password  redispassword 

查看更多参数

  1. ./redis_exporter -h 

  1. Usage of ./redis_exporter: 
  2.   -check-key-groups string 
  3.         Comma separated list of lua regex for grouping keys 
  4.   -check-key-groups-batch-size int 
  5.         Check key groups batch size hint for the underlying SCAN (default 10000) 
  6.   -check-keys string 
  7.         Comma separated list of key-patterns to export value and length/size, searched for with SCAN 
  8.   -check-single-keys string 
  9.         Comma separated list of single keys to export value and length/size 
  10.   -check-single-streams string 
  11.         Comma separated list of single streams to export info about streams, groups and consumers 
  12.   -check-streams string 
  13.         Comma separated list of stream-patterns to export info about streams, groups and consumers, searched for with SCAN 
  14.   -config-command string 
  15.         What to use for the CONFIG command (default "CONFIG"
  16.   -connection-timeout string 
  17.         Timeout for connection to Redis instance (default "15s"
  18.   -count-keys string 
  19.         Comma separated list of patterns to count, eg: 'db3=sessions:*'. Warning: The exporter runs SCAN to count the keys. 
  20.   -debug 
  21.         Output verbose debug information 
  22.   -export-client-list 
  23.         Whether to scrape Client List specific metrics 
  24.   -export-client-port 
  25.         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 
  26.   -include-system-metrics 
  27.         Whether to include system metrics like e.g. redis_total_system_memory_bytes 
  28.   -is-tile38 
  29.         Whether to scrape Tile38 specific metrics 
  30.   -log-format string 
  31.         Log format, valid options are txt and json (default "txt"
  32.   -max-distinct-key-groups int 
  33.         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) 
  34.   -namespace string 
  35.         Namespace for metrics (default "redis"
  36.   -ping-on-connect 
  37.         Whether to ping the redis instance after connecting 
  38.   -redis-only-metrics 
  39.         Whether to also export go runtime metrics 
  40.   -redis.addr string 
  41.         Address of the Redis instance to scrape (default "redis://localhost:6379"
  42.   -redis.password string 
  43.         Password of the Redis instance to scrape 
  44.   -redis.user string 
  45.         User name to use for authentication (Redis ACL for Redis 6.0 and newer) 
  46.   -script string 
  47.         Path to Lua Redis script for collecting extra metrics 
  48.   -set-client-name 
  49.         Whether to set client name to redis_exporter (default true
  50.   -skip-tls-verification 
  51.         Whether to to skip TLS verification 
  52.   -tls-ca-cert-file string 
  53.         Name of the CA certificate file (including full path) if the server requires TLS client authentication 
  54.   -tls-client-cert-file string 
  55.         Name of the client certificate file (including full path) if the server requires TLS client authentication 
  56.   -tls-client-key-file string 
  57.         Name of the client key file (including full path) if the server requires TLS client authentication 
  58.   -tls-server-cert-file string 
  59.         Name of the server certificate file (including full path) if the web interface and telemetry should use TLS 
  60.   -tls-server-key-file string 
  61.         Name of the server key file (including full path) if the web interface and telemetry should use TLS 
  62.   -version 
  63.         Show version information and exit 
  64.   -web.listen-address string 
  65.         Address to listen on for web interface and telemetry. (default ":9121"
  66.   -web.telemetry-path string 
  67.         Path under which to expose metrics. (default "/metrics"

 部署脚本


  1. #!/bin/bash 
  2.  
  3. VERSION="1.15.0" 
  4.  
  5. wget  -t 100  -c  https://github.com/oliver006/redis_exporter/releases/download/v${VERSION}/redis_exporter-${VERSION}.linux-amd64.tar.gz 
  6.  
  7. if [ ! -e redis_exporter-${VERSION}.linux-amd64.tar.gz ] 
  8. then 
  9.     echo "安装包下载失败" 
  10.     exit 1 
  11. fi 
  12. tar xvfz redis_exporter-${VERSION}.linux-amd64.tar.gz -C /opt/ 
  13. cd /opt 
  14. ln -s redis_exporter-${VERSION}.linux-amd64  redis_exporter 
  15. cat > /etc/systemd/system/redis_exporter.service <
  16.  
  17. [Unit] 
  18. Description=redis_exporter 
  19. After=network.target 
  20.  
  21. [Service] 
  22. Type=simple 
  23. WorkingDirectory=/opt/redis_exporter 
  24. ExecStart=/opt/redis_exporter/redis_exporter -redis.addr redis://localhost:6379   -redis.password  redispassword 
  25. LimitNOFILE=65536 
  26. PrivateTmp=true 
  27. RestartSec=2 
  28. StartLimitInterval=0 
  29. Restart=always 
  30.  
  31. [Install] 
  32. WantedBy=multi-user.target 
  33. EOF 
  34.  
  35.  
  36. systemctl daemon-reload 
  37.  
  38. systemctl enable redis_exporter 
  39. systemctl start redis_exporter 

 prometheus配置

添加下面的job

  1. - job_name: 'redis' 
  2.  
  3.    # metrics_path defaults to '/metrics' 
  4.    # scheme defaults to 'http'
  5.  
  6.    static_configs: 
  7.    - targets: ['localhost:9121'

 配置好以后,reload一下prometheus就可以加载

  1. kill -HUP [promethues_pid] 

指标展示

指标可以通过prometheus的WebUI进行查看

  1. http://[promethe server ip]:9090 

如果需要画图,可以直接使用grafana,有人已经配置好了图形可以通过grafana官方下的dashboard搜索redis_exporter,配置好prometheus数据源,直接导入grafana就可以直接展示了。


 

来源:今日头条内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯