Discovery Method-specific Prerequisites

These are discovery method-specific prerequisites that must be completed based on the selected discovery approach prior to discovery and monitoring.

Prerequisites for Discovery Using EMCLI

The EMCLI based database machine discovery is performed through a deployment procedure which consumes an input file that contains all the required information like monitoring agents, configuration, components, and credentials. OMS and the monitoring agents should be Enterprise Manager 13.4 Release Update 4 or above.

Complete the prerequisites tasks given in the following sub-sections before you can discover the Exadata Database Machine targets using EMCLI.

Create Named Credentials for All the Target Types

The value for the credential parameter in the input file must be a named credential available in Enterprise Manager. The named credentials can be created using either EMCLI or by using the Enterprise Manager UI.

To create a named credential from the UI, navigate to Setup > Security > Named Credential.

To create a named credential using EMCLI, issue the command specified in the table in Named Credentials and Commands to Create Them. Named credential in the input file should follow the notation <CREDENTIAL_OWNER>:<NAMED_CREDENTIAL>. For example, credMap.schematicFileHostCred=SYSMAN:SCHEMATIC_HOST_CRED.

Named Credentials and Commands to Create Them

The following table lists the named credentials, and provides the sample command that you can run to create it:

Property Name and Description Sample Command
credMap.schematicFileHostCred

Credential of host where schematic file is present. This will be used to read schematic file and credential user should have read permission for schematic file. It’s mandatory to place the schematic file in the discovery agent host.

Target Type: host

Credential Type: HostCreds (username, password)

emcli create_named_credential 
-cred_name='SCHEMATIC_HOST_CRED' 
-auth_target_type='host' 
-cred_type='HostCreds' 
-cred_scope='global' 
-target_type='host' 
-attributes="HostUserName:sample;HostPassword:XXXXXXXX"

Credential Type: HostSSHCreds (public, private key)

emcli create_named_credential 
-cred_name='SCHEMATIC_HOST_SSH_CRED’ 
-cred_scope=global 
-cred_type=HostSSHCreds -auth_target_type=host 
-attributes="USERNAME:XX;SSH_PVT_KEY:pvt;SSH_PUB_KEY:pub” 
-input_file=“pvt:<PATH_TO_PRV_ FILE_EMCLI_INSTALL_BOX>;
pub:<PATH_TO_PUB_FILE_EMCLI_INSTALL_BOX >"

The private and public key file path is on the host where EMCLI is executed.

credMap.agentCred

These were the credential used to install the agents. These credentials are required to set up passwordless SSH between the agent and Exadata Storage Server.

Target Type: host / oracle_emd

Credential Type: HostCreds (username, password)

emcli create_named_credential 
-cred_name='AGENT_HOST_CRED'
-auth_target_type='host' 
-cred_type='HostCreds' -cred_scope='global' 
-target_type='host' 
-attributes="HostUserName:sample;HostPassword:XXXXXXXX"

Credential Type: HostSSHCreds (public, private key)

emcli create_named_credential 
-cred_name='AGENT_HOST_SSHCRED'
-cred_scope=global 
-cred_type=HostSSHCreds 
-auth_target_type=host 
-attributes="USERNAME:XXXX;SSH_PVT_KEY:pvt;SSH_PUB_KEY:pub” 
-input_file=“pvt:<PATH_TO_PRV_ FILE_EMCLI_INSTALL_BOX>;
pub:<PATH_TO_PUB_FILE_EMCLI_INSTALL_BOX >"

The private and public key file path is on the host where EMCLI is executed.

credMap.computenodeIlomCred

Compute node ILOM credential is required to promote ILOM access point.

Target Type: oracle_si_server_map

Credential Type: ilom_creds (username, password)

emcli create_named_credential 
-cred_name='CN_ILOM_CRED’ 
-auth_target_type='oracle_si_server_map' 
-cred_type='ilom_creds'  
-cred_scope='global'
-attributes="username:XXXXX;password:XXXXXXX"

Credential Type: ilom_key_auth_creds (private key file, passphrase)

emcli create_named_credential 
-cred_name=’CN_ILOM_SSH_CRED’
-auth_target_type=’oracle_si_server_map’ 
-cred_type=’ilom_key_auth_creds’
-cred_scope=’global’
-attributes=”username:XXXXX;privatekeyfile:<PRIVATE_KEY_PATH_ON_AGENT_BOX>”

The private key file path is on the agent box.

credMap.computenodeAdminCred

Compute node admin credential is required to setup SNMP subscription on compute node.

Target Type: host

Credential Type: HostCreds (username, password)

emcli create_named_credential 
-cred_name='HOST_ADMIN_CRED'  
-auth_target_type='host'
-cred_type='HostCreds' 
-cred_scope='global'  
-target_type='host' 
-attributes="HostUserName:sample;HostPassword:XXXXXXXX"

Credential Type: HostSSHCreds (public, private key)

emcli create_named_credential 
-cred_name='HOST_ADMIN_SSH_CRED'  
-cred_scope=global 
-cred_type=HostSSHCreds 
-auth_target_type=host 
-attributes="USERNAME:X;SSH_PVT_KEY:pvtkey;SSH_PUB_KEY:pubkey” 
-input_file=“pvt:<PATH_TO_PRV_ FILE_EMCLI_INSTALL_BOX>;
pub:<PATH_TO_PUB_FILE_EMCLI_INSTALL_BOX >"

The private and public key file path is on the host where EMCLI is executed.

credMap.computenodeSnmpCred

Compute node SNMP credential is required for alerts.

Target Type: oracle_si_server_map

Credential Type: SNMPV3Creds

emcli create_named_credential 
-cred_name='CN_SNMP_V3_CRED' 
-auth_target_type='oracle_si_server_map' 
-cred_type='SNMPV3Creds' 
-cred_scope='global'
-attributes="authUser:XXXXX;authPwd:YYYY;
privProtocol:AES;privPwd:ZZZZZ;authProtocol:SHA;authPwd:WWWWW"

Credential Type: SNMPV1Creds (SNMP V1/V2)

emcli create_named_credential 
-cred_name='CN_SNMP_CRED' 
-auth_target_type='oracle_si_server_map' 
-cred_type='SNMPV1Creds' 
-cred_scope='global'
-attributes="COMMUNITY:<community>"
credMap.computenodeIlomRestCred

Compute node REST credential to promote ILOM REST access point.

Target Type: oracle_si_server_map

Credential Type: AliasCredential (Alias, password)

emcli create_named_credential 
-cred_name=ILOM_HTTP_CREDS 
-cred_scope=global
-cred_type=AliasCredential 
-auth_target_type=oracle_si_server_map
-attributes="Alias:root;Password:XXXXXXXX"
credMap.ibIlomCred

IB Switch ILOM admin credential is required to promote ILOM access point.

Target Type: oracle_si_netswitch

Credential Type: ilom_creds (username, password)

emcli create_named_credential 
-cred_name='IB_ILOM_CRED’ 
-auth_target_type='oracle_si_netswitch' 
-cred_type='ilom_creds'  
-cred_scope='global'
-attributes="username:XXXXX;password:XXXXXXX"

Credential Type: ilom_key_auth_creds (private key file, passphrase)

emcli create_named_credential 
-cred_name='IB_ILOM_SSH_CRED'
-auth_target_type='oracle_si_netswitch' 
-cred_type='ilom_key_auth_creds' 
-cred_scope='global'
-attributes="username:XXXXXX;
privatekeyfile:<PRIVATE_KEY_PATH_ON_AGENT_BOX>"

The private key file path is on the agent box.

credMap.ibSnmpCred

IB Switch SNMP credential is required to promote SNMP access point.

Target Type: oracle_si_netswitch

Credential Type: SNMPV1Creds

emcli create_named_credential 
-cred_name='IB_SNMP_V1_CRED'  
-auth_target_type='oracle_si_netswitch'  
-cred_type='SNMPV1Creds'
-cred_scope='global' 
-attributes="COMMUNITY:public"

Credential Type: SNMPV3Creds

emcli create_named_credential 
-cred_name='IB_SNMP_V3_CRED'  
-auth_target_type='oracle_si_netswitch' 
-cred_type='SNMPV3Creds' 
-cred_scope='global'
-attributes="authUser:XXXXX;authPwd:YYYY;
privProtocol:AES;privPwd:ZZZZZ;authProtocol:SHA;authPwd:WWWWW"
credMap.cellMonitorCred

Storage Server monitored using CellCLI – root user credential required to setup password less SSH between agent and Storage Server to monitor Storage Server.

Or

Storage Server monitored using ExaCLI/RESTAPI - monitoring credential required to monitor Storage Server.

Target Type: oracle_exadata

Credential Type: ExaCreds (CellCLI based monitoring)

emcli create_named_credential 
-cred_name='CELL_ROOT_CRED' 
-auth_target_type='oracle_exadata'
-cred_type='ExaCreds' 
-cred_scope='global' 
-target_type='oracle_exadata'
-attributes="ExaUserName:root;ExaPassword:XXXXXXX"

Credential Type: ExaSSHCreds (CellCLI based monitoring)

emcli create_named_credential 
-cred_name=CELL_SSH_CREDS  
-cred_type=ExaSSHCreds
-auth_target_type=oracle_exadata 
-attributes="USERNAME:root;SSH_PVT_KEY:pvtkey” 
-input_file=“pvtkey:<KEY_AVAILABLE_AT_EMCLI_INSTALL_BOX>”

The private and public key file path is on the host where EMCLI is executed.

Credential Type: ExaCLICred (ExaCLI/RESTAPI based monitoring)

emcli create_named_credential 
-cred_name='CELL_EXACLI_CRED' 
-auth_target_type='oracle_exadata' 
-cred_type='ExaCLICred'  
-cred_scope='global'
-target_type='oracle_exadata' 
-attributes="ExaCLIUserName:celladmin;ExaCLIPassword:XXXXXXX"
credMap.cellSnmpCred

Storage Server SNMP credential is required to receive alert.

Target Type: oracle_exadata

Credential Type: SNMPV1Creds

emcli create_named_credential 
-cred_name='CELL_SNMP_V1_CRED'  
-auth_target_type='oracle_exadata' 
-cred_type='SNMPV1Creds' 
-cred_scope='global'
-attributes="COMMUNITY:<community>"

Credential Type: SNMPV3Creds

emcli create_named_credential 
-cred_name='CELL_SNMP_V3_CRED'  
-auth_target_type='oracle_exadata’ 
-cred_type='SNMPV3Creds' 
-cred_scope='global'
-attributes="authUser:XXXXX;authPwd:YYYY;
privProtocol:AES128;privPwd:ZZZZZ;authProtocol:SHA;authPwd:WWWWW"

To specify the privacy protocol name, use AES128 or DES.

credMap.cellSnmpSetupCred

Storage Server admin credential is required to setup SNMP subscription.

Target Type: oracle_exadata

Credential Type: ExaCreds (CellCLI based monitoring)

emcli create_named_credential 
-cred_name='CELL_ADMIN_CRED' 
-auth_target_type='oracle_exadata'
-cred_type='ExaCreds' 
-cred_scope='global' 
-target_type='oracle_exadata'
-attributes="ExaUserName:YYYYYY;ExaPassword:XXXXXXX"

Credential Type: ExaSSHCreds (CellCLI based monitoring)

emcli create_named_credential 
-cred_name=CELL_ADMIN_SSH_CREDS  
-cred_type=ExaSSHCreds
-auth_target_type=oracle_exadata 
-attributes="USERNAME:YYYYY;SSH_PVT_KEY:pvtkey” 
-input_file=“pvtkey:<KEY_AVAILABLE_AT_EMCLI_INSTALL_BOX>”

Credential Type: ExaCLICred (ExaCLI/RESTAPI based monitoring)

emcli create_named_credential 
-cred_name='CELL_ADMIN_EXACLI_CRED' 
-auth_target_type='oracle_exadata' 
-cred_type='ExaCLICred'  
-cred_scope='global'
-target_type='oracle_exadata' 
-attributes="ExaCLIUserName:celladmin;ExaCLIPassword:XXXXXXX"
credMap.ciscoIosCred

Cisco Switch IOS credential is required to promote Cisco IOS access point

Target Type: oracle_si_netswitch

Credential Type: cisco_creds (username, password, privilege password)

emcli create_named_credential 
-cred_name='CISCO_IOS_CRED'
-auth_target_type='oracle_si_netswitch' 
-cred_type='cisco_creds'
-cred_scope='global'
-attributes="username:XXXX;userpass:YYY;privpass:ZZZZ"

Credential Type: cisco_key_auth_creds (username, private key file, passphrase, privilege password)

emcli create_named_credential 
-cred_name='CISCO_IOS_KEY_CRED'
-auth_target_type='oracle_si_netswitch'  
-cred_type='cisco_key_auth_creds'
-cred_scope='global' 
-attributes="username:XXXX;
privatekeyfile:<PRV_KEY_FILE_LOCATION_ON_AGENT_HOST>; 
privatekeypassphrase:YYYYYY;privpass:ZZZZ"

The private key file path is on the agent host.

credMap.ciscoSnmpCred

Cisco Switch SNMP credential is required to promote Cisco SNMP access point.

Target Type: oracle_si_netswitch

Credential Type: SNMPV1Creds

emcli create_named_credential 
-cred_name='CISCO_SNMP_V1_CRED'  
-auth_target_type='oracle_si_netswitch' 
-cred_type='SNMPV1Creds' 
-cred_scope='global'
-attributes="COMMUNITY:public"

Credential Type: SNMPV3Creds

emcli create_named_credential 
-cred_name='CISCO_SNMP_V3_CRED'  
-auth_target_type='oracle_si_netswitch' 
-cred_type='SNMPV3Creds' 
-cred_scope='global'
-attributes="authUser:XXXXX;authPwd:YYYY;
privProtocol:AES;privPwd:ZZZZZ;authProtocol:SHA;authPwd:WWWWW"
credMap.roceSwCred

RoCE Switch credential is required to promote RoCE IOS access point

Target Type: oracle_si_netswitch

Credential Type: cisco_creds (username, password, privilege password)

emcli create_named_credential 
-cred_name='ROCE_IOS_CRED'
-auth_target_type='oracle_si_netswitch' 
-cred_type='cisco_creds'
-cred_scope='global'
-attributes="username:XXXX;userpass:YYY;privpass:ZZZZ"

Credential Type: cisco_key_auth_creds (username, private key file, passphrase, privilege password)

emcli create_named_credential 
-cred_name='ROCE_IOS_KEY_CRED'
-auth_target_type='oracle_si_netswitch'  
-cred_type='cisco_key_auth_creds'
-cred_scope='global' 
-attributes="username:XXXX;
privatekeyfile:<PRV_KEY_FILE_LOCATION_ON_AGENT_BOX>; 
privatekeypassphrase:YYYYYY;privpass:ZZZZ"

The private key file path is on the agent box.

credMap.roceSnmpCred

This credential is required to promote ROCE SNMP access point.

Target Type: oracle_si_netswitch

Credential Type: SNMPV1Creds

emcli create_named_credential 
-cred_name='ROCE_SNMP_V1_CRED'  
-auth_target_type='oracle_si_netswitch' 
-cred_type='SNMPV1Creds' 
-cred_scope='global'
-attributes="COMMUNITY:public"

Credential Type: SNMPV3Creds

emcli create_named_credential 
-cred_name='ROCE_SNMP_V3_CRED'  
-auth_target_type='oracle_si_netswitch' 
-cred_type='SNMPV3Creds' 
-cred_scope='global'
-attributes="authUser:XXXXX;authPwd:YYYY;
privProtocol:DES;privPwd:ZZZZZ;authProtocol:SHA;authPwd:WWWWW"
credMap.pduHttpCred

PDU HTTP credential is required to promote PDU.

Target Type: oracle_si_pdu

Credential Type: http (username, password)

emcli create_named_credential 
-cred_name='PDU_HTTP_CRED'
-auth_target_type='oracle_si_pdu' 
-cred_type='http'  
-cred_scope='global'
-attributes="username:YYYYY;password:XXXXX"
credMap.pduSnmpCred

PDU SNMP credential is required setup SNMP subscription.

Target Type: oracle_si_pdu

Credential Type: SNMPV1Creds

emcli create_named_credential 
-cred_name='PDU_SNMP_CRED'
-auth_target_type='oracle_si_pdu' 
-cred_type=' SNMPV1Creds'  
-cred_scope='global'
-attributes="COMMUNITY:public"

Credential Type: SNMPV3Creds

emcli create_named_credential
-cred_name='PDU_SNMP_V3_CRED'
-auth_target_type='oracle_si_pdu'
-cred_type='SNMPV3Creds'
-cred_scope='global'
-attributes="authUser:XXXXX;authPwd:YYYY
;privProtocol:AES;privPwd:ZZZZZ;authProtocol:SHA;authPwd:WWWWW"

Set Up SSH Key Authentication

To use SSH Keys for authentication during discovery, generate and install the public key on each target that must be discovered.

Starting with Oracle Enterprise Manager 24ai Release 1 Update 6 (24.1.0.6), support is available to generate SSH key pair using Ed25519 algorithm. This algorithm based key pair is currently supported for use only with Exadata Storage Server.

Generate the SSH Key

Use ssh-keygen tool to generate the new authentication key pairs for SSH.

Command to generate key pair (Public key and Private Key) based on RSA authentication algorithm:

ssh-keygen -f <FILE_NAME> -t rsa -N ""

In the above command:

  • -f option to indicate file name
  • -t option to indicate algorithm (rsa/ed25519)
  • -N option to indicate passphrase

The same key pair can be used on all the monitoring agent hosts by copying them. Alternatively, you can generate different key pair on each monitoring agent host.

Command to generate key pair (Public key and Private Key) based on Ed25519 authentication algorithm that you can use only with Exadata Storage Server:

ssh-keygen -t ed25519

The key pair is generated in the ~/.ssh directory.

In case of the Ed25519 algorithm, id_ed25519 is the private key and id_ed25519.pub is the public key.

Add SSH Public Key to Each Target

Follow these steps to install the SSH public key on the various targets that you want to discover:

Add SSH Public Key to Exadata Storage Server and Exadata Compute Node

Copy the public key to the Exadata Storage Server, Compute Node, and the monitoring Agent host using the following command:

ssh-copy-id -i <PUBLIC_KEY_LOCATION> oracle@host

Note:

You can use Ed25519 algorithm based SSH key only with Exadata Storage Server.

Add SSH Public Key to ILOM

You can use the following steps for InfiniBand ILOM as well as Compute Node ILOM:

  1. Log in to the ILOM as a user that has administration capabilities that will be used as part of Database Machine discovery.

  2. Navigate to the directory location of the user's SSH key.

  3. Add SSH public key to the user's account:

    set load_uri=<transfer_method>://<username>:<password>@<fully_qualified_hostname>/<path_to_public_key_filename>

    For example:

    set load_uri=scp://adminuser:userpswd@192.0.2.1/keys/sshkey_1.pub
Add SSH Public Key to Cisco Ethernet / RoCE Switch
  1. Log in to the switch.

  2. Enter the global configuration mode on the switch using the command:

    configure terminal
  3. Specify the public key for the user by pasting the entire content of the key in the specified location in the command:

    <username> admin sshkey <paste_entire_public_key_content>
  4. Save the configuration:

    copy running-config startup-config

Create the Input File

Create the input file with the details of the configuration parameters, and named credentials. You can optionally add or remove components from the configuration by using the skipComponentList or addComponentList parameters.

Similarly, for virtual Exadata Database Machine discovery, you can provide the component details in the input file.

The following tables provide the information about all the parameters that can be used in the input file:

Following is an example input file created by using the configuration parameters, named credentials, and additional components:

############################################################
#         Discovery and Monitoring Agent 
############################################################ 
configMap.discoveryAgentUrl=https://cn01vm01.example.com:3442/emd/main/
configMap.monitorAgentUrl.0=https://cn01vm01.example.com:3442/emd/main/
configMap.monitorAgentUrl.1=https://cn02vm01.example.com:3442/emd/main/ 
############################################################
#          Database Machine Configuration and required configuration
############################################################ 

# 0 For No, 1 for Yes
configMap.isRemoteAgent=0
configMap.isIPV6=0 

# Identify if the network is roce or ib
configMap.networkType=roce
# Uncomment/update either the configMap.ibSwitchName or configMap.roceSwitchName parameter depending on what type of switch you have
#configMap.ibSwitchName=sw-iba0.example.com
configMap.roceSwitchName=sw-rocea0.example.com 

#directory must exist for file creation
configMap.outputFileLoc=/home/oracle/exadata_discovery/output.txt 

# Either CellCLI or ExaCLI or RESTAPI
configMap.cellMetricSrc=CellCLI 

#These properties would be considered if Storage Server is monitored using RESTAPI 
configMap.HttpsProtocol=TLSv1.2
configMap.TrustSelfSignedCert=1 

# 0 (no) or 1 (yes) to configure SNMP 
configMap.computenodeSnmpSub=1
configMap.cellSnmpSub=1 

#Location of the schematic file on discovery agent
configMap.schematicFileHost=cn01vm01.example.com
configMap.schematicFilePath=/opt/oracle.SupportTools/onecommand/databasemachine.xml 
############################################################
#          TARGET CREDENTIALS
############################################################
#Please provide named credentials for all target types of Database Machine.

# Remote Agent or Compute Node Host Credential
credMap.agentCred=SYSMAN:AGENT_HOST_CRED
credMap.schematicFileHostCred=SYSMAN:AGENT_HOST_CRED 

# CELL (Storage Server) Credentials
credMap.cellMonitorCred=SYSMAN:CELL_ROOT_CRED
credMap.cellSnmpCred=SYSMAN:CELL_SNMP_CRED
credMap.cellSnmpSetupCred=SYSMAN:CELL_ROOT_CRED 

# Compute Node Credentials
credMap.computenodeIlomCred=SYSMAN:CN_ILOM_CRED
credMap.computenodeAdminCred=SYSMAN:CN_ADMIN_CRED
credMap.computenodeSnmpCred=SYSMAN:CN_SNMP_CRED 

# PDU Credentials
credMap.pduSnmpCred=SYSMAN:PDU_SNMP_CRED
credMap.pduHttpCred=SYSMAN:PDU_HTTP_CRED 

# CISCO Switch (Admin) Credentials
credMap.ciscoIosCred=SYSMAN:CISCO_IOS_CRED
credMap.ciscoSnmpCred=SYSMAN:CISCO_SNMP_CRED 

# CISCO Switch (RoCE) Credentials
#credMap.roceSwCred=SYSMAN:ROCE_SWITCH_CRED
#credMap.roceSnmpCred=SYSMAN:ROCE_SNMP_CRED 

# Infiniband Switch Credentials
credMap.ibIlomCred=SYSMAN:IBILOM_ADMIN_CRED
credMap.ibSnmpCred=SYSMAN:SI_SWITCH_SNMP_CRED  

######################################################################
#             Virtual Platform Config Data
######################################################################
#Virtual Platform Credentials
#Uncomment/complete if this is a Virtual Database Machine (Virtual targets are not yet discovered in EM)
vpTargetMap.vpCred=SYSMAN:VP_CRED 

#Please provide virtual platform targets information
vpTargetMap.name.0=vp01.example.com
vpTargetMap.name.1=vp02.example.com 

############################################################
#          SKIP Components
############################################################
#Specify any components you wish to skip
componentMap.skipComponentList.0=pdu0.example.com
Configuration Parameters

The following table lists the mandatory configuration parameters and their details that must be specified in the input file for EMCLI based discovery:

Parameter Name and Description Allowed Value / Sample Value
configMap.discoveryAgentUrl

Discovery agent URL on which schematic file is available.

Allowed Value:

https://<em_agent_target_name>:<em_agent_port>/emd/main

Sample Value:

configMap.discoveryAgentUrl=https://agent1:1838/emd/main

configMap.monitorAgentUrl.0

configMap.monitorAgentUrl.1

Monitoring agent URL, one for primary and one for backup.

Allowed Value:

https://<em_agent_target_name>:<em_agent_port>/emd/main

Sample Value:

configMap.monitorAgentUrl.0=https://agent01:1838/emd/main

configMap.monitorAgentUrl.1=https://agent02:1838/emd/main

configMap.isRemoteAgent

This property indicates monitoring agent(s) is a remote one, that is installed outside of the Database Machine.

The purpose of a remote monitoring agent is to avoid consuming Database Machine resources for monitoring.

Allowed Value:

0 - Discovery is performed by a local agent

1 - Discovery is performed by remote agent

Sample Value:

configMap.isRemoteAgent=0

configMap.isIPV6

This property is to indicate IP Protocol used for communication.

Allowed Value:

0 - IPV4 Exadata Database Machine (Default)

1 – IPV6 Exadata Database Machine

Sample Value:

configMap.isIPV6=0

configMap.schematicFileHost

This property is to specify the host name on which schematic file available. On the same host, the discovery agent should also be present.

Allowed Value:

Host name

Sample Value:

configMap.schematicFileHost=adm01.example.com

configMap.schematicFilePath

This property is to specify the schematic file full path on the host (host name specified for property configMap.schematicFileHost).

Allowed Value:

Full path of schematic file.

Sample Value:

configMap.schematicFilePath=/opt/oracle.SupportTools/onecommand/databasemachine.xml

configMap.ibSwitchName

This property is to indicate the InfiniBand Switch name if configMap.networkType parameter is set to ib.

This property is mandatory based on the network type.

Allowed Value:

Fully qualified InfiniBand Switch host name

Sample Value:

configMap.ibSwitchName=sw-iba0.XXXX.YYY

configMap.roceSwitchName

This property is to indicate the RoCE Switch name if configMap.networkType parameter is set to roce.

This property is mandatory based on the network type.

Allowed Value:

Fully qualified ROCE Switch host name

Sample Value:

configMap.roceSwitchName=sw-ROCEa0.XXXX.YYY

configMap.cellMetricSrc

This property is to indicate Exadata Storage Server monitoring mechanism.

Allowed Value:

CellCLI / ExaCLI / RESTAPI

Sample Value:

configMap.cellMetricSrc=RESTAPI

configMap.outputFileLoc

This property is to indicate the full path of the file on OMS host to log Deployment Procedure (DBMachineSystemCheck’s) output.

Allowed Value:

Full path to file on OMS host

Sample Value:

configMap.outputFileLoc=/scratch/user/dp_output

The following table lists the optional configuration parameters and their details that you can specify in the input file for EMCLI based discovery:

Parameter Name and Description Allowed Value / Sample Value
configMap.isStatic

Database Machine discovery by default performs dynamic discovery by invoking IB commands and other commands. But, in some cases discovery may not be able to proceed with dynamic approach like IB Switch is not accessible, Failure in detecting rack type, etc.,

In this case static discovery would be useful. Static discovery depends on schematic file for identifying components.

Allowed Value:

0 - dynamic discovery be performed (Default)

1 – static discovery

Sample Value:

configMap.isStatic=0

configMap.DBMachineName

This property allows to define a custom name for Database Machine.

Allowed Value:

Any string can be specified as value for this property. If not specified discovery will automatically prepare a name for Exadata Database Machine as default.

Sample Value:

configMap.DBMachineName=DB Machine

configMap.ExadataGridName

This property allows to define a custom name for Exadata Grid.

Allowed Value:

Any string can be specified as value for this property. If not specified discovery will automatically prepare a name for Exadata Grid as default.

Sample Value:

configMap.ExadataGridName=Exadata Grid

configMap.networkType

This property is to indicate which network type is part of discovering Exadata Database Machine.

Allowed Value:

roce to indicate RoCE X8M

ib to indicate InfiniBand Network (Default)

Sample Value:

configMap.networkType=roce

configMap.HttpsProtocol

This property is to indicate communication protocol used for Exadata Storage Server communication. This property needs to specify when Storage Server is monitored using RESTAPI. Otherwise, this property is not required.

Allowed Value:

TLSv1.2 (Default)

Sample Value:

configMap.HttpsProtocol=TLSv1.2

configMap.TrustSelfSignedCert

This property is to indicate whether a self-signed certificate is used for communication with Storage Server.

Allowed Value:

0 or 1 (Default)

Sample Value:

configMap.TrustSelfSignedCert=1

configMap.computenodeSnmpSub

This property is to indicate whether SNMP Subscription for Compute Nodes is required.

Allowed Value:

0 - Skip SNMP Subscription (Default)

1 - Set up SNMP subscription

Sample Value:

configMap.computenodeSnmpSub=1

configMap.ilomVersionSupportRest

This property is to indicate whether to promote ILOM REST Access Point using the computenodeIlomRestCred credential.

Allowed Value:

true - Promote ILOM REST Access Point. When this property is set to true, you must also include the computenodeIlomRestCred property and its value in the input file.

false - Skip ILOM REST Access Point

Sample Value:

configMap.ilomVersionSupportRest=true

configMap.cellSnmpSub

This property is to indicate whether SNMP Subscription for Storage Servers is required.

Allowed Value:

0 - Skip SNMP Subscription (Default)

1 - Set up SNMP subscription

Sample Value:

configMap.cellSnmpSub=1

Parameters for Adding or Skipping Components

The following optional properties can be used to skip or add the components as part of EMCLI based discovery of Exadata Database Machine:

Property Name Description Example

componentMap.skipComponentList

Use this property to list the components that must be excluded from Exadata Database Machine discovery.

componentMap.skipComponentList.0=pdu1

componentMap.skipComponentList.1=pdu2

componentMap.addComponentList

Use this property to add new components to an existing database machine as part of Exadata Database Machine discovery.

componentMap.addComponentList.0=cel01

componentMap.addComponentList.1=cel02

Parameters for Adding or Skipping Virtual Platform Components

For virtual Exadata Database Machine, the Virtual Platform targets can also be discovered as part of the EMCLI based Database Machine Discovery if not yet discovered in Enterprise Manager. The following input parameters can be used to specify the components:

Parameter Name and Description Sample Value
vpTargetMap.name

List of virtual platform targets to be discovered.

vpTargetMap.name.0=hostvp1

vpTargetMap.name.1=hostvp2

vpTargetMap.vpCred

Target Type: oracle_si_virtual_platform

Credential Type: DMOvsBasicCreds

emcli create_named_credential 
-cred_name='VP_CRED'
-auth_target_type='oracle_si_virtual_platform' 
-cred_type='DMOvsBasicCreds'
-cred_scope='global'
-attributes="OVSUsername:root;OVSPassword:XXXXXXXX"

Credential Type: DMOvsSshKeyCreds

emcli create_named_credential 
-cred_name='VPSSHCRED' 
-auth_target_type='oracle_si_virtual_platform' 
-cred_scope='global' 
-cred_type='DMOvsSshKeyCreds' 
-attributes="OVSUsername:root;OVSPassword:XXXXXXXX;
PassPhrase:test;SshPrivateKey:pvtkey;SshPublicKey:pubkey;" 
-input_file="pvtkey:<PVT_KEY_LOC>;pubkey:<PUB_KEY_LOC> "

The private and public key file path is on the host where EMCLI is executed.

Optional Verification of the Prerequisites

To ensure that all the required parameters are provided in the input file, run a prerequisite-check deployment procedure before submitting the Exadata Database Machine discovery deployment procedure. Use the input file that you created earlier in the prerequisite-check deployment procedure.

This prerequisite-check deployment procedure is optional because it is also executed as part of the discovery deployment procedure.

Run this EMCLI command to perform the prerequisite-check and collect the information about the targets related to the Exadata Database Machine:

 emcli submit_procedure -name=DBMachineSystemCheck -input_file="data://<input_file_absolute_path>" 

For more information on the deployment procedure for EMCLI based discovery of Exadata Database Machine, see Deployment Procedure for EMCLI.

Prerequisites for Discovery and Monitoring Using Non-root User

You can optionally perform discovery and monitoring operations using a non-root user.

Non-root User for Systems Infrastructure Remote Host Targets

To support the discovery through a non-root user, the list of commands used by the remote host and server OS metrics which require sudo privileges must be placed in the file /etc/sudoers.

Place the following commands in the sudoers file:

<non-root-username> ALL=(ALL) /usr/sbin/sminfo,/usr/bin/ipmitool,/bin/cat
      /etc/iscsi/iscsid.conf,/sbin/fdisk,/sbin/vgs,/sbin/pvs,/sbin/lvs,/sbin/dmsetup,/usr/sbin/dbmcli,/sbin/service,/sbin/initctl,/opt/oracle.cellos/compmon/exadata_mon_hw_asr.pl,/usr/local/bin/imageinfo,/usr/sbin/exadata.img.hw,/usr/sbin/ibnetdiscover,/usr/sbin/smartctl

Use EMCLI to discover the remote host using a non-root user. Specify the dispatch URL as 'sudo-ssh://<IP/hostname>:22 by running the following EMCLI command:

emcli add_target -name=<REMOTE_HOST_NAME> -type=oracle_si_host_remote -host=<AGENT_HOST_NAME>
      -monitoring_cred='ssh_creds_set;oracle_si_host_remote_ssh;ssh_creds;username:<user>;userpass:<password>;'
      -subseparator=properties='=' -properties='dispatch.url=sudo-ssh://<target ip/hostname>:22'
      -access_point_name="<AP_NAME>" -access_point_type="oracle_si_host_remote_ssh"

Non-root User for Virtual Platform Targets

To be able to discover the virtual platform targets using the non-root user, you must first update the /etc/sudoers file with the list of commands used by the targets which require sudo privileges. Next, update the non-root user monitoring credentials with the sudo attributes.

Xen Virtual Platform

Content for the /etc/sudoers file for Xen virtual platform target:

Cmnd_Alias OEM_MON_CMNDS = /usr/sbin/xl list*,/usr/sbin/xl info*,/usr/sbin/xl 
      network-list*,/usr/sbin/xl uptime*,/usr/sbin/xl
      vcpu-list*,/usr/sbin/dmidecode,/usr/sbin/xentop,/usr/bin/xenstore-read,/usr/bi n/xenstore-list,/usr/bin/xenstore-ls,/sbin/ethtool 
      <non-root-user>    ALL=(ALL)       NOPASSWD:OEM_MON_CMNDS

KVM Virtual Platform

Content for the /etc/sudoers file for KVM virtual platform target:

non-root-user ALL=(ALL) NOPASSWD: /usr/bin/virsh list*, /usr/bin/virsh dominfo*,
      /usr/bin/virsh nodememstats*, /usr/bin/virsh domstats*, /usr/bin/virsh capabilities,
      /usr/bin/virsh domblklist*, /usr/bin/virsh domiflist*, /usr/bin/virsh vcpupin*,
      /usr/bin/virsh domifstat*, /bin/virsh domblkstat*, /bin/virsh dommemstat*,
      /bin/virsh nodeinfo, /bin/virsh domblkinfo*, /usr/sbin/dmidecode, /sbin/ethtool,
      /usr/bin/ipmitool, /usr/sbin/imageinfo, /usr/local/bin/imageinfo,
      /opt/oracle/bda/bin/imageinfo, /opt/exadata_ovm/vm_maker, /usr/sbin/brctl

Update and save the monitoring credentials of the Virtual Platform target

Set the following sudo attributes:

  1. Set Privilege Type to sudo.

  2. Set Run as to root.

  3. Set the Privilege Command to /usr/bin/sudo -S -u %RUN_AS% %COMMAND%. Verify the path of sudo.

  4. Set Is Privileged User to Yes.

  5. Unless the requiretty flag is explicitly un-set for the non-root user in the /etc/sudoers file, set Enable Pseudo Terminal to Yes.

Now, you can use the non-root user instead of the sudo username for target discovery.