大纲
- 环境
- 安装配置Redis
- 安装
- 安装配置redis_exporter
- 编译
- 运行
- 安装启动Prometheus
- 创建用户
- 下载并解压
- 修改配置
- 启动
- 安装启动grafana
- 安装
- 启动
- 测试
- 参考资料
抛开场景和数据,谈论性能优化,就是纸上谈兵。这个系列我们将通过相关数据来展现常见的Mysql优化前后的性能差距。这样会给大家有个直观的认识。
环境
我是在Windows电脑上,使用Hyper-V构建了一台干净的虚拟机。并给该机器分配了2核4G。
操作系统是Ubuntu Server 24.04 LTS
cat /proc/version
Linux version 6.8.0-35-generic (buildd@lcy02-amd64-020) (x86_64-linux-gnu-gcc-13 (Ubuntu 13.2.0-23ubuntu4) 13.2.0, GNU ld (GNU Binutils for Ubuntu) 2.42) #35-Ubuntu SMP PREEMPT_DYNAMIC Mon May 20 15:51:52 UTC 2024
安装配置Redis
安装
sudo apt install redis-server -y
redis-server --version
Redis server v=7.0.15 sha=00000000:0 malloc=jemalloc-5.3.0 bits=64 build=d81b8ff71cfb150e
安装配置redis_exporter
编译
sudo apt install golang-go -y
git clone https://github.com/oliver006/redis_exporter.git
cd redis_exporter
go build .
运行
./redis_exporter
INFO[0000] Redis Metrics Exporter <<< filled in by build >>> build date: <<< filled in by build >>> sha1: <<< filled in by build >>> Go: go1.22.2 GOOS: linux GOARCH: amd64
INFO[0000] Providing metrics at :9121/metrics
安装启动Prometheus
我们新开一台机器,同样给2核4G配置,更更新好系统和apt库。
创建用户
sudo groupadd --system prometheus
sudo useradd -s /sbin/nologin --system -g prometheus prometheus
下载并解压
wget https://github.com/prometheus/prometheus/releases/download/v2.52.0/prometheus-2.52.0.linux-amd64.tar.gz
tar xvf prometheus-2.52.0.linux-amd64.tar.gz
修改配置
cd prometheus-2.52.0.linux-amd64
vim prometheus.yml
新增如下内容
- job_name: redis_exporterstatic_configs:- targets: ['172.23.131.103:9121']
启动
mkdir tsdb
./prometheus --config.file ./prometheus.yml --storage.tsdb.path=./tsdb --web.listen-address="0.0.0.0:9090"
安装启动grafana
安装
cd ~
sudo apt-get install -y adduser libfontconfig1 musl
wget https://dl.grafana.com/enterprise/release/grafana-enterprise_11.0.0_amd64.deb
sudo dpkg -i grafana-enterprise_11.0.0_amd64.deb
启动
sudo /bin/systemctl start grafana-server
测试
登录http://172.23.131.19:3000/login,使用用户名和密码都是admin登录grafana。
数据源选择Prometheus,地址填入刚启动的Promethous服务地址。
保存后,新建看板
填入https://grafana.com/grafana/dashboards/14091-redis-dashboard-for-prometheus-redis-exporter-1-x/
参考资料
- https://github.com/oliver006/redis_exporter