greptimedb cloud - observability

June 9, 2025

greptimedb

store logs into a analytical database..

config.toml, vector.dev config file to send demo logs
## logs
[sources.logs_in]
type = "demo_logs"
format = "json"

[transforms.logs_json]
type = "remap"
inputs = ["logs_in"]
source = '''
. = parse_json!(.message)
'''

[sinks.logs_out]
inputs = ["logs_json"]
type = "greptimedb_logs"
endpoint = "https://z9ckhxuvohe1.us-west-2.aws.greptime.cloud"
compression = "gzip"
dbname = "fill-in-here-public"
username = "fill-in-here"
password = "fill-in-here"
table = "demo_logs"
pipeline_name = "greptime_identity"

and view the data in the cloud: https://console.greptime.cloud/service/detail/17476

or create a table explicitly like:

create table ddl script
$uri = "https://z9ckhxuvohe1.us-west-2.aws.greptime.cloud/v1/sql?db=fill-db-here"
$username = "fill-user-here"
$password = "fill-pw-here"

# Encode credentials as Base64
# Manually construct basic auth header
$pair = "$username`:$password"
$bytes = [System.Text.Encoding]::UTF8.GetBytes($pair)
$base64 = [Convert]::ToBase64String($bytes)

$headers = @{
    "Content-Type"  = "application/x-www-form-urlencoded"
    "Authorization" = "Basic $base64"
}

# URL encode the SQL query
$sql = @"
CREATE TABLE simple_logs (
  "timestamp" TIMESTAMP NOT NULL,
  host STRING NOT NULL,
  service STRING NOT NULL,
  message STRING NOT NULL,
  "level" STRING NOT NULL,
  "file" STRING,
  line INT,
  TIME INDEX ("timestamp")
);
"@

$body = [System.Web.HttpUtility]::UrlEncode("sql") + "=" + [System.Web.HttpUtility]::UrlEncode($sql)

Invoke-WebRequest -Uri $uri `
  -Method POST `
  -Headers $headers `
  -Body $body `
  -UseBasicParsing

.