在Windows环境中,我需要使用Etsy的Statsd?我的意图是创建一个.net客户端来使用Statsd。
答案 0 :(得分:15)
我使用C#客户端NStatsD在我的Windows环境中运行了statsd + graphite。
以下是获取Linux VM设置的注意事项:
注意:我知道Linux足够危险但是否则是一个菜鸟,可能会做一些无意识的事情。
将graphite-fabric下载到您的主文件夹。这是一个下载,编译和安装graphite和statsd的脚本。它需要一个干净的盒子,并使用nginx作为Web服务器。
sudo apt-get install git
git clone git://github.com/gingerlime/graphite-fabric.git
cd graphite-fabric/
安装fabric的先决条件
sudo apt-get install python-setuptools
接下来的步骤是下载,编译和安装,这可能需要一些时间。在继续之前,在任何putty ssh会话上设置保持活动是值得的。
现在按照gingerlime的说明在README.md中安装 - 包括要求部分。
netstat -nulp
并使用观察8125确认statsd正在收听。tail /opt/graphite/storage/log/carbon-cache/carbon-cache-a/listener.log
。如果不是,请尝试sudo /etc/init.d/carbon start
现在您的服务器正在运行,请尝试使用NStatsD客户端向其投放一些计数器。
时区修复:
这会将石墨固定在本地区域的图形时间
cd /opt/graphite/webapp/graphite
sudo cp local_settings.py.example local_settings.py
sudo chown www-data:www-data local_settings.py
(请与ls -l
一起检查权限是否正确)sudo pico local_settings.py
将TIME_ZONE设置为Australia/Sydney
。了解您可以在/usr/share/zoneinfo/
EC2备注
在EC2上禁用root。 Fabric会提示您输入您没有的root密码。使用fab的-i keyfile
参数来代替你的ssh密钥文件。
VirtualBox Notes
VBoxVMService在我的Windows开发环境中自动将VM作为服务运行是很方便的。
答案 1 :(得分:7)
TL; DR:
完全披露:我是这两个项目的作者,我写了这些项目是因为我无法将etsy的statsd服务用于生产 - 我的组织还没有准备好部署和支持基于nodejs的服务。
我的组织遇到了同样的问题 - 我们是一个以Windows为中心的环境,希望将来自世界各地的统计数据收集到一个石墨存储库中。我最初想过使用etsy的statsd,但我的公司尚未准备好在生产中使用nodejs服务。在此过程中,我发现拥有自己的聚合服务意味着我可以做很多有趣的事情,例如添加memcached支持可伸缩性,添加新的聚合器等等。
该服务目前可在控制台模式下使用,并可于2013年5月29日起投入生产使用。
答案 2 :(得分:5)
最好的办法是安装一台带有statsd和Graphite的Linux服务器。然后,您只需编写一些C#代码即可进行UDP调用,以便将指标纳入系统。
[更新时间(2014年6月23日):我遇到了一个名为statsd.net的statsd / Graphite克隆,看起来很有希望但很大程度上缺乏Graphite方面。我仍然认为最好的办法是使用实际的statsd / Graphite项目,因为任何克隆都是必要的追赶。]
答案 3 :(得分:5)
答案 4 :(得分:2)
有很多开源的StatsD客户端实现可用于不同的语言,包括C#.NET。 Etsy在他们的github examples上提供了一个,也查看了statsd_clients的AppFirst版本。
答案 5 :(得分:2)
当前的statsd和nodejs版本允许您在Windows上运行statsd而无需修改。 statsd package.json文件已包含用于安装和卸载Windows服务的脚本。
安装程序如下:
cd \StatsD
npm install https://github.com/etsy/statsd.git
node_modules\statsd
目录中创建您自己的config.json
cd node_modules\statsd
和npm run-script install-windows-service
但是,Graphite只能在Linux上运行。
答案 6 :(得分:1)
您需要一台statsd服务器才能连接 您还需要一个客户端库来连接它,例如this one和the nuget package。