天天看點

幾分鐘内可在 Kubernetes 上搜尋 Pod 日志

每日分享最新,最流行的軟體開發知識與最新行業趨勢,希望大家能夠一鍵三連,多多支援,跪求關注,點贊,留言。

随着日志資料的重要性和龐大數量的增長,日志資料越來越像分析資料。大量的小型半結構化資料集,從資料中擷取關鍵洞察力——日志和分析事件之間的界限一如既往地薄。

組織正在通過切換到像 ClickHouse 這樣的 OLAP 存儲來進行日志存儲來适應。但是 OLAP 平台本質上是為 BI 類型的用例建構的資料庫。這在整體體驗上留下了巨大的差距。最重要的日志記錄功能,如警報、相關性、深入了解事件等等,根本不可用。

這種差距導緻 Parseable 是一種現代的、可擴充的、雲原生的日志存儲系統,它像OLAP 系統一樣工作和擴充,但表現得像一個日志存儲和可觀察性平台。

日志記錄是任何支援軟體的業務的例行活動。日志有助于保持業務運作和客戶滿意。對于我上面讨論的模式,顯然需要一個對開發人員友好、易于部署/維護的平台,該平台不會妨礙開發人員的工作,而是為他們鋪平道路。 Parseable是一個簡單、高效的日志存儲和可觀察性平台。我們的目标是:

資料和内容的所有權

部署和使用簡單,随處部署。

Kubernetes 原生。

OLAP DB 類架構,記錄平台類行為。

如有任何問題、評論或回報,請前往Parseable 社群 Slack !

幾分鐘内可在 Kubernetes 上搜尋 Pod 日志

Kubernetes 入門

介紹完之後,讓我們看看如何設定和運作 Parseable。我們将看到使用 Parseable 擷取可搜尋日志是多麼容易。

先決條件

S3 或相容的存儲桶作為存儲層。

Kubectl 和 Helm 安裝在你的機器上。

使用 Helm 在 Kubernetes 上安裝

我們将使用 Parseable Helm 圖表來部署 Parseable 圖像。要開始示範模式,請使用以下指令:

helm repo add parseable https://charts.parseable.io/

kubectl create namespace parseable

helm install parseable parseable/parseable --namespace parseable --set parseable.demo=true

請注意,我們在此處以示範模式使用 Parseable ( --set parseable.demo=true),這意味着 Parseable 将使用公共托管的存儲桶。我們使用它來了解 Parseable 的工作原理,但請確定将 Parseable 配置為使用您自己的 S3 存儲桶。有關如何設定自己的存儲桶的詳細資訊,請參閱配置選項部分。

通路圖形使用者界面

讓我們首先将 Parseable 服務(由 Helm 圖表建立)公開給 localhost,以便在localhost:8000.

您現在應該能夠将浏覽器指向http://localhost:8000并看到 Parseable 登入頁面。在示範模式下,登入憑據設定為parseable和parseable。使用這些憑據登入。現在,您可能會看到一個空白頁面,因為我們還沒有發送任何資料。現在讓我們向示範執行個體發送一些資料。

發送和查詢日志

curl --location --request PUT 'http://localhost:8000/api/v1/logstream/<stream-name>' \

--header 'Authorization: Basic cGFyc2VhYmxlOnBhcnNlYWJsZQ=='

kubectl port-forward svc/parseable -n parseable 8000:80

在發送日志之前,我們需要建立一個日志流。使用 curl 建立如下所示的日志流,但請確定替換<stream-name>為您打算用于日志流的名稱。

curl --location --request POST 'http://localhost:8000/api/v1/logstream/<stream-name>' \

--header 'X-P-META-meta1: value1' \

--header 'X-P-TAG-tag1: value1' \

--header 'Authorization: Basic cGFyc2VhYmxlOnBhcnNlYWJsZQ==' \

--header 'Content-Type: application/json' \

--data-raw '[

{

"id": "434a5f5e-2f5f-11ed-a261-0242ac120002",

"datetime": "24/Jun/2022:14:12:15 +0000",

"host": "153.10.110.81",

"user-identifier": "Mozilla/5.0 Gecko/20100101 Firefox/64.0",

"method": "PUT",

"status": 500,

"referrer": "http://www.google.com/"

}

]'

現在我們已經将資料發送到 Parseable 示範執行個體,切換到浏覽器上的 Parseable 儀表闆并選擇您剛剛建立的日志流。您應該會看到我們剛剛發送的日志資料。

您還可以使用查詢 API直接對日志資料運作 SQL 查詢。請參閱此處的文檔。

配置選項

要配置 Parseable 使其使用您的 S3 / 相容存儲桶,您可以通過 Helm 指令行(例如--set parseable.env.P_S3_URL=https://s3.us-east-1.amazonaws.com)設定變量或使用适當的值更改 values.yaml 檔案。

這是配置正确 S3 端點的相關變量清單。

P_S3_URL=https://s3.us-east-1.amazonaws.com

P_S3_ACCESS_KEY=<access-key>

P_S3_SECRET_KEY=<secret-key>

P_S3_REGION=<region>

P_S3_BUCKET=<bucket-name>

P_USERNAME=<username-for-parseable-login>

P_PASSWORD=<password-for-parseable-login>

有關詳細資訊,請參閱 Parseable 文檔。

希望這篇文章能幫助你對日志存儲空間有一個新的認識。如果你覺得 Parseable 很有趣,請考慮在此處為 repo 添加星号:https ://github.com/parseablehq/parseable

繼續閱讀