在Windows环境下,我需要什么来使用Etsy的Statsd?我的意图是创建一个.NET客户端来使用Statsd。
在Windows环境下,我需要什么来使用Etsy的Statsd?我的意图是创建一个.NET客户端来使用Statsd。
我在Windows环境中使用C#客户端NStatsD运行了statsd+graphite。
以下是我为Linux虚拟机设置的笔记:
注意:我对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会话上设置保持活动。
现在按照README.md中的gingerlime说明进行安装,包括要求部分。
netstat -nulp
并观察8125正在使用以确认statsd正在侦听。tail /opt/graphite/storage/log/carbon-cache/carbon-cache-a/listener.log
。如果没有,请尝试sudo /etc/init.d/carbon start
现在您已经运行了服务器,请尝试使用NStatsD客户端将一些计数器抛到其中。
时区修复:
这将修复本地时区下Graphite绘制图形的时间问题。
cd /opt/graphite/webapp/graphite
进入Graphite的目录sudo cp local_settings.py.example local_settings.py
复制配置文件模板sudo chown www-data:www-data local_settings.py
(通过 ls -l
检查权限)将文件所有者更改为 www-data 用户sudo pico local_settings.py
将 TIME_ZONE 设置为类似于 Australia/Sydney
的内容。在 /usr/share/zoneinfo/
中可以查看可用的时区EC2 注意事项
EC2 上禁用了 root 用户。Fabric 会提示输入 root 密码,但您没有密码。使用 -i keyfile
参数将您的 ssh keyfile 文件传递给 fab 命令。
VirtualBox 注意事项
VBoxVMService 工具对于在 Windows 开发环境中自动运行 VM 很有用。
简述:
完整披露:我是这两个项目的作者,我编写它们是因为我无法将etsy的statsd服务投入生产——我的组织尚未准备好部署和支持基于nodejs的服务。
在我的组织中,我也遇到了同样的问题——我们是一个以Windows为中心的环境,想要从世界各地收集统计信息并存储到单个graphite存储库中。我最初考虑使用etsy的statsd,但我的公司还没有准备好在生产中使用nodejs服务。在此过程中,我发现拥有自己的聚合服务意味着我可以做很多有趣的事情,比如添加可扩展性的memcached支持,添加新的聚合器等等。
目前该服务可以在控制台模式下使用,从2013年5月29日起将准备好用于生产环境。
针对不同语言,有很多开源的StatsD客户端实现,包括C#.NET。Etsy在他们的github上提供了一个 示例,同时还可以看看AppFirst版本的 statsd_clients。
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