TelegrafとMetricFireでRedisを監視する方法

TelegrafとMetricFireでRedisを監視する方法【設定手順を解説】

Table of Contents

Great systems are not just built. They are monitored.

MetricFire runs Graphite and Grafana as a fully managed service for growing engineering teams, taking care of storage, scaling, and version updates so your team doesn't have to. Plans start at $19/month, billed per metric namespace rather than per host, and include engineer-staffed support. Integrations work natively with Heroku, AWS, Azure, and GCP, and data is stored with 3× redundancy in SOC2- and ISO:27001-certified data centres.

はじめに

Redisインスタンスの監視は、パフォーマンス、信頼性、およびセキュリティを維持するために不可欠です。これにより、問題の早期検出、リソースの最適化が可能となり、開発者とエンドユーザーの両方にシームレスな体験を提供できます。データベースを監視することで、メモリ使用量、CPU使用率、クエリの応答時間などの主要なパフォーマンス指標の追跡が実現します。これらの指標を分析することで、パフォーマンスのボトルネックを特定し、クエリを最適化し、Redisが効率的に動作することを保証できます。また、Redisの監視は、問題や異常をリアルタイムで検知・診断するのにも役立ちます。トラフィックの急激な増加、メモリリーク、ネットワークの問題など、どのような状況であっても、監視によって早期の警告が得られ、問題の迅速な解決が可能になります。

本記事では、Telegrafエージェントを使用してRedisのパフォーマンス統計情報を収集し、それをデータソースに転送する方法について詳しく解説します。

Telegrafエージェントの導入

Telegrafは、InfluxDBをベースに構築されたプラグイン駆動型のサーバーエージェントであり、データベース、システム、プロセス、デバイス、アプリケーション、その他サードパーティサービスからメトリクスやイベントを収集して送信します。TelegrafはGo言語で記述されており、外部依存関係のない単一バイナリとしてコンパイルされ、必要なメモリ使用量も最小限です。ほとんどのオペレーティングシステムに対応しており、さまざまなシステムパフォーマンスメトリクスを収集・転送するための便利な出力プラグインおよび入力プラグインを多数備えています。

Telegrafのインストール(Linux/RedHat)

Telegrafをダウンロードして解凍します(最新バージョンや各種OS向けのインストールコマンドについては、Telegraf公式ドキュメントをご確認ください)。パッケージおよびファイルは通常、/etc ディレクトリにインストールされます。

Ubuntu/Debian
wget https://dl.influxdata.com/telegraf/releases/telegraf_1.21.2-1_amd64.deb
sudo dpkg -i telegraf_1.21.2-1_amd64.deb

RedHat/CentOS

wget https://dl.influxdata.com/telegraf/releases/telegraf-1.21.4-1.x86_64.rpm
sudo yum localinstall telegraf-1.21.4-1.x86_64.rpm

出力先の設定

Telegrafは、Kafka、Graphite、InfluxDB、Prometheus、SQL、NoSQLなど、さまざまな出力先へデータを送信するよう設定できます。

この例では、TelegrafをGraphite出力で設定します。現在データソースをホスティングしていない場合は、次の手順を進めるために、MetricFireのHosted Graphite無料トライアルを開始できます。

Hosted Graphiteアカウントを利用することで、データソースに加え、アラート機能や可視化ツールであるHosted Grafanaも利用できます。

Graphite出力を設定するには、ダウンロードしたTelegraf設定ファイル /etc/telegraf/telegraf.conf を任意のテキストエディタで開きます。その後、以下の変更を加えてください。

以下の行を探してコメントアウトします。

# [[outputs.influxdb]]

次に、以下の行のコメントを解除します。

[[outputs.graphite]]

続いて、server行のコメントを解除し、以下のように編集します。

servers = ["carbon.hostedgraphite.com:2003"]

最後に、prefix行のコメントを解除し、以下のように編集します。

prefix = "<YOUR_API_KEY>.telegraf"
まだHosted Graphiteアカウントをお持ちでない場合は、無料トライアルに登録してHosted Graphite APIキーを取得してください。
もしくは、別のtelegraf出力を設定し、他のデータソースへメトリクスを転送することも可能です。

Telegraf Redis入力プラグインの設定

Telegrafには、多くの一般的な技術やサードパーティソースから幅広いデータを収集できる入力プラグインが多数用意されています。この例では、Redisデータベースからメトリクスを収集し、転送する方法を紹介します。

まず、telegraf.confファイル内で inputs.redis セクションを検索し、[[inputs.redis]] 行のコメントを解除します。

 
[[inputs.redis]]

次に、servers 行のコメントを解除します(デフォルトではlocalhostの6379ポートが設定されています)。


    servers = ["tcp://localhost:6379"]

    必要に応じて、redis.conf ファイルを開き、localhostへのbind設定をコメントアウトしたうえで、すべてのIPアドレスからの接続を受け付けるために bind 0.0.0.0 を追加できます。


    # bind 127.0.0.1 ::1
    bind 0.0.0.0

    最後に、変更内容を保存し、Redisサービスを再起動した後、以下のコマンドでtelegrafデーモンを実行します。これにより、出力内容から設定エラーがないか確認できます。


    telegraf --config telegraf.conf

    これでTelegrafは、設定したデータソースへインスタンスごとにおよそ150種類のメトリクスを転送します。TelegrafのGraphite出力を使用している場合、メトリクスは以下の形式になります。

    telegraf.<host>.<db_port>.<db_replication_role>.<db_server>.redis.<metric>

    これにより、CPU、メモリ、クライアント数、キー数、オペレーション、エラー、デフラグ、Publish/Subscribeなど、Redisのパフォーマンスメトリクスを受信できるようになります。

    Redisプラグインに関する追加情報や設定オプションについては、公式GitHubリポジトリをご確認ください。

    MetricFireのHosted Graphiteでカスタムダッシュボードとアラートを作成

    MetricFireは、サーバー、データベース、ネットワーク、プロセス、デバイス、アプリケーションからメトリクスやデータを収集・可視化・分析できる監視プラットフォームです。MetricFireを利用することで、インフラ内の問題を容易に特定し、リソースを最適化できます。MetricFireのHosted Graphiteを利用すれば、監視ソリューションを自前でホスティングする負担がなくなり、より重要な作業に時間を割くことができます。

    Hosted Graphiteのアカウントを作成し、前述の手順でTelegrafエージェントをサーバーへ設定すると、メトリクスはHosted Graphiteバックエンドへ転送・タイムスタンプ付与・集約されます。

    1. メトリクスは、次のGraphite形式で送信・保存されます:metric.name.path <numeric-value> <unix-timestamp>

    2. ドット区切りの記法はツリー構造のデータ形式を提供するため、効率的なクエリが可能です。

    3. メトリクスはHosted Graphiteアカウント内に2年間保存され、それらを利用してカスタムアラートやGrafanaダッシュボードを作成できます。

    Hosted GraphiteのHosted Grafanaでダッシュボードを構築

    Hosted Graphite UIで、Dashboards => Primary Dashboardsへ移動し、「+」ボタンを選択して新しいパネルを作成します。

    create panel

    その後、クエリUIを使用してGraphiteメトリクスパスを選択できます(Hosted Graphiteアカウント経由でGrafanaへアクセスしている場合、デフォルトのデータソースはHosted Graphiteバックエンドになります)。

    add-query

    :Hosted Graphiteデータソースは、指定したパスに一致するすべてのメトリクスを取得するためのワイルドカード(*)検索にも対応しています。

    さらに、summarize()のようなGraphite関数を適用し、10分、1時間、24時間単位で値を集計できます。

    add-functions

    Grafanaには、さまざまな可視化設定、表示のカスタマイズ、単位設定に加え、ダッシュボード変数やイベントアノテーション設定などの高度な機能も多数用意されています。

    上記の例では、メトリクスシリーズのインデックス4に対して「instance」というダッシュボード変数が設定されています。詳細についてはHosted Graphiteのダッシュボードドキュメントをご確認ください。

    Graphiteアラートを作成

    Hosted Graphite UIで、Alerts => Graphite Alertsへ移動し、新しいアラートを作成します。アラート名を設定し、alerting metricフィールドへクエリを追加し、このアラートが何を監視するものか説明文を入力します。

    create-alert

    次に、Alert Criteriaタブを選択してしきい値を設定し、通知チャネルを選択します。デフォルトの通知チャネルは、Hosted Graphiteアカウント登録時に使用したメールアドレスです。ただし、Slack、PagerDuty、Microsoft Teams、OpsGenie、カスタムWebhookなどの通知チャネルも簡単に設定できます。通知チャネルの詳細についてはHosted Graphiteの公式ドキュメントをご確認ください。

    set-criteria

    まとめ

    データベース監視は、最適なパフォーマンスの維持、問題の早期検知と対処、そしてデータ整合性の維持を実現するために、企業にとって非常に重要です。メモリ使用量、レスポンスタイム、セキュリティイベントなどの主要メトリクスを追跡することで、企業はリソース使用率を最適化し、ダウンタイムを防止し、Redisインフラ全体の信頼性を向上させることができます。効果的な監視により、適切な意思決定、迅速な問題解決、優れたユーザー体験が可能となり、ビジネス運営の成功と効率化につながります。

    ダッシュボードやアラートなどのツールは、リアルタイムの可視化、問題のプロアクティブな特定、過去トレンドの分析、そして情報に基づく意思決定を支援することで、データをさらに有効活用できるようにします。これらは、堅牢で効率的なインフラを維持するうえで欠かせない要素です。

    無料トライアルに登録して、今すぐRedisインスタンスの監視をお試しください。また、デモを予約し、監視ニーズについてMetricFireチームへ直接ご相談いただくことも可能です。

    You might also like other posts...
    metricfire May 25, 2026 · 3 min read

    TelegrafとMetricFireで始めるPostgreSQL監視ガイド

    本記事では、TelegrafとMetricFireを使ってPostgreSQLを監視する方法を解説。メトリクス収集、Grafanaダッシュボード作成、Graphiteアラート設定まで、DBパフォーマンス監視の手順を詳しくご紹介します。 Continue Reading

    metricfire May 20, 2026 · 3 min read

    Lokiのパフォーマンス監視を簡単に実現するTelegraf活用法

    本記事では、Telegrafを使ってLokiのパフォーマンスメトリクスを収集・監視する方法を解説。取り込みレート、クエリ遅延、キャッシュ効率、リソース使用率を可視化し、Hosted GraphiteとGrafanaで効率的な監視環境を構築できます。 Continue Reading

    metricfire May 19, 2026 · 3 min read

    アラートノイズを削減する:Graphiteにおけるメトリクス命名のベストプラクティス

    本記事では、Graphiteでアラートノイズを削減するためのメトリクス命名ベストプラクティスを解説。サービスレベルグループ化、ワイルドカード設計、シグナル構造化によって、よりスケーラブルで保守しやすい監視を実現する方法をご紹介します。 Continue Reading

    header image

    We strive for 99.95% uptime

    Because our system is your system.

    14-day trial 14-day trial
    No Credit Card Required No Credit Card Required