Member-only story
Grafana と InfluxDBを使ったKubernetesの監視
ほとんどのソフトウェアアーキテクトや開発者は、システムを監視する必要があることを知っています。しかし、効果的なモニタリングソリューションの導入を妨げているのは、多くの選択肢があることです。モニタリングソリューションをセットアップするには、まず、何を監視したいのか、どのように監視したいのかを決めなければなりません。次に、収集と保管方法を決めなければなりません。
次に、システムで興味深いメトリクスを実装し、それらを収集しはじめなければなりません。最後に、収集したメトリクスを可視化する方法を考えなければなりません。最後の問題の解決策は、Grafanaを使用するだけで簡単に解決できます。Grafanaは、プラグイン可能なバックエンドを使用して、複数のモニタリングソリューションからのデータを可視化することができます。そのデータは分かりやすいダッシュボードを表示し、アラート機能を内蔵しています。お気に入りのデータソースをプラグインすれば、準備は完了です。
InfluxDBは、時系列データの高可用性ストレージと迅速な検索に最適化された時系列データベースです。スタンドアロンのソリューションとして機能することもでき、またGraphiteからのデータ処理に使用することもできます。InfluxDBはモニタリング以外にも、IoT、センサーデータ、ホームオートメーションソリューションにも利用されています。あるいは、Prometheusでのモニタリングに関する記事や、MetricbeatとTelegrafの比較を確認することもできます。このGrafanaチュートリアルでは、Grafanaと連携して使用するInfluxDB監視システムのセットアップとコンフィギュレーションについて説明します。どちらもKubernetesクラスタ内で動作します。
Deploying InfluxDB and Grafana to Kubernetes
既にクラスタを実行している場合は、kubectl がクラスタを使用するようにコンフィギュアされていることを確認してください。そうでない場合は、minikube、microk8s、k3sなどのローカルソリューションを使うことができます。Helmチャートを使って、InfluxDBとGrafanaの両方のパッケージをインストールします。Helmを使用するには、まずHelmクライアント自体が必要です。オペレーティングシステムにもよりますが、macOSやLinuxと使用することができます。
brew install helm
もしくは、Windowsの場合は
choco install kubernetes-helm
Grafana やInfluxDBのためのチャートをインストールするためにHelmを使うための天順です。
helm repo add stable https://kubernetes-charts.storage.googleapis.com/helm install stable/influxdb --name-template influxdbhelm install stable/grafana…