Redis
 Computer >> コンピューター >  >> プログラミング >> Redis

Redis Enterpriseの監視オプション徹底解説――内蔵機能・Prometheus・REST APIの使い分け

新しい職場での初めての顧客との打ち合わせ。キャパシティプランニング、DNS、地理分散、.NET開発について2日分の計画をしっかり用意して臨んだのに、最初に出された質問が「クラスタとデータベースを効率的に監視するにはどうすればいいですか?」だったら、どう答えますか?

16年の運用経験を持つ私なら準備万端だと自信を持っていました。しかし現実には、「学べば学ぶほど、自分がいかに多くを知らないかに気づく」という言葉どおりでした。今では、新しいソフトウェアを目にするたび、最初に浮かぶ疑問は「本番環境で正しく動作することをどう保証するのか?」、すなわち「どう監視するのか?」です。

そんな思いを込めて、Redis Enterpriseの監視オプションをまとめました。システム内蔵の監視機能から、多くの組織にとって最良の選択肢となるPrometheus Metrics Exporter、そして最も柔軟にサードパーティ監視システムと統合できるREST APIまで。この記事を、単にRedis Enterpriseを運用するだけでなく、その完璧なパフォーマンスを存分に楽しみたい、世界中の運用エンジニアの皆さんに捧げます。

Redis Enterpriseの内蔵監視機能

Redisの監視を始めるなら、まずはRedis Enterpriseのクラスタ管理UIの監視コンソールが最適な出発点となることが多いでしょう。視覚的に見やすく、追加のインストールや設定も一切不要です。「分」間隔ではほぼリアルタイムで動作し、5分、1時間、1日、1週間、1か月、1年といった間隔への切り替えにも対応しています。UIはクラスタ全体、各クラスタノード、各データベースのメトリクスを、それぞれ専用の画面で提供します。

Redis Enterpriseの監視オプション徹底解説――内蔵機能・Prometheus・REST APIの使い分け

Redis Enterpriseのクラスタ管理UI監視コンソールは、クラスタ、ノード、データベースそれぞれのメトリクスを個別の画面で表示します。

さらに、Redis Enterpriseにはアラート機構も標準搭載されています。クラスタと各データベースに対して個別にアラートを設定でき、アラートは管理UIの該当ページ(クラスタのアラートはClusterページ、という具合)に表示されます。また、以下のようにメール(SMTP)経由でアラート通知を送るよう設定することも可能です。

Redis Enterpriseの監視オプション徹底解説――内蔵機能・Prometheus・REST APIの使い分け

表示されるメトリクスとアラートのセットには主要な指標がすべて網羅されているため、インストール完了後わずか数分でRedis Enterpriseの監視を開始できます。しかし、それ以上のことが必要になったらどうでしょうか?具体的には、既存の社内監視インフラへRedis Enterpriseを統合したいケースです。そこで登場するのが、PrometheusとGrafanaです。

Prometheus Metrics Exporter

PrometheusGrafanaは世界的に有名な名コンビで、両者を組み合わせると現代の最も信頼性の高い監視ソリューションの一つになります。Redis EnterpriseクラスタソフトウェアにはPrometheusメトリクス用のエクスポーターが同梱されており、監視統合における最大の難所である「適切なメトリクスの収集」が自動的にカバーされます。

そのおかげで、PrometheusとGrafanaのセットアップおよび設定は迅速かつ簡単に行えます。公式ドキュメントには、Prometheusとの統合手順、エクスポートされるメトリクスの包括的な一覧、基本のGrafanaダッシュボードが記載されています。メトリクスはノード、データベース、シャード、プロキシの各レベルで公開され、アラートはPrometheus AlertManagerで設定したうえで、メール、Slack、PagerDutyなど十数種類のチャネル経由で手軽に配信できます。

Redis Enterpriseの監視オプション徹底解説――内蔵機能・Prometheus・REST APIの使い分け

多くの企業にとって、PrometheusとGrafanaはRedisを監視する最良の手段であり、それは多種多様な最新のハードウェアやソフトウェアの監視においても同様です。

同様に重要な点として、Prometheus Metrics Exporterを利用すれば、Prometheusエクスポーターからメトリクスをスクレイピングできる幅広い監視プラットフォームをRedis Enterpriseに接続できます。たとえばNew Relicは最近、New RelicとPrometheusエクスポーターを統合する方法に関するブログ記事を公開しています。

REST API

さらなる柔軟性を求める企業のために、Redis Enterprise REST APIは豊富な機能を提供しており、統計メトリクスとアラートの両方を取得できます。REST APIは、社内向けか業界標準かを問わず、あらゆるサードパーティ監視システムとの統合を実現する、最も汎用的で柔軟な方法です。REST APIのドキュメントは、Redis Enterpriseソフトウェアがインストールされた各ノードの /usr/share/doc/redis/rlec_rest_api.tar.gz ディレクトリに格納されています。

Redis Enterpriseの監視オプション徹底解説――内蔵機能・Prometheus・REST APIの使い分け

REST API活用の好例としては、Splunkマーケットプレイスで入手できる「Redis Enterprise Add-On for Splunk」が挙げられます。もう一つの優れた例が、AppDynamics Exchangeで公開されているAppDynamicsプラグインです。

まとめ

これらすべてを総合すると、Redis Enterpriseは監視機能が十分に整備されており、状況に応じて最適な監視ソリューションを選択できることがわかります。

筆者の見解では、内蔵の監視機能だけでは不十分な場合、通常はPrometheusとGrafanaの組み合わせが最良の選択です。多数の人気エンタープライズ監視システムと連携できる点も大きな魅力です。このソリューションが組織に合わない場合は、REST APIを使えば事実上あらゆるサードパーティ監視システムと統合できます。そして、それらの選択肢がどれも受け入れられないのであれば――さあ、創造力を発揮するときです!

  1. DynomiteデータベースからRedis Enterprise Active-Activeデータベースへ移行する完全ガイド

    本記事の前編「なぜDynomiteデータベースをRedis Enterprise Active-Activeデータベースに移行すべきか?」では、DynomiteとRedis Enterpriseのアーキテクチャや機能を比較しました。Redis Enterpriseを活用すれば、機能が豊富で管理しやすい形でRedisを地理的に分散配置でき、同時書き込みによる競合を心配する必要がないことをご紹介しました。 後編となる本記事では、DynomiteからRedis Enterpriseへの移行オプションについて詳しく解説します。 なお、以降の説明では、Redis Enterpriseのセルフマネージド版

  2. DynomiteデータベースをRedis Enterprise Active-Activeデータベースに移行すべき理由

    2009年の誕生以来、Redis OSS(オープンソース版)は非常に活発なオープンソースコミュニティを形成してきました。その周辺には数多くのツールやユーティリティが開発されており、非分散型データストア向けのピアツーピア地理分散レイヤーであるDynomiteもその一つです。 DynomiteはNetflixのエンジニアチームによって開発され、オープンソースとして公開されました。特定のニーズに対する優れたソリューションを提供してきましたが、ここ数年は効果的なメンテナンスが行われていません。さらに、DynomiteによるRedis OSSインスタンスの分散モデルのせいで、Redis OSSの一部機