Skip to main content
Version: 10.3

GitLab

Introduction

Open iT supports GitLab usage reporting starting Open iT version 10.3.

Open iT supports GitLab usage by polling the license servers at regular intervals to get the current status of its license use and availability.

For this collection, the data source is through an API. The data collector/preprocessor initiates the license status utility every hour using a 5-minute sample interval, triggering the data collection process. The license status utility requests the current license usage data from the license manager portal. After the license manager portal provides the requested data, the license status utility passes this information to the data collector/preprocessor. The data collector/preprocessor processes the data, preparing it for transmission. Finally, the preprocessed data is sent to the Core Server at five minutes past every hour (HH:05), according to the client's timezone, for further storage, completing the license usage data collection and processing.

License Manager Utility Polling Workflow through API

License Manager Utility Polling Workflow through API

This will produce the following aggregated data types used for historical reporting:

The following sections will guide you in setting up the necessary configuration to collect and send the required data to the server.

warning

Apply the configurations shown in the Open iT Core Client.

Requirements

  • An Open iT Core Client connected to an Open iT Core Server or a coexistent Open iT Core setup
  • Activated LicenseAnalyzer collection and license poller
  • Base URL of the GitLab instance, which is https://gitlab.com by default
  • GitLab account with:
    • Owner access to the GitLab group when using https://gitlab.com
    • Administrator access to the GitLab server when using a self-managed GitLab instance
  • GitLab personal access token with read_api scope
  • GitLab group ID or full path (required only when using https://gitlab.com)

Setting up GitLab Account(s)

These are the required steps to set up data collection from GitLab.

  1. Open a command prompt with Administrator level privileges.

  2. Go to the bin directory, which is by default in C:\Program Files\OpeniT\Core\bin, run the command:

    Command Syntax
    cd <bin_dir>
    Example
    cd C:\Program Files\OpeniT\Core\bin
  3. Set the GitLab credentials, run the command:

    Command Syntax
    genlicutil2 gitlab --config
    note

    If you need to collect data from a self-managed GitLab instance, use the --url parameter when running this command. This allows you to specify the base URL of the GitLab server you want to use for data collection.

    Command Syntax
    genlicutil2 gitlab --url <base_url> --config

    where <base_url> is the base URL of the self-managed GitLab instance.

    Example
    genlicutil2 gitlab --url http://localhost --config

    If --url is not specified, the utility uses https://gitlab.com by default.

    note

    If you need to collect data from more than one GitLab account, use the --account parameter when running this command. This allows you to create separate credentials for each account.

    Command Syntax
    genlicutil2 gitlab --config --account <account_name>

    where <account_name> is the name of the account you want to use for data collection.

    Example 1
    genlicutil2 gitlab --config --account acct1
    Example 2
    genlicutil2 gitlab --url http://localhost --config --account self-managed
  4. Type in the GitLab group ID or full path when prompted.

    Example 1: Entering Group ID
    Enter GitLab's Group: 1234567
    Example 2: Entering Group Full Path
    Enter GitLab's Group: group-name

    Then press Enter.

    Tip

    The full path corresponds to the portion of the GitLab URL after https://gitlab.com/.

    Subgroups are also supported when using the full path format.

    Examples:

    • https://gitlab.com/group-namegroup-name
    • https://gitlab.com/group-name/subgroup-namegroup-name/subgroup-name
    note

    The Group is only required when using https://gitlab.com. This prompt will not appear if you specified a self-managed GitLab instance.

  5. Type in the GitLab personal access token when prompted.

    Enter token: **************************************************

    Then press Enter.

note

Open iT saves the encrypted GitLab credential file, GitLab, in the OpeniT directory, which is by default in C:\ProgramData\OpeniT. When you use the --account parameter, Open iT appends the account name to the credential file (for example, GitLab_acct1). This allows each GitLab account to maintain its own credentials within the same directory.

Optional Parameters
ParameterDescription
--url <base_url>Use this to specify the GitLab base URL for self-managed instances. This is set to https://gitlab.com by default.
--group <id_or_path>Use this to specify the GitLab group ID or full path. This is required when using https://gitlab.com.
--account <account_name>Use this to specify the account you want to use for data collection.
--debugUse this to turn on debug logging.
-h, --helpUse this to display help text.
Optional Parameters

Configuring Data Collection

These are the required steps to activate the collection of usage data.

  1. Go to the Components directory, which is by default in C:\Program Files\OpeniT\Core\Configuration\Components, and back up the licpoll.xml configuration file.

  2. Open a command prompt with Administrator level privileges.

  3. Go to the bin directory, which is by default in C:\Program Files\OpeniT\Core\bin, run the command:

    Command Syntax
    cd <bin_dir>
    Example
    cd C:\Program Files\OpeniT\Core\bin
  4. Once in the directory, copy the object node genericlicense-sample and rename it to your desired name. In this example, we will use genericlicense-gitlab. Run the command:

    Command Syntax
    openit_confinit -c "licpoll.license-types.genericlicense-sample=>licpoll.license-types.genericlicense-gitlab"
    warning

    Element names cannot contain parentheses ( or ) because they are not valid for XML element names.

  5. Activate the collection of GitLab data, run the command:

    Command Syntax
    openit_confinit -c "licpoll.license-types.genericlicense-gitlab.active=true"
  6. Set the status command, run the command:

    Command Syntax
    openit_confinit -c "licpoll.license-types.genericlicense-gitlab.status-command=<bin_dir>\genlicutil2.exe"

    where <bin_dir> is the path to the bin directory, which is by default in C:\Program Files\OpeniT\Core\bin.

    Example
    openit_confinit -c "licpoll.license-types.genericlicense-gitlab.status-command=C:\Program Files\OpeniT\Core\bin\genlicutil2.exe"

    Alternatively, you can use the ${OpeniT.directories.bin} variable to reference the bin directory dynamically:

    Alternative Command
    openit_confinit -c "licpoll.license-types.genericlicense-gitlab.status-command=${OpeniT.directories.bin}/genlicutil2.exe"
  7. Set the arguments to the status command, run the command:

    Command Syntax
    openit_confinit -c "licpoll.license-types.genericlicense-gitlab.status-command.arguments=gitlab"
    note

    If you have multiple GitLab accounts, repeat the configuration steps to create additional object nodes for each account. Use a unique name for every node (for example, genericlicense-gitlab1, genericlicense-gitlab2, and so on) and specify the corresponding account in the status-command arguments.

    Example for acct1
    openit_confinit -c "licpoll.license-types.genericlicense-gitlab1.status-command.arguments=gitlab --account acct1"

    This ensures that Open iT collects data separately for each configured GitLab account.

  8. Run the following command to update the configuration files:

    Example
    openit_confbuilder --client

    Make sure no errors are encountered.

Advanced Configuration

Refer to the GitLab Data Collection Configuration table to learn more about GitLab configuration in licpoll.xml.

Object NameAccepted ValueDescription
activeBoolean (true or false)Setting this to true activates GitLab usage data collection.
typeString (i.e., GenericLicense)The license manager type.
intervalTimespan (e.g., P30S, P5M, P1H)The span of time between each polling round (it is recommended to set a value no less than P1M).
offsetTimespan (e.g., P30S, P5M, P1H)The span of time the aligned poll time decided by interval is shifted.
product-nameString (e.g., %host%;gitlab)This object is defined if a vendor license name other than the default %host%;gitlab will be used.
license-serverString (e.g., WIN-HOST01)The license server name.
status-commandFileName (i.e., ${OpeniT.directories.bin}/genlicutil2.exe)The binary used to obtain status from the license manager.
status-command.argumentsString (e.g., gitlab)The arguments used for the status command.
GitLab Data Collection Configuration

Verifying Data Collection

After configuration, you can verify that the data is collected by following these steps:

  1. Open a command prompt with Administrator level privileges.

  2. Go to the bin directory, which is by default in C:\Program Files\OpeniT\Core\bin, run the command:

    Command Syntax
    cd <bin_dir>
    Example
    cd C:\Program Files\OpeniT\Core\bin
  3. Run the command:

    Command Syntax
    openit_licpoll -# 1
  4. Verify that the temp directory, which is by default in C:\ProgramData\OpeniT\Data\temp, contains a LicPoll directory containing .data and status-*.log files.

Sample Report

Real-time Report

This sample report shows a drilled-down feature view of the online licenses in use and the licenses available.

License Monitor Portal

License Monitor Portal

Next Steps?