本文主要介绍如何在新浪SAE平台搭建一个免费的歪菜的服务器监控。
背景知识,wmon支持PHP,但这个项目主要用Python语言编写,首要目的是满足GAE的部署标准。如果您只是需要部署于SAE这个平台,那么您不需要管除了pywmon.py之外所有以py为后缀的文件。由于目前所有Linux都是自带Python2.x版本的,您无需考虑是否有Python运行环境,以及Python的版本,我们支持Python2.4-Python2.7之间的版本。
第一步,请先到github去下载wmon的代码。解压后,文件夹中应该有如下面截图中所示这些文件。截图中的框住的两个文件,config.php为SAE主控端配置文件,pywmon.py为监控端程序。在新浪SAE上创建一个应用,并得到对应的APP ID。
第二步,我们配置SAE的主控端config.php,在第三行中设置自定义的api key,这个key可以是任意字符,主要用来加密传输数据。主控端负责接收并整理所有监控端传输回的数据。
第三步,我们配置监控端pywmon.py,这个监控端配置好后需要您上传至需要监控的服务器上,并定期执行。具体从pywmon.py的第14行起至23行结束。
SERVER_NAME = '测试' (本行设置监控端的名称)
API_SECRET = 'ccav1987' (本行请填入上一步设置的api key,我们这里设置的是ccav1987)
API_URL = 'http://your-id.sinaapp.com/receive.php' (本行设置您SAE的APP ID)
SERVICES = {
'mongodb':'mongod',
'mysql':'mysqld',
'apache':'apache2',
'nginx':'nginx',
'memcache':'memcached'
}
第18行至第22行请设置您需要监控的服务。我们默认添加好的监控项目为Mongo数据库,MySQL数据库,Apache,Nginx和Memcache。
第四步,请上传配置好的pywmon.py文件至您需要监控的服务器。在终端中用cron命令来定时执行pywmon.py这个文件即完成服务器监控端的设置。如果您需要监控多台服务器,只需要修改SERVER_NAME这个参数,命名不同的服务器名称即可,无需其他设置,SAE主控端将会自动为数据分类。
参考命令为:*/5 * * * * /path/to/python /path/to/pywmon.py &> /dev/null
第五步,在SAE中初始化MySQL,请按照目录下table.sql建立mysql数据库表(在phpmyadmin里执行这段sql或用phpmyadmin导入)
第六步,参考SAE文档通过SVN将代码部署到SAE。注:你可以将*.py加入svn跳过列表。
SAE的演示程序地址:http://wmon.sinaapp.com/