微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在Windows环境中使用Etsy的StatsD

我需要在Windows环境中使用Etsy's Statsd ? 我的意图是创build一个.NET客户端使用Statsd。

如何使用.net TransactionScope从MQ执行事务GET?

LINQ程序集位于Windows XP中?

正确的行为托盘图标点击?

解决Windows 7中registry操作限制的解决方法

如何找出EventProperty的名字?

最好的办法是安装一个安装了statsd和Graphite的Linux服务器。 然后,您只需编写一些C#代码,以便进行UDP调用即可将度量标准引入系统。

[更新(2014年6月23日):我遇到了一个名为statsd.net的statsd / Graphite克隆,看起来很有希望,但很大程度上缺乏方程的Graphite方面。 我仍然认为最好的选择是使用实际的statsd / Graphite项目,因为任何克隆都需要追赶。

我使用C#客户端NStatsD在我的Windows环境中运行statsd + graphite。

这里是我得到Linux VM设置的笔记:

注意:我知道有足够的Linux是危险的,但是否则是noob,可能会在不知不觉中做一些事情。

安装Ubuntu server 12.04。 我使用VirtualBox的开发,然后EC2的产品。

下载石墨面料到您的家庭文件夹。 这是一个脚本,将下载,编译和安装石墨和statsd。 它期望一个干净的盒子,并使用Nginx的Web服务器。

sudo apt-get install git

git clone git://github.com/gingerlime/graphite-fabric.git

cd graphite-fabric/

为织物安装prereq

sudo apt-get install python-setuptools

下一步是下载,编译和安装,这可能需要一些时间。 在继续之前,在任何腻子ssh会话中设置一个活着的值是值得的。

现在按照gingerlime的说明安装在README.md中 – 包括需求部分。

根据gingerlime的指示安装statsd。

重启

执行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说明

root在EC2上被禁用。 Fabric会提示您没有root密码。 使用fab的-i keyfile参数来替代你的ssh keyfile。

VirtualBox笔记

VBoxVMService很方便在我的Windows开发环境中自动运行虚拟机作为服务。

TL; DR:

statsd.net是一个可扩展的statsd克隆,有很多很酷的附加功能,并且设计用于以Windows为中心的环境。 首个产品发布时间为2013年5月29日

statsd-csharp-client是一个轻量级的statsd和statsd.net客户端,通过nuget可用于.net 3.5,4.0和4.5。

完全披露:我是这两个项目的作者,我写了他们,因为我不能把etsy的statsd服务用于生产 – 我的组织还没有准备好部署和支持基于nodejs的服务。

我在我的组织中遇到了同样的问题 – 我们是一个以Windows为中心的环境,希望从世界各地收集统计数据到一个单一的石墨库中。 我最初想到使用etsy的statsd,但是我的公司还没有准备好在生产中使用nodejs服务。 一路上我发现拥有自己的聚合服务意味着我可以做很多有趣的事情,比如添加memcached对可伸缩性的支持添加新的聚合器等等。

该服务现在可以在主机模式下使用,并将从2013年5月29日起准备投入生产使用。

我们重新构建了纯.NET中的Graphite / StatsD。 目前正在生产环境中使用,每天处理约600M数据点。

数据 :

有不少语言的开源StatsD客户端实现,包括C#.NET。 Etsy在他们的github上提供了一个例子 ,同时也检查了AppFirst版本的statsd_clients 。

当前的statsd和nodejs版本允许您在Windows上运行statsd而不做任何修改。 statsd package.json文件已经包含脚本来安装和卸载它作为Windows服务。

安装过程将是:

为Windows安装nodejs

创建一个像C: StatsD的目录

打开一个控制台窗口,然后执行cd StatsD

然后做npm install https://github.com/etsy/statsd.git

在node_modulesstatsd目录下创建你自己的config.json

在控制台窗口中,执行cd node_modulesstatsd和npm run-script install-windows-service

但是,Graphite只能在Linux上运行。

你需要一个statsd服务器来连接。

你还需要一个客户端库来连接它,例如这个和它的nuget包 。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐