Chinaunix首页 | 论坛 | 博客
  • 博客访问: 669425
  • 博文数量: 220
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1961
  • 用 户 组: 普通用户
  • 注册时间: 2014-11-04 21:54
文章分类

全部博文(220)

文章存档

2018年(1)

2015年(140)

2014年(79)

我的朋友

分类: 系统运维

2015-06-05 10:05:54


一、OWS简介

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

 

三、安装流程

     一、下载OWS源码

%3D1

     二、OWS端安装

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。

     三、添加新的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了。

四、安装到非/usr/local/ows目录

如何把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, in 
    from 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

阅读(5119) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~