久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

怎樣進行Kubernetes日志查詢分析實踐

166次閱讀
沒有評論

共計 2987 個字符,預計需要花費 8 分鐘才能閱讀完成。

這期內容當中丸趣 TV 小編將會給大家帶來有關怎樣進行 Kubernetes 日志查詢分析實踐,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

簡介:下面將介紹如何基于日志服務實現對 Kubernetes(以下簡稱 K8s)日志的采集以及查詢分析,此外,還附帶了對 Ingress、Audit 方案的簡要介紹。為了方便大家通過操作來加深理解,提供了詳細的操作步驟以及對應截圖和配置代碼。

準備工作

為了完成后續的相關操作,我們需要準備一個 K8s 集群,操作步驟如下:

登陸容器服務控制臺。

創建一個標準托管集群(杭州區域),在向導中勾選上 **【使用 EIP 暴露 API Server】和【使用日志服務】**。

集群創建完畢后,回到集群列表頁面,點擊 **【更多 - 通過 CloudShell 管理集群】**。

在 CloudShell 中輸入 kubectl get ds -n kube-system,結果中顯示的 logtail-ds 即為了實現數據采集所安裝的日志服務組件。

打開日志服務控制臺,可以看到和 K8s 集群 ID 所對應的 project 也已經創建完畢。

操作截圖如下:

圖:創建托管集群(步驟 2)

圖:打開 CloudShell(步驟 3)

圖:在 CloudShell 中查看日志服務組件(步驟 4)

圖:打開日志服務控制臺,查看 project(步驟 5)

1. 數據采集

在 K8s 環境下,容器日志數據從大體上分為兩類:容器標準輸出和容器內文本文件,前者是容器特有的一種日志存在形式,后者和傳統的文本文件日志類似,只是文件存放在各個容器內部,相互之間隔離。下面我們將介紹如何對這兩種類型的日志進行采集。

1.1. Mock 數據

我們將使用如下兩個 YAML 文件分別生成標準輸出和容器內文件兩種形式的 mock 數據。
容器標準輸出

#  創建兩個  pod  來生成  mock  數據
apiVersion: batch/v1
kind: Job
metadata:
 name: nginx-stdout-log-demo-1
 namespace: nginx-stdout
spec:
 template:
 metadata:
 name: nginx-stdout-log-demo-1
 spec:
 containers:
 - name: nginx-stdout-log-demo-1
 image: registry.cn-hangzhou.aliyuncs.com/log-service/docker-log-test:latest
 command: [/bin/mock_log]
 args: [--stderr=false ,  --stdout=true ,  --log-type=nginx ,  --total-count=100000000 ,  --logs-per-sec=5]
 restartPolicy: Never
apiVersion: batch/v1
kind: Job
metadata:
 name: nginx-stdout-log-demo-2
 namespace: nginx-stdout
spec:
 template:
 metadata:
 name: nginx-stdout-log-demo-2
 spec:
 containers:
 - name: nginx-stdout-log-demo-2
 image: registry.cn-hangzhou.aliyuncs.com/log-service/docker-log-test:latest
 command: [/bin/mock_log]
 args: [--stderr=false ,  --stdout=true ,  --log-type=nginx ,  --total-count=100000000 ,  --logs-per-sec=5]
 restartPolicy: Never

容器內文本文件(/var/log/access.log)

apiVersion: batch/v1
kind: Job
metadata:
 name: nginx-file-log-demo
 namespace: nginx-file
spec:
 template:
 metadata:
 name: nginx-file-log-demo
 spec:
 restartPolicy: Never
 containers:
 - name: nginx-file-log-demo
 image: registry.cn-hangzhou.aliyuncs.com/log-service/docker-log-test:latest
 command: [/bin/mock_log]
 args: [--log-type=nginx ,  --stdout=false ,  --stderr=false ,  --path=/var/log/access.log ,  --total-count=100000000 ,  --logs-per-sec=5]

操作步驟:

打開 CloudShell,參考準備工作中的步驟 3。

在集群中應用上面提及的兩個 YAML(Github)。

執行 kubectl get pods 查看負責生成日志的幾個 Pod。

查看兩個 Pod 生成日志的情況(根據實際情況替換命令中的 pod 名)

標準輸出:執行 kubectl logs -n nginx-stdout –tail=10 nginx-stdout-log-demo-1-7kvwx。

容器內文件:執行 kubectl exec -n nginx-file nginx-file-log-demo-7frsp — bash -c tail /var/log/access.log。

$ kubectl create namespace nginx-stdout
$ kubectl create -f https://raw.githubusercontent.com/goclis/kubernetes-mock-log/master/pod_nginx_stdout.yaml
$ kubectl create namespace nginx-file
$ kubectl create -f https://raw.githubusercontent.com/goclis/kubernetes-mock-log/master/pod_nginx_file.yaml

命令:生成 mock 數據(步驟 2)

$ kubectl get pods -A
NAMESPACE NAME READY STATUS RESTARTS AGE
nginx-file nginx-file-log-demo-7frsp 1/1 Running 0 2m9s
nginx-stdout nginx-stdout-log-demo-1-7kvwx 1/1 Running 0 2m12s
nginx-stdout nginx-stdout-log-demo-2-4x7vw 1/1 Running 0 2m12s

命令:查看日志服務組件(步驟 3)

上述就是丸趣 TV 小編為大家分享的怎樣進行 Kubernetes 日志查詢分析實踐了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注丸趣 TV 行業資訊頻道。

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-08-16發表,共計2987字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 凤翔县| 安阳市| 留坝县| 竹溪县| 和林格尔县| 新和县| 灵川县| 平定县| 灌南县| 平乐县| 秭归县| 十堰市| 上饶县| 长子县| 杨浦区| 昌宁县| 福贡县| 九龙县| 临武县| 且末县| 通渭县| 义乌市| 许昌市| 榆社县| 垫江县| 徐闻县| 清丰县| 玉田县| 朝阳县| 华蓥市| 云林县| 兴城市| 徐水县| 抚顺县| 运城市| 会昌县| 白朗县| 西峡县| 塘沽区| 全椒县| 喀喇|