[和訳] Chef Analytics 1.1.0 リリース #getchef
この記事は1年以上前に投稿されました。情報が古い可能性がありますので、ご注意ください。
本稿は Chef Analytics 1.1.0 Release (2015/01/22) の和訳です。
Chef Analytics 1.1.0 パッケージ(opscode-analytics-1.1.0)のリリースアナウンスを嬉しく思います。1.1.0は新しい製品リリースで、1.0.xシリーズから多くの新機能があります。
このリリースはChef Analyticsダウンロードページからダウンロードできます。
依存関係
Chef Server
Chef Analytics 1.1.0はChef Server 12を要求します。
Chef Serverバージョン12.0.0以降をサポートします。
Chef Serverダウンロードページから取得できます。
Reporting
全機能にはChef Reportingバージョン1.2.3を推奨します。
例えば1.1.7のようなopscode-reportingの低いバージョンを利用できますが、通知の送信やChef Clientの実行でのAudit (訳注:後述)が行えなくなります。
Reportingアドオンダウンロードページから取得できます。
Chef Client
Chef Analytics 1.1.0はChef Client 11またはChef Client 12を要求します。
Chef Client Auditコントロール(訳注:後述)を利用するには、Chef Client 12.2.0.alpha.0が必要です。
次のようにしてインストールできます。
curl -L https://www.chef.io/chef/install.sh | sudo bash -s -- -v 12.2.0.alpha.0
アップグレード
Chef Analytics 1.0.4から1.1.0にアップグレードできます。新規インストール手順と同じ手順に従って、Chef Serverに適用します。
Chef Analyticsの停止
opscode-analytics-ctl stop
パッケージのインストール例
dpkg -i opscode-analytics_1.1.0_amd64.deb
設定前の確認
opscode-analytics-ctl preflight-check
再設定
opscode-analytics-ctl reconfigure
Chef Analyticsの起動
opscode-analytics-ctl restart
機能
新しいデプロイメント・トポロジ
永続サービスをバックエンドノードに起動し、APIサービスをフロントエンドノードに起動しているような、階層トポロジにChef Analyticsをデプロイできるようにしました。
https://docs.chef.io/install_analytics.html は、スタンドアロンと階層モードの両方の完全なインストール方法を含んでいます。
注意: Analyticsサーバのリソース利用のため、Chef ServerとChef Analyticsを同じノードにインストールできていたcombinedトポロジはもはやサポートしません。
OAuth 2.0ベースの認証
Chef Analyticsのすべてのユーザ対話処理の認証にOAuth 2.0を用いるようになりました。これはChef 12に同梱されているoc-idサービスが必要であることを意味します。
OAuth 2.0は、oc-idのようなプロバイダによって発行されたトークンを用いるChef Analyticsのようなアプリケーションで用いられる、トークンベースの認証機構です。これはwebui_priv.pemといった特権Chefキーのような特別な証明書をAnalyticsサーバに保管する必要がないことを意味します。
注意: private-chef.rbにoc_id['applications']を設定するという追加の初期設定が必要です。
コマンドラインツール
Analyticsデータベースに保管されているすべてのオブジェクトに読み込み専用アクセスできるKnifeプラグインを追加しました。また、Chef Clientの証明書をOAuth 2.0トークンに透過的に変換するコードを含む低レベルAPI抽象化ライブラリをリリースしました。
ドキュメント
http://docs.chef.io/analytics/がChef Analyticsの主要なドキュメントです。
ウェブアプリケーションの一部として提供されているAPIのドキュメントはhttp://docs.chef.io/api_analytics.htmlです。
動作の更新
Chef 12での変更により、ユーザの招待とOrganizationへの関連づけとその解除動作を表示できるようになりました。また、Chef Serverでの個々のオブジェクトのパーミッションとグローバルパーミッションの両方のパーミッション変更の詳細を表示できるようになりました。
Chef Client Auditコントロール
Chef Client Auditモードは、Nodeの監査可能な状態がtrueかfalseかを確認するための「コントロール」をChef Cookbookの一部に定義するために用います。次のような場合のためのものです。
- インフラの監査。管理されていないインフラをChefが管理するインフラへ変換するとします。AuditはNodeを「既知の状態」カテゴリに確実に分類するために用いられます。これは未知の問題を明らかにし、記録のためにChef Analyticsに情報を報告します。ChefがNodeを収束し始めるように用いられたら、Auditは管理されたResourceに置き換えられます。
- インフラの検証。例えば、サービスのデプロイを実施するためにChefを用いた後、サービスが生きているかの確認に用います。この情報は、レポートと監査目的のためにChef Analyticsに送られます。
新しいAnalyticsパイプライン
Chef Serverによって発行される多種多様なイベントを処理できるように、Analyticsパイプラインを強化しました。
ルール
パイプラインを通って流れてくるイベントを処理するために、柔軟なルールエンジンを用意しました。これにより、Analyticsはイベント中の特定の条件にマッチさせることができ、次に示すさまざまな動作を実行できます。
- 通知をSMTP、HTTP Webhook、Hipchatに送信
- 例外条件を記録するため、さまざまなプライオリティレベルの警告メッセージを作成
- ウェブインターフェイスやコマンドラインツールで表示やフィルタリングのために、イベントメッセージへのタグの付与
新しいイベントタイプ
Chef Analytics 1.0にあったactionsに加えて、動作レポートとChef Client Auditコントロールの統合を追加しました。
次は1.1.0で導入されたメッセージタイプです。
- run_start - 各Chef Clientの動作開始時に送信
- run_converge - 各Chef Clientの動作終了時に、動作中に収束したResourceに関する情報のまとめを含めて送信
- run_resource - Chef Clientの動作中に収束した各Resourceについて、状態の差異とResourceの差分のような詳細を含めて送信
- run_control_group - 各Chef Clientの動作終了時に、動作中に確認したコントロールに関する情報のまとめを含めて送信
- run_control - 動作中に確認した各コントロールについて送信
通知
Chef Analytics 1.1にて、Eメール通知のように設定できるWebhookを追加して、通知の送信先を拡張しました。統合を手軽にするために、拡張・修正できるWebhookサーバの例を公開しました。
通知はウェブインターフェイスで直接作成でき、notify()関数を通じてルールを参照できます。
差分
Chef Analyticsを通じて、Chef動作による差分をGitHubのようなdiffで閲覧できます。
リリースノート
Chef Analyticsのすべての新機能の詳細を記載したウェブページはこちらです。
サポート契約を持っていてバグを見つけたら、サポートチケットを開いてください。そうでなければanalytics@getchef.comにメールするか(訳注:英語で)、GitHubのchef-analyticsプロジェクトにイシューを報告してください。
変更履歴
変更履歴はこちらです。
1.1.0 (20150121)
- diffビューをサポートするように動作を更新
- Ruby/Chef正規表現演算子と混乱しないように、alaska_rules正規表現演算子を~=から=~に変更
- audit:info()、audit:warn()、audit:error()ルール関数を、alert:info()、alert:warn()、alert:error()に変更
- Chef Client control_groupメッセージを0.1.0から0.1.1に更新
1.1.0-rc.4 (20141217)
- Apache Zookeeperを0.9.3に更新
- Zookeeperのスタンドアローン利用を有効にするための--standalonezkフラグを追加
1.1.0-rc.2 (20141125)
- rabbitmqのalaskaのユーザとパスワードを追加
- スタンドアローンモードの全内部通信のためのローカルrabbitmqとなれるようにrabbitmqにIPアドレスとポートを設定
1.1.0-rc.1 (20141124)
- 最初のリリース候補版