Prometheus에 대해 프로그래밍 방식으로 tsdb wal 또는 차단을 생성하는 방법

PHPz
풀어 주다: 2024-02-06 08:40:03
앞으로
645명이 탐색했습니다.

如何以编程方式为 Prometheus 创建 tsdb wal 或块

질문 내용

프로메테우스용 샘플 데이터를 생성하고 프로그래밍 방식으로 tsdb 블록을 생성하는 스크립트를 생성하려고 합니다. ChatGPT의 도움으로 이 코드를 작성했고 Prometheus가 허용하는 WAL 블록을 생성하고 자동 완성 감지 시리즈 이름도 생성했지만 아무런 값도 표시되지 않습니다. 이유는 무엇입니까?

package main

import (
    "context"
    "fmt"
    "github.com/prometheus/prometheus/model/labels"
    "github.com/prometheus/prometheus/storage"
    "github.com/prometheus/prometheus/tsdb"
    "os"
    "time"
)

func main() {
    // Create a new TSDB instance
    db, err := tsdb.Open(
        "./data", // directory where the data will be stored
        nil,      // a logger (can be nil for no logging)
        nil,      // an optional prometheus.Registerer
        tsdb.DefaultOptions(),
        nil,
    )
    if err != nil {
        fmt.Println("Error opening TSDB:", err)
        os.Exit(1)
    }
    defer db.Close()

    // Create a new appender
    app := db.Appender(context.Background())

    // Create labels for the gauge time series
    lbls := labels.FromStrings("__name__", "example_gauge", "type", "gauge")

    // Initialize a SeriesRef
    var ref storage.SeriesRef

    // Add some data points
    for i := 0; i < 10; i++ {
        var err error
        ref, err = app.Append(ref, lbls, time.Now().Unix()+int64(i), float64(i))
        if err != nil {
            fmt.Println("Error appending:", err)
            os.Exit(1)
        }
    }

    // Commit the data
    err = app.Commit()
    if err != nil {
        fmt.Println("Error committing:", err)
        os.Exit(1)
    }
}
로그인 후 복사

정답


좋아요 위의 코드는 작동합니다. 유일한 문제는 시간을 밀리초 단위로 전달해야 하고 time.Now().Unix()가 초 단위로 반환하므로 1000을 곱해야 한다는 것입니다. 당신이 결과입니다:

발신:

으아아아

받는 사람:

으아아아

위 내용은 Prometheus에 대해 프로그래밍 방식으로 tsdb wal 또는 차단을 생성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:stackoverflow.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!