通過CreateConfig介面建立Logtail採集配置。
前提條件
您已完成以下操作:
參數說明
def create_logtail_config(self, project_name, config_detail):請求參數
參數 | 類型 | 是否必填 | 說明 |
project_name | String | 是 | Project名稱:專案(Project)是Log Service的資源嵌入式管理單元,是進行多使用者隔離與存取控制的主要邊界。更多資訊,請參見管理Project。 |
config_detail | LogtailConfig | 是 | Logtail採集配置的資訊。支援 本樣本使用 |
SimpleFileConfigDetail參數說明
名稱 | 類型 | 是否必填 | 說明 |
logstoreName | String | 是 | Logstore名稱:Logstore是Log Service中日誌資料的採集、儲存和查詢單元。更多資訊,請參見管理Logstore。 |
configName | String | 是 | Logtail採集配置名稱在Project中全域唯一,且建立後不可修改。更多資訊,請參見什麼是Logtail。 其命名規則如下:
|
logPath | String | 是 | 記錄檔絕對路徑。 |
filePattern | String | 是 | 記錄檔名稱。支援使用萬用字元 |
localStorage | bool | 否 | 是否開啟本機快取。
|
enableRawLog | bool | 否 | 是否上傳原始日誌。可選值如下:
|
topicFormat | String | 否 | Topic產生方式。可選值如下:
更多資訊,請參見日誌主題。 |
fileEncoding | String | 否 | 日誌檔案編碼格式,取值為 |
maxDepth | int | 否 | 設定日誌最大目錄監控深度。取值範圍:0~1000,0代表只監控本層目錄。 |
preserve | bool | 否 | 如果一個記錄檔在指定時間內沒有任何更新,則認為該檔案已逾時。可選值如下:
|
preserveDepth | String | 否 | 當設定preserve為False時,需指定最大逾時目錄深度,取值範圍:1~3。 |
filterKey | List | 否 | 用於過濾日誌的欄位。只有該欄位的值滿足filterRegex參數中設定的Regex時,對應的日誌才會被採集。 |
filterRegex | String | 否 | 與filterKey對應的Regex。filterRegex中的元素個數和filterKey中的元素個數必須相同。 |
返回參數
返回參數請參見:CreateConfig - 建立Logtail採集配置。
範例程式碼
from aliyun.log import LogClient
from aliyun.log.logtail_config_detail import SimpleFileConfigDetail
import os
# 本樣本從環境變數中擷取AccessKey ID和AccessKey Secret
access_key_id = os.environ.get('ALIBABA_CLOUD_ACCESS_KEY_ID', '')
access_key_secret = os.environ.get('ALIBABA_CLOUD_ACCESS_KEY_SECRET', '')
# Log Service的服務存取點
endpoint = "cn-hangzhou.log.aliyuncs.com"
client = LogClient(endpoint, access_key_id, access_key_secret)
project = "slsproject-1"
logstore = "logstore-1"
configName = logstore + "-stt1-logtail"
logPath = "/data/logs"
filePattern = "*.log"
# 建立簡單文本採集配置
def main():
try:
config_detail = SimpleFileConfigDetail(logstore, configName, logPath, filePattern)
res = client.create_logtail_config(project, config_detail)
res.log_print()
except Exception as error:
print(error)
if __name__ == '__main__':
main()
樣本返回結果
CreateLogtailConfigResponse:
headers: {'Server': 'AliyunSLS', 'Content-Length': '0', 'Connection': 'keep-alive', 'Access-Control-Allow-Origin': '*', 'Date': 'Fri, 22 Nov 2024 06:40:40 GMT', 'x-log-time': '1732257640', 'x-log-requestid': '67402768AA8C117B143D****'}
Process finished with exit code 0