
公式GUIツールCompassを使ってAlteryxServerの組み込みmongoDBに接続する
AlteryxACEのAkimasaKajitaniです。
今回はAlteryx ServerのTipsです。Alteryx ServerではバックエンドのDBにMongoDBが使われています。基本的に組み込み用のMongoDBなので、Alteryx Serviceが立ち上がっているときのみ接続できるのですが、様々な場面でこのMongoDBの中身を覗いたりしたいことがあります。もちろんDesignerからデータ入力ツールで接続することもできますが、直接覗きたい場面もあるかと思います。
過去にはRobo 3TというオープンソースのGUIツールの利用が案内されていましたが、現在買収に伴い、Studio3Tというソフトウェアに生まれ変わっています。フリー版も提供されていたりするようですが、今回はMongoDB公式のCompassを使っていきたいと思います。
Compassはこちら からダウンロードできます。
なお、Alteryx ServerのバックエンドのDBに組み込みMongoDB以外のユーザー管理のMongoDBやSQL Serverを利用している場合はこの手順と異なりますのでご注意ください。
接続手順
事前準備
組み込みMongoDBに接続するには、まずユーザー名とパスワードを調べる必要があります。これは、Alteryx Serverがインストールされているサーバーのデスクトップにおそらくあるはずの「Alteryx System Settings」から入手可能です。
これを起動し、「Next」で進めていくと、以下のような画面にたどり着くはずです。
ホスト名、ユーザー名、パスワードは以下の赤い部分です。
パスワードが2つあると思いますが、この違いについて説明します。
閲覧だけならAdmin Passwordを使うとすべてのDBを確認することができます。一方で、Adminとついていない方の下側の「Password」を使うと、DBの中身の編集はできますが、いくつかある中身のDBへ個別に接続する必要があります。この2つは明確に使い分けが必要になるのでご注意ください。
いずれにしても、これらのパラメータをメモしておきましょう。
Compassを設定する
次に、Compassを設定していきます。インストール後、Compassを開くと以下のような画面が出ます。ここで、左端のConnectionsのところの「+」ボタンをクリックします。
ここで、ダイアログが出てくるので、「Advanced Connection Options」を開き、さらに「Authentication」をクリックし、ユーザー名等を入力するメニューを開きます。URIはこの時点で書き換えておきましょう。デフォルトではポート番号が27017なのですが、組み込みMongoDBでは27018なので、「mongodb://localhost:27018/」に書き換える必要があります。
ちなみに、Nameは好きなものに変えてオッケーです。
ここから、Alteryx System Settingsで入手した情報を用い、さらにUsername、Password、Authentication Databaseを指定していきます。
- Username
「user」で固定。
- Password
閲覧だけならAdminのパスワードが利用できますが、編集ができないことに注意してください。編集を行いたい場合は、Adminとついていない方のNon-Adminのパスワードを使います。
- Authentication Database
Adminのパスワードを使う場合は、ここを指定する必要はありません。この場合以下のようにすべてのデータベースにアクセスが可能です。
Non-Adminのパスワードを使う場合は、個別にDB名を指定する必要があります。ただし、接続できるDBは「AlteryxGallery」か「AlteryxService」のいずれかになります。それ以外のDBは管理者パスワードが必要になります(「AlteryxGallery_Lucene」は2022.3以前のAlteryx Serverのみ利用可能)。「AlteryxGallery」か「AlteryxService」の両方にNon-Adminで接続したい場合は、複数の接続を作成してください。
- Authentication Mechanism
「SCRAM-SHA-1」を選択。
これでDBへの接続が可能になります。
実際に値を検索する
Compassを使った検索方法は以下のようになります。
基本的には、
- データを検索したいテーブルを選択
- 検索内容を入力
- Findボタンをクリック
という3ステップで検索できます。
この検索内容を記載する部分が癖があり、フィールド名と値を以下のような形式で記載する必要があります。
{フィールド名:値}
例えば、「DataSourceId」の「f6427dff-9c00-4aaa-a30b-934b704e0d0d」を検索したい、といった場合は以下のように入力します。
{DataSourceId:"f6427dff-9c00-4aaa-a30b-934b704e0d0d"}
実際の結果は以下のような形になります。
レコードの削除などは右上の方に出てくるゴミ箱ボタンから可能です。
なお、Adminパスワードで接続している場合に、編集を行おうとすると、以下のようなエラーメッセージが出るのでご注意ください。この場合は、Non-Adminのパスワードで接続する必要があります。
コマンドラインからの接続について
なお、MongoDBにはコマンドラインからも接続できるようになっています。手順はこちら のナレッジベースに記載のとおりです。コマンドラインの場合は、何も追加のソフトウェアが必要ないので、単に障害対応でMongoDBの中身を変更したい、という場合はこちらの方法でのアクセスも可能です。
※Alteryx Server 2024.2.1.3.94 (Patch 3) 時点の情報です