每日分享最新,最流行的软件开发知识与最新行业趋势,希望大家能够一键三连,多多支持,跪求关注,点赞,留言。
随着日志数据的重要性和庞大数量的增长,日志数据越来越像分析数据。大量的小型半结构化数据集,从数据中获取关键洞察力——日志和分析事件之间的界限一如既往地薄。
组织正在通过切换到像 ClickHouse 这样的 OLAP 存储来进行日志存储来适应。但是 OLAP 平台本质上是为 BI 类型的用例构建的数据库。这在整体体验上留下了巨大的差距。最重要的日志记录功能,如警报、相关性、深入了解事件等等,根本不可用。
这种差距导致 Parseable 是一种现代的、可扩展的、云原生的日志存储系统,它像OLAP 系统一样工作和扩展,但表现得像一个日志存储和可观察性平台。
日志记录是任何支持软件的业务的例行活动。日志有助于保持业务运行和客户满意。对于我上面讨论的模式,显然需要一个对开发人员友好、易于部署/维护的平台,该平台不会妨碍开发人员的工作,而是为他们铺平道路。 Parseable是一个简单、高效的日志存储和可观察性平台。我们的目标是:
数据和内容的所有权
部署和使用简单,随处部署。
Kubernetes 原生。
OLAP DB 类架构,记录平台类行为。
如有任何问题、评论或反馈,请前往Parseable 社区 Slack !
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