### GET /api/Live Data - System Information Source: https://www.paessler.com/manuals/prtg/enter_a_license_key Retrieves general system information about the PRTG installation. ```APIDOC ## GET /api/livedata.json ### Description This endpoint retrieves general system information about the PRTG installation. ### Method GET ### Endpoint `/api/livedata.json` ### Parameters #### Query Parameters * **sysinfo** (string) - Required - Set to `1` to request system information. #### Request Body None ### Request Example ```json { "example": "GET /api/livedata.json?sysinfo=1" } ``` ### Response #### Success Response (200) - **version** (string) - The PRTG version. - **uptime** (string) - The system uptime. - **cpu_load** (string) - The current CPU load. - **memory_usage** (string) - The current memory usage. #### Response Example ```json { "example": "{\"version\":\"23.4.85\", \"uptime\":\"10 days 2:30:00\", \"cpu_load\":\"15%\", \"memory_usage\":\"45%\"}" } ``` ``` -------------------------------- ### Refresh System Information via PRTG API (URL Examples) Source: https://www.paessler.com/manuals/prtg/system_information_api Provides example URLs for refreshing specific system information categories using the PRTG API. Requires a device ID and the category kind. Only supports JSON output. ```URL /api/sysinfochecknow.json?id=deviceid&kind=processes ``` ```URL /api/sysinfochecknow.json?id=deviceid&kind=hardware ``` -------------------------------- ### Retrieve Generic System Information via PRTG API (URL Examples) Source: https://www.paessler.com/manuals/prtg/system_information_api Provides example URLs for retrieving generic data about system information categories since the last scan using the PRTG API. Requires a device ID and the category kind. Only supports JSON output. ```URL /api/sysinfo.json?id=deviceid&kind=loggedonusers ``` ```URL /api/sysinfo.json?id=deviceid&kind=services ``` -------------------------------- ### Retrieve System Information Data Tables via PRTG API (URL Examples) Source: https://www.paessler.com/manuals/prtg/system_information_api Provides example URLs for fetching all data from a system information category table using the PRTG API. Requires content type, category, columns, and device ID. Only supports JSON output. ```URL /api/table.json?id=deviceid&content=sysinfo&category=system&usecaption=true&headers=key,value&columns=_key,_value ``` ```URL /api/table.json?id=deviceid&content=sysinfo&category=software&usecaption=true&headers=key,value&columns=_displayname,_version ``` -------------------------------- ### PRTG API Request Examples (XML, JSON, CSV) Source: https://www.paessler.com/manuals/prtg/http_api Examples of PRTG API calls to retrieve sensor data in different output formats. These URLs demonstrate how to specify content, columns, and output type. ```http https://yourserver/api/table.xml?content=sensors&columns=sensor ``` ```http https://yourserver/api/table.json?content=sensors&columns=sensor ``` ```http https://yourserver/api/table.xml?content=sensors&columns=sensor&output=csvtable ``` -------------------------------- ### Mini Probe API Source: https://www.paessler.com/manuals/prtg/application_programming_interface_%28api%29_definition Details regarding the Mini Probe API for distributed monitoring setups. ```APIDOC ## Mini Probe API ### Description Information and documentation for the PRTG Mini Probe API, used for distributed monitoring scenarios. ### Usage: - Deploy and manage mini probes for remote monitoring. - Configure communication between mini probes and the main PRTG server. ``` -------------------------------- ### HTTP IoT Push Data Advanced Sensor GET Request Example Source: https://www.paessler.com/manuals/prtg/http_iot_push_data_advanced_sensor This example demonstrates a minimal GET request to the HTTP IoT Push Data Advanced sensor, returning a single static channel value. It shows how to format the content parameter with XML and URL-encode necessary characters. ```plaintext https://127.0.0.1:5051/XYZ123?content=MyChannel10this%20is%20a%20message ``` -------------------------------- ### PRTG API Overview Source: https://www.paessler.com/manuals/prtg/installing_the_software This section provides an overview of the PRTG API, including general information about the HTTP API and its capabilities. ```APIDOC ## PRTG API ### Description This section details the various components of the PRTG Network Monitor Application Programming Interface (API), enabling programmatic interaction with PRTG. ### API Types - **HTTP API**: The primary interface for interacting with PRTG data and functionality. - **Mini Probe API**: Specific API for interacting with PRTG Mini Probes. ### Key Features - **Live Data**: Access real-time sensor status and property information. - **Historical Data**: Retrieve historical performance data for sensors. - **Object Manipulation**: Perform actions such as creating, modifying, and deleting PRTG objects (devices, sensors, etc.). - **Customization**: Manage custom sensors and notification templates. ``` -------------------------------- ### PRTG API: Static Channel Value (HTTP GET) Source: https://www.paessler.com/manuals/prtg/http_push_data_advanced_sensor This example demonstrates a minimal HTTP GET request to a PRTG sensor. It sends a static integer value for a channel named 'MyChannel'. The content must be valid XML within the 'prtg' tags and URL-encoded. ```HTTP http://127.0.0.1:5050/XYZ123?content=MyChannel10this%20is%20a%20message ``` -------------------------------- ### PRTG API: Float Channel Value (HTTP GET) Source: https://www.paessler.com/manuals/prtg/http_push_data_advanced_sensor This example shows how to send a floating-point number as a channel value in a PRTG HTTP GET request. The `1` tag is crucial for PRTG to interpret the value as a float. Without it, float values might be treated as integers, resulting in zero values. ```HTTP http://127.0.0.1:5050/XYZ123?content=MyChannel10.451this%20is%20a%20message ``` -------------------------------- ### REST Query Syntax Source: https://www.paessler.com/manuals/prtg/rest_custom_sensor Illustrates the syntax for constructing a REST query for a target API, including optional port, path, and query parameters. It provides an example for querying a PRTG installation. ```text [:port]/path[?var1=val1&...] /api/table.json?id=1&passhash=&username=&content=sensorxref&noraw=1&filter_basetype=probe&columns=totalsens=textraw ``` -------------------------------- ### Live Data API Endpoints Source: https://www.paessler.com/manuals/prtg/installing_the_software Endpoints for retrieving live data, including single object properties, statuses, and system information. ```APIDOC ## Live Data Retrieval ### Description Endpoints for fetching live monitoring data, such as the current status and properties of individual sensors and devices. ### Endpoints #### 1. Single Object Property * **Method**: GET * **Endpoint**: `/api/get.pvx?content=getvalue&target=` * **Description**: Retrieves a specific property value for a given sensor. #### 2. Single Object Status * **Method**: GET * **Endpoint**: `/api/get.pvx?content=getstatus&target=` * **Description**: Retrieves the current status of a specific sensor. #### 3. Multiple Object Property or Status * **Method**: GET * **Endpoint**: `/api/get.pvx?content=getobject&target=` * **Description**: Retrieves properties and status for a specific object (device or group) and its children. #### 4. System Information * **Method**: GET * **Endpoint**: `/api/get.sysinfo.htm` * **Description**: Retrieves general system information about the PRTG Core Server. ``` -------------------------------- ### PRTG API Get Passhash Request Source: https://www.paessler.com/manuals/prtg/http_api An example API call to retrieve the passhash for a specific user account. This is useful for setting up authentication using username and passhash parameters. ```http https://yourserver/api/getpasshash.htm?username=myuser&password=mypassword ``` -------------------------------- ### PRTG API - Overview Source: https://www.paessler.com/manuals/prtg/remote_probe_setup_via_device_tools This section provides an overview of the PRTG Network Monitor API, including its different components and functionalities. ```APIDOC ## PRTG Network Monitor API Overview This documentation details the PRTG Network Monitor API, which allows for programmatic interaction with the PRTG monitoring system. The API supports various operations including retrieving live data, historical data, manipulating objects, and managing custom sensors. ### Key API Components: * **HTTP API**: The primary interface for interacting with the PRTG API. * **Live Data**: Access real-time status and property information for monitored objects. * **Live Graphs**: Retrieve graphical representations of live monitoring data. * **Historic Data**: Query historical performance metrics for sensors. * **Object Manipulation**: Perform actions such as adding, editing, or deleting monitoring objects. * **Custom Sensors**: Create and manage custom sensor types. * **Mini Probe API**: Interface for managing mini probe devices. ``` -------------------------------- ### Historic Graph API Call (PNG) Source: https://www.paessler.com/manuals/prtg/historic_data An example API call to retrieve a historic sensor graph in PNG format. This call requires the sensor ID, start and end dates, and allows for specifying dimensions and graph styling. ```png /chart.png?id=objectid&avg=15&sdate=2023-01-20-00-00-00&edate=2023-01-21-00-00-00&width=850&height=270&graphstyling=baseFontSize='12'%20showLegend='1'&graphid=-1 ``` -------------------------------- ### PRTG API - Live Graphs Source: https://www.paessler.com/manuals/prtg/device_and_sensor_setup Access live graphs for monitoring data. Allows visualization of real-time performance metrics. ```APIDOC ## PRTG API - Live Graphs ### Description This section details how to retrieve live graphs for monitoring data via the PRTG HTTP API. These graphs provide a visual representation of real-time performance metrics for various sensors and objects. ### Method GET ### Endpoint `/api/v1/graphs/live` (example endpoint structure) ### Parameters #### Query Parameters - **objectid** (integer) - Required - The ID of the object for which to retrieve the graph. - **width** (integer) - Optional - Desired width of the graph image. - **height** (integer) - Optional - Desired height of the graph image. ### Request Example `GET /api/v1/graphs/live?objectid=123&width=800&height=400` ### Response #### Success Response (200) - The response is typically an image file (e.g., PNG) representing the live graph. #### Response Example (Binary image data would be returned here) ``` -------------------------------- ### Custom EXE/Script Sensor Example (Python) Source: https://context7.com/context7/paessler-manuals/llms.txt A basic Python script demonstrating the starting point for creating custom sensors. These scripts should return structured sensor data to extend monitoring capabilities. ```python #!/usr/bin/env python3 # Custom EXE/Script Sensor Example ``` -------------------------------- ### PRTG API - Live Graphs Source: https://www.paessler.com/manuals/prtg/install_a_cluster Endpoints for retrieving live graph data in various formats. ```APIDOC ## PRTG API - Live Graphs ### Description This section details how to retrieve live graph data for sensors and devices. The API supports multiple output formats, allowing you to embed or process graph data as needed. ### Method GET ### Endpoints - `/api/showGraph.aspx?id=&output=` ### Parameters #### Query Parameters - **id** (integer) - Required - The unique identifier for the sensor. - **output** (string) - Required - The desired output format for the graph (e.g., `png`, `svg`, `json`). ### Request Example ```json { "example": "GET /api/showGraph.aspx?id=12345&output=png" } ``` ### Response #### Success Response (200) - **Graph Image**: The graph data in the requested format (e.g., PNG image data, SVG XML, or JSON containing graph points). #### Response Example ```json { "example": "(Binary image data for PNG)" } ``` ``` -------------------------------- ### Historic Data API Calls (XML, CSV, JSON) Source: https://www.paessler.com/manuals/prtg/historic_data Examples of API calls to retrieve historic sensor data in XML, CSV, and JSON formats. These calls require sensor ID, start date, and end date. JSON format additionally supports a 'usecaption' parameter for more detailed output. ```xml /api/historicdata.xml?id=objectid&avg=0&sdate=2023-01-20-00-00-00&edate=2023-01-21-00-00-00 ``` ```csv /api/historicdata.csv?id=objectid&avg=0&sdate=2023-01-20-00-00-00&edate=2023-01-21-00-00-00 ``` ```json /api/historicdata.json?id=objectid&avg=0&sdate=2023-01-20-00-00-00&edate=2023-01-21-00-00-00&usecaption=1 ``` -------------------------------- ### HTTP Push Count Sensor URL Configuration Source: https://www.paessler.com/manuals/prtg/http_push_count_sensor This section provides the URL format for the HTTP Push Count sensor, which is used to receive data pushed via webhooks. It explains the parameters that need to be replaced with actual values specific to your setup. The example shows how to construct a functional URL. ```text http://:/ Example: http://192.0.2.0:5050/XYZ123 ``` -------------------------------- ### PRTG API Overview Source: https://www.paessler.com/manuals/prtg/wmi_iis_application_sensor This section provides an overview of the PRTG API, including general information and available sub-sections. ```APIDOC ## PRTG API ### Description This section details the various aspects of the PRTG Application Programming Interface (API), enabling programmatic interaction with the PRTG Network Monitor. ### Endpoints - **HTTP API**: General interface for API interactions. - **Live Data**: Access real-time data from sensors and system information. - **Live Graphs**: Retrieve live graph data. - **Historic Data**: Access historical sensor readings. - **Object Manipulation**: Manage PRTG objects like devices and sensors. - **Custom Sensors**: Define and manage custom sensor types. - **Custom Notifications**: Define and manage custom notification templates. - **Mini Probe API**: API specifically for PRTG Mini Probes. ``` -------------------------------- ### Get Upper Warning Limit of a Channel via PRTG API Source: https://www.paessler.com/manuals/prtg/single_object_property An example of retrieving the upper warning limit for a specific channel (ID 0) of a sensor (ID 1003). The response is in XML format, containing the version and the retrieved limit value. This demonstrates the practical application of the channel property retrieval API call. ```http /api/getobjectproperty.htm?id=1003&subtype=channel&subid=0&name=limitmaxwarning&show=nohtmlencode ``` -------------------------------- ### PRTG API Overview Source: https://www.paessler.com/manuals/prtg/welcome_to_prtg This section provides an overview of the PRTG API, including general concepts and available endpoints. ```APIDOC ## PRTG Network Monitor API PRTG Network Monitor offers a powerful API that allows for programmatic interaction with the monitoring system. This API enables you to retrieve live and historical data, manage monitoring objects, and configure custom sensors and notifications. ### API Categories * **HTTP API**: The primary interface for interacting with the PRTG API. * **Live Data**: Access real-time information about sensors and devices. * **Live Graphs**: Retrieve live graph data for visual representation. * **Historic Data**: Access historical performance metrics. * **Object Manipulation**: Create, modify, and delete monitoring objects. * **Custom Sensors & Notifications**: Integrate custom monitoring solutions. * **Mini Probe API**: Specific API for mini probe management. ``` -------------------------------- ### PRTG API Overview Source: https://www.paessler.com/manuals/prtg/dell_emc_unity_storage_lun_v2_sensor This section provides an overview of the PRTG API, including general information about its structure and capabilities. ```APIDOC ## PRTG API Documentation This API allows for programmatic access to PRTG Network Monitor data and functionality. It supports various operations including retrieving live data, historical data, and managing objects. ### API Versions - **HTTP API**: The primary interface for interacting with the PRTG API. ### Authentication Authentication is typically handled via API keys or other secure methods as defined by specific endpoints. ``` -------------------------------- ### Extracting Number using Regex and Capturing Group (PRTG) Source: https://www.paessler.com/manuals/prtg/wmi_custom_string_sensor This example demonstrates how to extract a specific numeric value from a string using a regular expression with capturing groups in PRTG. The regex is designed to capture percentages from a CPU usage string, and the index of the capturing group is specified to isolate the desired number. Note that PRTG's capturing group indexing starts at 1. ```regex (\d+\.\d+).*?(\d+\.\d+).*?(\d+\.\d+) ``` -------------------------------- ### HTTP IoT Push Data Advanced Sensor GET Request with Float Value Source: https://www.paessler.com/manuals/prtg/http_iot_push_data_advanced_sensor This example illustrates how to send a float value to the HTTP IoT Push Data Advanced sensor. It includes the use of `1` tags to explicitly define the value type, ensuring correct processing by PRTG. ```plaintext https://127.0.0.1:5051/XYZ123?content=MyChannel10.451this%20is%20a%20message ``` -------------------------------- ### Live Data Retrieval Source: https://www.paessler.com/manuals/prtg/create_device_template Details on how to retrieve live data for objects, including single object properties, statuses, and system information. ```APIDOC ## Live Data Retrieval API Endpoints ### Description Endpoints for accessing real-time monitoring data from PRTG Network Monitor. ### Endpoints * **14.2.2.1 Single Object Property** * **Method**: GET * **Endpoint**: `/api/get.object.property.json` * **Description**: Retrieves a specific property of a single monitoring object. * **14.2.2.2 Single Object Status** * **Method**: GET * **Endpoint**: `/api/get.object.status.json` * **Description**: Retrieves the current status of a single monitoring object. * **14.2.2.3 Multiple Object Property or Status** * **Method**: GET * **Endpoint**: `/api/get.objects.json` * **Description**: Retrieves properties or statuses for multiple monitoring objects. * **14.2.2.4 System Information** * **Method**: GET * **Endpoint**: `/api/get.systeminfo.json` * **Description**: Retrieves general system information about the PRTG installation. ``` -------------------------------- ### PRTG API - Live Data Endpoints Source: https://www.paessler.com/manuals/prtg/install_a_cluster Endpoints for retrieving live data from PRTG, including single object properties, statuses, and system information. ```APIDOC ## PRTG API - Live Data Endpoints ### Description These endpoints allow you to retrieve real-time monitoring data from PRTG Network Monitor. You can fetch specific properties or the status of individual sensors or devices, or retrieve aggregated information for multiple objects. The system information endpoint provides details about the PRTG server itself. ### Method GET ### Endpoints - `/api/get.Sensor.aspx?id=&output=json` - `/api/get.Object.aspx?id=&output=json` - `/api/get.SystemInfo.aspx?output=json` ### Parameters #### Query Parameters - **id** (integer) - Required - The unique identifier for the sensor or object. - **output** (string) - Required - Specifies the output format, typically `json`. ### Request Example ```json { "example": "GET /api/get.Sensor.aspx?id=12345&output=json" } ``` ### Response #### Success Response (200) - **Sensor Data**: A JSON object containing the current status and properties of the specified sensor or object. - **System Information**: A JSON object with details about the PRTG server, such as version, uptime, and probe status. #### Response Example ```json { "example": { "sensor": { "sensorid": "12345", "name": "CPU Load", "value": "15.5", "unit": "%", "status": "1" } } } ``` ``` -------------------------------- ### XML Response Example for Object Status Source: https://www.paessler.com/manuals/prtg/single_object_status An example of the Extensible Markup Language (XML) output returned by the `getobjectstatus.htm` API call, indicating the version and the result of the query. ```xml 23.4.90.1235+ True ``` -------------------------------- ### PRTG API Documentation Overview Source: https://www.paessler.com/manuals/prtg/welcome_page This section provides an overview of the PRTG API, including its different components and functionalities. ```APIDOC ## PRTG Network Monitor API ### Description The PRTG Network Monitor API allows programmatic access to various monitoring data and functionalities. It is divided into several sections, including HTTP API, Live Data, Live Graphs, Historic Data, and Object Manipulation. ### API Components - **HTTP API**: The primary interface for interacting with the PRTG API. - **Live Data**: Endpoints for retrieving real-time data for single or multiple objects, as well as system information. - **Live Graphs**: Endpoints for accessing live graph data. - **Historic Data**: Endpoints for querying historical monitoring data. - **Object Manipulation**: Endpoints for creating, modifying, and deleting PRTG objects. - **Custom Sensors & Notifications**: API endpoints related to custom sensor and notification configurations. - **Mini Probe API**: Specific API for interacting with Mini Probes. ### Base URL The base URL for the PRTG API is typically `http:///api/`. ``` -------------------------------- ### General Channel Definition Example Source: https://www.paessler.com/manuals/prtg/channel_definitions_for_flow_ipfix_and_packet_sniffer_sensors Illustrates a general example of a custom channel definition for PRTG sensors. This example uses an ID of 5, names the channel 'HTTP', and defines a rule based on TCP protocol and specific source or destination ports. ```text #5:HTTP Protocol[TCP] and (SourcePort[80] or DestinationPort[80] or SourcePort[8080] or DestinationPort[8080]) ``` -------------------------------- ### PRTG HTTP API - Live Graphs Source: https://www.paessler.com/manuals/prtg/step_2_smart_setup Endpoints for accessing live graph data for sensors. ```APIDOC ## PRTG HTTP API - Live Graphs ### Description Endpoints for accessing live graph data for sensors. ### Method GET ### Endpoint `/api/get.graph.png?objectid=&width=&height=&...` ### Parameters #### Query Parameters - **objectid** (integer) - Required - The ID of the sensor. - **width** (integer) - Optional - The width of the graph image. - **height** (integer) - Optional - The height of the graph image. ### Request Example ```json GET /api/get.graph.png?objectid=1234&width=500&height=200 ``` ### Response #### Success Response (200) - **image/png** - The live graph as a PNG image. ``` -------------------------------- ### PRTG REST Sensor: Example of Custom Headers and POST Request Source: https://www.paessler.com/manuals/prtg/rest_custom_sensor Provides a practical example of using 'rest.exe' with custom headers, specifying a POST request, and including a request body. ```bash rest.exe -customheaders 'Content-Type: application/x-www-form-urlencoded' -post=1 -requestbody 'myvar=value' ``` -------------------------------- ### GET /sensor_endpoint Source: https://www.paessler.com/manuals/prtg/http_push_data_advanced_sensor This endpoint allows you to send sensor data to PRTG using a GET request. The content of the request must be valid XML or JSON in the PRTG API format and URL encoded. ```APIDOC ## GET /sensor_endpoint ### Description This endpoint allows you to send sensor data to PRTG using a GET request. The content of the request must be valid XML or JSON in the PRTG API format and URL encoded. ### Method GET ### Endpoint `http://:/` ### Parameters #### Query Parameters - **content** (string) - Required - The sensor data in PRTG API format (XML or JSON), URL encoded. ### Request Example ``` http://127.0.0.1:5050/XYZ123?content=MyChannel10this%20is%20a%20message ``` ### Response #### Success Response (200) - **status** (string) - Indicates the success of the data submission. #### Response Example ```json { "status": "success" } ``` ### Notes - By default, values within the `` tags must be integers. Use `1` tags for float values. - Multiple sensors can use the same port and identification token. ``` -------------------------------- ### PRTG API - Overview Source: https://www.paessler.com/manuals/prtg/my_account This section provides an overview of the PRTG API, including its different components such as the HTTP API, Live Data access, Live Graphs, Historic Data retrieval, and Object Manipulation capabilities. ```APIDOC ## PRTG Network Monitor API This document details the PRTG Network Monitor API, enabling programmatic access to monitoring data and configurations. ### API Components - **HTTP API**: The primary interface for interacting with the PRTG API. - **Live Data**: Access to real-time sensor values and properties. - **Live Graphs**: Retrieval of live graphical representations of sensor data. - **Historic Data**: Access to historical monitoring data for analysis. - **Object Manipulation**: Ability to create, modify, and delete PRTG objects (devices, sensors, etc.). - **Custom Sensors & Notifications**: Tools for extending PRTG's functionality. - **Mini Probe API**: Specific API for managing mini probes. ``` -------------------------------- ### JSONPath Example for Device Network Data Source: https://www.paessler.com/manuals/prtg/rest_custom_sensor An example JSON structure representing device network statistics, used to demonstrate practical JSONPath usage. This structure includes nested objects for firmware and network details. ```json { "devices":[ { "firmware":{ "id":"0.7", "date":"2017-05-18T17:11:43.7049944Z", "channel": "beta" }, "networks": { "a": { "rx_bytes": 35985021, "rx_packets": 176791, "rx_errors": 0, "rx_dropped": 476, "tx_bytes": 7229493, "tx_packets": 35518, "tx_errors": 0, "tx_dropped": 1 }, "b": { "rx_bytes": 40085321, "tx_bytes": 55294975 } } }, { "networks": { "a": { "rx_bytes": 63685865, "tx_bytes": 7229472 } } } ] } ``` -------------------------------- ### PRTG HTTP API - Mini Probe API Source: https://www.paessler.com/manuals/prtg/step_2_smart_setup Specific API endpoints for interacting with PRTG Mini Probes. ```APIDOC ## PRTG HTTP API - Mini Probe API ### Description Specific API endpoints for interacting with PRTG Mini Probes. ### Method GET, POST ### Endpoint - `/api/get.miniprobe.status.json` - `/api/set.miniprobe.config.json` ### Parameters N/A (Specific parameters depend on the sub-endpoint.) ### Request Example ```json GET /api/get.miniprobe.status.json ``` ### Response #### Success Response (200) - **data** (object) - Status or configuration information for the Mini Probe. ``` -------------------------------- ### PRTG API Overview Source: https://www.paessler.com/manuals/prtg/snmp_dell_equallogic_physical_disk_sensor This section provides an overview of the PRTG API, including general information about the HTTP API and its capabilities. ```APIDOC ## PRTG Network Monitor API ### Description The PRTG Network Monitor provides a comprehensive HTTP API that allows for programmatic interaction with the monitoring system. This API enables users to retrieve live and historical data, manipulate monitoring objects, and manage custom sensors and notifications. ### Key Areas: - **HTTP API**: The primary interface for interacting with PRTG. - **Live Data**: Endpoints for fetching real-time status and property information for monitored objects. - **Historic Data**: Endpoints for retrieving historical performance metrics. - **Object Manipulation**: Endpoints for creating, modifying, and deleting monitoring objects. - **Custom Sensors & Notifications**: Support for managing custom sensor types and notification configurations. - **Mini Probe API**: An API specifically for interacting with mini probe systems. ``` -------------------------------- ### JSON Data Structure Example for MQTT Sensor Source: https://www.paessler.com/manuals/prtg/mqtt_subscribe_custom_sensor This example demonstrates a valid JSON format for data received by the MQTT Subscribe Custom sensor. It shows nested objects and key-value pairs that can be queried using JSONPath. ```json { "Sensor1": {"Temp":25,"Unit":"°C"}, "Sensor2": {"Humidity":36,"Unit":"%"} } ``` -------------------------------- ### PRTG API Documentation Overview Source: https://www.paessler.com/manuals/prtg/introduction_monitoring_with_prtg This section provides an overview of the PRTG Network Monitor API, including its HTTP API, live data access, and object manipulation capabilities. ```APIDOC ## PRTG Network Monitor API This documentation details the PRTG Network Monitor's Application Programming Interface (API), allowing for programmatic interaction with the monitoring system. ### API Types - **HTTP API**: The primary interface for interacting with PRTG. - **Live Data API**: Access to real-time sensor data and object status. - **Object Manipulation API**: Endpoints for creating, modifying, and deleting PRTG objects. - **Custom Integrations**: APIs for custom sensors and notifications. ### Key API Features - **Live Data Access**: Retrieve single or multiple object properties and statuses, as well as system information. - **Live Graphs**: Access live graph data for sensors. - **Historic Data**: Query historical sensor data for analysis and reporting. - **Object Manipulation**: Programmatically manage devices, sensors, and other PRTG objects. - **Customization**: Integrate custom sensors and notifications via the API. ### Specific API Sections - **14.2.1 HTTP API**: General information about the HTTP API. - **14.2.2 Live Data**: Details on accessing live data, including: - **14.2.2.1 Single Object Property** - **14.2.2.2 Single Object Status** - **14.2.2.3 Multiple Object Property or Status** - **14.2.2.4 System Information** - **14.2.3 Live Graphs**: Information on retrieving live graph data. - **14.2.4 Historic Data**: Details on accessing historical data. - **14.2.5 Object Manipulation**: Endpoints for managing PRTG objects. - **14.2.6 Custom Sensors**: Information on creating and managing custom sensors via the API. - **14.2.7 Custom Notifications**: Details on integrating custom notifications. - **14.2.8 Mini Probe API**: Specific API for Mini Probes. ``` -------------------------------- ### PRTG REST Response Example Source: https://www.paessler.com/manuals/prtg/rest_custom_sensor An example of a JSON response returned by a PRTG REST API query for sensor status. This structure includes overall PRTG version, tree size, state, and a detailed breakdown of sensor counts by status. ```json { "prtg-version": "17.3.33.2517", "treesize": 1, "state": "ok", "sensorxref": [ { "totalsens": 28, "upsens": 18, "downsens": 0, "partialdownsens": 0, "warnsens": 0, "pausedsens": 9, "unusualsens": 1, "undefinedsens": 0, "downacksens": 0 } ] } ``` -------------------------------- ### Mini Probe API Source: https://www.paessler.com/manuals/prtg/system_requirements API documentation specific to interacting with PRTG Mini Probes. ```APIDOC ## Mini Probe API API for interacting with PRTG Mini Probes. ### Endpoint (Specific endpoint details for Mini Probe API would be documented here.) ``` -------------------------------- ### JSON Sensor Type Definition Example Source: https://www.paessler.com/manuals/prtg/mini_probe_api An example demonstrating the JSON structure for defining a custom sensor type, including its properties, settings groups, and various field types. This definition is used for creating custom sensors within PRTG. ```json [ { "kind":"Sample", "name":"Sample Sensor", "description":"This is a sample demo sensor", "help":"This is the help text of the demo sensors", "tag":"demosensor", "groups":[ { "name":"Group", "caption":"Group", "fields":[ { "type":"edit", "name":"simpleedit", "caption":"Edit Field" }, { "type":"edit", "name":"extendededit", "caption":"Edit Field 2", "required":"yes", "default":"Default Value", "help":"Help text displayed to the right of the field" }, { "type":"integer", "name":"simplenumber", "caption":"Number" }, { "type":"integer", "name":"number2", "caption":"Number 2", "required":"1", "minimum":23, "maximum":99, "help":"Number field with limit 23-99" }, { "type":"password", "name":"password", "caption":"Password", "help":"This is a password field" }, { "type":"radio", "name":"radiotest" } ] } ] } ] ``` -------------------------------- ### PRTG HTTP API Overview Source: https://www.paessler.com/manuals/prtg/wmi_microsoft_sql_server_2016_sensor This section provides an overview of the PRTG HTTP API, its capabilities, and general usage guidelines. ```APIDOC ## PRTG HTTP API ### Description The PRTG HTTP API provides a RESTful interface for interacting with PRTG Network Monitor. It allows you to retrieve live and historical data, manipulate objects, and integrate PRTG with other systems. ### Method N/A (Overview) ### Endpoint N/A (Overview) ### Parameters N/A (Overview) ### Request Example N/A (Overview) ### Response N/A (Overview) ``` -------------------------------- ### Formula Calculation Examples Source: https://www.paessler.com/manuals/prtg/sensor_factory_sensor Demonstrates how to use basic arithmetic operations (+, -, *, /) and parentheses for calculations within a Sensor Factory sensor channel formula. It shows a simple addition and multiplication example, and another involving parentheses. ```text 3 + 5 * 2 3 * (2 + 6) ``` -------------------------------- ### PRTG HTTP API - Live Data Access Source: https://www.paessler.com/manuals/prtg/step_2_smart_setup Endpoints for retrieving real-time data from PRTG sensors, including single object properties, statuses, and system information. ```APIDOC ## PRTG HTTP API - Live Data ### Description Endpoints for retrieving real-time data, including single object properties, statuses, and system information. ### Method GET ### Endpoint - `/api/get.live data.json?objectid=` (Single Object Property/Status) - `/api/get.object.property.json?objectid=&property=` (Single Object Property) - `/api/get.object.status.json?objectid=` (Single Object Status) - `/api/get.object.status.json?filter=` (Multiple Object Property or Status) - `/api/get.systeminfo.json` (System Information) ### Parameters #### Query Parameters - **objectid** (integer) - Required - The ID of the object (sensor, device, group, etc.). - **property** (string) - Optional - The name of the property to retrieve. - **filter** (string) - Optional - Criteria to filter multiple objects. ### Request Example ```json GET /api/get.live.data.json?objectid=1234 GET /api/get.systeminfo.json ``` ### Response #### Success Response (200) - **data** (object/array) - Live data or system information in JSON format. #### Response Example ```json { "sensors": [ { "sensorid": "1234", "name": "CPU Load", "status": "1" } ] } ``` ``` -------------------------------- ### channel() Function Example Source: https://www.paessler.com/manuals/prtg/sensor_factory_sensor Provides a concrete example of using the channel() function to read data from a specific channel (ID 2) of a source sensor (ID 2001). This is then shown within a full channel definition. ```text channel(2001,2) #1:Sample channel(2001,2) ``` -------------------------------- ### PRTG API Overview Source: https://www.paessler.com/manuals/prtg/microsoft_azure_virtual_machine_sensor This section provides an overview of the PRTG API, including its different facets like HTTP API, Live Data, Live Graphs, Historic Data, and Object Manipulation. ```APIDOC ## PRTG API ### Description This section details the PRTG Network Monitor Application Programming Interface (API), allowing programmatic access to PRTG data and functionality. ### Sections - **14.2.1 HTTP API**: General information about the HTTP API. - **14.2.2 Live Data**: Endpoints for retrieving real-time sensor data and properties. - **14.2.2.1 Single Object Property**: Fetching a specific property of a single object. - **14.2.2.2 Single Object Status**: Retrieving the current status of a single object. - **14.2.2.3 Multiple Object Property or Status**: Getting properties or status for multiple objects. - **14.2.2.4 System Information**: Accessing general system information. - **14.2.3 Live Graphs**: Endpoints for retrieving live graph data. - **14.2.4 Historic Data**: Endpoints for fetching historical sensor data. - **14.2.5 Object Manipulation**: Endpoints for creating, modifying, or deleting PRTG objects (e.g., devices, sensors). - **14.2.6 Custom Sensors**: Information on integrating custom sensors via the API. - **14.2.7 Custom Notifications**: Details on triggering custom notifications through the API. - **14.2.8 Mini Probe API**: Specific API endpoints for Mini Probes. ``` -------------------------------- ### PRTG API - Live Graphs Source: https://www.paessler.com/manuals/prtg/netapp_snapmirror_v2_sensor Documentation for retrieving live graph data via the PRTG API. ```APIDOC ## PRTG API - Live Graphs ### Description Allows retrieval of live graph data for sensors. ### Method GET ### Endpoint `/api/v1/sensors/{sensorId}/graph` ### Parameters #### Path Parameters - **sensorId** (integer) - Required - The ID of the sensor for which to retrieve graph data. ### Request Example ```json { "example": "GET /api/v1/sensors/123/graph" } ``` ### Response #### Success Response (200) - **image** (binary) - The graph image data. #### Response Example ```json { "example": "[Binary image data]" } ``` ``` -------------------------------- ### XML Encoding Declaration Example Source: https://www.paessler.com/manuals/prtg/custom_sensors When using XML return formats for advanced sensors, you can optionally specify the document encoding at the beginning of the file. This example shows how to declare UTF-8 encoding. ```xml ```