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系統按頁面提示完成後續的升級操做。