時系列データベースにメトリクスを格納するためのTelegrafとQuestDBの使用
13267 ワード
Telegrafは、収集、処理、集約、およびメトリクスを書くためのプラグイン駆動サーバーエージェントです.With more than 200 plugins , それは、実行中のサーバー、アプリケーションデータまたはファイルシステムの変更についてのほぼすべての種類のデータを収集することができます.
telegrafは例外的な量とデータの多様性を収集することができますが、我々はいくつかの時点でこの情報を格納し、可視化する必要があります.我々は時間をかけてメトリックを収集することを考えると、時系列データを格納する便利な方法は、時系列データベースを使用しています.使いましょうQuestDB 摂取のために、そして、このチュートリアルの若干の基本的な可視化を実行してください.
複数のクライアントを使用すると、同時にさまざまなソースからのデータが順番に到着することができます.QuestDBはこの種のデータを削除する欠点を持っていました.QuestDBチームはthe 6.0 release , 意味を挿入する前に自分自身をソートするような任意の回避策を適用する必要はありません.
このチュートリアルでは、複数の仮想マシンを設定すると、telegraf、questdbをインストールし、どのように我々はサーバーのステータス(負荷、CPU、スワップ、メモリの使用量についての着信データを視覚化することができます)を介して時間をかけて設定します.
DigitaloceanとQuestDBの市場提供の最近の公開市場デビューを祝って、我々は祝賀に参加するつもりです.したがって、チュートリアルには以下のリソースが必要です. DigialAcealアカウント(無料で100ドルのクレジットを得るためにサインアップすることによって)this link ) 基本 基礎知識 十分に話して、右にジャンプして、我々の水滴を作成しましょう!
作成するリソースは以下の通りです. 保存し、メトリクスを可視化するための1つのx QuestDB液滴. テレグラフエージェント収集システムメトリクスを実行する2 x液滴
データベース液滴から始めましょう.DigialOceanは、そのスタッフによってレビューされた、ワンクリックのアプリ、いわゆる、プリインストールされた優れた市場を提供しています.QuestDBは市場で入手可能です.したがって、セットアップは30秒未満です. 移動するmarketplace listing
をクリックします あなたの液滴と望ましい資源の基本計画を選択してください あなたに最も近いあなたの選択の領域を選択してください 「認証」セクションで、SSHキーを選択するか、ドロップダウンのアカウントのパスワードを設定します ホスト名を設定する 他のすべての設定をデフォルトで残し、ページの一番下にある「液滴を作成」をクリックします
約30秒で、QuestDBは使用可能です.我々がすべてを首尾よくセットアップすることを確認するために、それをクリックして
私たちはまだクエリのためにデータベース内の任意のデータを持っていないので、次の手順は、検査のためのQuestDBにいくつかのメトリックを送信することです.ダミーデータを作成するスクリプトは常に開始するのに良いですが、この場合、デモマシンで収集された実際のデータを使用しますので、合成データの代わりに適切なメトリックを再生できます.
EndexDBラインプロトコルを使用して、直接QuestDBにTelegrafを介してデータを送信します.次のステップは、いくつかの液滴を作成し、telegrafエージェントを起動し、questdbにそれらを指すことです.次の手順に従って液滴を作成します. 移動するDroplets dashboard
ページの右上部で、「Create」をクリックして セクションを選択します あなたの液滴と最小のリソースタイプの基本計画を選択してください あなたに最も近いあなたの選択の領域を選択してください 「認証」セクションで、SSHキーを選択するか、ドロップダウンのアカウントのパスワードを設定します 液滴の数を2に設定します ホスト名を設定する 他のすべての設定をデフォルトで残し、ページの一番下にある「液滴を作成」をクリックします 以前の滴の作成と比較して、DigitalAceanは1つの代わりに2つの液滴を作成します.数秒で、液滴はtelegrafエージェントを始める準備ができています.
この節では、3つの液滴にテレグラファー剤をインストールします.Telegrafをインストールするには、公式のインストール方法に従います.
まず第一に、ログイン
エージェントはインストールされますが、まだ構成されません.設定するには、新しい設定ファイルを作成しましょう
最後に、残りの液滴にtelegrafをインストールします.あなたが予想するように、QuestDB液滴と同じプロセスを実行しなければなりません.両方の液滴にssh.
必要な署名キーを追加し、ローカルAPTリポジトリリストを準備します.
以下に注意してください
この時点で、いくつかの着信データを可視化するために、すべてのコンポーネントを設定して実行している.移動する
グラフタブをクリック グラフの種類を ラベルを設定する プロット
QuestDBのための新しい市場提供を使用して、QuestDBをQuestDBをインストールしました.そして、Telegrafを通してQuestDBに実際のメトリクスを報告するために、複数の液滴をセットアップして、対話的なコンソールでこれらのメトリクスを視覚化しました.このチュートリアルでは、レポートと可視化のためのQuestDBのようなデータベースへの時系列データとして実際のシステムメトリクスを送信する方法を示しています.
次のステップについては、他のアプリケーションからの洞察をつかむためにtelegrafがサポートする追加の統合のいくつかを実験することができますuse the Grafana integration that QuestDB offers 視覚化のためのより詳細なダッシュボードを設定したり、警告や通知も.
あなたの注意をありがとう!
telegrafは例外的な量とデータの多様性を収集することができますが、我々はいくつかの時点でこの情報を格納し、可視化する必要があります.我々は時間をかけてメトリックを収集することを考えると、時系列データを格納する便利な方法は、時系列データベースを使用しています.使いましょうQuestDB 摂取のために、そして、このチュートリアルの若干の基本的な可視化を実行してください.
複数のテレグラフクライアントと順序データ
複数のクライアントを使用すると、同時にさまざまなソースからのデータが順番に到着することができます.QuestDBはこの種のデータを削除する欠点を持っていました.QuestDBチームはthe 6.0 release , 意味を挿入する前に自分自身をソートするような任意の回避策を適用する必要はありません.
このチュートリアルでは、複数の仮想マシンを設定すると、telegraf、questdbをインストールし、どのように我々はサーバーのステータス(負荷、CPU、スワップ、メモリの使用量についての着信データを視覚化することができます)を介して時間をかけて設定します.
必要条件
DigitaloceanとQuestDBの市場提供の最近の公開市場デビューを祝って、我々は祝賀に参加するつもりです.したがって、チュートリアルには以下のリソースが必要です.
shell
知識vi
/vim
/nano
または任意の端末ベースのテキストエディタディジタル海洋液滴の設置
作成するリソースは以下の通りです.
QuestDB液滴を作成する
データベース液滴から始めましょう.DigialOceanは、そのスタッフによってレビューされた、ワンクリックのアプリ、いわゆる、プリインストールされた優れた市場を提供しています.QuestDBは市場で入手可能です.したがって、セットアップは30秒未満です.
telegraf-questdb-tutorial
約30秒で、QuestDBは使用可能です.我々がすべてを首尾よくセットアップすることを確認するために、それをクリックして
http://<IP ADDRESS>:9000/
どこ<IP ADDRESS>
IPアドレスをコピーしました.対話的なコンソールはロードしなければなりません、そして、我々はデータベースに質問し始めることができて、データを挿入することができます!Telegrafエージェントを使ってデジタルの滴を作成
私たちはまだクエリのためにデータベース内の任意のデータを持っていないので、次の手順は、検査のためのQuestDBにいくつかのメトリックを送信することです.ダミーデータを作成するスクリプトは常に開始するのに良いですが、この場合、デモマシンで収集された実際のデータを使用しますので、合成データの代わりに適切なメトリックを再生できます.
QuestDB exposes a reader for InfluxDB line protocol which allows using QuestDB as a drop-in replacement for InfluxDB and other systems which implement this protocol. – questdb.io
EndexDBラインプロトコルを使用して、直接QuestDBにTelegrafを介してデータを送信します.次のステップは、いくつかの液滴を作成し、telegrafエージェントを起動し、questdbにそれらを指すことです.次の手順に従って液滴を作成します.
Ubuntu
( 20.04 LTS x64
執筆時telegraf-agent-1
and telegraf-agent-2
QuestDBにメトリクスを送信するためのテレグラフの設定
この節では、3つの液滴にテレグラファー剤をインストールします.Telegrafをインストールするには、公式のインストール方法に従います.
QuestDB液滴へのtelegrafのインストール
まず第一に、ログイン
telegraf-questdb-tutorial
液滴ssh root@<IP ADDRESS>
どこ<IP ADDRESS>
液滴のIPアドレスです.次に、サーバー上で、次のように実行して、インストール用にtelegrafクライアントを使用します.# Download the signing keys from influxdata.com
curl -s https://repos.influxdata.com/influxdb.key | apt-key add -
# Source release information
source /etc/lsb-release
# Add influxdata.com APT repository to the APT repository list
echo "deb https://repos.influxdata.com/${DISTRIB_ID,,} ${DISTRIB_CODENAME} stable" | tee /etc/apt/sources.list.d/influxdb.list
# Fetch available repositories and read package lists
apt-get update
我々は、利用可能なリポジトリのリストにaptリポジトリを追加するために上記のコマンドを実行しています.今、我々は実行することにより、任意のパッケージで行うようにエージェントをインストールすることができますapt-get install -y telegraf
.エージェントはインストールされますが、まだ構成されません.設定するには、新しい設定ファイルを作成しましょう
/etc/telegraf/telegraf.d/questdb.conf
次のコンテンツを使用します.# Configuration for Telegraf agent
[agent]
## Default data collection interval for all inputs
interval = "5s"
# Write results to QuestDB
[[outputs.socket_writer]]
# Write metrics to a local QuestDB instance over TCP
address = "tcp://127.0.0.1:9009"
# Read metrics about CPU usage
[[inputs.cpu]]
# Read metrics about memory usage
[[inputs.mem]]
# Read system statistics, like load on the server
[[inputs.system]]
設定ファイルを保存した後、我々は1つのことを残しているsystemctl restart telegraf
. 5秒で、エージェントはQuestDBに報告を開始します.デモ液滴にテレグラフをインストールする
最後に、残りの液滴にtelegrafをインストールします.あなたが予想するように、QuestDB液滴と同じプロセスを実行しなければなりません.両方の液滴にssh.
telegraf-agent-1
and telegraf-agent-2
.必要な署名キーを追加し、ローカルAPTリポジトリリストを準備します.
# Download the signing keys from influxdata.com
curl -s https://repos.influxdata.com/influxdb.key | apt-key add -
# Source release information
source /etc/lsb-release
# Add influxdata.com APT repository to the APT repository list
echo "deb https://repos.influxdata.com/${DISTRIB_ID,,} ${DISTRIB_CODENAME} stable" | tee /etc/apt/sources.list.d/influxdb.list
# Fetch available repositories and read package lists
apt-get update
実行してtelegrafをインストールしますapt-get install -y telegraf
と設定ファイルを編集/etc/telegraf/telegraf.d/reporter.conf
次のようにします.以下に注意してください
socket_writer
設定のアドレス<QUESTDB IP ADDRESS>
, questdb液滴のIPアドレスです.# Configuration for Telegraf agent
[agent]
## Default data collection interval for all inputs
interval = "5s"
# Write results to QuestDB
[[outputs.socket_writer]]
# Write metrics to a local QuestDB instance over TCP
address = "tcp://<QUESTDB IP ADDRESS>:9009"
# Read metrics about CPU usage
[[inputs.cpu]]
# Read metrics about memory usage
[[inputs.mem]]
# Read system statistics, like load on the server
[[inputs.system]]
テレグラファーエージェントを再起動しますsystemctl restart telegraf
QuestDB液滴と同じように;数秒後に、エージェントは我々のデータベースに報告を始めます.遠隔グラフメトリクスにおけるSQL質問の実行
この時点で、いくつかの着信データを可視化するために、すべてのコンポーネントを設定して実行している.移動する
http://<QUESTDB IP ADDRESS>:9000
ここで<QUESTDB IP ADDRESS>
QuestDB液滴のIPアドレスで、SQLエディタで次のSQL文を書きます.SELECT * FROM cpu
これは、テレグラフによって送られたCPUメトリックのテーブル内のすべてのデータを返します.マシンあたりの平均CPU使用量のような集約を簡単に作成できます.SELECT
host,
avg(usage_system) cpu_average,
timestamp
FROM cpu
より複雑なクエリを実行したいなら、3つのテーブル間の結合を行うことができます.SELECT
cpu.host,
avg(mem.used_percent) mem_usage_average,
avg(cpu.usage_system) cpu_average,
avg(system.load1) load1_average,
cpu.timestamp as timestamp
FROM cpu
INNER JOIN mem ON mem.host = cpu.host
INNER JOIN system ON system.host = cpu.host
SAMPLE BY 5m
ORDER BY timestamp DESC
このデータを可視化するには、次のSQLを使用してクエリのメモリ使用状況を確認します.SELECT
host,
avg(mem.used_percent) usage_average,
timestamp
FROM mem
WHERE host = 'telegraf-agent-1'
SAMPLE BY 30s
ORDER BY timestamp DESC
QuestDBは、このように使用することができますビルド機能の基本的な:line
timestamp
usage_average
シリーズとクリック概要
QuestDBのための新しい市場提供を使用して、QuestDBをQuestDBをインストールしました.そして、Telegrafを通してQuestDBに実際のメトリクスを報告するために、複数の液滴をセットアップして、対話的なコンソールでこれらのメトリクスを視覚化しました.このチュートリアルでは、レポートと可視化のためのQuestDBのようなデータベースへの時系列データとして実際のシステムメトリクスを送信する方法を示しています.
次のステップについては、他のアプリケーションからの洞察をつかむためにtelegrafがサポートする追加の統合のいくつかを実験することができますuse the Grafana integration that QuestDB offers 視覚化のためのより詳細なダッシュボードを設定したり、警告や通知も.
あなたの注意をありがとう!
Reference
この問題について(時系列データベースにメトリクスを格納するためのTelegrafとQuestDBの使用), 我々は、より多くの情報をここで見つけました https://dev.to/gaborboros/using-telegraf-and-questdb-to-store-metrics-in-a-time-series-database-1jcaテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol