セルフホスト型インスタンスのデータベース接続のテスト

新しい環境のトラブルシューティングを行う際には、多くの場合に、動作しているさまざまなコンポーネントを隔離し、可能な限りシンプルに隔離状態でテストすることをおすすめします。

セルフホスト型 Looker インスタンスの場合は、Looker サーバーで Telnet を使用して TCP 接続を作成することで、Looker サーバーとデータベース間の接続をテストできます。Telnet を使用するメリットは、変更する構成ファイルがなく、認証も必要ないことです。Telnet が接続を行う場合と、行わない場合があります。

データベースにアクセスできることがわかったら、データベースの組み込みクライアントや Looker などのアプリケーションを使用してテストに進むことができます。

Telnet のインストール

一部のホストには、Telnet がプリインストールされている場合があります。これをテストするには、Looker サーバーで次のコマンドを実行します。

telnet ?

次のように表示されます。

usage: telnet [-l user] [-a] [-s src_addr] host-name [port]

「コマンドが見つかりません」というエラーが表示された場合は、Telnet をインストールする必要があります。

Ubuntu の場合:

sudo apt-get install telnet

Redhat / CentOS の場合:

yum install telnet

デフォルト ポート

データベースが実行されているポートを知る必要があります。次の表に、いくつかのプラットフォームのデフォルト ポートを示します。ただし、データベースが異なるポートで実行するように構成されている場合もあります。データベース管理者にお問い合わせください。

プラットフォーム ポート
Amazon Redshift 5439
GreenPlum 5432
Microsoft SQL Server (MSSQL) 1433
MySQL 3306
Oracle 1521
PostgreSQL 5432
Vertica 5433

Telnet でのデータベースへの接続

データベースへの接続をテストするには、Looker サーバーで telnet hostname port を実行します。たとえば、デフォルトのポートで MySQL を実行していて、データベース名がmydbの場合、コマンドはtelnet mydb 3306になります。

接続が機能している場合は、次のように表示されます。

Trying 10.10.10.10...
Connected to mydb.
Escape character is '^]'.

接続が機能しない場合は、次のいずれかのように表示されます。

Trying 10.10.10.10...
telnet: Unable to connect to remote host: Connection timed out
Trying 127.0.0.1...
telnet: Unable to connect to remote host: Connection refused
telnet: could not resolve mydb/telnet: Name or service not known

Looker サーバーからデータベース サーバーのポートに Telnet で接続できる場合は、基本的な接続の問題を除外できます。

その他のトラブルシューティングのヒント

Telnet チェックが成功しない場合は、次のことを検討してください。

  • ホスト名は正しいですか?
  • データベースと Looker サーバーがネットワーク トラフィックを許可するように構成されていますか?両方のホストにインストールされているファイアウォール ソフトウェアを確認してください。
  • Looker サーバーとデータベース ホストの間のすべてのネットワークが、ネットワーク トラフィックを許可するように構成されていますか?ファイアウォールとネットワーク アクセス制御リスト(ACL)を確認してください。
  • Looker サーバーとデータベース ホストの間のすべてのネットワークが、ホスト間でトラフィックを転送するように正しく構成されていますか?
  • データベース サーバーが稼働しており、正しいポートをリッスンし、さらに Looker サーバーからの接続を許可するように構成されていますか?

引き続き問題が発生する場合は、Looker サポートにお問い合わせください。