云服务这个词,大概最早是从云盘开始的,那时候概念也特别简单,无非就是把一些数据存在别人的服务器上,在”云存储”这个名词火起来之前,QQ 也有提供网站的功能用来存一些小东西(05年06年的样子,那时候大概只有几十 M 的空间),其实刚听到这个概念的时候我就很不理解,光存存东西不至于吹得这么玄乎吧。毕业后入行,云服务器才慢慢真真的丰富起来,从最开始的 VPS 变成云服务器、存储变成资源服务器、远程数据库等等,现在甚至有帮你防 DDOS 的服务(去年和今年貌似 DDOS 变得越来越没有节操了)。确实节省了很多精力,也省钱。
除了云,最近几年还有另外一个比较火的词:”大数据”。我没接触过那么大的数据,作为一个半吊子运维,接触的最大的数据应该就是服务器 log 了。所以大数据的东西以后有机会接触再说,对我来说更重要的是 — 数据统计。
服务端的各种 log 不仅是分析服务器的状态的重要参数,也是从后台代码里抓 bug 抓异常检查 SQL 性能等各种工作的参考。log 数据一般都是单调而且重复的居多,要发现它的价值,往往需要大量的分析和统计工作。各种监控服务、分析工具也是层出不穷。不过到今年我才知道有个词叫 “APM”。
APM (Application Performance Management/Monitoring) 简单翻译过来就是”应用性能管理/监控”(也许说监控更准确一些)。大概就是服务器上部署的 awstats、nagios、zabbix 等一堆东西的集合。有服务器的地方就有云,既然这个事情这么麻烦,那就自然也可以交给别人来做了。
前几天找到了一个 Python 的小 web 框架:bottle,只有一个文件,简洁好用,觉得很不错,先是用它来做了一个简单的小应用(APP 下载,公司内部使用),准备这段时间尝试用它来自己写一个简单的博客系统,改造一下自己的博客,所以业务时间花在搞 Python 上的比较多一点。恰好看到了在测 Python 版本的探针,于是部署来测试一下。部署之前先在本地做了一些测试,不过听云目前仅支持基于 django 开发的程序(文档上写的目标是支持所有以 wsgi 协议部署的 Python Web 服务,包括 flask、tornado 等等,不过这个应该还要等后续开发支持了),所以我就先在本地用 django 测了一下。
探针部署过程十分简单,在听云后台复制自己账户的 license key,生成配置文件,将配置文件地址加载到环境变量中,就可以启动程序开始使用了。以下是测试环境部署步骤的介绍。
先用 virtualenv 开辟一个环境并 active 之: