Introduction
The Linux OS - Agentless (SSH) Application facilitates agentless discovery of SSH-enabled devices.
Linux flavors
The following Linux flavors are supported:
- Ubuntu
- Debian
- CentOS
- Fedora
- SUSE
- OpenSUSE
- Red Hat Enterprise Server
- Oracle Server
- Amazon Linux
Components discovered
The gateway discovers the following data:
- Basic device details such as OS, Mac, Make, Model and Serial No.
- BIOS information
- CPU processor information
- Physical disk drives
- Logical disk drives
- Network cards information
- Video cards information
- Services
- Installed applications
Prerequisites
- An OpsRamp gateway is installed. See NextGen Gateways on how to install a gateway.
- SSH credentials (SSH keys) are required.
- IP addresses of the SSH-based machines.
Linux OS - Agentless (SSH) Discovery
Agentless discovery uses a Linux gateway instead of an agent to discover SSH-enabled resources.
Follow these steps to discover the Linux resources through SSH from gateway:
Configure integration
Click All Clients, select a client.
Click Setup > Account.
Select the Integrations tile.
The Installed Integrations screen is displayed, with all the installed applications. Click + ADD on the Installed Integrations screen.
If you do not have any installed applications, you will be navigated to the Available Integrations screen. The Available Integrations screen displays all the available applications along with the newly created application with the version.
Note: Search for the application using the search option available. Alternatively, use the All Categories option to search.Click ADD on the Linux OS - Agentless (SSH) tile.
From the CONFIGURATION screen, click + ADD. The Add Configuration dialog box is displayed.
Enter the below mentioned BASIC INFORMATION:
Field | Field Type | Description |
---|---|---|
Name | String | Enter the name for the integration. |
Host Name/IP Address | String | Host name or the IP address provided from the installation. |
SSH Credential | Dropdown | Select an existing credential or create a new credential. (Optional) Click + ADD to create a new credential. In the ADD CREDENTIAL window that appears, enter the following information:
|
Discover only SSH enabled devices | Checkbox | If you choose this option, only SSH enabled devices are discovered. |
Perform Actions | Checkbox | Select the Manage Device checkbox, to manage the devices. The +Query option is displayed.
|
- In DISCOVERY SCHEDULE section, select the recurrence pattern to add one of the following patterns:
- None
- Hourly
- Daily
- Weekly
- Monthly
- Click ADD.
- The integration is saved and displayed on the configurations screen after you save it. From the same screen, you can Edit and Remove the created configuration.
- Click Next. The SELECT COLLECTOR PROFILE screen is displayed.
Select a collector from the list.
You can also add a new collector profile. Click +ADD and provide a name or use the pre-populated name.Click FINISH.
The integration is installed and displayed on the Installed Integration screen. Use the search field to find the installed integration.
Actions on Integration
You can perform actions like Export, Edit, Uninstall on the integration.
- See here for more information.
View the Linux OS - Agentless (SSH) Details
Navigate to Infrastructure > Resources > Server. You can go to the Attributes tab to view the below discovery details:
Permissions Required and Commands Used
Attribute | Command | Permission |
---|---|---|
KERNEL_NAME | uname | Root permission is not required. |
SYSTEM_INFORMATION_ALL | uname -a | Root permission is not required. |
LSB_RELEASE_ALL | lsb_release -a | Root permission is not required. |
OS_NAME | /etc/os-release | grep PRETTY_NAME | Root permission is not required. |
OS_VERSION | lsb_release -rs | Root permission is not required. |
OS_DISTRIBUTION_ID | lsb_release -is | Root permission is not required. |
CPU_INFORMATION_ALL | /proc/cpuinfo | grep -i 'processor\\|vendor_id\\|cpu family\\|model name\\|cpu MHz\\|cpu cores\\|power management' | Root permission is not required. |
PROCESSOR_SPEED | lscpu | grep -i mhz | Root permission is not required. |
PROCESSOR_TYPE | lscpu | grep -i 'model name' | Root permission is not required. |
PROCESSOR_COUNT | lscpu | Root permission is not required. |
PROCESSOR_WIDTH | lshw -C cpu | grep 'bus info\\|width' | Root permission is not required. |
PROCESSOR_L2_CACHE_SIZE | /sys/devices/system/cpu/cpu | Root permission is not required. |
WHOAMI | whoami | Root permission is not required. |
HOST_ADDRESSES | domainname -i | Root permission is not required. |
ALL_HOST_ADDRESSES | domainname -I | Root permission is not required. |
DNS_DOMAIN_NAME | domainname -d | Root permission is not required. |
LONG_HOST_NAME | domainname -f | Root permission is not required. |
SHORT_HOST_NAME | domainname -s | Root permission is not required. |
DNS_SERVERS | /etc/resolv.conf | Root permission is not required. |
DEFAULT_GATEWAY_BY_ROUTE | route -n | Root permission is not required. |
DEFAULT_GATEWAY_BY_IP | ip route show | Root permission is not required. |
DEFAULT_GATEWAY_BY_NETSTAT | netstat -rn | Root permission is not required. |
DEFAULT_GATEWAY_BY_IFCFG_FILE_PATH | /etc/sysconfig/network-scripts/ifcfg-eth0 | Root permission is not required. |
DEFAULT_GATEWAY_BY_NETWORK_INTERFACES_FILE_PATH | /etc/network/interfaces | Root permission is not required. |
MEM_INFO | grep MemTotal /proc/meminfo | Root permission is not required. |
ASSET_TAG_FILE_PATH | /sys/class/dmi/id/chassis_asset_tag | Root permission is not required. |
HOSTNAME | hostname -s | Root permission is not required. |
HOSTNAME_WITH_DOMAIN_INFO | hostname -f | Root permission is not required. |
DOMAIN_INFO | hostname -d | Root permission is not required. |
NETWORK_INTERFACES_NAMES | /sys/class/net | Root permission is not required. |
NETWORK_INTERFACE_STATUS | /sys/class/net/ | Root permission is not required. |
NETWORK_INTERFACE_MACADDRESS | /sys/class/net/ | Root permission is not required. |
NETWORK_INTERFACE_IPADDRESS | ip addr show | Root permission is not required. |
RPM_SOFTWARE_INSTALLED_APPLICATIONS | rpm -qa --queryformat \"{'name' : '\"%{NAME}\"', 'architecture' : '\"%{ARCH}\"', 'version' : '\"%{VERSION}\"', 'release': '\"%{RELEASE}\"', 'installdate' : '\"%{INSTALLTIME:date}\"', 'size' : '\"%{SIZE}\"', 'vendor' : '\"%{VENDOR}\"','summary' : '\"%{SUMMARY}\"'\\},\\n\" | Root permission is not required. |
DEBIAN_SOFTWARE_INSTALLED_APPLICATIONS | dpkg-query --show -f='{\"package\" : \"${Package}\", \"version\" : \"${Version}\", \"installedsize\" : \"${Installed-Size}\", \"comments\" : \"${Comments}\"},\\n' | Root permission is not required. |
PHYSICAL_DISK_VENDOR_AND_MODEL | cat /sys/class/block/ | Root permission is not required. |
PHYSICAL_DISK_PARTITIONS | cat /proc/partitions | grep ' | Root permission is not required. |
PHYSICAL_DISK_MEDIA_TYPE_PATH1 | cat /sys/block/ | Root permission is not required. |
PHYSICAL_DISK_MEDIA_TYPE_PATH2 | cat /proc/ide/ | Root permission is not required. |
LOGICAL_DISK_DETAILS | cat /etc/mtab | grep /[sh][d][a-z] | Root permission is not required. |
LOGICAL_DISK_SPACE_DETAILS | df -h | grep /[sh][d][a-z] | Root permission is not required. |
BASE_BOARD_MANUFACTURER_FILE_PATH | /sys/class/dmi/id/board_vendor | Root permission is not required. |
BASE_BOARD_PRODUCT_NAME_FILE_PATH | /sys/class/dmi/id/board_name | Root permission is not required. |
SYSTEM_MANUFACTURER_FILE_PATH | /sys/class/dmi/id/sys_vendor | Root permission is not required. |
SYSTEM_PRODUCT_NAME_FILE_PATH | /sys/class/dmi/id/product_name | Root permission is not required. |
BIOS_VERSION_FILE_PATH | /sys/class/dmi/id/bios_version | Root permission is not required. |
BIOS_RELEASE_DATE_FILE_PATH | /sys/class/dmi/id/bios_date | Root permission is not required. |
BIOS_VENDOR_FILE_PATH | /sys/class/dmi/id/bios_vendor | Root permission is not required. |
BASE_BOARD_SERIAL_NUMBER_FILE_PATH | /sys/class/dmi/id/board_serial | Root permission is required. |
SYSTEM_SERIAL_NUMBER_FILE_PATH | /sys/class/dmi/id/chassis_serial | Root permission is required. |
SYSTEM_PRODUCT_UUID_FILE_PATH | /sys/class/dmi/id/product_uuid | Root permission is required. |
Use Case
Behavior of Linux OS - Agentless (SSH) discovery
Assume you have 40 resources that are divided as follows:
- For 10 resources, SSHD enabled with credentials 1
- For 5 resources, SSHD enabled with credentials 2
- For 25 resources, SSHD is not enabled
Scenario-1: Create a configuration with credentials 1
- If “Discover only SSH enabled devices” option enabled: Only the 10 resources of credentials 1 will get discovered with valid data (OS, Make, and Model).
- If “Discover only SSH enabled devices” option disabled: 10 resources of credentials 1 will get discovered with valid data (OS, Make, and Model) and 25 resources for which SSHD not enabled will get discovered with resource type as Other.
Scenario-2: Create a configuration with credentials 2
- If “Discover only SSH enabled devices” option enabled: Only the 5 resources of credentials 2 will get discovered with valid data (OS, Make, and Model).
- If “Discover only SSH enabled devices” option disabled: 5 resources of credentials 2 will get discovered with valid data (OS, Make, and Model) and 25 resources for which SSHD not enabled will get discovered with resource type as Other.
Scenario-3: Create a configuration with credentials 3 (invalid credentials)
- If “Discover only SSH enabled devices” option enabled: No resource will be discovered.
- If “Discover only SSH enabled devices” option disabled: All 40 resources will get discovered with resource type as Other.