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.
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.
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
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
-
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
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
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
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
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.
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
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.
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.
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.
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.
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).
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). |