Skip to content

Commit

Permalink
Merge pull request #765 from kongfei605/prom_agent_update
Browse files Browse the repository at this point in the history
add default params for prometheus-agent
  • Loading branch information
kongfei605 committed Jan 22, 2024
2 parents 6e7a37f + 81c7563 commit ba8c819
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 3 deletions.
6 changes: 5 additions & 1 deletion config/prometheus.go
Expand Up @@ -7,6 +7,10 @@ type (
ScrapeConfigFile string `toml:"scrape_config_file"`
WebAddress string `toml:"web_address"`
StoragePath string `toml:"wal_storage_path"`
MinBlockDuration string `toml:"wal_min_duration"`

MinBlockDuration Duration `toml:"min_block_duration"`
MaxBlockDuration Duration `toml:"max_block_duration"`
RetentionDuration Duration `toml:"retention_time"`
RetentionSize string `toml:"retention_size"`
}
)
28 changes: 26 additions & 2 deletions prometheus/prometheus.go
Expand Up @@ -520,9 +520,33 @@ func Start() {
if len(cfg.agentStoragePath) == 0 {
cfg.agentStoragePath = "./data-agent"
}
if cfg.tsdb.MinBlockDuration == model.Duration(0) {
cfg.tsdb.MinBlockDuration = model.Duration(2 * time.Hour)
if coreconfig.Config.Prometheus.MinBlockDuration == coreconfig.Duration(0) {
// keep data in memory for 10min by default
cfg.tsdb.MinBlockDuration = model.Duration(10 * time.Minute)
} else {
cfg.tsdb.MinBlockDuration = model.Duration(coreconfig.Config.Prometheus.MinBlockDuration)
}
if coreconfig.Config.Prometheus.MaxBlockDuration == coreconfig.Duration(0) {
cfg.tsdb.MaxBlockDuration = model.Duration(20 * time.Minute)
} else {
cfg.tsdb.MaxBlockDuration = model.Duration(coreconfig.Config.Prometheus.MaxBlockDuration)
}
if coreconfig.Config.Prometheus.RetentionDuration == coreconfig.Duration(0) {
// reserve data for 24h by default
cfg.tsdb.RetentionDuration = model.Duration(24 * time.Hour)
} else {
cfg.tsdb.RetentionDuration = model.Duration(coreconfig.Config.Prometheus.RetentionDuration)
}
if len(coreconfig.Config.Prometheus.RetentionSize) == 0 {
// max size is 1GB by default
cfg.tsdb.MaxBytes = 1024 * 1024 * 1024
} else {
cfg.tsdb.MaxBytes, err = units.ParseBase2Bytes(coreconfig.Config.Prometheus.RetentionSize)
if err != nil {
panic(fmt.Sprintf("retention_size:%s format error %s", coreconfig.Config.Prometheus.RetentionSize, err))
}
}

if cfg.webTimeout == model.Duration(0) {
cfg.webTimeout = model.Duration(time.Minute * 5)
}
Expand Down

0 comments on commit ba8c819

Please sign in to comment.