tech.guitarrapc.cóm

Technical updates

Redis向け GUI ツール RedisInsight を使う

Redis を扱うにあたって、GUIでRedisの状態が把握できるツールがあると開発していて便利です。

最近は RDBTools を使っていたのですが、2か月ぶりにサイトをみると 2019/12/31 でEOLとのアナウンスと RedisInsight のGAリリースが出ていました。

このRedisInsight が、無料で使えるRedis GUIの中で完成度が高く、Redis Labs 本家が開発しているのでオススメできそうです。

目次

TL;DR

  • Redis のGUIツールとして、以前RDBTools を紹介したのですが31st December 2019 で EOL を迎えます
  • 後継ツールとして RedisInsight が RedisLabs からGAリリースされています
  • 安定しており、RDB Toolsにあった無料ユーザー制約も解除されて使いやすいのでオススメ

redislabs.com

その他のGUIツール

RedisLab で紹介されています。

So, You're Looking for the Redis GUI? | Redis Labs

  • RedisInsight
  • Redsmin
  • Redis Commander
  • Redis Desktop Manager
  • Induction (開発終了)

いろいろありますが好きなのを使うといいでしょう。 触った感触は RedisInsight がRDBToolsと同様の使いやすさで好みです。 Redis Desktop Manager は、どんどん好みとずれているので一年前から使うのをやめました。

もともとRDBToolsは HashedInが開発しており、Redis Labs が買収しました。 Redis Labs 案外こういう動きがあるので面白いです。

Redis Labs has acquired RDBTools from HashedIn

ダウンロード/インストール

ドキュメントを見つつ進めるといいでしょう。

docs.redislabs.com

インストール時の注意

もし、すでにRDBTools をインストールしていた場合注意が必要です。

RedisInsightはRDBTools とポートがバッティングするので、、先に RDBTools をアンインストールしてからインストールが必要です。 手元でアンインストールを忘れて入れたところ盛大にバッティングしたので、次の手順が安定だと思います。

  • RDBTools の停止
  • RDBTools アンインストール
  • RedisInsight インストール

Docker

docker で立ち上げておけばインストール不要で便利です。 docker-compose でローカルのRedisを起動する構成にしているなら、まとめて立ち上げてもいいでしょう。

docker run -d -v redisinsight:/db -p 8001:8001 redislabs/redisinsight

docs.redislabs.com

私はdocker-compose でredis と一緒にあげています。

version: "3"

networks:
  redis:
    driver: bridge

services:
  redis:
    image: redis:5.0.7-alpine
    ports:
      - 6379:6379
    command: redis-server --requirepass MY_SUPER_AWESOME_PASSWORD
    networks:
      - redis

  redisinsight:
    image: redislabs/redisinsight:latest
    ports:
      - 8001:8001
    volumes:
      - ./redisinsight:/db
    networks:
      - redis

ローカルインストール

自分のPCにインストールするなら、トップからダウンロードができます。

https://redislabs.com/redisinsight/

RedisInsightのダウンロード

まだインストーラーが Chocolatey/Scoop や Homebrew で提供されておらずダウンロードしてインストールが必要です。 ダウンロードには、フォーム入力で Email とかいろいろ入力求められるのでいい感じで入れます。

なおダウロードリンクです。

Linux上でも起動できるのでいい感じで使えるでしょう。 もちろん WSL 上の Ubuntu でいれて Windows から見るとかでもいいのです。

gist.github.com

起動

RDBTools 同様に、ブラウザで操作をします。

DockerやLinuxなら起動後メッセージが出るので、ブラウザでアクセスすればokです。

Starting webserver...
Visit http://0.0.0.0:8001 in your web browser.
Press CTRL-C to exit.

WindowsならRedisInsight でスタートメニュー検索で起動すると、localhost:8001 でホスティングしてブラウザが自動的に開きます。

Windows のスタートメニューで RedisInsightで検索

RedisInsightの起動ダイアログ

接続

任意のRedisに接続できるます。また、EC2から実行することで ElastiCache を自動探索したり、使っているならRedis Enterprise の探索オプションがあります。

自分の接続したいRedis Databaseの追加

ローカルに起動したRedis on Dockerへの接続を見てみましょう。

  • ローカルの Redis を docker-compose などで立ち上げます。(リモート先のRedisが接続可能ならそれでも
  • Add Redis Database を選んで接続情報を入力します
  • Nameは適当にどうぞ
  • Host は 名前解決面倒なので、127.0.0.1 で
  • Port は 6379 (プレースホルダーに見えるけど入れないとダメです
  • Password を設定しているなら入れましょう

ローカル にDockerで立てたRedisへ接続

接続情報が正しければつながるのが確認されて登録できます。

一覧に戻るので自分で入れたNameのRedisを選択してお好きにどうぞ!

追加したDatabaseが表示される

できること

RDBTools と基本UI構成は同じですが機能的には圧倒的にいいです。 とりあえず欲しい機能はほぼすべて入っています。クラスタシャード管理がないぐらいかな

  • 無料でも時間制限がなくなった (RDB Tools で無料ユーザーだとこの制約がありました)
  • CLIがブラウザから実行できる(別途インストールも不要
  • Stream/Profiler のサポート
  • SlowLog も確認できます
  • メモリを Exportできるので、ほかの人の環境に突っ込むこともできます。(RDBがいいですね。人間が見たり、プログラムで分析するなら JSON
  • Config の確認
  • クライアント一覧の確認

CLIの実行

Redis CLIの実行

Stream への接続

Streamへの接続

Analysis

Analysisでキーの状況を分析

キーごとのMemory の使用量を確認

データのExport

JSON で出力できるのはうれしいですね。

{"hashkey_01" : {"address": "127.0.0.1", "port": "80", "name": "pod-12345"}}

Configを確認したり書き換えが可能です。

接続しているクライアントを確認できるのもいいでしょう。

できないこと

UI上は RDB Tools にあった Cluster Management が消えているように見えますが、それ以外は拡充されているように見えます。

RDBToolsにあった Cluster Management

まとめ

今のところ触った限りでは Windows, macOS 上で動作も安定しています。 ローカル開発環境は docker-compose で Redis/DB がまとめて起動するので、組み込みました。

RedisInsightに限らず、操作をブラウザから行うツールが最近増えていますが、非常に使いやすいので今後も増えるとうれしいですね。

RedisInsight おすすめです。