TICK Stack メトリクス

本セクションでは、TICK Stack と Genvid の統合方法を紹介しています。TICK は InfluxData のオープンソースの 時系列プラットフォーム (Time Series Platform) で、4 つのプログラムで構成されています。

  • Telegraf

    メトリクスコレクタ。

  • InfluxDB

    時系列データベース。

  • Chronograf

    Web インターフェイス。

  • Kapacitor

    リアルタイム配信処理エンジン。

シンプルなシステムを使用したメトリクスインターフェイスを以下に紹介します。これらは実際のプロダクションのために開発されたものではありません。現在、以下の制限がかかっています。

  • メトリクスデータとダッシュボード設定は、保持されません。

  • データのスペース割り当て管理はできません。

プロダクション用で TICK を使用する場合、実装については、TICK のマニュアルを直接参照してください。

インストール

ローカルクラスタでは、スタックの Windows バイナリ版をダウンロードします。

py tick.py download
py tick.py setup

1 つ目のコマンドでアーカイブのバイナリをダウンロードし、2 つ目のコマンドで解凍してローカルの .\bin フォルダにインストールします。

ローカル環境の構成

ローカル Bastion の設定後、以下のコマンドを実行します。

py tick.py load

これで、ローカルクラスタに 2 つのジョブとログが追加されます。

Telegraf

statsd 入力にポート 8125 を使用する telegraf 実行システムジョブです (Consul、Nomad および Vault セットアップのデフォルトポート)。

tick

ローカルで influxdkapacitordchronograf を実行する。

また、対応するサービスとログの追加だけでなく、chronograf へのリンクも追加されます。

次に、Genvid サービスを開始します。

注釈

現在の SDK には不具合があり、正常な検出を行うには他のジョブより先に telegraf を開始する必要があります。

genvid-sdk start telegraf
genvid-sdk start

Cluster-UI インターフェイスやコマンドラインから、chronograf を開きます。

genvid-sdk open chronograf

クラウドで実行する

警告

Genvid Tick は、クラスタからより多くのリソースを必要とします。内部インスタンスの数を増やす必要があります (こちらを参照)。 instance_internal_count の設定を 1 つ増やすことで行うことができます。

クラウド環境もローカル環境と同じようなものです。ローカルのバイナリではなく、公式の Docker イメージを、同じ設定で使用します。クラスタ設定後、スクリプトの呼び出しに --cluster を追加します。

ダッシュボードのエクスポートとインポート

tick.py スクリプトには、ダッシュボードをエクスポートおよびインポートする機能があります。これを行うには、ジョブが実行されていることを確認し、次のコマンドを使用します。

# import the dashboards from a file
py tick.py -c mycluster import-dashboards dashboards.json
# export the dashboards to a file
py tick.py -c mycluster export-dashboards dashboards.json

ファイル dashboards.json は、あらかじめ設定したダッシュボードを提供します。

スクリプトリファレンス

Setup script for tick stack

usage: tick.py [-h] [--loglevel {DEBUG,INFO,WARNING,ERROR}] [--logformat LOGFORMAT] [-c CLUSTER_ID]
               {sdk-version,version,env,download,setup,load,unload,import-dashboards,export-dashboards} ...

Positional Arguments

command

Possible choices: sdk-version, version, env, download, setup, load, unload, import-dashboards, export-dashboards

Named Arguments

--loglevel

Possible choices: DEBUG, INFO, WARNING, ERROR

Set the script log level

--logformat

Set the script log format

-c, --cluster_id

The cluster id. If not set with the command line, uses the environment variable GENVID_CLUSTER_ID if it exists. Otherwise defaults to 'local'

Default: "local"

Sub-commands

sdk-version

Print current SDK versions

tick.py sdk-version [-h]

version

Print current versions

tick.py version [-h]

env

Print used environment variables.

tick.py env [-h]

download

Download the archives

tick.py download [-h]

setup

Setup from archives

tick.py setup [-h]

load

Load project

tick.py load [-h]

unload

Unload project

tick.py unload [-h]

import-dashboards

Import chronograf dashboards

tick.py import-dashboards [-h] [file]
Positional Arguments
file

JSON file containing the dashboards

Default: "dashboards.json"

export-dashboards

Export chronograf dashboards

tick.py export-dashboards [-h] [file]
Positional Arguments
file

JSON file containing the dashboards

Default: "dashboards.json"