【问题标题】:puppetdb node-ttl not working as expectedpuppetdb node-ttl 没有按预期工作
【发布时间】:2016-12-01 16:33:47
【问题描述】:

所以我有点困惑 node-ttl 和 node-purge-ttl 应该如何工作。我在 database.ini 文件中设置了它们。 node-ttl 设置为 35m,node-purge-ttl 设置为 5m。从 puppetdb 文档中,我得出结论,使用这些设置,节点将在 35 分钟不活动后过期,例如节点已死,35 分钟未向 master 签入,5 分钟后应从 db 中清除该节点。

但这似乎没有发生。即使在节点终止 40 多分钟后,该节点仍然看起来很活跃和快乐。但是,在db根据gc-interval执行压缩后,节点似乎消失了。

我是否正确理解了此功能?如果我是,我做错了什么?我正在使用最新版本的 puppetdb 和 puppetserver。

这些是在我的 database.ini 文件中设置的参数:

# How often (in minutes) to compact the database
# gc-interval = 60
gc-interval = 60

# Number of seconds before any SQL query is considered 'slow'; offending
# queries will not be interrupted, but will be logged at the WARN log level.
log-slow-statements = 10
syntax_pgs = true
node-ttl = 35m
node-purge-ttl = 5m
report-ttl = 14d
conn-max-age = 60
conn-keep-alive = 45
conn-lifetime = 0

【问题讨论】:

    标签: puppet


    【解决方案1】:

    TTL 设置会改变 gc 进程的行为。当 gc 运行时(每 gc-interval 分钟),它会参考这些选项来确定要停用哪些节点以及要直接删除哪些节点。

    gc 进程本身会清理数据,这就是为什么在下次 gc 发生之前您看不到任何更改的原因。 Quoth the docs: "每隔 gc-interval 分钟检查节点是否过期"。

    所以基本上,你没有做错任何事!只是数据库清理不会立即进行,而是定期进行。

    【讨论】:

    • 感谢您的回答。所以基本上,如果我希望节点更快地消失,我可能需要将 gc-interval 设置为更频繁地发生......
    猜你喜欢
    • 2018-08-16
    • 1970-01-01
    • 1970-01-01
    • 2021-10-19
    • 2020-03-18
    • 2012-06-14
    • 2014-11-15
    • 1970-01-01
    • 2012-07-02
    相关资源
    最近更新 更多