StackState Self-hosted v5.1.x
To set up the StackState Static Topology integration, you need to have:
Install the Static Topology StackPack from the StackState UI StackPacks > Integrations screen. You will need to provide the following parameters:
- Path to component CSV file - the CSV file to read component data from.
- Path to relation CSV file - the CSV file to read relation data from.
The CSV files should follow the Static Topology CSV file specification and be available in a location where StackState Agent is able to read them, for example
/etc/stackstate-agent/conf.d/. StackState Agent V2 runs as system user/group
To enable the Static Topology check and begin collecting topology data from the configured CSV files, add the following configuration to StackState Agent V2:
- 1.Copy the example Agent configuration file
mv /etc/stackstate-agent/conf.d/static_topology.d/conf.yaml.example /etc/stackstate-agent/conf.d/static_topology.d/conf.yaml.
- 2.Edit the copied Agent configuration file
/etc/stackstate-agent/conf.d/static_topology.d/conf.yamlto add details of the CSV files:
init_config:instances:- type: csvcomponents_file: /path/to/components.csvrelations_file: /path/to/relations.csvdelimiter: ','#tags:# - optional_tag1# - optional_tag2
- type - Set to
csvfor parsing CSV files.
- delimiter - The delimiter used in the CSV files.
- 3.You can also add optional configuration:
- tags - Tags to add to the imported topology elements.
- 4.Verify that the files could be read successfully using the command:
agent check static_topology
Execute the info command and verify that the integration check has passed. The output of the command should contain a section similar to the following:
* instance #0 [OK]
Static topology is read from two CSV files:
- 1.A CSV file containing components
- 2.A CSV file containing relations
Both CSV files are read to form a topology. The CSV file for components and relations have different requirements, these are described on this page. Both files require a CSV header.
The component CSV file contains details of components. The file should contain a header with the following fields:
id- The component's unique identifier.
name- The component's name.
type- The component type. For example, VM, datastore or rack.
domain(Optional) - The StackState domain where the component should be visualized.
layer(Optional) - The StackState layer in where the component should be visualized.
environment(Optional) - The StackState environment in where the component should be visualized.
- All other fields will be added as metadata on the component
Example component CSV file
The relation CSV file contains details of relations between components. The file should contain a header with the following fields:
sourceid- The identifier of the component to create a relation from. This must match the component
idin the component CSV file.
targetid- The identifier of the component to create a relation to. This must identifier has to match the component
idin the component CSV file.
type- The type of a relation. For example, 'uses' or 'depends on'.
Example relation CSV file
StaticTopology StackPack v2.3.2 (2021-05-12)
- Bugfix: Use the domain, layer, environment and type coming from data in component template