使用graphite/Grafana記錄mongodb實例中所有集合的大小。我寫了一個簡單的(WIP)python腳本來做到這一點:石墨衍生物不顯示數據
#!/usr/bin/python
from pymongo import MongoClient
import socket
import time
statsd_ip = '127.0.0.1'
statsd_port = 8125
# create a udp socket
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
client = MongoClient(host='12.34.56.78', port=12345)
db = client.my_DB
# get collection list each runtime
collections = db.collection_names()
sizes = {}
# main
while (1):
# get collection size per name
for collection in collections:
sizes[collection] = db.command('collstats', collection)['size']
# write to statsd
for size in sizes:
MESSAGE = "collection_%s:%d|c" % (size, sizes[size])
sock.sendto(MESSAGE, (statsd_ip, statsd_port))
time.sleep(60)
這正確顯示了我在grafana中的所有收藏大小。不過,我想改變這些尺寸的速度,所以我建立以下的石墨查詢在grafana:
derivative(statsd.myHost.collection_myCollection)
和圖形顯示了完全空白。有任何想法嗎?
後續操作:當選擇大於24h的時間範圍時,所有數據同樣從圖中消失。不能爲我的生活找出那一個。
我需要查看顯示它的數據或圖形,以更好地理解爲什麼'derivative()'函數可能會失敗。另外,請發佈你的'storage-schemas.conf'。 – obfuscurity
下面是一些數據截圖:[imgur專輯](http://imgur.com/a/NRWJr)。 無論出於何種原因,圖像的順序都搞砸了,但信息就在那裏。 –
更新:我認爲這個問題起源於石墨。使用石墨網格界面進行圖形繪製可得到與Grafana中相同的結果 - 衍生圖形顯示空白圖形,並且包括大於過去24小時的範圍顯示空圖形。我在irc.freenode.net上諮詢過#graphite,他們似乎認爲這可能是一個聚合問題。我的storage-aggregation.conf是一個空文件。 –