Go
在本节中,我们将收集系统层面的数据,例如 CPU 和内存使用情况,并将它们发送到本地 GreptimeDB。
准备事项
在开始之前,我们需要在本地安装并运行 GreptimeDB 和 Grafana。
- GreptimeDB 用于存储和查询数据。
- Grafana 用于可视化数据。
这里我们使用 Docker Compose 来启动 GreptimeDB 和 Grafana。为此,创建一个 docker-compose.yml
文件,内容如下:
services:
grafana:
image: grafana/grafana-oss:9.5.15
container_name: grafana
ports:
- 127.0.0.1:3000:3000
greptime:
image: greptime/greptimedb:v0.8.2
container_name: greptimedb
ports:
- 127.0.0.1:4000:4000
- 127.0.0.1:4001:4001
- 127.0.0.1:4002:4002
- 127.0.0.1:4003:4003
command: "standalone start --http-addr 0.0.0.0:4000 --rpc-addr 0.0.0.0:4001 --mysql-addr 0.0.0.0:4002 --postgres-addr 0.0.0.0:4003"
volumes:
- ./greptimedb:/tmp/greptimedb
networks: {}
然后执行以下命令:
docker-compose up
接下来的步骤假设你按照上面的文档安装了 GreptimeDB 和 Grafana。
当你成功启动 GreptimeDB 之后,可以使用以下命令验证数据库状态:
curl http://127.0.0.1:4000/status
如果数据库正在运行,你 将看到类似如下的输出:
{
"source_time": "2024-05-30T07:59:52Z",
"commit": "05751084e7bbfc5e646df7f51bb7c3e5cbf16d58",
"branch": "HEAD",
"rustc_version": "rustc 1.79.0-nightly (f9b161492 2024-04-19)",
"hostname": "977898bbda4f",
"version": "0.8.1"
}
写入数据
使用 Grafana 可视化数据
添加数据源
你可以在 http://localhost:3000
访问 Grafana 并使用 admin
作为用户名和密码登录。
GreptimeDB 可以作为 Prometheus 数据源配置在 Grafana 中。
点击 Add data source
按钮,选择 Prometheus 作为类型。
填写以下信息:
- Name:
GreptimeDB
- Prometheus server URL in HTTP:
http://greptimedb:4000/v1/prometheus
- Custom HTTP headers: 点击 Add header, 填写 header
x-greptime-db-name
和 valuepublic
,即数据库的名称。
点击 Save & Test
按钮,确保数据源配置成功。
关于使用 Prometheus 作为 GreptimeDB 数据源的更多信息,请参考 Grafana-Prometheus。
创建仪表盘
在 Grafana 中创建一个新的仪表盘,点击 Create your first dashboard
按钮。
然后,点击 Add visualization
,选择 GreptimeDB
作为数据源。
在 Metric
下拉列表中选择一个指标,然后点击 Run query
查看指标数据。
当你查看数据并确认无误后,点击 Save
保存面板。
你还可以使用 PromQL 创建面板。
点击 Query
标签页右侧的 code
按钮,切换到 PromQL 编辑器。
然后输入一个 PromQL 语句,例如 system_memory_usage{state="used"}
,点击 Run query
查看指标数据。