私有部署服務(wù)應(yīng)用日志配置方案
計(jì)算巢應(yīng)用日志管理功能將SLS日志服務(wù)能力集成到計(jì)算巢,支持ECS和ACK部署場(chǎng)景,補(bǔ)齊了應(yīng)用可觀測(cè)性能力,讓用戶能夠一鍵查看日志。本文介紹如何私有化場(chǎng)景中配置并查看應(yīng)用日志的詳細(xì)操作。
概述
應(yīng)用日志功能的基本流程如下:
創(chuàng)建私有部署服務(wù)時(shí),定義應(yīng)用日志采集到日志服務(wù)的配置信息。
用戶創(chuàng)建服務(wù)實(shí)例時(shí),啟用應(yīng)用日志功能。
計(jì)算巢在創(chuàng)建服務(wù)實(shí)例過(guò)程中,會(huì)按照日志采集的配置信息,在用戶賬戶下配置的ECS實(shí)例上的logtail客戶端中,創(chuàng)建
SLS project
、logstore
、logstore
配置和機(jī)器組等。用戶即可從服務(wù)實(shí)例詳情頁(yè)查看計(jì)算巢平臺(tái)從
SLS logstore
中查詢出應(yīng)用日志。
創(chuàng)建包含應(yīng)用日志功能的私有部署服務(wù)
在左側(cè)導(dǎo)航欄中,選擇我的服務(wù),并在我的服務(wù)頁(yè)面中選擇我創(chuàng)建的服務(wù),然后單擊創(chuàng)建新服務(wù)。
在創(chuàng)建新服務(wù)界面,配置服務(wù)信息。
此處只列舉自定義運(yùn)維需要特別配置的參數(shù),其他參數(shù),請(qǐng)參見(jiàn)創(chuàng)建私有部署服務(wù)。
在服務(wù)運(yùn)維(選填)區(qū)域的日志處,配置應(yīng)用日志信息。
開(kāi)啟應(yīng)用日志,然后單擊添加logstore。
在添加logstore彈窗中,設(shè)置應(yīng)用日志信息。包括日志庫(kù)名稱、文件路徑和文件名信息。/
重要日志庫(kù)名稱會(huì)被模板中引用。
配置項(xiàng)
配置說(shuō)明
日志庫(kù)名稱
應(yīng)用日志保存到的
SLS logstore
的日志庫(kù)名字。不要包含“_”下劃線符號(hào)。路徑
應(yīng)用日志儲(chǔ)存的文件路徑。
指定文件夾下所有符合文件名稱的文件都會(huì)被監(jiān)控(包含所有層次的目錄)。
文件名
設(shè)置應(yīng)用日志庫(kù)的文件名稱。
文件名稱可以是完整名,也支持通配符模式匹配,支持使用環(huán)境變量。
修改服務(wù)部署ROS模板。
若服務(wù)實(shí)例的應(yīng)用是部署在容器服務(wù)上如ACK環(huán)境,還需在YAML配置文件中增加日志配置的環(huán)境變量。即采用計(jì)算巢提供的偽參數(shù)的方式實(shí)現(xiàn)日志收集的設(shè)置。
示例模板如下:模板中${key}為動(dòng)態(tài)傳入的日志庫(kù)名,即
LogstoreName
,也就是第三步驟中的日志庫(kù)名稱。環(huán)境變量只需將${key}動(dòng)態(tài)替換,而保持其余部分不變。
重要ACK部署情形中,環(huán)境變量中的${key}名稱必須和服務(wù)配置中的logstore名稱保持一致,且不要包含下劃線"_"。
spec: containers: - name: nginx image: nginx:1.14.2 ports: - containerPort: 80 env: #設(shè)置日志文件路徑 - name: aliyun_logs_{{ serviceSls.${key}.Logstore }} value: {{ serviceSls.${key}.LogPath }} / {{ serviceSls.${key}.LogFilePattern }} # 表示日志的存儲(chǔ)logstore - name: aliyun_logs_{{ serviceSls.${key}.Logstore }}_logstore value: {{ serviceSls.${key}.Logstore}}
此處舉個(gè)例子具體講述上述偽參數(shù){{ serviceSls.${key}.Logstore }},{{ serviceSls.${key}.LogPath }}和{{ serviceSls.${key}.LogFilePattern }}的使用。
假設(shè)有個(gè)k8s(ACK)的數(shù)據(jù)庫(kù)應(yīng)用,需要
在目錄:/val/log/下收集慢SQL日志,文件為slow*.log,收集到的日志庫(kù)Logstore的名稱為slow-log。
在目錄:/val/log/下收集錯(cuò)誤SQL日志,文件為error*.log,收集到的日志庫(kù)Logstore的名稱為error-log。
那么ROS模板中該應(yīng)用需要新增的環(huán)境變量為:
#第一組日志收集配置 - name: aliyun_logs_{{ serviceSls.slow-log.Logstore }} value: {{ serviceSls.slow-log.LogPath }} / {{ serviceSls.slow-log.LogFilePattern }} - name: aliyun_logs_{{ serviceSls.slow-log.Logstore }}_logstore value: {{ serviceSls.slow-log.Logstore}} #第二組日志收集配置 - name: aliyun_logs_{{ serviceSls.error-log.Logstore }} value: {{ serviceSls.error-log.LogPath }} / {{ serviceSls.error-log.LogFilePattern }} - name: aliyun_logs_{{ serviceSls.error-log.Logstore }}_logstore value: {{ serviceSls.error-log.Logstore}}
(可選)變配功能。可在服務(wù)運(yùn)維(選填)區(qū)域的變配處,設(shè)置變配信息。
默認(rèn)情況下,用戶側(cè)的應(yīng)用日志的開(kāi)啟或關(guān)閉狀態(tài)在服務(wù)實(shí)例創(chuàng)建完成后就無(wú)法變更了。如果希望支持應(yīng)用日志的卸載或重裝操作,可以設(shè)置服務(wù)的變配功能。
開(kāi)啟支持服務(wù)實(shí)例變配,單擊添加變配操作。
根據(jù)界面提示,填寫(xiě)變配參數(shù)。
在變配方式處,需選擇應(yīng)用日志變更。
單擊創(chuàng)建服務(wù),并在彈出的確認(rèn)彈窗中單擊確定。
創(chuàng)建服務(wù)實(shí)例并啟用應(yīng)用日志
創(chuàng)建服務(wù)實(shí)例。
更多信息,請(qǐng)參見(jiàn)創(chuàng)建私有部署服務(wù)實(shí)例。
查看應(yīng)用日志。
服務(wù)實(shí)例創(chuàng)建完成后,由于應(yīng)用日志的啟用是一個(gè)異步的過(guò)程,因此有可能需要等待一段時(shí)間才能查看應(yīng)用日志。
在已創(chuàng)建的服務(wù)實(shí)例詳情頁(yè),單擊日志管理 > 應(yīng)用日志。
在應(yīng)用日志頁(yè)簽中,查看服務(wù)實(shí)例的應(yīng)用日志信息。
您可以指定一個(gè)日志庫(kù),可以查看具體的日志內(nèi)容;也可以單擊查看SLS控制臺(tái),轉(zhuǎn)跳到日志服務(wù)控制臺(tái),查看詳細(xì)信息。
(可選)關(guān)閉應(yīng)用日志。
若該服務(wù)支持變配操作,用戶可以單擊“關(guān)閉應(yīng)用日志”來(lái)卸載應(yīng)用日志。卸載完成后還可以重新啟用應(yīng)用日志。