Alibaba Cloud Logstash に関するよくある質問です。ネットワーキング、パイプライン、プラグイン、トラブルシューティングについて説明します。
インターネット経由で Logstash にアクセスする方法
Logstash クラスターは Virtual Private Cloud (VPC) 内で実行され、インターネットに直接アクセスすることはできません。インターネット経由でデータをインポートまたはエクスポートするには、クラスターに NAT ゲートウェイを設定します。詳細については、「NAT ゲートウェイを設定してインターネット経由でデータ転送を行う」をご参照ください。
Kafka パイプラインエラーの修正方法
自己管理型の Kafka クラスターを Logstash パイプラインのソースまたは宛先として使用する場合、一般的に 2 つのエラーが発生します。
-
"No entry found for connection"
Logstash ノードが Kafka のホスト名を解決できません。
server.propertiesタブに以下の行を追加し、IP アドレスとポートをご利用の Kafka クラスターの値に置き換えてください。listeners=PLAINTEXT://10.10.10.10:9092 advertised.listeners=PLAINTEXT://10.10.10.10:9092重要-
Logstash ノードの IP アドレスが Kafka クラスターのホワイトリストに含まれていることを確認してください。
-
ApsaraMQ for Kafka の使用を推奨します。
-
-
"could not be established. Broker may not be available"
Kafka クラスターが存在しないか、接続できません。クラスターが実行中であること、およびパイプライン構成の
bootstrap_serversの値が正しいアドレスとポートを指していることを確認してください。
Logstash JDBC ドライバーは MySQL をサポートしていますか?
はい。まず、mysql-connector-java ドライバーファイルをアップロードしてください。詳細については、「サードパーティライブラリの設定」をご参照ください。
Logstash ノードの監視方法
Logstash クラスターで X-Pack Monitoring を有効にし、Elasticsearch クラスターに関連付けます。関連付けられた Elasticsearch クラスターの Kibana コンソールから Logstash ノードを監視します。詳細については、「X-Pack Monitoring 機能の有効化」をご参照ください。
スクリプトファイルのアップロードは可能ですか?
いいえ。Logstash 構成ファイルを使用して、パイプラインとデータ伝送を管理します。詳細については、「構成ファイルを使用したパイプラインの管理」をご参照ください。
データ収集プロトコルとして HTTP を使用できますか?
はい。Logstash は Http 入力プラグインを介して、HTTP または HTTPS 経由で単一行および複数行のイベントを受け入れます。
Alibaba Cloud Logstash はデフォルトでインターネットに接続できません。インターネットから HTTP リクエストを収集するには、まず NAT ゲートウェイを設定してください。詳細については、「NAT ゲートウェイを設定してインターネット経由でデータ転送を行う」をご参照ください。
Simple Log Service から Elasticsearch にデータを同期する方法
logstash-input-sls プラグインを使用します。詳細については、「logstash-input-sls プラグインの使用」をご参照ください。
Logstash はリアルタイムでデータを同期しますか?
Logstash はニアリアルタイムの同期ツールです。パイプラインが停止するか、ソースに新しいデータがなくなるまで、宛先にデータを継続的に書き込みます。
"[routing] is missing for join field [joinField]" エラーの修正方法
子ドキュメントを含むデータを同期するには、親ドキュメントと子ドキュメントが同じシャードに配置されるようにルーティング値が必要です。宛先インデックスのプライマリシャードの数を 1 に設定し、パイプライン構成に routing =>"0" を追加します。
パイプラインがスタックし、クラスターの更新が進まない場合の対処法
まず、クラスターのエラーログを確認します。詳細については、「ログのクエリ」をご参照ください。次の表に、一般的な原因と解決策を示します。
|
原因 |
ソリューション |
|
パイプライン構成が正しくない |
クラスターの更新を一時停止し、タスクが一時停止状態になった後、パイプライン構成を修正して再起動をトリガーします。詳細については、「クラスタータスクの進捗状況の表示」をご参照ください。 |
|
ディスク使用率が高い |
クラスター構成をアップグレードします。詳細については、「クラスター構成のアップグレード」をご参照ください。その後、クラスターの詳細ページを更新し、更新の進捗状況を確認します。 |
|
出力先の Elasticsearch クラスターで自動インデックス作成が無効になっている |
自動インデックス作成を有効にします。詳細については、「YML ファイルの設定」をご参照ください。その後、クラスターの詳細ページを更新し、更新の進捗状況を確認します。 |
|
Beats ポートが 8000~9000 の範囲外である |
クラスターの更新を一時停止し、タスクが一時停止状態になった後、ポートを 8000 から 9000 の間の値に変更して、再起動をトリガーします。 |
|
パイプライン構成でパブリック IP アドレスが使用されている |
パブリック IP アドレスをプライベート IP アドレスに変更するか、NAT ゲートウェイを設定します。詳細については、「NAT ゲートウェイを設定してインターネット経由でデータ転送を行う」をご参照ください。その後、クラスターの詳細ページを更新し、更新の進捗状況を確認します。 |
|
|
プラグインをインストールするか (「パイプライン構成デバッグ機能の使用」をご参照ください)、クラスターの更新を一時停止してパイプライン構成から |
Logstash クラスターのプライベート IP アドレスに ping できますか?
いいえ。プライベート IP アドレスは、デフォルトでは ping に応答しません。代わりに telnet を使用して接続性をテストしてください。
2 つの Elasticsearch クラスター間で同期する際にマッピングの一貫性を保つ方法
Alibaba Cloud Elasticsearch は、セキュリティ上の理由から、デフォルトで [自動インデックス作成] を無効にしています。Logstash は、create index API を呼び出すのではなく、データを送信することによって宛先クラスターにインデックスを作成します。データを転送する前に、宛先クラスターで [自動インデックス作成] を有効にするか、正しいマッピングでターゲットインデックスを手動で作成してください。
Alibaba Cloud Logstash は rubydebug をサポートしていますか?
いいえ。代わりに logstash-output-file_extend プラグインを使用してデバッグログを出力してください。stdout モードは推奨されておらず、関連する API も提供されていません。