日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

如何排查容器日志采集異常

更新時(shí)間:

當(dāng)您使用Logtail采集容器(標(biāo)準(zhǔn)容器、Kubernetes)日志時(shí),如果采集狀態(tài)異常,可以根據(jù)本文進(jìn)行問題排查、運(yùn)行狀態(tài)檢查等運(yùn)維操作。

排查機(jī)器組心跳是否異常

您可以通過檢查機(jī)器組心跳的狀態(tài)來判斷容器中的Logtail是否已正確安裝。

  1. 查看機(jī)器組心跳狀態(tài)。

    1. 登錄日志服務(wù)控制臺(tái)

    2. 在Project列表區(qū)域,單擊目標(biāo)Project。

      image

    3. 在左側(cè)導(dǎo)航欄中,選擇資源 > 機(jī)器組

    4. 在機(jī)器組列表中,單擊目標(biāo)機(jī)器組。

    5. 機(jī)器組配置頁面,查看機(jī)器組狀態(tài)并記錄心跳狀態(tài)為OK的節(jié)點(diǎn)數(shù)。

  2. 檢查容器集群中Worker節(jié)點(diǎn)數(shù)。

    1. 連接集群

    2. 執(zhí)行如下命令,查看集群中Worker節(jié)點(diǎn)數(shù)。

      kubectl get node | grep -v master

      系統(tǒng)會(huì)返回如下類似結(jié)果。

      NAME                                 STATUS    ROLES     AGE       VERSION
      cn-hangzhou.i-bp17enxc2us3624wexh2   Ready     <none>    238d      v1.10.4
      cn-hangzhou.i-bp1ad2b02jtqd1shi2ut   Ready     <none>    220d      v1.10.4
  3. 對比心跳狀態(tài)為OK的節(jié)點(diǎn)數(shù)是否和容器集群中Worker節(jié)點(diǎn)數(shù)一致。根據(jù)對比結(jié)果選擇排查方式。

    • 機(jī)器組中所有節(jié)點(diǎn)的心跳狀態(tài)均為Failed

      • 如果您要采集標(biāo)準(zhǔn)Docker容器日志,請參見采集標(biāo)準(zhǔn)Docker容器日志,檢查${your_region_name}${your_aliyun_user_id}${your_machine_group_user_defined_id}是否填寫正確。

      • 如果您使用的是阿里云Kubernetes集群,請?zhí)峤?span props="china">工單

      • 如果您使用的是自建Kubernetes集群,請參見通過Sidecar方式采集Kubernetes容器文本日志,檢查{your-project-suffix}{regionId}{aliuid}{access-key-id}{access-key-secret}是否已正確填寫。

        如果填寫錯(cuò)誤,請執(zhí)行helm del --purge alibaba-log-controller命令,刪除安裝包,然后重新安裝。

    • 機(jī)器組心跳狀態(tài)為OK的節(jié)點(diǎn)數(shù)量少于集群中的Worker節(jié)點(diǎn)數(shù)量。

      • 判斷是否已使用YAML文件手動(dòng)部署DaemonSet。

        1. 執(zhí)行如下命令。如果存在返回結(jié)果,則表示您之前已使用YAML文件手動(dòng)部署DaemonSet。

          kubectl get po -n kube-system -l k8s-app=logtail
        2. 下載最新版本DaemonSet模板。

        3. 根據(jù)實(shí)際值,配置${your_region_name}${your_aliyun_user_id}${your_machine_group_name}等參數(shù)。

        4. 執(zhí)行如下命令,更新文件。

          kubectl apply -f ./logtail-daemonset.yaml
      • 其他情況,請?zhí)峤?span props="china">工單

排查容器日志采集是否異常

如果您在日志服務(wù)控制臺(tái)的預(yù)覽或Logstore查詢頁面未查到日志,則說明日志服務(wù)未采集到您的容器日志。請確認(rèn)容器狀態(tài),然后執(zhí)行如下檢查。

重要
  • 采集容器文件中的日志時(shí),需注意如下事項(xiàng)。

    • Logtail只采集增量日志。如果下發(fā)Logtail配置后,日志文件無更新,則Logtail不會(huì)采集該文件中的日志。更多信息,請參見讀取日志

    • 只支持采集容器默認(rèn)存儲(chǔ)或掛載到本地的文件中的日志,暫不支持其他存儲(chǔ)方式。

  • 采集到日志后,您需要先創(chuàng)建索引,才能在Logstore中查詢和分析日志。具體操作,請參見創(chuàng)建索引

  1. 查看機(jī)器組心跳是否存在異常。具體操作,請參見排查機(jī)器組心跳是否異常

  2. 檢查Logtail配置是否正確。

    檢查Logtail配置中的IncludeLabelExcludeLabelIncludeEnvExcludeEnv等配置是否符合您的采集需求。

    說明
    • 其中此處的Label為容器Label,即Docker inspect中的Label,不是Kubernetes中的Label。

    • 您可以將IncludeLabelExcludeLabelIncludeEnvExcludeEnv配置臨時(shí)去除,查看是否可以正常采集到日志。如果可以,則說明是上述參數(shù)的配置存在問題。

其他運(yùn)維操作

登錄Logtail容器

  • 普通Docker

    1. 在宿主機(jī)上執(zhí)行如下命令,查詢Logtail容器。

      docker ps | grep logtail

      系統(tǒng)將返回如下類似結(jié)果。

      223****6e        registry.cn-hangzhou.aliyuncs.com/log-service/logtail                             "/usr/local/ilogta..."   8 days ago          Up 8 days                               logtail-iba
    2. 執(zhí)行如下命令,在Logtail容器內(nèi)啟動(dòng)bash shell。

      docker exec -it 223****6e  bash

      其中,223****6e為容器ID,請根據(jù)實(shí)際值替換。

  • Kubernetes

    1. 執(zhí)行如下命令,查詢Logtail的Pod。

      kubectl get po -n kube-system | grep logtail

      系統(tǒng)將返回如下類似結(jié)果。

      logtail-ds-****d                                             1/1       Running    0          8d
      logtail-ds-****8                                             1/1       Running    0          8d
    2. 執(zhí)行如下命令,登錄Pod。

      kubectl exec -it -n kube-system logtail-ds-****d -- bash

      其中,logtail-ds-****d為Pod ID,請根據(jù)實(shí)際值替換。

查看Logtail的運(yùn)行日志

Logtail日志存儲(chǔ)在Logtail容器中的/usr/local/ilogtail/目錄中,文件名為ilogtail.LOGlogtail_plugin.LOG

  1. 登錄Logtail容器。具體操作,登錄Logtail容器

  2. 打開/usr/local/ilogtail/目錄。

    cd /usr/local/ilogtail
  3. 查看ilogtail.LOGlogtail_plugin.LOG文件。

    cat ilogtail.LOG
    cat logtail_plugin.LOG

Logtail容器的標(biāo)準(zhǔn)輸出(stdout)說明

Logtail容器中的標(biāo)準(zhǔn)輸出并不具備參考意義,請忽略以下標(biāo)準(zhǔn)輸出內(nèi)容。

start umount useless mount points, /shm$|/merged$|/mqueue$
umount: /logtail_host/var/lib/docker/overlay2/3fd0043af174cb0273c3c7869500fbe2bdb95d13b1e110172ef57fe840c82155/merged: must be superuser to unmount
umount: /logtail_host/var/lib/docker/overlay2/d5b10aa19399992755de1f85d25009528daa749c1bf8c16edff44beab6e69718/merged: must be superuser to unmount
umount: /logtail_host/var/lib/docker/overlay2/5c3125daddacedec29df72ad0c52fac800cd56c6e880dc4e8a640b1e16c22dbe/merged: must be superuser to unmount
......
xargs: umount: exited with status 255; aborting
umount done
start logtail
ilogtail is running
logtail status:
ilogtail is running

查看Kubernetes集群中日志服務(wù)相關(guān)組件的狀態(tài)

執(zhí)行如下命令,查看名稱為alibaba-log-controller的Deployment的狀態(tài)和信息。

kubectl get deploy alibaba-log-controller -n kube-system

返回結(jié)果:

NAME                     READY   UP-TO-DATE   AVAILABLE   AGE
alibaba-log-controller   1/1     1            1           11d

執(zhí)行以下命令,查看關(guān)于DaemonSet資源的狀態(tài)信息。

kubectl get ds logtail-ds -n kube-system

返回結(jié)果:

NAME         DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR  AGE
logtail-ds   2         2         2       2            2           **ux           11d

查看Logtail的版本號(hào)、IP地址、啟動(dòng)時(shí)間

  1. 在宿主機(jī)執(zhí)行如下命令,查看Logtail的版本號(hào)、IP地址、啟動(dòng)時(shí)間。

    相關(guān)信息存儲(chǔ)在Logtail容器的/usr/local/ilogtail/app_info.json文件中。

    kubectl exec logtail-ds-****k -n kube-system cat /usr/local/ilogtail/app_info.json

    系統(tǒng)將返回如下類似結(jié)果。

    {
       "UUID" : "",
       "hostname" : "logtail-****k",
       "instance_id" : "0EB****_172.20.4.2_1517810940",
       "ip" : "172.20.4.2",
       "logtail_version" : "0.16.2",
       "os" : "Linux; 3.10.0-693.2.2.el7.x86_64; #1 SMP Tue Sep 12 22:26:13 UTC 2017; x86_64",
       "update_time" : "2018-02-05 06:09:01"
    }

誤刪由CRD創(chuàng)建的Logstore后,如何處理

如果您刪除了由CRD自動(dòng)創(chuàng)建出的Logstore,則已采集的數(shù)據(jù)無法恢復(fù),并且針對此Logstore的CRD配置會(huì)失效,您可以選擇以下方案避免日志采集異常。

  • 在CRD配置中使用其他Logstore,避免使用手動(dòng)誤刪的Logstore。

  • 重啟alibaba-log-controller Pod。

    您可通過如下命令查找該P(yáng)od。

    kubectl get po -n kube-system | grep alibaba-log-controller