Skip to main content

HTTP Server Profile Objects

HTTP server profile objects define HTTP/HTTPS servers for log forwarding and integration in Strata Cloud Manager. The scm CLI provides commands to create, update, delete, show, backup, and load HTTP server profile objects.

Overview​

The http-server-profile commands allow you to:

  • Configure multiple HTTP/HTTPS servers for log forwarding
  • Set authentication credentials and TLS settings
  • Define HTTP methods and port configurations
  • Delete HTTP server profiles that are no longer needed
  • Bulk import HTTP server profiles from YAML files
  • Export HTTP server profiles for backup or migration

Server Configuration Fields​

Each server in the servers JSON array supports these fields:

FieldDescriptionRequired
nameUnique name for the serverYes
addressIP address or hostnameYes
protocolHTTP or HTTPSYes
portPort number (1-65535)Yes
http_methodHTTP method (GET, POST, PUT, DELETE)Yes
usernameUsername for basic authenticationNo
passwordPassword for basic authenticationNo
certificate_profileCertificate profile for mutual TLSNo
tls_versionTLS version for HTTPS (1.0, 1.1, 1.2, 1.3)No

Set HTTP Server Profile​

Create or update an HTTP server profile object.

Syntax​

scm set object http-server-profile NAME [OPTIONS]

Arguments​

ArgumentDescriptionRequired
NAMEName of the HTTP server profileYes

Options​

OptionDescriptionRequired
--folder TEXTFolder locationYes*
--snippet TEXTSnippet locationYes*
--device TEXTDevice locationYes*
--servers TEXTJSON array of server configurationsYes
--description TEXTDescription of the profileNo
--tag-registrationEnable tag registration on matchNo

* Exactly one of --folder, --snippet, or --device is required.

Examples​

Create Basic HTTP Server Profile​

$ scm set object http-server-profile syslog-http \
--folder Texas \
--servers '[{"name": "primary", "address": "10.0.1.50", "protocol": "HTTP", "port": 8080, "http_method": "POST"}]' \
--description "HTTP syslog forwarder"
---> 100%
Created HTTP server profile: syslog-http in folder Texas

Create HTTPS Profile with Authentication​

$ scm set object http-server-profile splunk-hec \
--folder Texas \
--servers '[{"name": "splunk", "address": "splunk.company.com", "protocol": "HTTPS", "port": 8088, "http_method": "POST", "username": "hec_user", "password": "hec_token", "tls_version": "1.2"}]' \
--description "Splunk HTTP Event Collector"
---> 100%
Created HTTP server profile: splunk-hec in folder Texas

Create Multi-Server Profile for Redundancy​

$ scm set object http-server-profile siem-collectors \
--folder Texas \
--servers '[{"name": "primary", "address": "siem1.company.com", "protocol": "HTTPS", "port": 443, "http_method": "POST"}, {"name": "secondary", "address": "siem2.company.com", "protocol": "HTTPS", "port": 443, "http_method": "POST"}]' \
--tag-registration \
--description "SIEM collector endpoints"
---> 100%
Created HTTP server profile: siem-collectors in folder Texas

Delete HTTP Server Profile​

Delete an HTTP server profile object from SCM.

Syntax​

scm delete object http-server-profile NAME [OPTIONS]

Arguments​

ArgumentDescriptionRequired
NAMEName of the HTTP server profile to deleteYes

Options​

OptionDescriptionRequired
--folder TEXTFolder locationYes*
--snippet TEXTSnippet locationYes*
--device TEXTDevice locationYes*
--forceSkip confirmation promptNo

* Exactly one of --folder, --snippet, or --device is required.

Example​

$ scm delete object http-server-profile syslog-http --folder Texas --force
---> 100%
Deleted HTTP server profile: syslog-http from folder Texas

Load HTTP Server Profiles​

Load multiple HTTP server profile objects from a YAML file.

Syntax​

scm load object http-server-profile [OPTIONS]

Options​

OptionDescriptionRequired
--file TEXTPath to YAML file containing HTTP server profile definitionsYes
--folder TEXTOverride folder location for all objectsNo
--snippet TEXTOverride snippet location for all objectsNo
--device TEXTOverride device location for all objectsNo
--dry-runPreview changes without applying themNo

YAML File Format​

---
http_server_profiles:
- name: splunk-hec
folder: Texas
description: "Splunk HTTP Event Collector"
servers:
- name: splunk-primary
address: splunk1.company.com
protocol: HTTPS
port: 8088
http_method: POST
username: hec_user
password: secure_token
tls_version: "1.2"

- name: elastic-logs
folder: Texas
description: "Elasticsearch log ingestion"
servers:
- name: elastic-node1
address: 10.0.2.10
protocol: HTTPS
port: 9200
http_method: POST
username: elastic
password: changeme
tls_version: "1.3"
- name: elastic-node2
address: 10.0.2.11
protocol: HTTPS
port: 9200
http_method: POST
username: elastic
password: changeme
tls_version: "1.3"

- name: syslog-http
folder: Texas
description: "HTTP syslog receiver"
servers:
- name: syslog-receiver
address: syslog.internal.com
protocol: HTTP
port: 514
http_method: POST

Examples​

Load with Original Locations​

$ scm load object http-server-profile --file http-profiles.yml
---> 100%
✓ Loaded HTTP server profile: splunk-hec
✓ Loaded HTTP server profile: elastic-logs
✓ Loaded HTTP server profile: syslog-http

Successfully loaded 3 out of 3 HTTP server profiles from 'http-profiles.yml'

Load with Folder Override​

$ scm load object http-server-profile --file http-profiles.yml --folder Austin
---> 100%
✓ Loaded HTTP server profile: splunk-hec
✓ Loaded HTTP server profile: elastic-logs
✓ Loaded HTTP server profile: syslog-http

Successfully loaded 3 out of 3 HTTP server profiles from 'http-profiles.yml'
note

When using container override options (--folder, --snippet, --device), all HTTP server profiles will be loaded into the specified container, ignoring the container specified in the YAML file.

Show HTTP Server Profile​

Display HTTP server profile objects.

Syntax​

scm show object http-server-profile [NAME] [OPTIONS]

Arguments​

ArgumentDescriptionRequired
NAMEName of the HTTP server profile to show; omit to list allNo

Options​

OptionDescriptionRequired
--folder TEXTFolder locationYes*
--snippet TEXTSnippet locationYes*
--device TEXTDevice locationYes*
--max-results INTEGERMaximum number of results to displayNo
--output [table|json|yaml]Output format (default: table)No

* Exactly one of --folder, --snippet, or --device is required.

note

When no NAME argument is provided, all items are listed by default.

Examples​

Show Specific HTTP Server Profile​

$ scm show object http-server-profile splunk-hec --folder Texas
---> 100%
HTTP Server Profile: splunk-hec
Location: Folder 'Texas'
Servers:
- Name: splunk
Address: splunk.company.com
Protocol: HTTPS
Port: 8088
HTTP Method: POST
TLS Version: 1.2
Description: Splunk HTTP Event Collector
Tag Registration: False
ID: 123e4567-e89b-12d3-a456-426614174000

List All HTTP Server Profiles (Default Behavior)​

$ scm show object http-server-profile --folder Texas
---> 100%
HTTP Server Profiles in folder 'Texas':
------------------------------------------------------------
Name: syslog-http
Location: Folder 'Texas'
Server: primary (10.0.1.50:8080 HTTP)
Description: HTTP syslog forwarder
------------------------------------------------------------
Name: splunk-hec
Location: Folder 'Texas'
Server: splunk (splunk.company.com:8088 HTTPS)
Description: Splunk HTTP Event Collector
------------------------------------------------------------
Name: siem-collectors
Location: Folder 'Texas'
Servers: primary (siem1.company.com:443 HTTPS), secondary (siem2.company.com:443 HTTPS)
Tag Registration: Yes
Description: SIEM collector endpoints
------------------------------------------------------------

Backup HTTP Server Profiles​

Backup all HTTP server profile objects from a specified location to a YAML file.

Syntax​

scm backup object http-server-profile [OPTIONS]

Options​

OptionDescriptionRequired
--folder TEXTFolder to backup HTTP server profiles fromNo*
--snippet TEXTSnippet to backup HTTP server profiles fromNo*
--device TEXTDevice to backup HTTP server profiles fromNo*
--file TEXTOutput filename (defaults to auto-generated)No

* One of --folder, --snippet, or --device is required.

Examples​

Backup from Folder​

$ scm backup object http-server-profile --folder Texas
---> 100%
Successfully backed up 6 HTTP server profiles to http-server-profile_folder_texas_20240115_120530.yaml

Backup with Custom Filename​

$ scm backup object http-server-profile --folder Texas --file texas-http-profiles.yaml
---> 100%
Successfully backed up 6 HTTP server profiles to texas-http-profiles.yaml

Best Practices​

  1. Use HTTPS: Always use HTTPS for production environments.
  2. Authentication: Implement proper authentication for all server connections.
  3. Redundancy: Configure multiple servers for high availability.
  4. TLS Versions: Use TLS 1.2 or higher for security.
  5. Port Selection: Use standard ports when possible (443 for HTTPS, 8080 for HTTP).
  6. Use YAML for Bulk Operations: For complex deployments, use YAML files.
  7. Organize by Container: Keep profiles organized in appropriate folders, snippets, or devices.