Getting Started Guide
利用までの流れ
- インストール
- Coreの設定ファイルの作成
- Coreの起動
- Inputsの起動
- Grafana/AlertManagerの設定
インストール
GitHub Releasesから実行ファイルをダウンロードします。
ダウンロードしたら適切なディレクトリに保存/展開してください。
CLIの利用方法についてはCLIリファレンスを参照してください。
Dockerを利用する場合
GitHub Container RegistryでDockerイメージを配布しています。
Dockerを利用する場合は以下のようにします。
# Coreを起動する場合(Unixドメインソケットでリッスン)
$ docker run -d -w /work -d /your/work/dir:/work ghcr.io/sacloud/autoscaler start
# Grafana Inputsを起動する場合(CoreとはVolume経由でUnixドメインソケットを受け渡して通信する)
$ docker run -d -w /work -d /your/work/dir:/work ghcr.io/sacloud/autoscaler inputs grafana --addr ":8080"
# AlertManager Inputsを起動する場合(CoreとはVolume経由でUnixドメインソケットを受け渡して通信する)
$ docker run -d -w /work -d /your/work/dir:/work ghcr.io/sacloud/autoscaler inputs alertmanager --addr ":8080"
Docker Composeを利用する場合(開発環境向け)
開発環境での動作確認向けにDocker ComposeでPrometheus/Grafana/AutoScalerの動作確認を行うための例を提供しています。 examples/docker-composeを参照してください。
systemdを利用する場合
examples/systemdを参照してください。
Coreの設定ファイル(autoscaler.yaml)の作成
sacloud/autoscalerを実行するにはYAML形式の設定ファイルで対象リソースの定義などを行う必要があります。
設定ファイルの雛形はautoscaler example
で出力できます。
設定ファイルの記載内容についてはConfiguration Referenceを参照してください。
Coreの起動
以下のコマンドでCoreを起動します。
# デフォルト設定で起動
$ autoscaler start
指定可能なオプションは以下の通りです。
$ autoscaler start -h
start autoscaler's core server
Usage:
autoscaler start [flags]...
Flags:
--addr string Address of the gRPC endpoint to listen to (default "unix:autoscaler.sock")
--config string File path of configuration of AutoScaler Core (default "autoscaler.yaml")
-h, --help help for start
--strict Restricting external file loading, etc. in configuration
Global Flags:
--log-format string Format of logging to be output. options: [ logfmt | json ] (default "logfmt")
--log-level string Level of logging to be output. options: [ error | warn | info | debug ] (default "info")
Note: Coreはデフォルトだとunix:autoscaler.sock
でリッスンします。
Inputsを別のマシン上で動かす場合などは--addr
フラグで192.0.2.1:8080
やyour-host-name.com:8080
のようなアドレスを指定する必要があります。
Inputsの起動
以下のコマンドでInputsを起動します。
# Grafana Inputsの場合
$ autoscaler inputs grafana
# AlertManager Inputsの場合
$ autoscaler inputs alertmanager
# Zabbix Inputsの場合
$ autoscaler inputs zabbix
# 汎用Webhook Inputsの場合
$ autoscaler inputs webhook --accept-http-methods "POST,PUT" --executable-path your-executable-path.sh
# Direct Inputsの場合
$ autoscaler inputs direct up
外部監視ツール側の設定
Grafana、AlertManager、またはZabbixを利用する場合、各プロダクト側でアラートの設定、およびWebhookでの通知設定が必要です。
詳細はInputsドキュメントを参照してください。