What is this?

This knowledgebase contains questions and answers about PRTG Network Monitor and network monitoring in general. You are invited to get involved by asking and answering questions!

Learn more

PRTG Network Monitor

Intuitive to Use. Easy to manage.
300.000 administrators have chosen PRTG to monitor their network. 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

Your Vote:

Up

Down


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 by  kyle_moyer (3) 1

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



Replies

Nobody has replied yet

Why not be the first?

Please log in or register to enter your reply.


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.