The InfraSonar tool can be used to manage assets for a container. The tool has two main features. One is to read all assets from a container to YAML output. If needed, all collector and label information can be included. The other feature of this tool is to apply a YAML file to InfraSonar. These two features combined allow you to easily add new assets as well as managing existing assets for a container.
Using pip:
pip install infrasonar
Or, clone this project and use the setup
python setup.py install
Create a yaml file, for example: assets.yaml
(you may also use get-assets to export the current assets and make modifications)
container: 12345
labels:
windows: 3257
configs:
tcp:
checkCertificatePorts: [443, 995, 993, 465, 3389, 989, 990, 636, 5986]
assets:
- name: foo.local
kind: Windows
labels: ["windows"]
collectors:
- key: lastseen
- key: ping
- key: tcp
config: tcp
- key: wmi
Next, use the following command to apply the assets: (-a will only add labels and collectors, -d performs a dry-run without actually applying the changes)
infrasonar apply-assets assets.yaml -a -d
The script will create a new asset if an asset with the given name cannot be found, otherwise it will apply the changes to the existing asset. Existing labels and/or collectors will not be removed, but a kind will be overwritten if one is given. The properties kind, description, mode, labels and collectors are all optional.
A token might be included in the yaml file:
token: xxxxxx
Or, it will be asked in a prompt when starting the script.
👉 Note that a token with Agent flags must be used for the apply-assets action to work. A container token is required when no container Id is given or when one or more assets without an asset Id are used.
Get a single asset. (in the example below, 123 is a asset Id)
infrasonar get-asset 123 -o yaml
Get container assets. (in the example below, 123 is a container Id)
infrasonar get-assets 123 -o yaml
Generate YAML (or JSON) with VMware Guests which are found on ESX or vCenter but wherefore no asset with the vmwareguest
collector is found. This YAML can then be used to install the VMware Guest collector with a single command. The default is to use the VCenter. For ESX the -c esx
argument.
Example: (in the example below, 123 is a container Id)
infrasonar vmware-guests 123 > missing.yaml
Review the missing.yaml file (open in editor or apply a dry-run)
infrasonar apply-assets missing.yaml -a -d
👉 Do not forget to use -a to prevent removing other collectors and use -d to perform a dry-run for verifying the changes.
Generate YAML (or JSON) with Hyper-V Guests which are found on a Hyper-V asset(s) but wherefore no asset with the hypervguest
collector is found. This YAML can then be used to install the Hyper-V Guest collector with a single command.
Example: (in the example below, 123 is a container Id)
infrasonar hyperv-guests 123 > missing.yaml
Review the missing.yaml file (open in editor or apply a dry-run)
infrasonar apply-assets missing.yaml -a -d
👉 Do not forget to use -a to prevent removing other collectors and use -d to perform a dry-run for verifying the changes.
Generate YAML (or JSON) with UniFi devices which are found on a UniFi Controller asset(s) but wherefore no asset with the unifidevice
or unifidevicesvc
collector is found. This YAML can then be used to install the UniFi Device collector with a single command. The default is to use the unificontroller
. For using the service variant, use the -c unificontrollersvc
argument.
Example: (in the example below, 123 is a container Id)
infrasonar unifi-devices 123 > missing.yaml
Review the missing.yaml file (open in editor or apply a dry-run)
infrasonar apply-assets missing.yaml -a -d
👉 Do not forget to use -a to prevent removing other collectors and use -d to perform a dry-run for verifying the changes.
infrasonar -h
infrasonar get-asset -h
infrasonar get-assets -h
infrasonar apply-assets -h
infrasonar vmware-guests -h