- 概要
- 要件
- インストール
- インストール後
- クラスターの管理
- 監視とアラート機能
- 移行とアップグレード
- 製品固有の設定
- ベスト プラクティスとメンテナンス
- トラブルシューティング
- インストール時にサービスをトラブルシューティングする方法
- クラスターをアンインストールする方法
- オフライン成果物をクリーンアップしてディスク領域を改善する方法
- Redis データをクリアする方法
- Istio ログを有効化する方法
- ログを手動でクリーンアップする方法
- sf-logs バケットに保存されている古いログをクリーンアップする方法
- AI Center のストリーミング ログを無効化する方法
- 失敗した Automation Suite インストールをデバッグする方法
- アップグレード後に古いインストーラーからイメージを削除する方法
- Longhorn のスナップショットを自動的にクリーンアップする方法
- TX チェックサム オフロードを無効化する方法
- TLS 1.2 で弱い暗号に対処する方法
- RHEL 8.4 OS でオフライン インストールを実行できない
- バンドルのダウンロード中のエラー
- バイナリがないため、オフライン インストールが失敗する
- オフライン インストールでの証明書の問題
- Longhorn のセットアップ中に最初のインストールが失敗する
- SQL 接続文字列の検証エラー
- selinux iscsid モジュールの前提条件の確認が失敗する
- Azure ディスクが SSD としてマークされない
- 証明書の更新後のエラー
- ウイルス対策が原因でインストールの問題が発生する
- OS のアップグレード後に Automation Suite が動作しない
- Automation Suite で backlog_wait_time を 0 に設定する必要がある
- ワークロードの準備ができていないためボリュームをマウントできない
- プロキシ設定がある場合に Automation Hub と Apps を起動できない
- 管理ポータルのタイムアウト期間を設定する
- 基になるディレクトリ接続を更新する
- 移行後に認証が機能しない
- Kinit: Cannot find KDC for realm <AD Domain> while getting initial credentials
- kinit: Keytab contains no suitable keys for *** while getting initial credentials
- 無効なステータス コードが原因で GSSAPI 操作が失敗した
- Alarm received for failed kerberos-tgt-update job
- SSPI Provider: Server not found in Kerberos database
- アカウントが無効なため AD ユーザーのログインに失敗した
- ArgoCD へのログインに失敗した
- サンドボックス イメージを取得できない
- ポッドが ArgoCD UI に表示されない
- Redis プローブの障害
- RKE2 サーバーの起動に失敗する
- UiPath 名前空間でシークレットが見つからない
- 初回インストール後に ArgoCD が進行中ステートになる
- Unexpected inconsistency; run fsck manually
- MongoDB ポッドが CrashLoopBackOff になるか、削除後に PVC プロビジョニングの保留中になる
- MongoDB ポッドを 4.4.4-ent から 5.0.7-ent にアップグレードできない
- クラスターの復元またはロールバック後にサービスが異常になる
- Init:0/X でポッドがスタックする
- Prometheus が CrashloopBackoff ステートにあり、メモリ不足 (OOM) エラーを伴う
- Ceph-rook のメトリックが監視ダッシュボードに表示されない
- プロキシ環境でポッドが FQDN と通信できない
- Automation Suite 診断ツールを使用する
- Automation Suite サポート バンドルを使用する
- ログを確認する
アプリケーション ログを Splunk に転送する
- This section covers exporting POD logs. For exporting robot logs, see Ochestrator - About Logs.
- Splunk は外部ツールであり、UiPath® から Splunk の設定内容について指示することはできません。HTTP イベント コレクターについて詳しくは、Splunk の公式ドキュメントをご覧ください。
Splunk-Fluentd スタックは、ログ データの検索、分析、可視化を可能にする一元化されたログ ソリューションです。Fluentd はログを収集して Splunk に送信します。Splunk はログを取得し、データの可視化や分析を可能にします。
Splunk を構成するには、次の手順に従います。
-
上部のナビゲーション バーで [ 設定 ] を選択し、[ インデックス] を選択します。
-
[ 新しいインデックス ] を選択し、[ インデックスを作成] を選択します。
-
上部のナビゲーション バーで [ 設定 ] を選択し、[ データ入力] を選択します。
-
[ HTTP イベント コレクター] を選択します。
-
To enable the new token creation, select Global Settings .
-
有効化して、[グローバル設定] を保存します。
-
トークンを作成するには、[ 新しいトークン] を選択します。
-
HTTP イベント コレクターの名前を入力し、[次へ] を選択します。
-
[ 新規 ] を選択して、 ソースの種類 の詳細を入力します。
-
下にスクロールして、利用可能なインデックスのリストから [ インデックス ] を選択し、上部のナビゲーション バーで [ 次へ ] を選択します。
-
データを確認し、[ 送信] を選択します。
-
作成されたら、トークン ID、インデックス、ソース、ソース タイプの詳細を取得します。これらの値は ClusterOutput を設定するために必要になります。
トークンを含むシークレットを作成する
Splunk の UI で生成した HTTP イベント コレクター (HEC) トークンを使用して Kubernetes シークレットを作成します。このトークンは、Automation Suite と Splunk 間の認証に使用されます。
kubectl -n cattle-logging-system create secret generic splunk-hec-token --from-literal=splunk_hec_token=<splunk_hec_token>
kubectl -n cattle-logging-system create secret generic splunk-hec-token --from-literal=splunk_hec_token=<splunk_hec_token>
Splunk への ClusterOutput
ClusterOutput でログの送信先を定義します。また、構成と認証の詳細も記述します。
To configure the ClusterOutput for Splunk, run the following command:
kubectl -n cattle-logging-system apply -f - <<"EOF"
apiVersion: logging.banzaicloud.io/v1beta1
kind: ClusterOutput
metadata:
name: splunk-output
spec:
splunkHec:
buffer:
tags: '[]'
timekey: <splunk_hec_timekey>
timekey_use_utc: true
timekey_wait: 10s
type: file
hec_host: <splunk_hec_host>
hec_port: <splunk_hec_port>
hec_token:
valueFrom:
secretKeyRef:
key: splunk_hec_token
name: splunk-hec-token
index: <splunk_hec_index>
insecure_ssl: true
protocol: <splunk_hec_protocol>
source: <splunk_hec_source>
sourcetype: <splunk_hec_source_type>
EOF
kubectl -n cattle-logging-system apply -f - <<"EOF"
apiVersion: logging.banzaicloud.io/v1beta1
kind: ClusterOutput
metadata:
name: splunk-output
spec:
splunkHec:
buffer:
tags: '[]'
timekey: <splunk_hec_timekey>
timekey_use_utc: true
timekey_wait: 10s
type: file
hec_host: <splunk_hec_host>
hec_port: <splunk_hec_port>
hec_token:
valueFrom:
secretKeyRef:
key: splunk_hec_token
name: splunk-hec-token
index: <splunk_hec_index>
insecure_ssl: true
protocol: <splunk_hec_protocol>
source: <splunk_hec_source>
sourcetype: <splunk_hec_source_type>
EOF
角括弧 < > で囲まれた属性を、Splunk 構成で使用されている対応する値に置き換えます。詳しくは、以下の表をご覧ください。
| 属性 | 説明 |
|---|---|
splunk_hec_host | Splunk インスタンスのネットワーク ホストです。通常は、Splunk の IP アドレスまたは FQDN です。 |
splunk_hec_port | クライアント通信用の Splunk ポートです。通常、このポートは Splunk のダッシュボードを起動するポートとは異なります。Splunk で一般的に使われる HEC ポートは 8088 です。 |
secret_key | Splunk トークンのシークレット キーです。これは前の手順で作成したシークレットのキーの名前で、ここに Splunk HEC トークンが保持されています。 提示されたマニフェストには、既にキー splunk_hec_token が含まれています。シークレットを作成するコマンドを変更していない場合、この値を変更する必要はありません。 |
splunk_hec_timekey 値、次の属性内: splunkHec.buffer | 出力頻度、つまりログをプッシュする頻度です。30 秒 (30s) の間隔を使用することをお勧めします。 |
protocol | URL プロトコルです。有効な値は http および https です。Splunk で SSL 通信を有効化している場合は、HTTPS プロトコルを使用する必要があります。 |
splunk_hec_index | Splunk インデックスの識別子です。イベントのインデックス作成に使用します。 |
splunk_hec_source | イベントのソース フィールドです。 |
splunk_hec_source_type | イベントのソースの種類のフィールドです。 |
次の例は、このページで示す構成を基にしています。
FluentD 内の ClusterFlow
ClusterFlow を使用して、以下を定義します。
- 収集およびフィルター処理するログ
- ログの送信先の
ClusterOutputです。
To configure ClusterFlow in Fluentd, run the following command:
kubectl -n cattle-logging-system apply -f - <<"EOF"
apiVersion: logging.banzaicloud.io/v1beta1
kind: ClusterFlow
metadata:
name: splunk-flow
namespace: cattle-logging-system
spec:
filters:
- tag_normaliser:
format: ${namespace_name}/${pod_name}.${container_name}
globalOutputRefs:
- splunk-output
match:
- select:
container_names:
- istio-proxy
namespaces:
- istio-system
- exclude:
container_names:
- istio-proxy
- istio-init
- aicenter-hit-count-update
- istio-configure-executor
- on-prem-tenant-license-update
- curl
- recovery
- aicenter-oob-scheduler
- cert-trustor
- exclude:
namespaces:
- fleet-system
- cattle-gatekeeper-system
- default
- exclude:
labels:
app: csi-snapshotter
- exclude:
labels:
longhorn.io/job-task: backup
- exclude:
labels:
app: csi-resizer
- select: {}
EOF
kubectl -n cattle-logging-system apply -f - <<"EOF"
apiVersion: logging.banzaicloud.io/v1beta1
kind: ClusterFlow
metadata:
name: splunk-flow
namespace: cattle-logging-system
spec:
filters:
- tag_normaliser:
format: ${namespace_name}/${pod_name}.${container_name}
globalOutputRefs:
- splunk-output
match:
- select:
container_names:
- istio-proxy
namespaces:
- istio-system
- exclude:
container_names:
- istio-proxy
- istio-init
- aicenter-hit-count-update
- istio-configure-executor
- on-prem-tenant-license-update
- curl
- recovery
- aicenter-oob-scheduler
- cert-trustor
- exclude:
namespaces:
- fleet-system
- cattle-gatekeeper-system
- default
- exclude:
labels:
app: csi-snapshotter
- exclude:
labels:
longhorn.io/job-task: backup
- exclude:
labels:
app: csi-resizer
- select: {}
EOF
Splunk で検索する
-
[検索とレポート] を選択します。
-
Source、Index、SourceType に基づいて検索します。
トラブルシューティング
何らかの理由でアプリケーション ログが Splunk にプッシュされない場合は、以下を試してください。
-
Fluentd のログ レベルを debug に変更します。
-
Fluentd ポッドに以下のクエリを実行する
kubectl patch loggings.logging.banzaicloud.io rancher-logging-root --type=json -p '[{"op":"add","path":"/spec/fluentd/logLevel","value":debug}]' kubectl -n cattle-logging-system exec -it sts/rancher-logging-root-fluentd cat /fluentd/log/outkubectl patch loggings.logging.banzaicloud.io rancher-logging-root --type=json -p '[{"op":"add","path":"/spec/fluentd/logLevel","value":debug}]' kubectl -n cattle-logging-system exec -it sts/rancher-logging-root-fluentd cat /fluentd/log/out注:Fluentd ログには、データが Splunk にプッシュされない原因が示されている必要があります。
-
問題を修正したら、Fluentd のログ レベルを元に戻します。
kubectl patch loggings.logging.banzaicloud.io rancher-logging-root --type=json -p '[{"op":"remove","path":"/spec/fluentd/logLevel"}]'kubectl patch loggings.logging.banzaicloud.io rancher-logging-root --type=json -p '[{"op":"remove","path":"/spec/fluentd/logLevel"}]'