开源的服务器运维管理软件-TriAquae 安装札记

https://triaquae.readthedocs.io/en/latest/index.html

TriAquae支持Centos5.x 、RedHat5.x及Ubuntu 12
Python ==> 2.75
python-pip ==> 1.1
Httpd ==> 2.2
MySQL ==> 5.0
SNMP ==> 5.4
Django ==> 1.5
Rrdtool ==> 1.47
Shellinabox ==> 2.10
Paramiko ==> 1.10.1
sysstat
MySQLdb
django_admin_bootstrapped.admin.models

2.1. 安装依赖环境
CentOS
# yum install gcc gcc-c++ make sysstat nc -y
# yum install python-devel -y
# yum install net-snmp net-snmp-utils net-snmp-devel -y
如果已经安装了mysql就忽略下面的mysql安装步骤
# yum install mysql mysql-server mysql-devel -y
# /etc/init.d/mysqld start

安装rrdtool
# yum install cairo-devel libxml2-devel pango-devel pango libpng-devel -y
# yum install freetype freetype-devel libart_lgpl libart_lgpl-devel intltool -y
# yum install rrdtool rrdtool-devel -y

2.2. 升级 python 到2.75以上
# python -V
# sh install/python_ins.sh
# python -V
说明:5.x系统python默认版本是2.4。安装包中自带升级python 2.75的脚本,安装完成后在次查看python版本

2.3. 安装TriAquae
# cd /usr/local/src
# tar zxf TriAquae.tar.gz
# cd TriAquae/install
# python setup.py build –prefix=
指定TriAquae安装路径,如果不指定的话,默认安装路径为/usr/local/TriAquae
安装程序会检测TriAquae安装的系统环境,如果有不满足要求,TriAquae会帮您自动安装这些pythone和django所需的环境,当然这是在您允许的情况下。
报错解决:
1.安装rrdtool可能会失败(rrdtool_ins.sh),需要安装:
# yum install -y perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker
2.还有可能会下载不到shellinabox-2.10.tar.gz和mod_wsgi-3.4.tar.gz,可以将网上找到的文件放到tool目录下(/usr/local/src/)
3.0版本中有这个问题,3.1版本中已经没有这个shellinabox_ins.sh和httpd_ins.sh脚本
# sed -i -e ‘s/wget/#wget/’ shellinabox_ins.sh
# sed -i -e ‘s/wget/#wget/’ httpd_ins.sh
# cp /opt/shellinabox-2.10.tar.gz /usr/local/src/
# cp /opt/mod_wsgi-3.4.tar.gz /usr/local/src/
3.MySQL-python检测不到
添加环境变量到/etc/profile
PATH=/usr/local/mysql/bin:$PATH
# source /etc/profile
# python
Python 2.7.6 (default, Oct 16 2018, 17:14:26)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-18)] on linux2
Type “help”, “copyright”, “credits” or “license” for more information.
>>> import MySQLdb
Traceback (most recent call last):
File “<stdin>”, line 1, in <module>
File “/usr/local/lib/python2.7/site-packages/MySQLdb/__init__.py”, line 19, in <module>
import _mysql
ImportError: libmysqlclient.so.18: cannot open shared object file: No such file or directory
>>> quit()
# find / -name libmysqlclient.so.18
/usr/local/mysql/lib/libmysqlclient.so.18
# ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib/libmysqlclient.so.18
上面这一步可以省略
# cat /etc/ld.so.conf
# echo “/usr/local/mysql/lib/” >> /etc/ld.so.conf
# cat /etc/ld.so.conf
再次执行安装程序
# python setup.py build –prefix=

安装TriAquae到您指定的目录中
# python setup.py install

# cat /etc/httpd/conf.d/wsgi.conf
#load python django module
LoadModule wsgi_module modules/mod_wsgi.so

WSGIScriptAlias / /wsgi/django.wsgi
<Directory /usr/local/TriAquae>
Order Deny,Allow
Allow from all
</Directory>

Alias /static /TriAquae/static
<Directory /TriAquae/static>
Order allow,deny
Allow from all
</Directory>
# cat /usr/local/TriAquae/wsgi/django.wsgi
import os
import sys
sys.path.append(‘/usr/local/TriAquae’)
os.environ[‘DJANGO_SETTINGS_MODULE’] = ‘TriAquae.settings’
os.environ[‘PYTHON_EGG_CACHE’] = ‘/tmp/.python-eggs’
current_dir = os.path.dirname(__file__)
if current_dir not in sys.path: sys.path.append(current_dir)
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()

2.4. 配置TriAquae
配置数据库信息
编辑当前目录下的tri_config.py配置文件,填写数据库连接信息。
TriAquae初始化之前会将必要的信息写入到数据库中,必须在初始化之前配置好数据库和本机IP地址
MySQL_Name = ‘TriAquae’ # Don’t change this database name
MySQL_User = ‘root’ # Your Mysql username
MySQL_Pass = ‘coral’ # Your Mysql password, ” means no password.

# mysql -uroot -p -e “CREATE DATABASE IF NOT EXISTS TriAquae DEFAULT CHARSET utf8 COLLATE utf8_general_ci”
# date +%s | sha256sum | base64 | head -c 32 ; echo
# passwd=`date +%s | sha256sum | base64 | head -c 12`
# echo $passwd
# mysql -uroot -p -e “grant all privileges on TriAquae.* to TriAquae@192.168.185.201 identified by ‘$passwd'”
# mysql -uroot -p -e “grant all privileges on TriAquae.* to TriAquae@127.0.0.1 identified by ‘$passwd'”
# mysql -uroot -p -e “grant all privileges on TriAquae.* to TriAquae@localhost identified by ‘$passwd'”
# mysql -uroot -p -e “flush privileges”
# sed -i -e “s/MySQL_User =.*/MySQL_User =’TriAquae’/” tri_config.py
# sed -i -e “s/MySQL_Pass =.*/MySQL_Pass =’$passwd’/” tri_config.py
# unset passwd
# sed -i -e “s/Tri_IP =.*/Tri_IP = ‘192.168.185.201’/” tri_config.py
# mkdir /var/www/TriAquae
# sed -i -e “s/Mail_username =.*/Mail_username = ”/” tri_config.py
# sed -i -e “s/Mail_password =.*/Mail_password = ”/” tri_config.py

2.5. 初始化
# python setup.py init
初始化操作会创建tri_connector用户,导入TriAquae数据库等操作

# mv /usr/local/TriAquae/TriAquae/conf/tri_config.py /usr/local/TriAquae/TriAquae/conf/tri_config.py.sample
# cp /usr/local/TriAquae/install/tri_config.py /usr/local/TriAquae/TriAquae/conf/

# mv /usr/local/TriAquae/TriAquae/backend/tri_config.py /usr/local/TriAquae/TriAquae/backend/tri_config.py.sample
# cp /usr/local/TriAquae/install/tri_config.py /usr/local/TriAquae/TriAquae/backend/

2.6. 启动TriAquae
# cd /usr/local/TriAquae
# python TriAquae/sbin/tri_service.py start
# /usr/local/TriAquae/TriAquae/sbin/tri_service.py status
multiprocessing_snmpMonitor.py monitor service is running…
host_status_check.py monitor service is running…
shellinaboxd monitor service is running…
runwsgiserver service is not running….
解决办法:

# sed -i -e ‘s/nohup python \%s\/manage.py/nohup \/usr\/bin\/python \%s\/manage.py/’ /usr/local/TriAquae/TriAquae/backend/tri_service.py
# /usr/local/TriAquae/TriAquae/sbin/tri_service.py stop
# /usr/local/TriAquae/TriAquae/sbin/tri_service.py start
正常了,打开http:ip:7000 即可登录进去(admin/triaquae)
日志路径:
# tail -f /usr/local/TriAquae/TriAquae/logs/tri_service.log

Print Friendly

发表评论

电子邮件地址不会被公开。 必填项已用*标注