エラスティック展開向け Qlik Sense Enterprise でのログの表示

問題およびアクティビティのデバッグに使用可能な Qlik Sense Enterprise for elastic deployments emit ログ データ内のすべてのサービス。ログは、オンデマンドで読み取るか、照合してログ集計製品にプッシュし、さらに分析および使用することができます。

サービス ログの表示

たとえば問題のデバッグのためにサービスの最近のログを調べるには、Kubernetes CLI (またはその他の Kubernetes 管理ツール) を使用してログ データをすばやく表示することができます。

以下の説明では、kubectl ツールがインストールされて Kubernetes クラスターに接続されていることが前提です。

次のコマンドを実行して実行中のサービスの全リストを取得します。これには、いずれかのサービスがそのサービス自体を問題ありとして報告しているかどうかもリスト表示されます。

kubectl get pods

ログを検査するサービスをリストから識別し、必要に応じて次のように調整したコマンドを実行します。

Kubectl log qsefe-engine-dhwksfhf

これにより、最近のログ エントリーがコンソールに JSON 形式で表示されます。

ログの照合および転送

生成されるログは、ログ集計ツール内で大量データについてのすべてのシステム ログを収集、保存、検索、表示するために転送可能です。

以下に、サード パーティのツールの使用例を示します。

  • fluentd でのシステム ログの収集
  • Elasticsearch でのログ ファイルの保存

    注: Elasticsearch は、相当量のリソースを必要とするため、Kubernetes クラスターに大量の使用可能なメモリと CPU が存在しないかぎり、ローカル マシンで実行することは推奨されません。
  • Kibana でのログ ファイルの消費

Elasticsearch のインストール

Elasticsearch は、HTTP Web インターフェイスとスキーマフリー JSON ドキュメントを備えた、分散型マルチテナント対応のフルテキスト検索エンジンです。

この例では、持続性を何も含まない最小セットアップの Elasticsearch をインストールします。

  1. elasticsearch.yaml という名前でファイルを作成してインストールの優先設定を行い、以下の行を追加します。

    image: tag: "6.1.4" client: replicas: 1 resources: limits: cpu: "0.5" memory: "1024Mi" ## not setting a limit here can take down the cluster using all available memory # requests: # use defaults # cpu: "25m" # memory: "512Mi" master: persistence: enabled: false replicas: 2 # heapSize: "512m" ## use default, should be less than request, MUST be less than limit resources: limits: cpu: "0.5" memory: "1024Mi" ## set a limit # requests: # use defaults # cpu: "25m" # memory: "512Mi" data: persistence: enabled: false replicas: 1 heapSize: "512m" resources: limits: cpu: "0.5" memory: "1024Mi" requests: cpu: "25m" memory: "512Mi"
  2. 次のコマンドを実行して Elasticsearch をインストールします。

    helm upgrade --install elasticsearch incubator/elasticsearch -f ./elasticsearch.yaml

fluentd のインストール

Fluentd は、統合ログ レイヤーのオープン ソース データ コレクターです。これにより、データの収集と消費を統合して、データの利用効率を高め、よりよく理解することができます。次のステップに従って fluentd をインストールします。

  1. fluentd.yaml という名前でファイルを作成してインストールの優先設定を行い、以下の行を追加します。

    elasticsearch: host: elasticsearch-elasticsearch-client
  2. 次のコマンドを実行して fluentd をインストールします。

    helm upgrade --install fluentd incubator/fluentd-elasticsearch -f fluentd.yaml

Kibana のインストール

Kibana により、Elasticsearch データを視覚化し、エラスティック スタックをナビゲートすることができます。また、ログを表示および検索することもできます。次のステップに従って Kibana をインストールします。

  1. kibana.yaml という名前でファイルを作成してインストールの優先設定を行い、以下の行を追加します。

    env: ELASTICSEARCH_URL: http://elasticsearch-elasticsearch-client:9200
  2. 次のコマンドを実行して Kibana をインストールします。

    helm upgrade --install kibana stable/kibana -f kibana.yaml

Kibana へのアクセス

次のコマンドを実行して Kibana にアクセスします。

export POD_NAME=$(kubectl get pods --namespace default -l "app=kibana,release=kibana" -o jsonpath="{.items[0].metadata.name}") echo "Visit http://127.0.0.1:5601 to access Kibana" kubectl port-forward $POD_NAME 5601

Kibana では、次のクエリを実行してセットアップをテストすることができます。

kubernetes.container_name:engine