ECI支持采集租戶容器日志(標準輸出+文件)并上傳到租戶的云日志服務。
接入方式
在容器環境變量里帶上日志參數,每個容器分別設置,ECI會根據環境變量自動創建或校驗日志資源并拉起日志采集器上傳日志到租戶的云日志服務:如果不存在則會調用云日志OpenAPI創建對應資源,如果資源存在不進行任何修改直接使用。
環境變量命令統一格式為:Ctyun_logs_eci_{key},key為云日志采集規則名稱,只能包含小寫字母、數字和短劃線(-),每組采集規則支持的環境變量如下:
| 環境變量 | 說明 | 是否必須 | 示例 |
|---|---|---|---|
| Ctyun_logs_eci_{key} | key為采集規則名稱,若不存在會創建。值為日志采集路徑: 1.采集標準輸出時:值必須為stdout 2.采集文件日志時:值為文件路徑 | 是 | Ctyun_logs_eci_my-rule:stdout Ctyun_logs_eci_other-rule:/tmp/1.l |
| Ctyun_logs_eci_{key}_project | 日志項目名稱,若不存在會創建 注:取值服從云日志OpenAPI要求 | 否 默認日志項目:eci-als-default-log-project | Ctyun_logs_eci_my-rule_project: my-project
|
| Ctyun_logs_eci_{key}_unit | 日志單元名稱,若不存在會創建 注:取值服從云日志OpenAPI要求 | 否 默認日志單元:eci-als-default-log-unit | Ctyun_logs_eci_my-rule_unit: my-unit |
| Ctyun_logs_eci_{key}_ttl | 日志單元TTL。默認值: 生產:365 開發:7 | 否 | 10 |
| Ctyun_logs_eci_{key}_hostgroup | 主機組。若主機組不存在,ECI會創建類型為自定義標簽的主機組,包含的標簽名同主機組名稱。若主機組存在,ECI直接將該主機組名稱傳給采集器,不進行其他校驗,請確保主機組名稱和內容標簽一致 | 否 默認主機組:eci-als-default-log-host-group | Ctyun_logs_eci_my-rule_hostgroup: my-host-group |
說明
若租戶需要接入日志服務(傳入了日志參數),ECI會通過ITIAM創建名為eciAgentAlsDelegate的委托,拿到臨時AKSK,并持續續約,直至該租戶在該資源池所有ECI實例都退訂。
若用戶需要接入日志服務(傳入了日志參數),ECI會檢查該租戶在該資源池是否訂購了云日志服務,若沒有訂購,ECI會替租戶訂購該資源池的云日志服務。
每個容器可以有多組 Ctyun_logs_eci_{key},對應不同的日志采集路徑。
若租戶傳入的 Ctyun_logs_eci_{key} 中的key在云日志已經存在,ECI不會再創建采集規則,請確保采集規則內容正確。
ECI創建的日志資源在退訂ECI實例時不會回收,請租戶自行回收避免額外日志計費。
若傳入的環境變量命名不符合上述規范,ECI將忽略該環境變量創建對應的默認日志資源。
任何不提供Ctyun_logs_eci_{key}的輸入組都會被忽略,比如提供了Ctyun_logs_eci_{key}_project 但沒有提供Ctyun_logs_eci_{key},ECI將會忽略該組值,因為ECI不知道采集路徑。
示例
容器container1采集標準輸出日志。
containers:
- env:
- name: Ctyun_logs_eci_eci-als-default-log-rule-stdout-yfgw9480
value: stdout
image: registry-test.crs-internal.daliqc.cn/open-source/tomcat:9.0-jdk8-corretto
name: container1
容器container2采集標準輸出日志并指定日志項目、日志單元。
containers:
- env:
- name: Ctyun_logs_eci_eci-als-default-log-rule-stdout-yfgw9480
value: stdout
- name: Ctyun_logs_eci_eci-als-default-log-rule-stdout-yfgw9480_project
value: my-project
- name: Ctyun_logs_eci_eci-als-default-log-rule-stdout-yfgw9480_unit
value: my-unit
image: registry-test.crs-internal.daliqc.cn/open-source/tomcat:9.0-jdk8-corretto
name: container2
容器container3采集容器內指定文件日志。
containers:
- env:
- name: Ctyun_logs_eci_eci-als-default-log-rule-file-svba7129
value: /var/log/*.log
image: registry-test.crs-internal.daliqc.cn/open-source/tomcat:9.0-jdk8-corretto
name: container3
容器container4采集容器內指定文件日志并指定日志項目、日志單元。
containers:
- env:
- name: Ctyun_logs_eci_eci-als-default-log-rule-file-svba7129
value: /var/log/*.log
- name: Ctyun_logs_eci_eci-als-default-log-rule-file-svba7129_project
value: some-project
- name: Ctyun_logs_eci_eci-als-default-log-rule-file-svba7129_unit
value: some-unit
image: registry-test.crs-internal.daliqc.cn/open-source/tomcat:9.0-jdk8-corretto
name: container4
容器container5同時采集標準輸出日志和指定文件日志。
containers:
- env:
- name: Ctyun_logs_eci_eci-als-default-log-rule-stdout-yxrw9035
value: stdout
- name: Ctyun_logs_eci_eci-als-default-log-rule-file-yxrw9035
value: /var/log/*.log
image: registry-test.crs-internal.daliqc.cn/open-source/tomcat:9.0-jdk8-corretto
name: container5