What is this?

This knowledgebase contains questions and answers about PRTG Network Monitor and network monitoring in general.

Learn more

PRTG Network Monitor

Intuitive to Use. Easy to manage.
More than 500,000 users rely on Paessler PRTG every day. Find out how you can reduce cost, increase QoS and ease planning, as well.

Free Download

Top Tags


View all Tags

[OPEN] Export sensor / device definition as JSON and/or XML OPT: Support Import via definition

Votes:

3


Want this feature implemented, too? Please upvote by clicking Thumbs up!

(Posts as a reply won't be published in this feature request thread. Read Me!)


User story

As a PRTG user, I want to be able to export Sensor and Device definitions via the User Interface and / or API as XML or JSON or optionally either format. OPTIONAL AS PART OF FEATURE REQUEST: Support Import via definition.

Details of user story

Below I've included an example of what a Ping sensor definition might look like (sensor definition would change based on it's type) and a Device definition. Both examples have been built in XML.

NOTE: Where I've included "..." that means that I haven't fully built out that node and additional elements would go there. For time sake I didn't bother building out everything. Just wanted to provide samples.

SENSOR DEFINITION

<sensor>
	<ContainedDevice>Cluster Probe|Canada|Banking|MyBankApp|Production|MyBankServer</ContainedDevice>
	<BasicSensorSettings>
		<type>Ping</type>
		<name>Ping</name>
		<parentTags>MyTag1;MyTag2;MyTag3</parentTags>
		<tags>MyTag1;MyTag2;MyTag3</tags>
		<priority>3</priority>
	</BasicSensorSettings>
	<PingSettings>
		<timoutSec>5</timoutSec>
		<packetSizeBytes>32</packetSizeBytes>
		<pingMethod>
			<sendOneSinglePing>False</sendOneSinglePing>
			<sendMultiplePingRequests>True</sendMultiplePingRequests>
		</pingMethod>
		<pingCount>5</pingCount>
		<packetDelayMS>5</packetDelayMS>
		<acknowledgeAutomatically>
			<showDownStatusOnErrorDefault>True</showDownStatusOnErrorDefault>
			<showDownAcknowledgedStatusOnError>False</showDownAcknowledgedStatusOnError>
		</acknowledgeAutomatically>
	</PingSettings>
	<SensorDisplay>
		<primaryChannel>Ping Time (msec)</<primaryChannel>
		<graphType>
			<showChannelsIndependantly>True</showChannelsIndependantly>
			<stackChannelsOnTopOfEachOther>False</stackChannelsOnTopOfEachOther>
		</graphType>
	</SensorDisplay>
	<ScanningInterval>
		<inherited>True</inherited>
		<inheritedFrom>Cluster Probe|Canada|Banking|MyBankApp|Production</inheritedFrom>
		<scanningInterval>120 seconds</scanningInterval>
		<ifASensorQueryFails>Set sensor to warning for 1 interval, then set to down (recommended)</ifASensorQueryFails>
	</ScanningInterval>
	<SchedulesDepenedenciesMaintenanceWindows>
		<inherited>True</inherited>
		<inheritedFrom>Cluster Probe|Canada|Banking|MyBankApp|Production</inheritedFrom>
		<schedule>None</schedule>
		<maintenanceWindow>
			<doNotSetupAOneTimeMaintenanceWindow>False</doNotSetupAOneTimeMaintenanceWindow>
			<setupAOneTimeMaintenanceWindow>
				<status>True</status>
				<maintenanceBegins>2021-10-10 10:00</maintenanceBegins>
				<maintenanceEnds>2021-10-11 10:00</maintenanceEnds>
				<DependencyType>
					<useParent>False</useParent>
					<selectASensor>
						<status>True</status>
						<dependancy>
							<device>MyDevice</device>
							<sensor>MySensor</sensor>
						</dependancy>
						<dependencyDelay>0</dependencyDelay>
					</selectASensor>
					<masterSensorForParent>False</masterSensorForParent>
				</DependencyType>
			</setupAOneTimeMaintenanceWindow>
		</maintenanceWindow>
	</SchedulesDepenedenciesMaintenanceWindows>
	<AccessRights>
		<inherited>True</inherited>
		<inheritedFrom>Cluster Probe|Canada|Banking|MyBankApp|Production</inheritedFrom>
		<userGroupAccess>
			<Groups>
				<group>
					<userGroup>MyUserGroup1</userGroup>
					<rights>Inherited (Read Access)</rights>
				</group>
				<group>
					<userGroup>MyUserGroup2</userGroup>
					<rights>Inherited (No Access)</rights>
				</group>
			</Groups>
		</userGroupAccess>
	</AccessRights>
</sensor>

DEVICE DEFINITION

<device>
	<ContainedDevice>Cluster Probe|Canada|Banking|MyBankApp|Production</ContainedDevice>
	<BasicDeviceSettings>
		<deviceName>MyBankServer</deviceName>
		<status>
			<started>True</started>
			<paused>False</paused>
		</status>
		<ipVersion>
			<IPv4>
				<status>True</staus>
				<AddressDNSName>127.0.0.1</AddressDNSName>
			</IPv4>
			<IPv6>
				<status>False</staus>
				<AddressDNSName>127.0.0.1</AddressDNSName>
			</IPv6>
		</ipVersion>
		<parentTags>MyTag1;MyTag2;MyTag3</parentTags>
		<tags>MyTag1;MyTag2;MyTag3</tags>
		<priority>3</priority>
	</BasicDeviceSettings>
	<AdditionalDeviceInformation>
		<DeviceIcon>
			<Icon1>True</Icon1>
			<Icon2>False</Icon2>
			...
		</DeviceIcon>
		<serviceURL>http://127.0.0.1</serviceURL>
	</AdditionalDeviceInformation>
	<DeviceIdentificationAndAutoDiscovery>
		<autoDiscoveryLevel>
			<noAutoDicovery>
				<status>False</status>
			</noAutoDicovery>
			<standardAutoDisovery>
				<status>True</status>
				<schedule>Once</schedule>
			</standardAutoDisovery>
			<detailedAutoDisovery>
				<status>False</status>
				<schedule>Once</schedule>
			</detailedAutoDisovery>
			<autoDisocveryWithSpecificDeviceTemplates>
				<status>False</status>
				<schedule>Once</schedule>
				<deviceTemplates>
					<deviceTemplate>
						<name>ASDL</name>
						<seletced>True</selected>
					</deviceTemplate>
					<deviceTemplate>
						<name>AmazonCloudWatch</name>
						<seletced>False</selected>
					</deviceTemplate>
					<deviceTemplate>
						<name>BuffaloTeraStationNAS</name>
						<seletced>False</selected>
					</deviceTemplate>
					...
				</deviceTemplates>
			</autoDisocveryWithSpecificDeviceTemplates>
		</autoDiscoveryLevel>
	</DeviceIdentificationAndAutoDiscovery>
	<Location>
		<inherited>True</inherited>
		<inheritedFrom>Cluster Probe|Canada|Banking|MyBankApp|Production</inheritedFrom>
		<locationForGeoMaps><locationForGeoMaps>
	</Location>
	<credentialsForWindowsSystems>
		<inherited>True</inherited>
		<inheritedFrom>Cluster Probe|Canada|Banking|MyBankApp|Production</inheritedFrom>
		<domainOrComputerName>MyDomain</domainOrComputerName>
		<userName>MyUser</userName>
		<Passowrd>********</Passowrd>
	</credentialsForWindowsSystems>
	<credentialsForLinuxSolarisMacOSSystems>
		<inherited>True</inherited>
		<inheritedFrom>Cluster Probe|Canada|Banking|MyBankApp|Production</inheritedFrom>
		...
	</credentialsForLinuxSolarisMacOSSystems>
	<credentialsForVMWareXenServer>
		<inherited>True</inherited>
		<inheritedFrom>Cluster Probe|Canada|Banking|MyBankApp|Production</inheritedFrom>
		...
	</credentialsForVMWareXenServer>
	<credentialsForSNMPDevices>
		<inherited>True</inherited>
		<inheritedFrom>Cluster Probe|Canada|Banking|MyBankApp|Production</inheritedFrom>
		...
	</credentialsForSNMPDevices>
	<credentialsForDBMS>
		<inherited>True</inherited>
		<inheritedFrom>Cluster Probe|Canada|Banking|MyBankApp|Production</inheritedFrom>
		...
	</credentialsForDBMS>
	<credentialsForAWS>
		<inherited>True</inherited>
		<inheritedFrom>Cluster Probe|Canada|Banking|MyBankApp|Production</inheritedFrom>
		...
	</credentialsForAWS>
	<credentialsForDellEMC>
		<inherited>True</inherited>
		<inheritedFrom>Cluster Probe|Canada|Banking|MyBankApp|Production</inheritedFrom>
		...
	</credentialsForDellEMC>
	<credentialsForHPE3PAR>
		<inherited>True</inherited>
		<inheritedFrom>Cluster Probe|Canada|Banking|MyBankApp|Production</inheritedFrom>
		...
	</credentialsForMicrosoft365>
	<credentialsForHPE3PAR>
		<inherited>True</inherited>
		<inheritedFrom>Cluster Probe|Canada|Banking|MyBankApp|Production</inheritedFrom>
		...
	</credentialsForMicrosoft365>
	<credentialsForMicrosoftAzure>
		<inherited>True</inherited>
		<inheritedFrom>Cluster Probe|Canada|Banking|MyBankApp|Production</inheritedFrom>
		...
	</credentialsForMicrosoftAzure>
	<credentialsForMQTT>
		<inherited>True</inherited>
		<inheritedFrom>Cluster Probe|Canada|Banking|MyBankApp|Production</inheritedFrom>
		...
	</credentialsForMQTT>
	<credentialsForOPCUA>
		<inherited>True</inherited>
		<inheritedFrom>Cluster Probe|Canada|Banking|MyBankApp|Production</inheritedFrom>
		...
	</credentialsForOPCUA>
	<credentialsForSofficoOrchestra>
		<inherited>True</inherited>
		<inheritedFrom>Cluster Probe|Canada|Banking|MyBankApp|Production</inheritedFrom>
		...
	</credentialsForSofficoOrchestra>
	<credentialsForRESTAPI>
		<inherited>True</inherited>
		<inheritedFrom>Cluster Probe|Canada|Banking|MyBankApp|Production</inheritedFrom>
		...
	</credentialsForRESTAPI>
	<credentialsForVeeam>
		<inherited>True</inherited>
		<inheritedFrom>Cluster Probe|Canada|Banking|MyBankApp|Production</inheritedFrom>
		...
	</credentialsForVeeam>
	<credentialsForVeeam>
		<inherited>True</inherited>
		<inheritedFrom>Cluster Probe|Canada|Banking|MyBankApp|Production</inheritedFrom>
		...
	</credentialsForVeeam>
	<WindowsCompatabilityOptions>
		<inherited>True</inherited>
		<inheritedFrom>Cluster Probe|Canada|Banking|MyBankApp|Production</inheritedFrom>
		<preferredDataSource>
			<performanceCountersAndWMIAsFallback>False</performanceCountersAndWMIAsFallback>
			<performanceCountersOnly>False</performanceCountersOnly>
			<WMIOnly>True</WMIOnly>
		</preferredDataSource>
		<timeoutMethod>
			<use15XScanningInterval>False</use15XScanningInterval>
			<setManually>
				<status>True</status>
				<timeoutSec>60</timeoutSec>
			</setManually>
		</timeoutMethod>
	</WindowsCompatabilityOptions>
	<SNMPCompatibilityOptions>
		...
	</SNMPCompatibilityOptions>
	<ProxySettingsForHTTPSensors>
		<AddressDNSName>127.0.0.1</AddressDNSName>
		<port>8080</port>
		<userName>MyUser</userName>
		<password>MyPassword</password>
	</ProxySettingsForHTTPSensors>
	<ScanningInterval>
		<inherited>True</inherited>
		<inheritedFrom>Cluster Probe|Canada|Banking|MyBankApp|Production</inheritedFrom>
		<scanningInterval>120 seconds</scanningInterval>
		<ifASensorQueryFails>Set sensor to warning for 1 interval, then set to down (recommended)</ifASensorQueryFails>
	</ScanningInterval>
	<SchedulesDepenedenciesMaintenanceWindows>
		<inherited>True</inherited>
		<inheritedFrom>Cluster Probe|Canada|Banking|MyBankApp|Production</inheritedFrom>
		<schedule>None</schedule>
		<maintenanceWindow>
			<doNotSetupAOneTimeMaintenanceWindow>False</doNotSetupAOneTimeMaintenanceWindow>
			<setupAOneTimeMaintenanceWindow>
				<status>True</status>
				<maintenanceBegins>2021-10-10 10:00</maintenanceBegins>
				<maintenanceEnds>2021-10-11 10:00</maintenanceEnds>
				<DependencyType>
					<useParent>False</useParent>
					<selectASensor>
						<status>True</status>
						<dependancy>
							<device>MyDevice</device>
							<sensor>MySensor</sensor>
						</dependancy>
						<dependencyDelay>0</dependencyDelay>
					</selectASensor>
					<masterSensorForParent>False</masterSensorForParent>
				</DependencyType>
			</setupAOneTimeMaintenanceWindow>
		</maintenanceWindow>
	</SchedulesDepenedenciesMaintenanceWindows>
	<AccessRights>
		<inherited>True</inherited>
		<inheritedFrom>Cluster Probe|Canada|Banking|MyBankApp|Production</inheritedFrom>
		<userGroupAccess>
			<Groups>
				<group>
					<userGroup>MyUserGroup1</userGroup>
					<rights>Inherited (Read Access)</rights>
				</group>
				<group>
					<userGroup>MyUserGroup2</userGroup>
					<rights>Inherited (No Access)</rights>
				</group>
			</Groups>
		</userGroupAccess>
	</AccessRights>
	<ChannelUnitConfigurration>
		...
	</ChannelUnitConfigurration>
	<AdvancedNetworkAnalysis>
		<unusualDetection>
			<status>Enable</status>
		</unusualDetection>
		<similarSensorDetection>
			<status>Enable</status>
		</similarSensorDetection>
		<systemInformationDetection>
			<status>Enable</status>
		</systemInformationDetection>		
	</AdvancedNetworkAnalysis>
</device>

Acceptance criteria

Criterion #1 Ability to export sensor definition in an XML or JSON format. This ability can be provisioned via UI or API. NOTE: Not required to implement support for both JSON and XML formats, one or the other will suffice.

Criterion #2 Ability to export device definition in an XML or JSON format. This ability can be provisioned via UI or API. NOTE: Not required to implement support for both JSON and XML formats, one or the other will suffice.

OPTIONAL Criterion Support Sensor / Device Import via definition.

Status

Open

add-feature export prtg-kbtracker

Created on Jul 30, 2021 1:51:11 PM

Last change on Jul 30, 2021 1:56:22 PM by  Timo Dambach [Paessler Support]



Replies

Nobody has replied yet


Disclaimer: The information in the Paessler Knowledge Base comes without warranty of any kind. Use at your own risk. Before applying any instructions please exercise proper system administrator housekeeping. You must make sure that a proper backup of all your data is available.