このトピックでは、eventer コンポーネントを使用して Kubernetes から Log Service にイベントを収集する方法について説明します。 Kubernetes イベントコレクションのソースコードの詳細については、『GitHub』をご参照ください。
コレクションの設定方法
注
- Alibaba Cloud Kubernetes を使用の場合は、endpoint、project、および logStore パラメーターのみを設定する必要があります。
- 自作の Kubernetes を使用する場合は、endpoint、project、logStore、regionId、internal、accessKeyId、および accessKeySecret パラメーターを設定する必要があります。
次のように YAML テンプレートをデプロイします。
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: eventer-sls
namespace: kube-system
spec:
replicas: 1
template:
metadata:
labels:
task: monitoring
k8s-app: eventer-sls
annotations:
scheduler.alpha.kubernetes.io/critical-pod: ''
spec:
serviceAccount: admin
containers:
- name: eventer-sls
image: registry.cn-hangzhou.aliyuncs.com/ringtail/eventer:v1.6.1.3
imagePullPolicy: IfNotPresent
command:
- /eventer
- --source=kubernetes:https://kubernetes.default
- --sink=sls:https://${endpoint}? project=${project}&logStore=${logstore}
パラメーター設定
パラメーター | データ型 | 必須 / 省略可能 | 説明 |
---|---|---|---|
endpoint | String | 必須 | Log Service のエンドポイント。 詳細については、「サービスエンドポイント」をご参照ください。 |
project | String | 必須 | Log Service のプロジェクト。 |
logStore | String | 必須 | Log Service の Logstore。 |
internal | String | 自作の Kubernetes を使用する場合は必須であり、Alibaba Cloud Kubernetes を使用する場合は省略可能です。 | Alibaba Cloud Kubernetes の使用有無を指定します。 このパラメーターを false に設定します。 |
regionId | String | 自作の Kubernetes を使用する場合は必須であり、Alibaba Cloud Kubernetes を使用する場合は省略可能です。 | Log Service のリージョン ID。 詳細については、「サービスエンドポイント」をご参照ください。 |
accessKeyId | String | 自作の Kubernetes を使用する場合は必須であり、Alibaba Cloud Kubernetes を使用する場合は省略可能です。 | アカウントの AccessKey ID を設定します。 RAM ユーザーの AccessKey ID の使用を推奨します。 |
accessKeySecret | String | 自作の Kubernetes を使用する場合は必須であり、Alibaba Cloud Kubernetes を使用する場合は省略可能です。 | アカウントの AccessKey Secret を設定します。 RAM ユーザーの AccessKey Secret の使用を推奨します。 |
ログサンプル:
次のログサンプルは、Log Service によって収集されます。 詳細については、『Kubernetes』をご参照ください。
次の表にログの内容を示します。
ログフィールド | データ型 | 説明 |
---|---|---|
hostname | String | イベントのホスト名。 |
level | String | ログのレベル。 有効な値: Normal および Warning。 |
pod_id | String | pod の一意の識別子。 このフィールドは、イベントタイプがポッドに関連している場合にのみ使用できます。 |
pod_name | String | ポッドの名前。 このフィールドは、イベントタイプがポッドに関連している場合にのみ使用できます。 |
eventId | JSON | JSON 文字列であるイベントの詳細。 |
hostname: cn-hangzhou.i-***********"
level: Normal
pod_id: 2a360760-1c82-11e9-9ddf-00163e0c7cbe
pod_name: logtail-ds-blkkr
event_id: {
"metadata":{
"name":"logtail-ds-blkkr. 157b7cc90de7e192",
"namespace":"kube-system",
"selfLink":"/api/v1/namespaces/kube-system/events/logtail-ds-blkkr. 157b7cc90de7e192",
"uid":"2aaf75ab-1c82-11e9-9ddf-00163e0c7cbe",
"resourceVersion":"6129169",
"creationTimestamp":"2019-01-20T07:08:19Z"
},
"involvedObject":{
"kind":"Pod",
"namespace":"kube-system",
"name":"logtail-ds-blkkr",
"uid":"2a360760-1c82-11e9-9ddf-00163e0c7cbe",
"apiVersion":"v1",
"resourceVersion":"6129161",
"fieldPath":"spec.containers{logtail}"
},
"reason":"Started",
"message":"Started container",
"source":{
"component":"kubelet",
"host":"cn-hangzhou.i-***********"
},
"firstTimestamp":"2019-01-20T07:08:19Z",
"lastTimestamp":"2019-01-20T07:08:19Z",
"count":1,
"type":"Normal",
"eventTime":null,
"reportingComponent":"",
"reportingInstance":""
}