Graphite

Statsd、石墨和圖表

  • October 8, 2012

我已經設置了 Graphite 和 statsd 並且兩者都執行良好。我正在使用來自石墨/範例的 example-client.py 來測量負載值,這沒關係。

我開始使用 statsd 進行測試,起初它似乎還可以,因為它生成了一些圖表,但現在看起來不太好。

首先,這是我的storage-schema.conf

priority = 100
pattern = .*
retentions = 1m:395d

我正在使用此命令將數據發送到 statsd:

echo 'ssh.invalid_users:1|c'| nc -w 1 -u localhost 8126

它執行,我在 Graphite web 界面中點擊 Update Graph,它會生成一條線,再次點擊 Update,這條線就會消失。像this1this2

如果我執行上一個命令 5 次,圖形線將達到 2,它實際上會保存它。再次執行相同的命令兩次,圖形線達到 2 並消失。

我找不到我配置錯誤的東西。

預期用途是這樣的:

tail -n 0 -f /var/log/auth.log|grep --line-buffered "Invalid user" | while read line; do echo "ssh.invalid_users:1|c" | nc -w 1 -u localhost 8126; done

編輯:

在我使用最新版本的石墨、碳、nodejs、statsd 重新安裝的新系統上,它的作用相同。

跟踪 /opt/graphite/storage/log/carbon-cache/carbon-cache-a/query.log時,我得到:
cache query for "stats_counts.ssh.invalid_users" returned 0 values

cache query for "stats.ssh.invalid_users" returned 0 values 每當我在 webapp 中按**更新時。**我注意到它會returned 1 values在繪製線條時隨機說,但會恢復到returned 0 values線條消失。

問題是儲存模式保留:

retentions = 1m:395d-取自石墨維基http://graphite.wikidot.com/installation

我不得不使用retentions = 10:2160,60:10080,600:262974或類似的東西。這會考慮每 10 秒保存的值。

此外,雖然我在更改 storage-schema.conf 後重新啟動了 Graphite,但我不得不使用不同的指標名稱,因為前一個指標名稱將保留相同的行為/保留(我可以重現此)。

因此echo 'ssh.invalid_users:1|c',我不得不使用

echo 'ssh.invalid_userstest2:1|c'.

引用自:https://serverfault.com/questions/433689