InfluxDB Goで記述されたオープンソースの時系列データベースです。高速で高可用性のストレージ用に最適化されており、DevOpsモニタリング、ログデータ、アプリケーションメトリック、IoTセンサーデータ、リアルタイム分析など、大量のタイムスタンプ付きデータを含むあらゆるユースケースのデータストアとして使用されます。
>テレグラフ は、メトリックを収集、処理、集約、および書き込むためのエージェントです。 influxdb、Graphite、Kafka、OpenTSDBなどのさまざまな出力プラグインをサポートします。
Grafana は、オープンソースのデータ視覚化および監視スイートです。 Graphite、Elasticsearch、Prometheus、influxdb、その他多くのデータベースをサポートします。このツールは、アプリやインフラストラクチャのパフォーマンス監視用に独自のダッシュボードを管理および作成する機能を備えた、美しいダッシュボードと指標分析を提供します。
このチュートリアルでは、単一のUbuntu 18.04サーバーを使用してTIGスタック(Telegraf、influxdb、およびGrafana)をインストールおよび構成する方法を示します。ネットワーク、RAMメモリ、稼働時間などのシステム負荷を監視するためにTIGスタックを使用します。
- Ubuntu 18.04
- root権限
何をしますか?
- InfluxDBをインストールする
- InfluxDBデータベースとユーザーを作成する
- TelegrafAgentをインストールする
- テレグラフの構成
- Grafanaをインストールする
- Grafanaデータソースのセットアップ
- Grafanaダッシュボードのセットアップ
この最初のステップでは、時系列データベースinfluxdbをUbuntuシステムにインストールします。同じ「influxdata」リポジトリから「influxdb」と「telegraf」の両方をインストールします。両方のソフトウェアは同じ組織によって作成されました。
influxdataキーを追加します。
sudo curl -sL https://repos.influxdata.com/influxdb.key | sudo apt-key add -
influxdataリポジトリを追加します。
source /etc/lsb-release
echo "deb https://repos.influxdata.com/${DISTRIB_ID,,} ${DISTRIB_CODENAME} stable" | sudo tee /etc/apt/sources.list.d/influxdb.list
次に、リポジトリを更新し、以下のaptコマンドを使用して「influxdb」パッケージをインストールします。
sudo apt update
sudo apt install influxdb -y
インストールが完了したら、influxdbサービスを開始し、システムの起動時に毎回起動できるようにします。
sudo systemctl start influxdb
sudo systemctl enable influxdb
次に、システムで開いているポートを確認します。
netstat -plntu
また、「LISTEN」状態でinfluxdbポート「8088」と「8086」を取得していることを確認してください。
Telegrafエージェントからのすべてのデータを保存するには、influxdbデータベースとユーザーを設定する必要があります。
InfluxDBは、InfluxDBサーバーと対話するための「influx」という名前のCLIツールを提供します。 Influxコマンドは、MySQLの「mysql」やMongoDBデータベースの「mongo」に似ています。
以下の「influx」コマンドを実行します。
influx
これで、ポート「8086」でデフォルトのinfluxdbサーバーに接続されました。
以下のinfluxdbクエリを実行して、新しいデータベースとユーザー「telegraf」をパスワード「hakase-ndlr」で作成します。
create database telegraf
create user telegraf with password 'hakase-ndlr'
次に、データベースとユーザーを確認します。
show databases
show users
influxdbサーバーで「telegraf」という名前のデータベースとユーザーを取得していることを確認してください。
Telegrafは、influxdbを作成したのと同じ組織である「influxdata」によって作成されました。したがって、influxdataキーとリポジトリをシステムに追加すると、両方のアプリケーションをインストールできるようになります。
以下のaptコマンドを使用してtelegrafパッケージをインストールします。
sudo apt install telegraf -y
インストールが完了したら、telegrafサービスを開始し、システムの起動時に毎回起動できるようにします。
sudo systemctl start telegraf
sudo systemctl enable telegraf
テレグラフエージェントが稼働しています。以下のコマンドを使用して確認してください。
sudo systemctl status telegraf
Telegrafはプラグイン駆動型のエージェントであり、4つのコンセプトプラグインタイプがあります。
- 「入力プラグイン」を使用してメトリックを収集します。
- 「プロセッサプラグイン」を使用して、メトリックを変換、装飾、およびフィルタリングします。
- 「アグリゲータープラグイン」を使用してメトリックを作成および集約します。
- 「出力プラグイン」を使用して、influxdbを含むさまざまな宛先にメトリックを書き込みます。
このステップでは、サーバーのシステムメトリックを収集し、出力プラグインとしてinfluxdbを使用するために、基本的な入力プラグインを使用するようにTelegrafを構成します。
'/ etc / telegraf'ディレクトリに移動し、デフォルトの構成ファイルの名前を変更します。
cd /etc/telegraf/
mv telegraf.conf telegraf.conf.default
次に、vimエディターを使用して新しい他の構成「telegraf.conf」を作成します。
vim telegraf.conf
以下に構成を貼り付けます。
# Global Agent Configuration [agent] hostname = "hakase-tig" flush_interval = "15s" interval = "15s" # Input Plugins [[inputs.cpu]] percpu = true totalcpu = true collect_cpu_time = false report_active = false [[inputs.disk]] ignore_fs = ["tmpfs", "devtmpfs", "devfs"] [[inputs.io]] [[inputs.mem]] [[inputs.net]] [[inputs.system]] [[inputs.swap]] [[inputs.netstat]] [[inputs.processes]] [[inputs.kernel]] # Output Plugin InfluxDB [[outputs.influxdb]] database = "telegraf" urls = [ "http://127.0.0.1:8086" ] username = "telegraf" password = "hakase-ndlr"
保存して終了します。
注:
Telegrafは、構成自体の生成を含め、構成を管理するためのtelegrafコマンドを提供し、以下のようにコマンドを実行します。
telegraf config -input-filter cpu:mem:disk:swap:system -output-filter influxdb > telegraf.conf
cat telegraf.conf
テレグラフサービスを再起動し、エラーがないことを確認します。
sudo systemctl restart telegraf
次に、以下のコマンドを使用してテレグラフ設定をテストします。
sudo telegraf -test -config /etc/telegraf/telegraf.conf --input-filter cpu
sudo telegraf -test -config /etc/telegraf/telegraf.conf --input-filter net
sudo telegraf -test -config /etc/telegraf/telegraf.conf --input-filter mem
InfluxDBとTelegrafの構成が完了しました。
このステップでは、データを視覚化するための美しいGrafanaダッシュボードをインストールします。
grafanaキーとリポジトリを追加します。
sudo curl https://packagecloud.io/gpg.key | sudo apt-key add -
echo 'deb https://packagecloud.io/grafana/stable/debian/ stretch main' > /etc/apt/sources.list.d/grafana.list
リポジトリを更新し、以下のaptコマンドを使用してgrafanaパッケージをインストールします。
sudo apt update
sudo apt install grafana -y
インストールが完了したら、grafanaサービスを開始し、システムの起動時に毎回起動できるようにします。
sudo systemctl start grafana-server
sudo systemctl enable grafana-server
grafanaサーバーはデフォルトのポート「3000」で稼働しています。netstatを使用して確認してください。
netstat -plntu
そして、以下のような結果が得られます。
Webブラウザを開き、ポート3000でサーバーのIPアドレスを入力します。
http://192.168.33.15:3000/
デフォルトのユーザー「admin」とパスワード「admin」でログインします。
これで、デフォルトのパスワードを変更するためのページが表示されます。新しいパスワードを入力して、[保存]ボタンをクリックします。
そして、デフォルトのGrafanaダッシュボードにリダイレクトされます。
[データソースの追加]ボタンをクリックして、influxdbデータソースを追加します。
influxdbサーバー構成に関する詳細を入力します。
- 名前:influxdb
- タイプ:influxdb
- URL:http:// localhost:8086 /
一番下のページまでスクロールして、influxdbデータベース設定の詳細を入力します。
- データベース:telegraf
- ユーザー:telegraf
- パスワード:'hakase-ndlr'
[保存してテスト]ボタンをクリックし、[データソースが機能している]結果が表示されることを確認します。
InfluxDBデータソースがGrafanaサーバーに追加されました。
influxdbをデータソースとしてgrafanaサーバーに追加した後、このステップでは、Telegraf入力プラグインのセットアップに基づいてgrafanaダッシュボードをインポートします。
Grafanaは、grafanaプラグインとダッシュボードのリポジトリを提供します。
- Grafanaプラグイン
- Grafanaダッシュボード
grafanaダッシュボードをインポートするには、左側のパネルの[+]メニューをクリックし、[インポート]をクリックします。
次に、URL「https://grafana.com/dashboards/5955」からサンプルのGrafanaダッシュボードを開き、「IDをクリップボードにコピー」ボタンをクリックします。
ダッシュボードIDを貼り付けます。
また、ダッシュボードの設定に自動的にリダイレクトされます。
オプションセクションで、InfluxDBをクリックしてinfluxdbサーバーを選択し、[インポート]ボタンをクリックします。
以下は、インポートされたダッシュボードのスクリーンショットです。
Ubuntu 18.04へのTIGスタック(Telegraf、InfluxDB、およびGrafana)のインストールが正常に完了しました。