我目前正在尝试使用石墨wiki的这些说明在gentoo盒子上安装石墨0.9.9。 基本上,它使用apache和mod_wsgi前置石墨。 一切似乎都进行得很顺利,除了apache /石墨webapp似乎从来没有回复网页浏览器的响应(浏览器不断地等待加载页面)。 我打开了石墨debugging信息,但是日志文件中唯一的消息就是这个,在info.log中一遍又一遍地重复(pid总是在变化): Thu Feb 23 01:59:38 2012 :: graphite.wsgi – pid 4810 – 重新加载search索引 这些说明已经在我之前在Ubuntu机器上设置石墨。 我怀疑,mod_wsgi是死亡,但我已经证实,mod_wsgi工作正常时,不提供石墨web应用程序。 这是我的graphite.conf vhost文件的样子: WSGISocketPrefix /etc/httpd/wsgi/ <VirtualHost *:80> ServerName # Server name DocumentRoot "/opt/graphite/webapp" ErrorLog /opt/graphite/storage/log/webapp/error.log CustomLog /opt/graphite/storage/log/webapp/access.log common # I've found that an equal number of processes & threads tends # to show the best performance for […]
在通过stock graphite-web rpm使用Apache mod_wsgi进行初始安装并在CentOS 6.4上设置Graphite时,出现以下“ DatabaseError:database is locked ”消息: mod_wsgi (pid=9009): Target WSGI script '/usr/share/graphite/graphite-web.wsgi' cannot be loaded as Python module. mod_wsgi (pid=9009): Exception occurred processing WSGI script '/usr/share/graphite/graphite-web.wsgi'. Traceback (most recent call last): File "/usr/share/graphite/graphite-web.wsgi", line 16, in <module> import graphite.metrics.search File "/usr/lib/python2.6/site-packages/graphite/metrics/search.py", line 6, in <module> from graphite.storage import is_pattern, match_entries File "/usr/lib/python2.6/site-packages/graphite/storage.py", […]
我想使用kafka作为kafka的传输层。 我发现有一个用于write_kafka插件,它将所有收集的度量标准发送到kafka主题。 我的目的是让几个主机作为收集者(作为一个kafka消费者组织)来从这些主题中获取这些指标,并将它们放入时间序列数据库( influxdb或graphite )中。 collectd没有kafka消费者input插件。 graphite也不能直接读kafka (我想?)。 我在这里错过了哪些软件?
备份石墨密语数据库最安全的方法是使用焦油安全吗?还是有其他方法来防止腐败?
试图build立一个石墨/碳集群。 我有一个弹性负载平衡器,可以引导群集中两个节点之间的stream量,每个节点都有一个Web应用程序,中继和caching。 在本例中,我向Metric1发送了1000个计数。 这是一张图表: 问题 如上图所示,每个服务器大约有一半的实际度量值。 当通过networking应用程序查询时,它只返回实际计数的一半。 根据这个奇妙的post ,这是预期的行为,因为networking应用程序返回它看到的第一个结果。 这意味着(并logging在案)只有完整的计数应该存储在节点上(在我的例子中,一个或两个节点应该有1000)。 所以我的问题似乎是不正确的计数分解和复制。 在我上面的例子中,当一个新的计数来自networking,它可以被redirect到NodeA或NodeB。 我曾经假devise数可以通过任何继电器进入集群。 为了testing这个假设,我从集群中删除了负载均衡器,并将所有传入计数指向NodeA的中继。 这工作:完整的计数出现在一个节点,然后复制到第二个,完整的计数从Web应用程序正确返回。 我的问题 carbon-relay似乎充当应用级负载均衡器。 这很好,但是我担心当入站stream量变得太大时,使用单个carbon-relay作为负载平衡器将成为瓶颈和单点故障。 我更愿意使用实际的负载均衡器来平均分配群集中继中的传入stream量。 然而, carbon-relay似乎并不好,因此上述问题。 为什么中继集群在上述场景中将两个caching之间的Metric1拆分? (当负载均衡器将input分配到不同的继电器?) 我可以在我的Graphite / Carbon集群前使用弹性负载平衡器吗? 我是否为此configuration了群集? 如果我不能,我是否应该将自己的初级carbon-relay放在自己的盒子上作为负载平衡器?
这是CentOS 6.5上一个相当新的Graphite安装。 它通过Sensu的AMQP(RabbitMQ)接收指标。 作为一个概念validation,我有一个负载平均值监视器每60秒向sensu / graphite报告数据。 我可以看到数据到达Graphite的监听器日志。 如果我select一些数据进行绘图,如果我的时间在“过去30分钟”内,我只能看到数据。 (然后,只有当我将行模式设置为“连接线”时才可见,因为点消失。) 如果将期限设置为“查看过去31分钟”,则所有数据都会从图表中消失。 我试过玩storage-schemas.conf,但没有做出任何明显的改变。 如果我超过30分钟,是不是将数据扔掉了,过滤掉了? 我会检查什么? 这是storage-schemas.conf: [load_averages] pattern = \.load_avg\. retentions = 10s:14d,1m:90d
我已经在EC2的CentOS 6.2 x86_64上安装了Graphite Web 0.9.9,并试图使用LDAP身份validation来对抗389 Directory Server。 我已经configurationlocal_settings.py: USE_LDAP_AUTH LDAP_URI LDAP_SEARCH_BASE LDAP_BASE_USER LDAP_BASE_PASS LDAP_USER_QUERY 但每次尝试login时,我仍然会收到“validation尝试失败”。查看LDAP服务器上的日志,看起来并不像graphite-web正在连接到LDAP服务器。 不幸的是,我在石墨服务器上的日志中没有看到任何有用的东西 – 我只看到“access.log”和“info.log”。 “error.log”和“exception.log”是空的。 有什么好的想法可以做些什么来进一步解决这个问题?
我们现在刚刚掌握statsd +石墨,我们(想我们)想看看切片不同的graphics。 例如,假设我们有一个网站foo ,这个网站是多出租给3个客户,并且服务于4个服务器: 汇总(所有服务器,所有租户)在我们的整个服务 – 所以发布foo.logins.attempts:3|c 通过租户(所有服务器)聚合我们的服务 – 所以发布tenant1.foo.logins.attempts:3|c 我们的服务中的单个服务器 – 发布tenant1.server1.foo.logins.attempts:3|c 什么是影响 发布统计3次(实际上是一个统计调用,每行一个统计),每个统计都有一个不同的前缀,所以更容易findstatsd和graphite,并且操纵 发布统计一次(上面#3),然后使用石墨混合匹配产生我们想要的意见 ?
我的服务器向Graphite发送mem_total和mem_free指标,但我想在我的仪表板上显示mem_used 。 我目前正在通过这样做解决问题: offset(scale(servers.foo.*.mem_free,-1),30823052) 其中30823052 k是总内存。 我想知道是否有一种方法可以利用石墨来为mem_total和mem_free计算mem_used ,这样我就可以避免在查询中硬编码内存总量。 我最近一直在和Grafana做一些testing,发现了一个部分的解决scheme,那就是: A) servers.foo.server1.mem_total (mark invisible) B) servers.foo.server1.mem_free (mark invisible) C) diffSeries(#A, #B) 但是,这个解决scheme只能在没有通配符的情况下工作 – 而且我真的很希望能够使用通配符,而不必为每台服务器都做这种事情。 我正在寻找可用的function,而groupByNode似乎可能是我正在寻找的解决scheme的一部分,但我还没有想出一个方法来做我想要的东西呢。
我已经安装了Graphite和statsd,两者都运行良好。 我使用石墨/示例中的example-client.py来测量加载值并且没问题。 我开始用statsd进行testing,起初看起来不错,因为它生成了一些graphics,但现在看起来不太好。 首先,这是我的storage-schema.conf : priority = 100 pattern = .* retentions = 1m:395d 我使用这个命令发送数据到statsd: echo 'ssh.invalid_users:1|c'| nc -w 1 -u localhost 8126 它会执行,我点击Graphite Web界面中的更新图表,它会生成一行,再次点击更新并且行消失。 像这个1和this2 如果我执行上一个命令5次,graphics线将达到2,它会实际保存它。 再次运行相同的命令两次,图线到达2并消失。 我无法find我错误configuration的内容。 预期的用途是这样的: 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,它的行为是一样的。 […]