Managing the Smart Agent


To configure the Smart Agent parameters 

We recommend configuring all the Smart Agent related parameters before installing the agent. After you install the agent, these parameters are stored in the smartagent.conf file. If you want to configure some of these parameters later, you need to update the smartagent.conf file.

Do the following:

  1. Log in to the server where the RSCD Agent is installed.
  2. Navigate to the following path:
    • (Windowsc:\windows\rsc
    • (Linux/etc/rsc
  3. Back up the smartagent.conf file.
  4. Open the smartagent.conf file and edit the required parameters.

    Parameter

    Nested parameter

    Data type

    Description

    rest_api





    host

    String

    The host name of the Smart Hub API endpoint.

    port

    Integer

    The port for Smart Hub API endpoint.

    timeout_ms

    Integer

    The maximum waiting time before an API transaction succeeds. The default is 150000 ms.

    accesskey

    String

    The encoded key for accessing the Smart Hub.

    authtype

    String

    The supported authentication type. Currently, only 'cert' is supported.

    clientcert

    String

    The SSL client certificate file that is used for authenticating with the Smart Hub API endpoint. After authentication is successful, this file is stored in the configuration directory:

    • (Windows) C:\Windows\rsc
    • (Unix and Linux) /etc/rsc 

    clientkey

    String

    The SSL private key file that is used for authenticating with Smart Hub API endpoint. After authentication is successful, this file is stored in the configuration directory:

    • (Windows) C:\Windows\rsc
    • (Unix and Linux) /etc/rsc 

    ca_bundle

    String

    The CA root certificate file that is used for verifying the legitimacy of the Smart Hub and Smart Hub Gateway by an Application Server and a Smart Agent. After verification is successful, this file is stored in the following directory:

    • (Windows) C:\Windows\rsc
    • (Unix and Linux) /etc/rsc 

    enrollment







    state

    String

    The state of the agent enrollment. The following values are possible:

    • "new": The initial state, which is the default value.
    • "authenticated": The server is authenticated with the Smart Hub.
    • "enroll_req_sent": The server has sent an enrollment request to the Application Server.
    • "enrolled": The server is enrolled in the Application Server.
    • "registered": The server is registered in the Smart Hub.
    • "decommissioned": The server is decommissioned from the Application Server.

    server_name

    String

    The name that is used to enroll the server in the Application Server. This field is configured after the server is enrolled in the Application Server.

    server_guid

    String

    The server guid in the Application server. This field is configured after the server is enrolled in the Application Server.

    infra_id

    String

    A unique infrastructure identifier for the Application Server. This identifier is used by the Smart Agent when sending requests and receiving responses from the Application Server. This field is configured when the server is authenticated with the Smart Hub.

    en_interval_m

    Integer

    The interval at which the server enrollment request is sent (in minutes). The interval can be in the range 1 - 360 minutes.

    enroll_as

    String

    The server is enrolled into the Application Server using this identifier. Any one of the following identifiers can be used:

    • <HOSTNAME>: Indicates the server host name. This is the default identifier.
    • <SMARTHUB_PEER_IP>: Indicates the IP address of the server. A server might have multiple IP addresses. The IP address that is used for connecting to the Smart Hub is represented by this field.
    • <SMARTHUB_PEER_FQDN>: Indicates the fully qualified domain name for <SMARTHUB_PEER_IP>.
    • <UUID>: Indicates a random UUID value. Use it for enrolling servers in the AWS public cloud data center.

    Also, you can specify a combination of <HOSTNAME>.domain or free text, such as smartagent.domain.

    request_ttl_h

    Integer

    The period up to which the Smart Agent waits for a response for a server enrollment request. After the server enrollment request is sent, the Smart Agent polls for the enrollment response. If the response is not received within this specified time period, a new enrollment request is sent. The default is 24.

    request_id

    String

    The server enrollment request id.

    After the server enrollment request is sent, the Smart Agent receives a request ID that is updated in the configuration file. This request ID is used for querying the server enrollment response. After the server enrollment response is received, this field is removed from the configuration file.

    request_time

    Integer

    Time that is spent in sending the server enrollment request.

    This field is added in the configuration file when server enrollment request is sent and removed when the response is received.


    en_max_entries

    Integer

    Maximum number of enrollment attempts that the Smart Agent can make after receiving a failure enrollment response from the Application Server. The default value is 5.

    heartbeat

    hb_interval_m

    Integer

    The interval at which the Smart Agent sends heartbeat requests to the Smart Hub (in minutes). The interval range can be 1 to 60 minutes.

    environment

    SMARTHUB_HOST

    String

    The environment variables used to represent the Smart Hub host.

    SMARTHUB_PORT

    String

    The environment variables used to represent the Smart Hub port.

    SERVER_NAME

    String

    The environment variables used to represent the enrolled server name. (server_name field)

    tls

    skip_validation

    Boolean

    Enables or disables validation of the server-side TLS certificates. By default, validation is disabled.

    hostname


    String

    The host name of the server.

    version


    String

    The version of the product.

    uuid


    String

    A unique identifier string.

    workmanager



    JSON object

    Configurations related to the Smart Hub.

    wm_interval_s

    Integer

    Specifies the interval (in seconds) at which the Smart Hub is polled for work requests. The default is 300 seconds.

    wm_websockets_enabled

    Boolean

    Indicates whether the websockets are used for polling work requests. The default is true. If the value is set to false, HTTP requests are used to retrieve work requests.

    tunnel






    JSON object

    Configurations related to the tunnel feature.

    tnl_enabled

    Boolean

    Indicates whether the tunnel feature is enabled in Smart Agent. By default, it is disabled.

    tnl_allowed_tcp_ports

    Array

    Specifies the allowed destination port. If the received "tunnel" work request has a port which is not allowed, the tunnel module will display the appropriate error and the "tunnel" work request will not be processed. The default port is 4750.

    tnl_idle_timeout_m

    Integer

    Specifies the idle connection timeout in minutes. If the idle timeout parameter is received in a "tunnel" work request, it is used. If this parameter is not set, closing idle connection will not be processed by the Smart Agent. The default timeout interval is 720 minutes.

    CLOUD_ACCOUNT


    String

    The cloud account to which the server belongs.

    CLOUD_REGION


    String

    The cloud region where the server is located.

    CLOUD_RESOURCE_NAME


    String

    The cloud resource name for the server.

    CLOUD_RESOURCE_ID


    String

    The cloud resource identifier for the server.

    CLOUD_VPC


    String

    The VPC where the cloud is located.

    SERVER_PROP_LIST


    String

    The list of configured server properties.

    auto_update_server_properties




    auto_usp_enabled

    Boolean

    A Boolean value (True or False) that indicates whether the Auto USP feature is enabled. By default, it is enabled. If you want to disable it, change this property value to false.

    auto_usp_interval_h

    Integer

    The interval (in hours) at which the server properties are validated to detect a change. If a change is detected, server properties are sent to the Application Server. If no change is detected, they are not sent to the Application Server.

    auto_usp_state

    String

    The state of the Auto USP. The state can have one of these values:

    • new: Indicates that the server properties are not in sync with the Application server. This is the default value after installation.
    • changed: Indicates that a change in the server property is detected.
    • sent: Indicates that the server properties are sent to the Application Server.
    • sync: Indicates that the computed server properties are successfully updated in the Application Server.

    request_id

    String

    Intermediate field to hold the request ID of the sent work request.

    request_time

    Long

    Intermediate field to hold the time of the sent work request.

    configuration_policy

    config_policy_enabled

    Boolean

    A Boolean value (true or false) that indicates whether the Configuration Policy feature is enabled. By default, it is enabled.

    Sample smartagent.conf file


    {
    "rest_api":{
    "host":"ProdSmartHub.bmc.com",
    "port":443,
    "timeout_ms":30000,
    "accesskey":"asJwdWJsaWNfa2V5IjoiLS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS1cclxuTUlJQklq
    QU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUF2TUcwZEhzMFN0QzVGUzltT="
    ,
    "authtype":"cert",
    "clientcert":"clientcert.pem",
    "clientkey":"client.key"
    },
    "enrollment":{
    "state":"new",
    "server_name":"",
    "server_guid":"",
    "infra_id":"",
    "en_interval_m":1,
    "en_max_retries":5,
    "enroll_as":"<HOSTNAME>",
    "request_ttl_h":24
    },
    "heartbeat":{
    "hb_interval_m":5
    },
    "workmanager":{
    "wm_interval_s":300,
    "wm_websockets_enabled":true,
    "wm_websockets_ping_interval_s":120,
    "wm_websockets_ping_timeout_s":60
    },
    "tunnel":{
    "tnl_enabled":false,
    "tnl_allowed_tcp_ports":[4750],
    "tnl_idle_connection_timeout_m":720
    },
    "auto_update_server_properties":{
    "auto_usp_enabled":true,
    "auto_usp_interval_h":2,
    "auto_usp_state":"new",
    "auto_usp_request_ttl_h":2
    },
    "configuration_policy":{
    "config_policy_enabled":true
    },
    "auto_upgrade":{
    "au_enabled":true,
    "au_timeout_m":5
    },
    "properties":{
    },
    "hostname":"testrhel7",
    "version":"21.3.00"
    }
  5. Save the changes.
  6. Restart the Smart Agent service.

To start and stop the Smart Agent 

The Smart Agent runs as a daemon process. You can use the daemon startup scripts to start or stop the Smart Agent. These scripts are installed along with the RSCD Agent installation.

Action

Windows

Linux

Start the Smart Agent.

The Smart Agent runs as a Windows service.

  1. On the search bar, type services.msc.
  2. Right-click TrueSight Server Automation Smartagent, and click Start.

You can run one of the following commands:

  • systemctl smartagent start

    Important

    If you are using a Linux system with the systemd support, this is the default command to start the Smart Agent.

  • /etc/init.d/smartagent startIf you are using a Linux system that does not support systemd, use this command.

Stop the Smart Agent.

The Smart Agent runs as a Windows service.

  1. On the search bar, type services.msc.
  2. Right-click TrueSight Server Automation Smartagent, and click Stop.

You can run one of the following commands:

  • systemctl smartagent stop

    Important

    If you are using a Linux system with the systemd support, this is the default command to stop the Smart Agent.

  • /etc/init.d/smartagent stopIf you are using a Linux system that does not support systemd, use this command.

To troubleshoot issues with the Smart Agent 

If you encounter any issues with the Smart Agent, check the Smart Agent logs to troubleshoot the issues. For more information, see Logs-for-the-Smart-Agent.

 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*