分类: 系统运维
2015-06-05 10:05:54
OWS是Open Web SA的简称,意指开放的web运维管理系统。
OWS是由Open Web SA开发团队,针对目前运维、和报警提出的一个开源、易用的Linux运维管理平台。
OWS是一个基于《GPLv2协议》永久,并且可以免费下载和使用的运维管理软件。
OWS感谢有您的一路支持,如果您有建议可以发表到社区的建议专版,我们会认真的听取和采纳任何有价值的建议!
如果您在使用过程中遇到任何问题,可以登录我们的社区进行交流,也可以加入技术QQ群:22250846 进行技术咨询!
这里的需求不太明朗,大致有三方面的需求。
1、 web环境,和用常用的版本都没问题,php版本需要>=5.2.0,json>=1.2.0,php还需要pdo_和mbstring扩展。
2、 大于5.0
3、 需要安装python-2.7.2.tgz,setuptools-0.6c10.tar.gz,-python-1.2.3.tar.gz三个包。这三个包在下载OWS代码的tools目录已经包含其源码。
4、 操作系统最好>=RHEL5.0或者Centos5.0
%3D1
1、首先搞定+php-fastcgi+的环境。可以参考我的BLOG
《》
2、下载和解压缩ows源码
将ows_damo_v1.0.2.zip解压后,放到/usr/local/ows目录,当然你可以放到其他目录,不过需要改动。这个咱暂时不在这里讨论,可以私下找我交流。
# unzip ows_damo_v1.0.2.zip #mv ows /usr/local/ows #chown -R nobody:nobody /usr/local/ows //nobody为web和php进程的用户,让他们对ows的目录有写权限。 #chmod 755 -R /usr/local/ows/unctrlsh/* //让这个目录中的shell有执行权限
3、安装/usr/local/ows/tools里面的三个包。
可以参考python2.7_install.sh文件。
#cd /usr/local/ows/tools
安装python-2.7.2
#tar xvf Python-2.7.2.tgz #cd Python-2.7.2 #./configure --prefix=/usr/local/ows/ #make && make install #/usr/local/ows/python/bin/python -V #PYTHONPATH=/usr/local/ows #export PYTHONPATH #echo "PYTHONPATH=/usr/local/ows" >> //file #echo "export PYTHONPATH" >> /etc/profile
安装setuptools
#tar xzvf setuptools-0.6c10.tar.gz #cd setuptools-0.6c10 #/usr/local/ows/python/bin/python setup.py build #/usr/local/ows/python/bin/python setup.py install
安装-python
#which _config //如果没有返回值的话,你应该是自己编译安装的,需要把的bin目录加到PATH里面去,只到which可以直接找到_config命令
#tar xvf MySQL--1.2.3.tar.gz #cd MySQL-python-1.2.3 #/usr/local/ows/python/bin/python setup.py build #/usr/local/ows/python/bin/python setup.py install
4、创建和导入表
>create database openwebsa default charset utf8; mysql>grant all privileges on openwebsa.* to openwebsa@127.0.0.1 identified by 'ySqVVjbrz:4azCP4'; mysql>flush privileges;
这里为了安全,其实还可以将的权限缩小为,create,drop,delete,insert,update,select,lock tables。密码可以自定义,但是自定义密码以后需要修改一下配置,西面将修改配置时我们会说到。
# -uopenwebsa -p openwebsa < /usr/local/ows/openwebsa.org //导入表结构和初始化的web管理员,具体可以查看openwebsa.org文件。
5、修改ows配置
修改/usr/local/ows/ctrlphp/etc/ows_config.inc.php和/usr/local/ows/ctrlpy//config.py文件中定义的端口和用户及密码。
6、配置,指定网站根目录和php根目录为/usr/local/ows/ctrlphp
略过…
7、启动,php-fastcgi,和ows后台和后台客户端的进程
和php-fastcgi我就不说了。
启动py
#cd /usr/local/ows/ctrlpy/ #chmod 755 ows_service.sh #./ows_service.sh start #./ows_service.sh start collect
启动客户端py
#cd /usr/local/ows/unctrlpy/ #chmod 755 ows_service.sh #./ows_service.sh start client # ps aux | grep py root 2896 0.0 0.0 0 0 ? Z 20:25 0:00 []root 3090 0.0 0.0 0 0 ? Z 20:25 0:00 [python] root 3277 0.0 0.0 3920 668 pts/2 S+ 20:26 0:00 grep py root 13914 0.0 0.1 21756 5768 ? S 15:52 0:00 /usr/local/nginx/ows/python/bin/python .py root 14029 0.0 0.1 21512 5688 ? S 15:57 0:01 /usr/local/nginx/ows/python/bin/python client.py root 16887 0.0 0.2 35884 8552 ? Sl 16:55 0:00 /usr/local/nginx/ows//bin/python collect.py root 17088 0.0 0.2 36908 8552 ? Sl 16:55 0:00 /usr/local/nginx/ows/python/bin/python collect.py # netstat -tulnp | grep py tcp 0 0 0.0.0.0:10624 0.0.0.0:* LISTEN 14029/python tcp 0 0 0.0.0.0:10623 0.0.0.0:* LISTEN 13914/python
这里的10623是监听的socket,10624是client监听的socket。
基于监控server自己的ows已经安装完成,现在大家可以,访问你的web。
使用
账号:openwebsa密码:openwebsa
进入系统后,请先修改密码,再来研究咱们伟大的OWS。
1、在新的客户端安装OWS程序,目的是为了启动unctrlpy中的client进程。
2、下载和解压缩ows源码
将ows_damo_v1.0.2.zip解压后,放到/usr/local/ows目录,当然你可以放到其他目录,不过需要改动。这个咱暂时不在这里讨论,可以私下找我交流。
# unzip ows_damo_v1.0.2.zip
#mv ows /usr/local/ows
#chmod 755 -R /usr/local/ows/unctrlsh/* //让这个目录中的shell有执行权限
3、安装/usr/local/ows/tools里面的三个包,可以参考上面的安装过程。
4、启动client.py进程
# chown 755 ows_service.sh
# ./ows_service.sh start client
client start successfully!
# ps aux | grep py
root 1822 0.6 0.1 11124 5536 pts/3 S 09:29 0:00 /usr/local/ows/python/bin/python client.py
# netstat -tulnp | grep py
tcp 0 0 0.0.0.0:10624 0.0.0.0:* LISTEN 1822/python
5、登录web控制界面,设备信息管理->添加设备信息,按照提示添加完成以后,就可以在设备信息列表里面看见和管理新的ows client了。
如何把ows安装到/usr/local/ows以外的目录里呢?这需要您有一些折腾精神了,不过咱最不缺的就是折腾精神。由于安装到非/usr/local/ows意外的目录和安装到/usr/local/ows大同小异,只是有些注意事项,我把注意事项列出来,相信你可以安装成功。
1、我们先选定一个目录作为ows的安装目录,暂命名为$OWSPATH.
2、大家需要把解压出来的ows里面的内容放到$OWSPATH目录下。
3、安装$OWSPATH/tools下面的三个源码包,安装方式同上,不过要注意安装的路径变了,变成了$OWSPATH/python/
4、grep -ir /usr/local/ows $OWSPATH ,查看中有哪些地方使用了/usr/local/ows的绝对路径,全部修改成$OWSPATH的路径。
5、设置web和php的根目录时,需要设置为$OWSPATH/ctrlphp/
其他的步骤参考上面的内容就可以了。
主要的安全设置在于client.py和的通信 ,可以通过iptables来控制10624端口来实现。也可以通过修改config.py中的auth_key来实现
一、Connection failed: SQLSTATE[28000] [1045] Access denied for user ‘openwebsa’@'localhost’ (using password: YES)
Fatal error: Call to a member function query() on a non-object in/usr/local//ows/ctrlphp/lib/ows_db.class.php on line 389
解决方法:这种情况是你的ows/ctrlphp/etc/ows_config.inc.php中的信息配置不正确,修改的时候记住还要修改ows/ctrlpy//config.py。
二、在进入ctrlpy中,运行# ./ows_service.sh
USAGE: ./ows_service.sh start|stop|restart [collect|notify||client]
这里有个误导,在ctrlpy中是不能启动client,启动client需要到unctrlpy目录中启动。
三、
# ./ows_service.sh start collect collect start successfully! [root@zj6 ctrlpy]# Traceback (most recent call last): File "collect.py", line 11, infrom ctrlpy.lib import cmdtosql File "/usr/local/nginx/ows/ctrlpy/lib/cmdtosql.py", line 9, in import MySQLdb File "build/bdist.linux-i686/egg/MySQLdb/__init__.py", line 19, in File "build/bdist.linux-i686/egg/_.py", line 7, in File "build/bdist.linux-i686/egg/_mysql.py", line 6, in __bootstrap__ ImportError: libmysqlclient_r.so.16: cannot open shared object file: No such file or directory
这种情况应该是你自己编译的,系统找不到的lib库。
解决方法:echo “/usr/local//lib/” >> //ld.so.conf,添加你自定义的lib库位置,然后运行ldconfig。
四、点击设备列表,后面的操作按钮,然后提示获取监控信息失败!
可能原因是:服务端程序没有响应或者没有启动,您可以重试一次或者检查服务端程序! 接下来建议您进行的操作
出现这种情况,多半是你的clieng.py没有启动。
解决方法:进入unctrlpy目录中,运行# ./ows_service.sh stop client
五、点击设备列表,后面的图形列表按钮,没有图形显示,可能是你的server.py或者collect.py没有启动。
解决方法:使用ps查看是否启动上面的进程,如果没有,进入ctrlpy目录,运行# ./ows_service.sh stop 和 ./ows_service.sh stop collect
六、点击设备列表,后面的操作按钮,然后页面跳入白屏。这个是php版本过低导致json_decode()不支持。
解决方法:安装>=5.1.20以上的php和>=json-1.20