I work as System Specialist, many times it's too much work and I forgot to document some changes which I made on server or infrastructure. When number of servers grows to hundreds this is a really big problem you must handle. Important is also to know, what was the change, not only actual state. So you must create log of changes.
I have created one small script which discover physical or virtual server and insert or update information into racktables database and ! it create LOG in RackTables. You see what was the previous state and when this change was made.
Script can handle various system and HW infromation and what is perfect, it do it automatically without any interaction.
I show you some examples what this system can do for you.
Create new object based on hostname and Service-TAG
This is one of core features. When you run this application on server, it first check hostname and Service-TAG (ST) and compare with database. If this combination not exist, it create new server object.
It recognize physical and virtual servers, virtual servers have automatically generated ST as "VPS-hostname". It also recognize if server is hypervisor or not and build your virtual resources in database.
On the next picture you should see information collected from server like
- hostname
- service_tag , filled as asset_tag
- support type
- Server model
- support ends
- Operating System
- Interfaces and connections with switches
- IP addresse, networks and VLANs
All of these information ware collected automaticly.
On the next example is server which was recognized as XEN Hypervisor, it detects virtual servers and linked them with virtual objects.
Virtual resources overview
Warranty and support expiration report
Changes are written into log to specific object
Finally look on detail of core switch and it's details
Application was released under GPLv2 license.
UPDATE
System supports transport of racktables comments to server message of the day file.
When connect to server some useful comment is there for you. It's possible edit this comment directly from server by using comment-edit.py utility.
Links
Awesome work! Any plans on adding the ability to pull from vCenter and update RackTables?
ReplyDeleteUnfortunately not now. I'm focused on optimizing code and make it work on FreeBSD systems.
ReplyDeleteI get a python error :(
ReplyDeleteThis is on CentOS 6
[root@racktables rt-server-client]# ./system-info.py
File "./system-info.py", line 212
elif line.find('lldp.'+interface+'.port.descr') > -1:
^
SyntaxError: invalid syntax
[root@racktables rt-server-client]# uname -a
Linux racktables 2.6.32-358.18.1.el6.x86_64 #1 SMP Wed Aug 28 17:19:38 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
[root@racktables rt-server-client]# yum list installed | grep py
newt-python.x86_64 0.52.11-3.el6 @anaconda-CentOS-201207061011.x86_64/6.3
pygpgme.x86_64 0.1-18.20090824bzr68.el6 @anaconda-CentOS-201207061011.x86_64/6.3
python.x86_64 2.6.6-37.el6_4 @updates
python-iniparse.noarch 0.3.1-2.1.el6 @anaconda-CentOS-201207061011.x86_64/6.3
python-libs.x86_64 2.6.6-37.el6_4 @updates
python-pycurl.x86_64 7.19.0-8.el6 @anaconda-CentOS-201207061011.x86_64/6.3
python-urlgrabber.noarch 3.9.1-8.el6 @anaconda-CentOS-201207061011.x86_64/6.3
rpm-python.x86_64 4.8.0-32.el6 @base
Hi,
ReplyDeletethank for your reply. Could you please create ISSUE on github page ? https://github.com/rvojcik/rt-server-client
Thanks !
Hi Robert,
ReplyDeleteExcellent scripts. I have tried it but only getting update for the localhost itself. All other servers that are reachable from the localhost are not being updated accordingly? Any idea where the problem might be? Thanks Prakash