[レポート]トレーニングセッション「Alteryx Serverのサポート」- Alteyrx Inspire 2018 #alteryx18
現地時間2018年06月04日〜2018年06月07日に米国アナハイムで開催されたAlteryxの年次カンファレンスイベント「Inspire 2018」。今回クラスメソッドからは計4人のメンバーが現地参加しました。
当エントリではイベント初日に行われたトレーニングセッション「Supporting Alteryx Server」について、その内容をレポートしたいと思います。
目次
セッション概要
当トレーニングセッションの概要は以下の通りです。
Supporting the Alteryx Server
(Alteryx Serverのサポート)
トレーニング概要:
Join us for a deep dive into the back-end of the Alteryx Server including the Server command line, settings and configuration, logging, and diagnostics.
(サーバーのコマンドライン、設定と構成、ロギング、および診断を含む、Alteryx Serverのバックエンドへの深い洞察に参加してください。)
セッションレポート
ハンズオンセッションの主な内容をレポートします。
ツールと基本
ツール - コマンドラインアクセス: 管理者認証情報が必要 - メモ帳: - ログの閲覧 - 設定の編集 - EXCEL - ログの閲覧 - Alteryx - ログの解析とブレンディング - 自動化
Alteryx Serverの基本
概要
- 標準サーバへのReflesherのデプロイ
- 物理サーバ vs 論理サービス
バックエンド
- Alteryx Serverのコアは「AlteryxService.exe」/ システムサービスを実行
- 構成に応じた補助的なプロセス
- AlteryxCloudCmd.exe / ギャラリー
- AlteryxService_MapRenderWorker.exe / Mapタイルのレンダリング
- AlteryxService_MongoController.exe / "埋め込みの"Mongoインスタンス
- AlteryxService_WebInterface.exe / ギャラリーサポート(GUIや結果等)
Serverコマンドライン
- Intro to the Server command line - Alteryx Community
- Solved: Calling Alteryx Server from Command Line in ESP - Alteryx Community
- Alteryxのワークフローをコマンドラインから実行する #alteryx #22 | Alteryx Advent Calendar 2016 | Developers.IO
- コマンドライン実行の例
- コマンドラインによる自動化の例。
なぜAlteryx Serverが起動しないのか(原因を探る)
何が起きた?
- 埋め込みのMongoサービスが落ち、認証情報を取得出来ない
- ギャラリーサービスが落ちた
- Appインタフェースがロード出来ない
- アプリケーション実行時にエラーが発生した
- 接続に失敗した
- Mongoの接続が失敗した
- ログオンに失敗した(存在しないユーザー名、間違ったパスワード等)
ゴール
- 診断プロセスのデモ
- ツールとレシピ
- 主なエラー発生のデモ
- 一般的な失敗には一般的な理由がある
- パターン認識
- ダウンタイムを避ける/エスカレーション
- 殆どの問題は簡単
診断プロセス
- 破損内容を評価
- 既存ステータス情報を確認
- 起動エラー
- 実行時の設定
- サービスやギャラリーのログ
- 追加ステータス情報を確認
- Mongoのログ
- システムイベントのログ
- 障害点の特定
- 提案された修正をテストする
- 修正をコミットする
破損内容の評価
- サーバは起動しているか?
- http://localhost/AlteryxService/status にアクセス
- Task Manager
- ギャラリーの反応はあるか?
- http://localhost/gallery
- スケジューラーは作動しているか?
- Map Inputツールはちゃんと動くか?
既存の情報を収集
- サービス起動エラー
- ランタイム設定
- サービスログファイル
- ギャラリーログファイル
- セカンダリログファイル
- システム・イベントビューワー
- Mongo
- LastStartipError.txtは失敗時、以下のパスに作成される
- C:\ProgramData\Alteryx\Service\LastStartupError.txt
ランタイム設定
- ベースファイルにはインストーラが付属している
- Alteryx\bin\RuntimeData\RuntimeSettings.xml
- "このファイルは編集しません"と5回繰り返しましょう
- RuntimeSettings.xmlにはオーバーライドが含まれています
- Alteryx\bin\RuntimeData\RuntimeSettings.xml
- マシン指定の設定
- そこにいない? デフォルトに設定されているはずです
- ファイルは一貫性のある状態にする必要があります
- ユーザーが編集するべきではありません
サービスログ
- メニューパス:Controller | General
- カレントログ:AlteryxServiceLog.log
- このログは書き込みの時間で作成され、ローテーションされる
- 失敗以前のログを収集
- カレントログは任意のタイミングでZip化&ローテーションされる
- ログが存在しない可能性がある
- ログ出力される場所を確認
- ロギング設定を"High"に設定
- 再実行し出力内容を確認
ギャラリーのログ
- メニューパス:Gallery | General
- ログはalteryx-<date>.csvという名前で作成される
- ログが存在しない可能性がある
- ログ出力される場所を確認
- 書き込みアクセスをを検証
- 失敗以前のログを収集
- カレントログは任意のタイミングでZip化&ローテーションされる
システムイベントビューワー
- eventvwr.exeを実行
- Windows Logs | Application
- "AlteryxService"や"AlteryxCloud"で検索
- 同時間枠での他のイベント
- 再起動、Windows Updateなど
障害点の特定
- 証拠を信じる
- ログには"常に"答えが含まれています
- LastStartupError.txt に失敗の要因がある
- RuntimeSettings.xmlで起動
- 問題は外れ値として頻繁に現れる
- RuntimeData\RuntimeSettings.xmlのデフォルト設定に精通する - 一般的な設定に慣れよう
- サービスログ、ギャラリーログを探索
- パターンと時間的相関を探す
ランタイム設定
- まず初めにバックアップを取得
- メモ帳を開き、不一致な部分を探す
- ファイルパス
- 極端に大きな値
- デルタをデフォルトからスキャン
- RuntileData\RuntimeSettings.xml
サービスログ
- 最終実行の開始文言("AlteryxService starting")を探す
- そこから、一番初めに現れるエラー(",ERROR,")を探す
- 周囲にあるエラーのコンテキスト情報を探す
- GallaryやMongo等のその他ログもあたってみる
ギャラリーログ
- 最終実行の開始文言("AlteryxService starting")を探す
- そこから、一番初めに現れるエラー("ERROR")を探す
- 余計な列を隠す - 典型的にはC-N列
- エラーの前後のコンテキストを探す
- GallaryやMongo等のその他ログもあたってみる
以下は実践例。
障害点の特定
- A/Bスイッチを中心に
- 失敗する、最も単純な再現方法は何? - どんな条件だと成功する?
- ソリューション以外のソリューションを避ける - 再起動 - アンインストール - 再インストール - 再起動 - 再起動 - 再インストール - 再起動
- ソリューションにコミットする前にテストする
提案された修正をテストする
- サーバはシステムサービスを実行する
- サーバはまた、インタラクティブに実行する
- 現在のステータス情報しておく
- 管理者コマンドプロンプト:
- stop AlteryxServiceで停止
- AlteryxService /?でオプションを表示
- AlteryxService testでインタラクティブ起動が可能
- setting=を使うと一時的に設定を上書き出来る
その他コマンドラインに関する詳細は以下を参照。
ハンズオン実践:トラブルシューティング
一通りの対応手順が解説された後は、それらの手順を使って「トラブルシューティングを対応せよ」というエクササイズが展開されました。
Alteryx Serverに於ける頻出シナリオ及びそのサポート方法
セッションの終盤では、状況別の「頻出エラーシナリオとその対処方法」についての解説が為されていました。情報量が非常に多かったのでここではスクリーンショットの掲示のみに留めておきます。
起動時:ライセンス周り
起動時:環境周り
起動時:URL登録
起動時:ローカル永続化
起動時:リモート永続化
起動時:ギャラリー
ギャラリー周りのレスポンス悪化
アプリケーションのパフォーマンス劣化
ギャラリー:間違ったベースアドレス
Designer: Map Inputツールに関する設定
まとめ
という訳でAlteryx Inspire 2018:トレーニングセッション「Supporting Alteryx Server」のレポートでした。
Alteryx Serverのトラブルシューティング対処法、といった趣の内容ではありましたが、非常に網羅性が高く、タメになる内容でした。この手の情報はいざという時に役に立つ、効いてくる情報になるかと思いますので効率的に活用出来るように備えておきたいところですね。
Alteryxロードショーとワークショップを開催します
2018年7月26日(木)にAlteryxロードショーとワークショップを開催します。すでにAlteryxをご活用中のお客様はもちろん、導入を検討している方、国内外におけるデータ分析の最新情報を知りたい方にもおすすめです。ぜひ、この機会にAlteryxの利便性を実感してください。