Ralph, the open asset management tool


Important Plugins

Out of the box, Ralph comes with various discovery plugins. Some are responsible for finding functions, while others can identify services or components. What they have in common is that they must be correctly configured for Ralph to use them. In particular, the user ID and password for the services to be detected must be entered in the plugin configuration. This configuration is done in the ~/.ralph/settings file. You will also want to ensure that this configuration is not accessible to unauthorized users. The most important standard plugins are the following:

  • Ping: This plugin requires no adjustments. It performs a ping, and it checks the availability of a device. Most discovery plugins require its successful execution.
  • HTTP: Tries to open connections to ports 80 and 443 of the specified IP address. Also tries to discover various pieces of information, such as the manufacturer and the model.
  • SNMP: Opens SNMP connections to the specified IP addresses and retrieves available system data.
  • SNMP MAC: Tries to read the MAC addresses. Can often also retrieve the model name and serial number. If it succeeds, the plugin generates a device entry in the Ralph database.
  • IPMI: Tries to use the Intelligent Platform Management Interface (IPMI) protocol to read the manufacturer, the model, the serial number, the MAC address, and the hardware components. A database entry is created if this works.
  • HTTP Supermicro: Logs into a Supermicro Server management environment and reads the MAC address.
  • SSH Linux: Tries to establish an SSH connection to a Linux server and retrieve hardware information from it.
  • SSH Proxmox: Opens a connection to a Proxmox virtualization environment and reads the virtual server's data.
  • Proxmox 2/3: An enhanced module for reading information about Proxmox installations.
  • SSH Xen : Establishes an SSH connection to a Xen system and adds all relevant cluster information to the Ralph database.
  • SSH Ganeti: Retrieves information about virtual servers running in a Ganeti cluster.

The asset management environment can also communicate with various external services, for example, with OpenStack services. You can use the ralph openstack command to retrieve, for example, the billing information. Zabbix also integrates in the same way.

Scanning Devices

Starting with version 3.0, Ralph has a discovery mechanism that periodically scans networks and environments and determines hardware and software information. There are also 30 plugins available that discover hundreds of common hardware components. Because Ralph is modular, you can program your own detection modules. Automatic detection is of course more convenient than creating inventories manually.

For scanning, Ralph relies on the rqworker module. It is executed on the console:

$ ralph rqworker [Scan-Plug-in]

It is much easier to run a scan using the GUI. Go to the Scan tab and specify the IP address or the address range. The scan dialog lets you select the plugins. By default, Ralph uses different pre-scan plugins, for example, to try to identify existing SNMP and HTTP services. To use all plugins, check the All box, and click on Scan to initiate the scan operation.

Managing licenses and contracts is also easy: For this purpose there are two menus: Licenses and Support. The forms are similar to those for creating assets.

A special Windows agent named Don Pedro [4] is available for discovering Windows-based systems. It only requires an installed .NET 2.0 environment and can be run on virtual machines. Of course, the agent must be configured to interact with the Ralph system. To do this, edit the DonPedro.exe.config file and type the Ralph server's URL.

Configuration and Extension

Once the basic Ralph system is set up, you can move on to the next step, which is adapting and extending the environment. On Ralph's side, no additional configuration steps are typically required after commissioning, but you can connect to a directory server and a cloud environment.

Several aspects of the environment can be adapted in the Settings menu. Ralph is a Django-based project and stores its default configuration in the settings.py file, which is usually located in the /etc/ralph/settings directory. If you want to create your own configuration after an initial installation, run the following command to do this:

$ ralph makeconf

This command creates a settings file with default values. However, Ralph does not overwrite the existing configuration. If you want to do this, you need to run makeconf with the -force option. Using the makeconf -global option lets you add your configuration. Note that the configuration file contains passwords and other sensitive information. By default, makeconf, therefore, ensures that the configuration directory and configuration files are only accessible to the current user who is running makeconf.

Ralph's special features in version 3 include various tracking functions. Admins can track assets and components – both automatically and manually. Changes to licenses and contracts can also be tracked. If the required fields do not exist in a form, you can create custom fields that let users enter company-specific information. The DC Virtualization menu helps you map server cabinets and racks, assignments, and connections (Figure 4).

Figure 4: Ralph successfully visualizes rack components.

And, if you want to share the data stored in the asset management system with a third party, Ralph can generate PDF documents from its database or parts of the database. You can also use editable templates.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy ADMIN Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

comments powered by Disqus
Subscribe to our ADMIN Newsletters
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs

Support Our Work

ADMIN content is made possible with support from readers like you. Please consider contributing when you've found an article to be beneficial.