Redis管理平臺,提供一個Redis雲管理平臺:實現多種類型(Redis Standalone、Redis
Sentinel)自動部署、解決Redis實例碎片化現象、提供完善統計、監控、運維功能、減少運維成本和誤操作,提高機器的利用率,提供靈活的伸縮性。repoll目前還在功能開發階段,當前release的版本只支持單機和哨兵的模式。
標題平臺部署
參見 https://github.com/NaNShaner/repoll
標題創建用戶(開發角色)
公司內部對於開發角色提供自助申請redis資源的權限。僅限於申請。如下圖所示,
1、點擊新建初始化用戶名和密碼,勾選職員狀態允許用戶登錄平臺。
2、賦予該用戶redis實例的申請權限(如果熟悉django的admin框架可以建立組已被以後複用),選擇下圖中兩項
3、使用新建賬號登錄平臺
至此,申請權限就配置完成。
Redis實例申請
redis實例申請so easy。分別輸入下圖各字段,目前cluster模式不支持。輸入完畢,點擊確認即進入後臺管理員審批狀態。
Redis實例審批
管理員登錄平臺,點擊Redis實例申請,勾選需要審批的redis實例。也可以多選批量進行審批通過。
Redis實例配置上線
這裏可以是DBA的工作,當然也可以是應用運維來幹,看公司內部組織安排。點擊進入實例配置界面,按照平臺既定的規則輸入redis的IP、端口、實例內存等等。
上圖:
開啓實例QPS的採集功能
平臺使用django-crontab實現定時採集功能
cd /path/to/repoll/
python3 manage.py crontab add
查看已運行實例
目前平臺提供啓動、停止和查看qps的功能。上圖:
已運行實例
Redis實例的QPS
redis部署腳本
傳送門: https://github.com/NaNShaner/repoll/blob/master/repoll-init.sh
平臺自動生成的配置文件
daemonize yes
tcp-backlog 511
timeout 0
tcp-keepalive 60
loglevel notice
databases 16
dir /opt/repoll/data
stop-writes-on-bgsave-error no
repl-timeout 60
repl-ping-slave-period 10
repl-disable-tcp-nodelay no
repl-backlog-size 10M
repl-backlog-ttl 7200
slave-serve-stale-data yes
slave-read-only yes
slave-priority 100
lua-time-limit 5000
slowlog-log-slower-than 10000
slowlog-max-len 128
hash-max-ziplist-entries 512
hash-max-ziplist-value 64
list-max-ziplist-entries 512
list-max-ziplist-value 64
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
activerehashing yes
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit slave 512mb 128mb 60
client-output-buffer-limit pubsub 32mb 8mb 60
hz 10
port 1112
maxmemory 12m
maxmemory-policy volatile-lru
appendonly yes
appendfsync everysec
appendfilename appendonly-1112.aof
dbfilename dump-1112.rdb
aof-rewrite-incremental-fsync yes
no-appendfsync-on-rewrite yes
auto-aof-rewrite-min-size 64m
auto-aof-rewrite-percentage %d
rdbcompression yes
rdbchecksum yes
repl-diskless-sync no
repl-diskless-sync-delay 5
save 900 1
save 900 10
save 900 10000
maxclients 10000
hll-sparse-max-bytes 3000
min-slaves-to-write 0
min-slaves-max-lag 10
aof-load-truncated yes
logfile /path/to/repoll/logs/1112.log