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
ローカルで
influxd
、kapacitord
、chronograf
を実行する。
また、対応するサービスとログの追加だけでなく、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"