Skip to content

Oracle Solaris OS

CloudFabrix RDA provides out of the box agent-less integration for inventory data collection from Oracle Solaris server OS editions using SSH protocol. Using this integration, inventory data like Solaris OS version, server make & model, running services and processes and TCP/UDP network connections will be collected.

Using RDA's integration with Solaris Server OS, below are the two primary use cases that are supported and consumed within the CloudFabrix Asset Intelligence and AIOps platforms.

  • Solaris Server OS inventory

  • Application Dependency

1. Prerequisites

1.1 Solaris OS inventory

Supported Solaris server OS distributions include Version 10 and above. An SSH user account needs to be created for collecting data, and it should have sudo privileges for the following commands.

  • netstat -an -f inet

  • ifconfig -a

  • svcs -a

  • pkginfo -l

  • isalist

  • prtconf

  • psrinfo -p

  • iostat -En

  • zpool status

On SOLARIS edit /etc/sudoers file and add the above commands for the user account that is used for data collection.

1.2 Test SSH Connection

To verify the SSH configuration, use the ssh command. This command helps test the remote connection to the target Solaris server over the SSH protocol and confirms the ability to execute a command.

ssh [user-name]@[ip-address]
ssh cfxuser@192.168.10.10 hostname

2. Adding SOLARIS OS as Datasource/Extension in 'RDA'

SOLARIS OS or any other datasource/extension's configuration is configured in RDA's user interface. Login into RDA's user interface using a browser.

https://[rda-ip-address]:9998

Under Notebook, click on CFXDX Python 3 box

In the Notebook command box, type botadmin() and alt (or option) + Enter to open datasource administration menu.

Click on Add menu and under Type drop down, select solaris-invernotry

  • Secret Type: solaris-inventory: Solaris OS & Application Inventory Collection

  • name: Datasource/Extension label which should be unique within the RDA

  • Hostname: IP Address / DNS name of solaris host

  • Username: SOLARIS username

  • Password: SOLARIS password

  • Private Key Passphrase: SSH private key passphrase (optional)

  • SSH Private Key: SSH private key (optional)

  • Port: 22

Click on Check Connectivity to verify the network access and credentials. Once it is validated, click on Add button to add the solaris-inventory as a datasource.

2.1. Adding Solaris credentials in CFX Portal

Navigation Path Home Menu -> Configuration -> RDA Integrations

Click on Add under credentials as shown below in the screenshot

Add Credentials

Select Solaris Inventory in the secret type drop down menu -> solaris-inventory: Solaris OS & Application Inventory Collection

Add the credentials like Name, Hostname, Username and password, port as shown below and check connectivity and save it

Solaris Inventory

  • Secret Type: solaris-inventory: Solaris OS & Application Inventory Collection

  • name: Datasource/Extension label which should be unique within the RDA

  • Hostname: IP Address / DNS name of solaris host

  • Username: SOLARIS username

  • Password: SOLARIS password

  • Private Key Passphrase: SSH private key passphrase (optional)

  • SSH Private Key: SSH private key (optional)

  • Port: 22(update port number if we are not using the default port 22)

Click on Check Connectivity to verify the network access and credentials. Once it is validated, click on Save to add the solaris-inventory as a datasource.

Once Solaris OS integration details are configured in RDA Studio as a datasource, it will be ready to connect to targe Solaris servers and explore the data for the analysis.

Once SOLARIS OS integration details are configured in RDA as a datasource, it will be ready to connect to target SOLARIS servers and explore the data for the analysis.

3. Solaris Bots

Below are the available bots for Solaris OS integration.

3.1 @solaris-inventory:system-info

This bot collects solaris system information Solaris OS Version, Kernal Version, hostname, CPU, Memory & Network information and file systems

Below are the list of commands it executes while running the system-info bot.

hostid,
hostname,
isainfo,
psrinfo -p,
prtconf | grep Memory,
prtdiag -v,
cat /etc/release,
/usr/bin/pagesize,
swap -s

3.2 @solaris-inventory:disks

In Solaris OS, the zpool list and zpool status commands are used to monitor and gather information about ZFS storage pools

This bot collects solaris disk information like disk size, device name, vendor, serial number, device status and error related information.

Below mentioned command can be used to collect disk info, This command provides a summary of the storage pools and their overall status

zpool list
NAME Name of the ZFS pool
Size Total size of the pool.
Alloc Amount of space allocated (used) in the pool.
Free Amount of free space available in the pool.
CKPOINT Space available in a checkpoint, if applicable.
EXPANDSZ Size of additional space available for pool expansion, if applicable.
FRAG Fragmentation percentage in the pool.
CAP Percentage of pool space used (capacity).
DEDUP Deduplication ratio of the pool.
HEALTH Health status of the pool (e.g., ONLINE, DEGRADED, FAULTED).
ALTROOT Alternate root directory for the pool, if set.

Below mentioned command provides detailed information about the status of the pool, including its configuration, components, and errors

zpool status <zpool_name>
Attribute Description
pool name Name of the pool.
state Current state of the pool (e.g., ONLINE, DEGRADED, FAULTED).
status A brief description of the pool's status (if errors or issues are present).
action Recommended action for resolving issues (if any).
scan Information about recent scrubbing or resilvering operations, including progress.
config Configuration of the pool and its components.
Attribute Description
NAME Names of the pool's devices or vdevs (e.g., disks, mirrors, RAID-Z groups).
STATE State of each device (e.g., ONLINE, DEGRADED, FAULTED).
READ Number of read errors detected.
WRITE Number of write errors detected.
CKSUM Number of checksum errors detected.
Command Purpose Details
Zpool list High-level summary of pools Basic attributes like size, usage, and health.
Zpool status Detailed status and configuration Device-level errors, state, and scrub information.

Below mentioned command is used for inventorydata collection

iostat -rEn

3.3 @solaris-inventory:software-packages

In Solaris OS, the pkginfo -l command provides detailed information about a specific software package installed on the system. The output includes various attributes of the package, offering insights into its metadata and configuration.

Below mentioned command is used to collect software packages info

pkginfo -l
Attribute Description
PKGINST The package instance name (unique identifier for the package).
NAME A short descriptive name of the package.
CATEGORY The category to which the package belongs (e.g., application, system).
ARCH The architecture for which the package is built (e.g., sparc, x86).
VERSION The version number of the package.
BASEDIR The base directory where the package is installed.
VENDOR The vendor or author of the package.
DESC A brief description of the package.
PSTAMP The package's production stamp (a unique build identifier).
INSTDATE The date and time when the package was installed.
STATUS The status of the package (e.g., installed).
FILES Lists the file paths associated with the package.
  • Key Points

  • pkginfo without the -l flag provides a summary listing of all installed packages.

  • The -l flag (long format) provides detailed metadata for a specific package or all packages if no package name is specified.

  • It's useful for auditing, troubleshooting, or verifying software installations.

3.4 @solaris-inventory:filesystems

This bot collects information like mounted filesystem name , mounted directory, raw disk path information and File system attributes.

Below command provides command provides a list of all mounted file systems in a parsable format, suitable for use in scripts or automation and to collect software packages info.

mount -p
Attribute Description
special_device The device or resource associated with the file system (e.g., /dev/dsk/c0t0d0s0 or a network share).
mount_point The directory where the file system is mounted (e.g., /, /usr, /mnt).
fstype The file system type (e.g., ufs, zfs, nfs, vxfs).
mount_options Options used when mounting the file system (e.g., rw, ro, nosuid).
freq Dump frequency for dump utility; usually 0 (not used in modern systems).
passno Pass number used for fsck during system boot; controls the order in which file systems are checked.

3.5 @solaris-inventory:disk-usage

In Solaris OS, the df -h command is used to display information about mounted file systems in a human-readable format, with sizes shown in units like KB, MB, GB, etc.

Below mentioned is used to collect disk usageinfo

df -h
Filesystem             Size   Used  Avail Capacity  Mounted on
/dev/dsk/c0t0d0s0      20G    15G    5G   75%       /
rpool/export           50G    10G   40G   20%       /export
server:/share         100G    60G   40G   60%       /mnt
Attribute Description
Filesystem The device or resource associated with the file system (e.g., /dev/dsk/c0t0d0s0 or NFS share).
Size The total size of the file system in human-readable units (e.g., GB, MB).
Used The amount of space currently used on the file system.
Avail The amount of free space available for use.
Capacity The percentage of the file system's total size that is currently in use.
Mounted On The mount point where the file system is attached in the directory structure.

3.6 @solaris-inventory:services

This bot collects running services information on Solaris OS.

Below mentioned command provides a list of all services managed by the Service Management Facility (SMF), including both enabled and disabled services.

svcs -a
Attribute Description
STATE The current state of the service. Possible states include:
- online: The service is running and operational.
- offline: The service is not running but not in an error state.
- disabled: The service is administratively disabled.
- maintenance: The service has encountered an error and requires administrative intervention.
- degraded: The service is running but with limited functionality.
STIME The time or date when the service transitioned to its current state.
FMRI The Fault Management Resource Identifier, a unique identifier for the service, including its category, name, and instance (e.g., svc:/network/ssh:default).

3.7 @solaris-inventory:routing-table

This bot collects solaris routing table information like destination network , gateway IP address,network interface of route,packets and flags of routing table information.

Below mentioned command displays the kernel's routing table in a numeric format. This provides information about network routes configured on the system, showing IP addresses rather than resolving them to hostnames for faster and clearer output.

netstat -nr
Attribute Description
Destination The destination network or host (e.g., default, 192.168.1.0, 127.0.0.1).
Gateway The next-hop router or gateway address for the destination.
Flags Flags indicating the route type and characteristics (see below for flag details).
Ref The reference count; how many active references are using this route (may not always be meaningful).
Use The number of packets sent via this route.
Interface The network interface associated with this route (e.g., e1000g0, lo0).

3.8 @solaris-inventory:network-config

This bot collects solaris network information like interface name , IP address, netmask,MTU,flags,state,type,MAC address,Zone etc.

Below mentioned command displays detailed information about all network interfaces configured on the system. This command includes both active (up) and inactive (down) interfaces, providing details about their configurations and statuses.

ifconfig -a
Attribute Description
Interface name The name of the network interface (e.g., e1000g0, lo0).
flags Flags indicating the state and capabilities of the interface (see details below).
mtu The Maximum Transmission Unit, representing the largest packet size the interface can handle.
index A unique numeric identifier assigned to the interface.
inet The IPv4 address assigned to the interface.
netmask The subnet mask in hexadecimal notation (e.g., ffffff00 for a 255.255.255.0 subnet).
broadcast The broadcast address for the interface.
ether The hardware (MAC) address of the interface.
inet6 (If present) The IPv6 address assigned to the interface.
status (Optional) The operational status of the interface (e.g., up or down).

3.9 @solaris-inventory:processes

This bot collects information like Process ID, process user , %CPU , %MEM, Virtual memory size , process status , TTY , START ,TIME etc.

Below mentioned command provides a detailed listing of all currently running processes on the system.

ps -Aefww
Attribute Description
UID The user ID of the process owner (e.g., root, daemon, or a specific user).
PID The process ID (unique identifier for the process).
PPID The parent process ID (the process that spawned this process).
C The CPU usage (percentage) of the process.
STIME The start time or date of the process (e.g., Nov 27 or 14:32).
TTY The terminal associated with the process. ? indicates no terminal (e.g., system daemons).
TIME The cumulative CPU time the process has consumed.
CMD The full command-line used to start the process, including its arguments (not truncated with ww)

3.10 @solaris-inventory:netstat

This bot collects routing information like default gateway address, state etc.

Below mentioned command displays detailed information about active UDP sockets for IPv4 (inet).

netstat -anu -f inet
Attribute Description
Local Address The local IP address and port number that the socket is bound to (e.g., 192.168.1.100.123).
Remote Address The remote IP address and port number of the peer connection (e.g., 192.168.1.1.123).
State The state of the socket (for UDP sockets, typically Idle).