Page tree

You can create a data collector for monitoring data that is generated as a result of running a script by using an SSH connection.

You cannot use this data collector to collect data that is generated as a result of running the binary files (or executable files). For example, .exe files on the Windows platform.

Recommendation

BMC recommends that you to not use scripts with infinite loops and provide a timeout duration so that you do not face issues with data collection.

This topic contains the following information:

Related topics

To configure script output (using SSH) as a data collector

  1. Navigate to Administration > Data Collectors > Add Data Collector.
  2. In the Name box, provide a unique name to identify this data collector.
  3. From the Type list, select Monitor script output over SSH.
  4. Provide the following information, as appropriate:

     

    FieldDescription
    Target/Collection Host
    Target Host

    (Optional) Select from a list of hosts that you have already configured under Administration > Hosts.

    The target host is the computer from which you want to retrieve the data. You can choose to select the target host and inherit the host-level tags and group access permissions already added to the host, or manually enter the host name in the Server Name field.

    Collection Host (Agent)

    Type or select the collection host depending on whether you want to use the Collection Station or the Collection Agent to perform data collection.

    The collection host is the computer on which the Collection Station or the Collection Agent is located.

    By default, the Collection Station is already selected. You can either retain the default selection or select the Collection Agent.

    Note: For this type of data collector, the target host and collection host are expected to have different values.
    Collector Inputs
    Server Name

    The host name of the server on which the data is generated as a result of running the script.

    Note: If you selected a target host earlier, this field is automatically populated.
    Credentials

    (Optional) Select one of the following options:

    • Apply security credential to automatically populate the user name and password fields.
      Then select the appropriate credential (profile) from the Available Credential list that you already configured under Administration > Credentials.
    • Provide Credential to manually add user name and password credentials.
      Then enter the credentials in the User Name and Password fields.
      You can also create a credential that uses the manually entered details by clicking Add Credential  next to the Password field.
    User Name

    Provide the user name for connecting with the server from which you want to retrieve the data.

    Note: This field is disabled if you applied a security profile earlier.

    The product supports only password-based authentication for connecting with the SSH server.

    Password

    Provide the password for connecting with the server from which you want to retrieve the data.

    Click Add Credential , provide a credential name, and click OK to create a new credential (profile) from the credentials that you provided in the user name and password fields. Once this credential is created, it is displayed under Administration > Credentials.

    Note: This field is disabled if you applied a security credential earlier.

    Host Key Fingerprint

    (Optional) Provide the fingerprint of the RSA host key to connect with the server from which you want to retrieve the data.

    This is the host key that is configured to be used by the SSH server with which you want to connect.

    Example: bc:e1:44:56:bd:b1:4d:b9:6f:4c:a4:ca:07:69:5c:66

    Tip: To get the RSA host key fingerprint, you might want to contact your SSH server administrator.

    For more information, see About the SSH host key fingerprint (BMC contributor page).

    Script Path

    Provide the complete path to the script that you want to execute on the remote computer for retrieving data.

    You can also pass parameters dynamically while executing the script.

    For example, you can execute the following script that takes the input parameter as your name and prints "Hello."

     

    Script example
    #!/bin/bash
    echo "Hello $1"

    In this case, you must enter script.sh MyName in this field.

    where:

    script.sh is the name of the file in which you saved the preceding script.

    MyName refers to the name that you want to pass as the input parameter.

    Note: If there is a space character in one of the directory names in your script path, then you must enclose the directory name with double quotes (").
    Pattern

    Select the appropriate data pattern to use for indexing the data file.

    To select an option, you can do one of the following:

    • Filter the relevant data patterns that match the file.
      To find a list of relevant data patterns, click Filter Relevant Data Pattern and Date Formatnext to this field. Click Refresh to refresh the filtered list and see the complete list of data patterns available.
    • Manually scan through the list available and select a data pattern.

    After selecting an option, click Preview parsed log entries to preview the sample data entries parsed. By looking at the preview of records, you can understand how the data will be indexed and be made available for searching.

    If you are not satisfied with the results of the selected data pattern, continue to look for another option and see the preview, until the results match your expectations.

    If you do not find a relevant data pattern, you can do one of the following:

    • Select a date format from the Date Format list to capture the timestamp and rest of the event data in a raw format.
      Note: If you select both – a pattern and a date format, the product uses the date format to index the timestamp and the pattern to index rest of the event data.
    • Use Free text to capture data in a raw format, based on the time when it is indexed by the product.
    • Select Add Data Pattern available at the end of the list. By selecting this option, you are redirected to the Administration > Data Patterns page where you can create a new data pattern or customize an existing data pattern by cloning it. For more information, see Managing data patterns.
    Date Format

    Select a date format to use for indexing the timestamp in the data file.

    To select an option, you can do one of the following:

    • Filter the relevant data formats that match the file.
      To find a list of relevant data patterns, click Filter Relevant Data Pattern and Date Formatnext to the Pattern field. Click Refresh to refresh the filtered list and see the complete list of data patterns available.
    • Manually scan through the list available and select a date format.

    After selecting an option, click Preview parsed log entries to preview the sample data entries parsed. By looking at the preview of records, you can understand how the data will be indexed and be made available for searching.

    If you do not find a relevant date format, you can also create a new date format by selecting the Create new Date Format option.

    Notes:

    • If you select both – a pattern and a date format, then the date format specified takes precedence over the date format from the pattern that you selected. So the timestamp is indexed as per the specified date format, and the rest of the data is indexed as per the pattern.
    • If you select only a date format, then the date format is used for indexing the timestamp, while the rest of the data is displayed in a raw format in your search results.
    Script Time Out (mins)Specify the time duration (in minutes) after which the script must time out. By default, this value is set to 10.
    Poll Interval (mins)

    Specify the interval (in minutes) after which the script must be executed and the script output data must be collected. By default, this value is set to 1.

    If you want to execute the script only once and collect the output data, then specify the value of this field as 0.

    The value of this field is passed as the last argument to the script.

    Time Zone

    By default, the Use file time zone option is selected. This means the data is indexed as per the time zone available in the data file. If the data file does not contain a timezone, then the by default the time zone of the Collection Host (Collection Station or Collection Agent) server is used.

    You can also manually select a timezone from the list available. This timezone must match the timezone of the server from which you want to collect data. If your data file contains a timezone and you manually specify the timezone, then the manually specified timezone overrides the file timezone.

    Start Collection(Optional) Select this check box if you want to start the data collection immediately.

    File Encoding

    If your data file uses a character set encoding other than UTF-8 (default), then do one of the following:

    • Filter the relevant character set encodings that match the file.
      To do this, click Filter relevant charset encoding next to this field.
    • Manually scan through the list available and select an appropriate option.
    • Allow IT Data Analytics to use a relevant character set encoding for your file by manually select the AUTO option.

    Ignore Data Matching Input

    (Optional) If you do not want to index certain lines in your data file, then you can ignore them by providing one of the following inputs:

    • Provide a line that consistently occurs in the event data that you want to ignore. This line will be used as the criterion to ignore data during indexing.
    • Provide a Java regular expression that will be used as the criterion for ignoring data matching the regular expression.

    Example: While using the following sample data, you can provide the following input to ignore particular lines.

    • To ignore the line containing the string, "WARN", you can specify WARN in this field.
    • To ignore lines containing the words both "WARN" and "INFO", you can specify a regular expression .*(WARN|INFO).* in this field.
    Sample data
    Sep 25, 2014 10:26:47 AM net.sf.ehcache.config.ConfigurationFactory parseConfiguration():134
    WARN: No configuration found. Configuring ehcache from ehcache-failsafe.xml  found in the classpath:
    
    Sep 25, 2014 10:26:53 AM com.bmc.ola.metadataserver.MetadataServerHibernateImpl bootstrap():550
    INFO: Executing Query to check init property: select * from CONFIGURATIONS where userName = 'admin' and propertyName ='init'
    
    Sep 30, 2014 07:03:06 PM org.hibernate.engine.jdbc.spi.SqlExceptionHelper logExceptions():144
    ERROR: An SQLException was provoked by the following failure: java.lang.InterruptedException
    
    Sep 30, 2014 04:39:27 PM com.bmc.ola.engine.query.ElasticSearchClient indexCleanupOperations():206
    INFO: IndexOptimizeTask: index: bw-2014-09-23-18-006 optimized of type: data

    Best Effort Collection

    (Optional) If you clear this check box, only those lines that match the data pattern are indexed; all other data is ignored. To index the non-matching lines in your data file, keep this check box selected.

    Example: The following lines provide sample data that you can index by using the Hadoop data pattern. In this scenario, if you select this check box, all lines are indexed. But if you clear the check box, only the first two lines are indexed.

    Sample data
    2014-08-08 15:15:43,777 INFO org.apache.hadoop.hdfs.server.datanode.DataNode.clienttrace: src: 
    /10.20.35.35:35983, dest: /10.20.35.30:50010, bytes: 991612, op: HDFS_WRITE, cliID:
    
    2014-08-08 15:15:44,053 INFO org.apache.hadoop.hdfs.server.datanode.DataNode: Receiving block 
    blk_-6260132620401037548_683435 src: /10.20.35.35:35983 dest: /10.20.35.30:50010
    
    2014-08-08 15:15:49,992 IDFSClient_-19587029, offset: 0, srvID: DS-731595843-10.20.35.30-50010-1344428145675, blockid: 
    blk_-8867275036873170670_683436, duration: 5972783
    
    2014-08-08 15:15:50,992 IDFSClient_-19587029, offset: 0, srvID: DS-731595843-10.20.35.30-50010-1344428145675, blockid: 
    blk_-8867275036873170670_683436, duration: 5972783

    Host Key Fingerprint

    (Optional) Provide the fingerprint of the RSA host key to connect with the server from which you want to retrieve the data.

    This is the host key that is configured to be used by the SSH server with which you want to connect.

    Example: bc:e1:44:56:bd:b1:4d:b9:6f:4c:a4:ca:07:69:5c:66

    Tip: To get the RSA host key fingerprint, you might want to contact your SSH server administrator.

    For more information, see About the SSH host key fingerprint (BMC contributor page).

    Inherit Host Level Tags From Target HostSelect this check box to inherit your tag selections associated with the target host that you selected earlier. This option is not applicable if you did not select a target host.
    Select Tag nameYou can manually add tags by selecting one of the tags in the list, specifying a corresponding value, and clicking Add . The list of added tags is displayed in the Tags pane on the Search tab.
    Click Remove Tag to remove a tag.

    Inherit Host Level Access Groups From Target HostSelect this check box to inherit your group access configurations associated with the target host that you selected earlier. This option is not applicable if you did not select a target host.
    Select All Groups

    Select this option if you want to select all user groups. You can also manually select multiple user groups.

    If you do not select any user groups and data access control is not enabled, then by default all users can access data retrieved by this data collector. You can restrict access permissions by selecting the relevant user groups that must be given access permissions. To enable data access control, navigate to Administration > System Settings.

    If you do not select any user group and data access control is enabled, then only the creator of the data collector has access to data retrieved by this data collector.

    For more information, see Managing user groups.

  5. Click Create to save your changes.

What to do if an error occurs

To understand the troubleshooting scenarios related to this data collector, see Common troubleshooting issues with the Category filter set to Data collection.