1、Racktables简介php
1.1 存在的问题html
随着公司服务器规模的增长,以往手工记录服务器资产的方式存如下的问题:mysql
没法准确统计IT资产linux
一、有多少须要处理的IT资产?c++
二、资产中有哪些特殊的设备供应商sql
三、过去的三年中每一年新增的服务器是多少?有多少没法使用的或是资源利用率很低的?数据库
四、资产设备何时过保?apache
五、如何操做资产更新(例如服务器IP变动或硬件资源变动)vim
六、现有环境有多少IP资源可用?核心的设备是哪些?哪一个组哪一个部门对其负责windows
硬件资源维护
一、迁移服务器时须要多少IT设备才能保证工做正常,设备的更新列表有哪些?
二、有多少已通过保的设备?有多少建议淘汰的服务器?
三、有哪些服务器会由于UPS管理维护致使不能使用?
四、重要设备到交换机的网络接入点以及交换机之间的网络连线是如何分配的?
软件License管理
一、须要多少必备软件的License?
二、每一个服务器的License状况如何?
三、有哪些是已失效的License?
文档管理
一、相关的配置文件可否及时恢复,保证软件的正常应用?
二、服务器及周边设备的配置、处理文档是否完整?
以上这些都成了实际工做中所面临的问题,再加上人员的变更手工记录的方式已愈来愈不适应。在这中间尝试过用iTop(太庞大,主要面向ITSM)、otrs(主要面向ITSM的服务台)、cmdbuild(配置复杂,驾驭不了)后发现racktables比较适合咱们的现有需求(固然也有多是对其它的工具了解较少)。
1.2 Racktables简介Racktables是一个用来管理机房资产的开源工具,能够用来管理成百上千台的服务器及更多的IP和MAC地址。适用于机房和数据中心的服务器管理。
1.3 参考资源http://wiki.racktables.org/index.php/Main_Page
2、Racktables安装及初始设置
2.1 前期准备
在使用yum指令前建议先设定好linux软件源(以下图所示,能够参考http://waringid.blog.51cto.com/65148/904201)。须要注意的是epel源中的epel-release-6-7.noarch.rpm已经换成了epel-release-6-8.noarch.rpm版本(同时注意32位和64位版本的区别)。
yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-develglibcglibc-devel glib2 lib2-devel bzip2 bzip2-devel ncursesncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidnlibidn-devel opensslopenssl-devel make patch pcre-devel cd /root wget http://downloads.sourceforge.net/project/racktables/RackTables-0.20.6.tar.gz?r=http%3A%2F%2Fracktables.org%2F&ts=1388393599&use_mirror=jaist tar zxvf RackTables-0.20.6.tar.gz
2.2 安装相关组件
安装运行须要的相关组件,如数据库、PHP支持等,以下所示。
yum install mysql-server mysql yum install php php-mysql php-pdo php-gd php-snmp php-mbstring php-bcmath httpd httpd-tools mv –r RackTables-0.20.6 /usr/share/ mkdir /var/www/html/it cd /var/www/html/it ln -s /usr/share/RackTables-0.20.6/wwwroot/index.php ./index.php
2.3 配置数据库
经过如下命令初始化数据库,以下所示。
service mysqld start mysql -uroot -p create database racktables; grant all on racktables.* to root; grant all on racktables.* to root@localhost; grant all on racktables.* to rackuser; grant all on racktables.* to rackuser@localhost; set password for rackuser@localhost=password('password'); exit
2.4 配置apache
经过如下命令配置apache,以下所示。
vim /etc/httpd/conf.d/it.conf <VirtualHost *:81> ServerAdminzabbix DocumentRoot /var/www/html/it ErrorLog /var/log/httpd/racktables.log HostnameLookups Off UseCanonicalName Off ServerSignature Off <Directory /> Options FollowSymLinks AllowOverride None Order allow,deny Allow from all </Directory> <Directory "/var/www/html"> Options Indexes FollowSymLinks AllowOverride None Order allow,deny Allow from all </Directory> </VirtualHost> service httpd start
2.5 安装racktables
打开浏览器按设置输入地址,例如:http://192.168.88.123:81进入安装界面,同时选择继续。以下所示。
下一步进入到环境检测界面,若是不须要用到snmp协议(关于snmp方面的内容请参考“zabbix中文配置指南续”)能够忽略该提示,若是没有问题选择继续。以下图所示。
接下来会提示按要求创建配置文件,主要是设定racktables的数据库链接。以下图所示。
touch /var/www/html/it/inc/secret.php chmod 666 /var/www/html/it/inc/secret.php
完成配置文件的创建后,按页面的提示完成后续的安装。以下图所示。
3、Racktables配置
3.1关于中文
该软件不支持多语言,在英文版本的状态下能够正常显示中文字符(需数据据支持中文编码),若是须要中文化需自行修改代码中的英文描述(能够经过修改php代码实现初步的中文化)。
3.2界面说明Rackspace
机柜配置。该功能用来配置机房的位置以及机柜的信息。包含机柜所在的位置、行列以及机柜的名称、高度、排列次序、服务器在机柜中的位置等,以下图所示。
Objects
设备对象配置。该功能用来配置设备信息。包含该设备的配置信息(例如服务器的硬件配置、IP信息、KVM接口信息、归属的管理部门、线路的接口、保修期限、在机柜上的位置等),以下图所示。
IPv4 space
IP地址管理。该功能用来配置IP地址信息。根据实际状况自定义使用到的IP地址,包含VLAN信息、网段情况、各网段IP应用状况以及和服务器设备的产联信息等。以下图所示。
Configuration
配置管理。该功能最灵活。根据实际状况配置各项目的内容以及详细的字段内容、各组件的属性、对象的包含关系、用户的界面、用户及权限等。以下图所示。
3.3权限设置软件是初始化安装时提示输入管理员的密码,初始化完成后登录系统在“Main page:Configuration:Local users”对用户进行相关设定。
首先根据实际状况创建使用用户,设定好系统的应用账号。其中“edit”用来修改原有用户或新建用户,如上图所示。
用户权限的配置是一件比较复杂的事情,和windows应用程序不一样的是没法经过图形的方式实现权限的修改,只能经过修改配置文件(“Main page:Configuration:Permissions”)的方式来实现。具体可参考:http://wiki.racktables.org/index.php/RackTablesAdminGuide。
allow {$userid_1}
管理员用户可应用全部功能
allow {$username_user}and {$tab_default}
user用户可只读查看全部功能
deny {$username_abc}and {$page_config}
allow {$username_abc}
abc用户没法查看(也没法更改)“Configuration”功能,其它项目的功能都是可读写
4、Racktables升级Racktables的升级很简单,只要版本的跨度不大(尝试过从0.20.5升级至0.20.7)均可以自动完成升级。
一、首先作好数据备份(主要是数据库),能够经过如下的指令进行:
mysqldump --user=racktables_user --password=www.myj123.com racktables_db > /tmp/backup_racktables_db_20140318.sql
二、将新版本的文件存放至指定文件夹,同时保留原有版本的配置文件,以下所示:
cp -R /root/RackTables-0.20.7/ /usr/share/ cp /usr/share/RackTables-0.20.5/wwwroot/inc/secret.php/usr/share/RackTables-0.20.7/wwwroot/inc/
三、删除原有的连接文件同时创建新的文件,以下所示:
rm /var/www/html/it/index.php ln -s /usr/share/RackTables-0.20.7/wwwroot/index.php /var/www/html/it/index.php四、完成后从新登陆RackTables系统按页面提示完成后续的升级操做。