### Install perfSONAR Plugins Source: https://docs.perfsonar.net/pscheduler_disk_to_disk.html Install the testpoint and disk-to-disk specific tools. ```bash yum install perfsonar-testpoint pscheduler-test-disk-to-disk pscheduler-tool-curl pscheduler-tool-globus ``` -------------------------------- ### Install pSConfig Publisher Source: https://docs.perfsonar.net/psconfig_quickstart.html Install the publisher package on the host where the template will be published. ```bash yum install perfsonar-psconfig-publisher ``` ```bash DEBIAN_FRONTEND=noninteractive apt-get install perfsonar-psconfig-publisher ``` -------------------------------- ### Install perfSONAR archive Source: https://docs.perfsonar.net/cookbook_central_archive.html Executes the installation script to set up repositories and install the perfSONAR archive components. ```bash curl -s https://downloads.perfsonar.net/install | sh -s - archive ``` -------------------------------- ### Start PWA Containers Source: https://docs.perfsonar.net/pwa_docker_create.html Use this script to start the PWA containers after initialization. ```bash /usr/local/sbin/start_pwa_containers.sh ``` -------------------------------- ### Run the perfSONAR installation script Source: https://docs.perfsonar.net/install_quick_start.html Executes the official installation script to deploy the toolkit. ```bash curl -s https://downloads.perfsonar.net/install | sh -s - toolkit ``` -------------------------------- ### Enable and Start Docker Service Source: https://docs.perfsonar.net/pwa_install_docker.html Commands to enable the Docker service at boot and start it immediately. ```bash $ systemctl enable docker $ systemctl start docker ``` -------------------------------- ### Elevate privileges to root Source: https://docs.perfsonar.net/install_quick_start.html Use this command to start a root shell session before running the installation script. ```bash sudo -s ``` -------------------------------- ### Setup Globus ID Source: https://docs.perfsonar.net/pscheduler_disk_to_disk.html Initialize the Globus server setup after obtaining a Globus ID. ```bash globus-connect-server-setup ``` -------------------------------- ### Start the container Source: https://docs.perfsonar.net/install_docker.html Launch the container in the background. ```bash # docker compose -f docker-compose.systemd.yml up -d ``` -------------------------------- ### Start psconfig-grafana-agent Source: https://docs.perfsonar.net/psconfig_grafana_agent.html Initiates the psconfig-grafana-agent service. ```bash systemctl start psconfig-grafana-agent ``` -------------------------------- ### Install Esmond package Source: https://docs.perfsonar.net/legacy_archive_esmond.html Installs the esmond software package. ```bash yum install -y esmond ``` -------------------------------- ### Publish Throughput Data Example Source: https://docs.perfsonar.net/esmond_api_perl.html A complete example demonstrating authentication, metadata creation, and bulk data submission. ```perl #Define filters with authentication information my $filters = new perfSONAR_PS::Client::Esmond::ApiFilters( 'auth_username' => 'perfsonar', 'auth_apikey' => '8208b9ad15dbda8e91cb086b0d228857de99fa25', 'ca_certificate_file' => '/etc/pki/tls/bundle.crt' ); #Post measurement metadata my $metadata = new perfSONAR_PS::Client::Esmond::Metadata( url => 'https://archive.example.net/esmond/perfsonar/archive', filters => $filters ); $metadata->subject_type('point-to-point'); $metadata->source('10.1.1.1'); $metadata->destination('10.1.1.2'); $metadata->input_source('host1.example.net'); $metadata->input_destination('host2.example.net'); $metadata->tool_name('bwctl/iperf3'); $metadata->measurement_agent('10.1.1.1'); $metadata->set_field('ip-transport-protocol', 'tcp'); $metadata->set_field('time-duration', 20); $metadata->set_field('time-interval', 21600); $metadata->set_field('bw-parallel-streams', 1); $metadata->add_event_type('throughput'); $metadata->add_summary_type('throughput', 'average', 86400); $metadata->add_event_type('failures'); $metadata->add_event_type('packet-retransmits'); $metadata->post_metadata(); die $metadata->error() . "\n" if $metadata->error(); #Bulk post data my $bulk_post = $metadata->generate_event_type_bulk_post(); my $ts = time; $bulk_post->add_data_point('throughput', $ts, 2000000000); $bulk_post->add_data_point('packet-retransmits', $ts, 10); $bulk_post->post_data(); die $bulk_post->error() if($bulk_post->error()); ``` -------------------------------- ### Install pSConfig Publisher on Debian/Ubuntu Source: https://docs.perfsonar.net/psconfig_publish.html Use the apt-get package manager to install the publisher tools on Debian or Ubuntu systems. ```bash DEBIAN_FRONTEND=noninteractive apt-get install perfsonar-psconfig-publisher ``` -------------------------------- ### Install perfSONAR Repository Source: https://docs.perfsonar.net/pwa_install_rpm.html Install the main perfSONAR repository package if it is not already present on the system. ```bash rpm -hUv http://software.internet2.edu/rpms/el7/x86_64/latest/packages/perfSONAR-repo-0.11-1.noarch.rpm ``` -------------------------------- ### Install pSConfig Grafana Agent Source: https://docs.perfsonar.net/psconfig_quickstart.html Install the Grafana agent package on the Grafana host. ```bash dnf install perfsonar-psconfig-grafana ``` ```bash DEBIAN_FRONTEND=noninteractive apt-get install perfsonar-psconfig-grafana ``` -------------------------------- ### Install Docker on CentOS 7 Source: https://docs.perfsonar.net/pwa_install_docker.html Installs the Docker engine from the CentOS Extras repository. ```bash yum install -y docker ``` -------------------------------- ### Install Optional perfSONAR Packages Source: https://docs.perfsonar.net/install_el.html Commands for installing additional security, tuning, and system environment packages. ```bash dnf install perfsonar-toolkit-security ``` ```bash dnf install perfsonar-toolkit-sysctl ``` ```bash dnf install perfsonar-toolkit-systemenv-testpoint ``` -------------------------------- ### Template and Expansion Example Source: https://docs.perfsonar.net/psconfig_templates_vars.html Demonstrates the template structure and the resulting expansion using pscheduler_address variables. ```json { "type":"throughput", "spec":{ "source":"{% address[0] %}", "dest":"{% address[1] %}", "source-node":"{% pscheduler_address[0] %}", "dest-node":"{% pscheduler_address[1] %}" } } ``` ```json { "type":"throughput", "spec":{ "source":"thr1.perfsonar.net", "dest":"thr2.perfsonar.net", "source-node":"[fd89:b4d9:341a:8465::1]:8080", "dest-node":"thr2.perfsonar.net" } } ``` -------------------------------- ### Install perfSONAR Bundles Source: https://docs.perfsonar.net/install_el.html Commands to install specific perfSONAR software bundles via DNF. ```bash dnf install perfsonar-tools ``` ```bash dnf install perfsonar-testpoint ``` ```bash dnf install perfsonar-core ``` ```bash dnf install perfsonar-archive ``` ```bash dnf install perfsonar-toolkit ``` -------------------------------- ### Start perfSONAR services Source: https://docs.perfsonar.net/install_el.html Execute these commands as root to manually start perfSONAR services if they are not active. ```bash systemctl start pscheduler-scheduler systemctl start pscheduler-runner systemctl start pscheduler-archiver systemctl start pscheduler-ticker systemctl start psconfig-pscheduler-agent systemctl start perfsonar-lsregistrationdaemon systemctl start owamp-server ``` -------------------------------- ### Run the container in the background Source: https://docs.perfsonar.net/install_docker.html Start the container with host networking and necessary network capabilities. ```bash # docker run -d --name perfsonar-testpoint --net=host --cap-add CAP_NET_RAW perfsonar/testpoint ``` -------------------------------- ### Example jq Queries Source: https://docs.perfsonar.net/psconfig_templates_vars.html Common examples of jq queries used to access specific task components. ```text {% jq .addresses[0].address %} ``` ```text {% jq .archives[0].archiver %} ``` ```text {% jq .contexts[0] %} ``` ```text {% jq .host[0].tags %} ``` ```text {% jq .task.tools %} ``` ```text {% jq .test.type %} ``` -------------------------------- ### Install EL9 staging repository Source: https://docs.perfsonar.net/install_rcs.html Manually install the staging repository package for EL9 systems. ```bash dnf install http://software.internet2.edu/rpms/el9/x86_64/latest/packages/perfsonar-repo-staging-0.11-1.noarch.rpm ``` -------------------------------- ### Install Ansible and Git Source: https://docs.perfsonar.net/pscheduler_disk_to_disk.html Prerequisites for running the Globus configuration playbooks. ```bash yum install ansible git ``` -------------------------------- ### Install perfSONAR RPM repository key Source: https://docs.perfsonar.net/legacy_archive_esmond.html Downloads and installs the GPG key for the perfSONAR repository. ```bash curl http://linux.mirrors.es.net/perfsonar/RPM-GPG-KEY-perfSONAR -o /etc/pki/rpm-gpg/RPM-GPG-KEY-perfSONAR ``` -------------------------------- ### Install perfSONAR Testpoint Package Source: https://docs.perfsonar.net/cookbook_central_archive.html Downloads and executes the perfSONAR installation script specifically for the testpoint role. ```bash curl -s https://downloads.perfsonar.net/install | sh -s - testpoint ``` -------------------------------- ### Upgrade existing EL-based installation Source: https://docs.perfsonar.net/install_rcs.html Point an existing EL installation to the staging repository and perform an update. ```bash dnf install perfsonar-repo-staging dnf update ``` -------------------------------- ### Start pScheduler services with systemctl Source: https://docs.perfsonar.net/pscheduler_server_running.html Commands to start the four core pScheduler daemon processes using systemctl. ```bash systemctl start pscheduler-scheduler systemctl start pscheduler-runner systemctl start pscheduler-archiver systemctl start pscheduler-ticker ``` -------------------------------- ### Example Agent Output Source: https://docs.perfsonar.net/psconfig_pscheduler_agent.html Sample output showing successful agent run statistics. ```text Agent Last Run Start Time: 2018/04/24 19:29:54 Agent Last Run End Time: 2018/04/24 19:30:04 Agent Last Run Process ID (PID): 6026 Agent Last Run Log GUID: DD85D234-47F5-11E8-B2F1-3613118410B6 Total tasks managed by agent: 8 From include files: 5 /etc/perfsonar/psconfig/pscheduler.d/template.json: 5 From remote definitions: 3 https://10.0.0.1/example.json: 3 ``` -------------------------------- ### IPVersion Limit Parameter Source: https://docs.perfsonar.net/config_pscheduler_limits.html Example of an IP version match configuration. ```json { "match": 6 } ``` -------------------------------- ### Manage daemon lifecycle Source: https://docs.perfsonar.net/manage_daemons.html Use these commands to start, stop, or restart a service. ```bash systemctl start/stop/restart SERVICE-NAME ``` -------------------------------- ### StringMatch Configuration Example Source: https://docs.perfsonar.net/config_pscheduler_limits.html Example of a StringMatch object configuration using a regex style match with inversion enabled. ```json { "match": { style": "regex", "match": "platypus", "invert": true } } ``` -------------------------------- ### Initialize PWA Docker Environment Source: https://docs.perfsonar.net/pwa_docker_create.html Run this script only during the initial installation of PWA. ```bash /usr/local/sbin/init_docker.sh ``` -------------------------------- ### Install perfSONAR bundles via automated script Source: https://docs.perfsonar.net/install_el.html Use these commands to automatically install specific perfSONAR bundles on supported RedHat-based systems. ```bash curl -s https://downloads.perfsonar.net/install | sh -s - tools ``` ```bash curl -s https://downloads.perfsonar.net/install | sh -s - testpoint ``` ```bash curl -s https://downloads.perfsonar.net/install | sh -s - toolkit ``` ```bash curl -s https://downloads.perfsonar.net/install | sh -s - archive ``` -------------------------------- ### Install perfSONAR Grafana packages Source: https://docs.perfsonar.net/cookbook_central_archive.html Installs the required Grafana and host metrics packages. Choose the command based on your operating system distribution. ```bash dnf install perfsonar-grafana perfsonar-grafana-toolkit perfsonar-psconfig-hostmetrics perfsonar-psconfig-publisher ``` ```bash apt install perfsonar-grafana perfsonar-grafana-toolkit perfsonar-psconfig-hostmetrics perfsonar-psconfig-publisher ``` -------------------------------- ### Configure Yum Repositories Source: https://docs.perfsonar.net/pscheduler_disk_to_disk.html Commands to install the EPEL release and the perfSONAR repository. ```bash yum install epel-release yum install http://software.internet2.edu/rpms/el7/x86_64/latest/packages/perfsonar-repo-0.11-1.noarch.rpm yum clean all ``` -------------------------------- ### Get Help for psconfig publish Source: https://docs.perfsonar.net/psconfig_publish.html Display help information for the publish command. ```bash psconfig publish --help ``` -------------------------------- ### Install perfSONAR Bundles Source: https://docs.perfsonar.net/install_debian.html Installs specific perfSONAR bundles. Bundles requiring Opensearch must include the initial admin password environment variable. ```bash apt install perfsonar-tools ``` ```bash apt install perfsonar-testpoint ``` ```bash env OPENSEARCH_INITIAL_ADMIN_PASSWORD=perfSONAR123! apt install perfsonar-core ``` ```bash env OPENSEARCH_INITIAL_ADMIN_PASSWORD=perfSONAR123! apt install perfsonar-archive ``` ```bash env OPENSEARCH_INITIAL_ADMIN_PASSWORD=perfSONAR123! apt install perfsonar-toolkit ``` -------------------------------- ### Start the container with Docker Compose Source: https://docs.perfsonar.net/install_docker.html Launch the container in detached mode. ```bash # docker compose up -d ``` -------------------------------- ### Start Docker containers Source: https://docs.perfsonar.net/pwa_docker_create.html Bring up the application services defined in the docker-compose.yml file in detached mode. ```bash docker-compose up -d ``` -------------------------------- ### Install Lookup Service client library Source: https://docs.perfsonar.net/client_apis.html Use easy_install to set up the Python client library for the Lookup Service. ```bash easy_install sls-client ``` -------------------------------- ### Plotting schedules using specific time ranges Source: https://docs.perfsonar.net/pscheduler_client_schedule.html Examples of using start and end arguments, which can be relative deltas or absolute ISO 8601 timestamps. ```bash pscheduler plot-schedule -PT1H PT2H ``` ```bash pscheduler plot-schedule 2016-09-04T12:34:56+0400 2016-09-04T13:34:56+0400 ``` -------------------------------- ### Install esmond client library Source: https://docs.perfsonar.net/client_apis.html Use easy_install to set up the Python client library for the esmond measurement archive service. ```bash easy_install esmond-client ``` -------------------------------- ### Install PWA Components Source: https://docs.perfsonar.net/pwa_install_rpm.html Install PWA packages using yum. You can install the full suite or individual components depending on your deployment needs. ```bash yum install -y perfsonar-psconfig-web-admin-ui perfsonar-psconfig-web-admin-publisher ``` ```bash yum install -y perfsonar-psconfig-web-admin-ui ``` ```bash yum install -y perfsonar-psconfig-web-admin-publisher ``` -------------------------------- ### Start the perfSONAR container Source: https://docs.perfsonar.net/install_docker.html Run the container in the background with necessary cgroup and network privileges. ```bash # docker run -td --name perfsonar-testpoint --net=host --tmpfs /run --tmpfs /run/lock --tmpfs /tmp -v /sys/fs/cgroup:/sys/fs/cgroup:rw --cgroupns host --cap-add CAP_NET_RAW perfsonar/testpoint:systemd ``` -------------------------------- ### Initialize the query interface Source: https://docs.perfsonar.net/esmond_api_python.html Demonstrates setting up query filters and establishing a connection to the esmond REST interface. ```python from esmond.api.client.perfsonar.query import ApiConnect, ApiFilters filters = ApiFilters() filters.verbose = True filters.time_start = time.time() - 3600 filters.time_end = time.time() filters.source = '198.129.254.30' filters.tool_name = 'pscheduler/iperf3' filters.timeout = 5 filters.ssl_verify = False #allows self-signed https certificate conn = ApiConnect('https://localhost/', filters) ``` -------------------------------- ### Configure DNF Repositories Source: https://docs.perfsonar.net/install_el.html Commands to prepare the system package manager by installing EPEL, enabling CRB, and adding the perfSONAR repository. ```bash dnf install epel-release ``` ```bash dnf config-manager --set-enabled crb ``` ```bash dnf install http://software.internet2.edu/rpms/el9/x86_64/latest/packages/perfsonar-repo-0.11-1.noarch.rpm ``` ```bash dnf clean all ``` -------------------------------- ### Install pSConfig pScheduler Agent Source: https://docs.perfsonar.net/psconfig_quickstart.html Install the pScheduler agent package on measurement hosts. ```bash yum install perfsonar-psconfig-pscheduler ``` ```bash DEBIAN_FRONTEND=noninteractive apt-get install perfsonar-psconfig-pscheduler ``` -------------------------------- ### Address Definitions Example Source: https://docs.perfsonar.net/psconfig_templates_vars.html Example of address objects containing both address and pscheduler-address properties. ```json "addresses":[ { "address":"thr1.perfsonar.net", "pscheduler-address": "[fd89:b4d9:341a:8465::1]:8080" }, { "address":"thr2.perfsonar.net", } ] ``` -------------------------------- ### Configure APT Repository Source: https://docs.perfsonar.net/install_debian.html Downloads the perfSONAR release list and signing key to the system's APT configuration. ```bash curl -o /etc/apt/sources.list.d/perfsonar-release.list https://downloads.perfsonar.net/debian/perfsonar-release.list curl -s -o /etc/apt/trusted.gpg.d/perfsonar-release.gpg.asc https://downloads.perfsonar.net/debian/perfsonar-release.gpg.key ``` -------------------------------- ### Install pSConfig Grafana Agent Source: https://docs.perfsonar.net/psconfig_grafana_agent.html Commands to install the perfsonar-psconfig-grafana package on different Linux distributions. ```bash dnf install perfsonar-psconfig-grafana ``` ```bash apt install perfsonar-psconfig-grafana ``` -------------------------------- ### Accessing help documentation Source: https://docs.perfsonar.net/pscheduler_client_schedule.html Command to display additional options and details. ```bash pscheduler schedule --help ``` -------------------------------- ### Example Output of psconfig publish Source: https://docs.perfsonar.net/psconfig_publish.html Successful output showing the saved file location and the command for agents to consume the template. ```text Success! File saved to /usr/lib/perfsonar/web-psconfig/example.json Published file can be accessed at https://HOSTNAME/psconfig/example.json Execute the following on a host running an agent to use this file: psconfig remote add "https://HOSTNAME/psconfig/example.json" ``` -------------------------------- ### Example Error Output Source: https://docs.perfsonar.net/psconfig_grafana_agent.html Sample output indicating the agent has not run or the log file is missing. ```text Unable to open /var/log/grafana/psconfig-grafana-agent.log: No such file or directory ``` -------------------------------- ### Example Transform Scripts Source: https://docs.perfsonar.net/pscheduler_ref_archivers.html Various jq script examples for transforming or filtering pScheduler output. ```json "transform": { "script": "\"Ran \\(.test.type) with \\(.tool.name)\"", "output-raw": true } ``` ```json "transform": { "script": "{ \"foo\": 123456, \"type\": .test.type, \"tool\": .tool.name }" } ``` ```json "transform": { "script": "if (.test.type == \"trace\") then . else null end" } ``` ```json "transform": { "script": "if (.test.type == \"trace\") then . else \"Discarded unwanted \\(.test.type) test.\" end" } ``` ```json "transform": { "script": "if (.test.type == \"idle\") then null else { \"foo\": 123456, \"type\": .test.type, \"tool\": .tool.name } end" } ``` ```json "transform": { "script": "if (.test.type == \"trace\") then \"Trace to \\(.test.spec.dest), \\(.result.paths[0] | length) hops\" else null end" } ``` ```json "transform": { "script": "if (.test.type == \"trace\") then { \"test\": .test.type, \"from\": .participants[0], \"to\": .test.spec.dest, \"id\": .id, \"start\": .schedule.start, \"ips\": [ .result.paths[0] | .[].ip ] } else null end" } ``` ```json "transform": { "script": "if (.task.reference.\"foo_reference\" == true) then null else . end" } ``` -------------------------------- ### Create a new user Source: https://docs.perfsonar.net/pwa_user_management Register a new user account with specified credentials. ```bash pwa_auth useradd --username --fullname "" --email "" [--password ""] ``` -------------------------------- ### List Published Files Source: https://docs.perfsonar.net/psconfig_publish.html List all currently published configuration files. ```bash psconfig published ``` -------------------------------- ### Download and Extract PWA Sample Configuration Source: https://docs.perfsonar.net/pwa_install_docker.html Downloads the sample PWA configuration archive and extracts the necessary files to the /etc directory. ```bash wget https://github.com/perfsonar/psconfig-web/raw/master/psconfig-web-admin/perfsonar-psconfig-web-admin/deploy/docker/pwa.sample.tar.gz sudo tar -C /etc -xvf pwa.sample.tar.gz pwa && sudo tar -C /etc/pwa -xvf pwa.sample.tar.gz scripts ``` -------------------------------- ### Initialize pSConfig Template Directory Source: https://docs.perfsonar.net/cookbook_central_archive.html Create a dedicated directory for managing pSConfig template files. ```bash mkdir ~/psconfig_templates cd ~/psconfig_templates ``` -------------------------------- ### Change directory to the repository Source: https://docs.perfsonar.net/install_docker.html Navigate into the directory containing the cloned configuration files. ```bash # cd perfsonar-testpoint-docker ``` -------------------------------- ### Install pSConfig Publisher on CentOS Source: https://docs.perfsonar.net/psconfig_publish.html Use the yum package manager to install the publisher tools on CentOS systems. ```bash yum install perfsonar-psconfig-publisher ``` -------------------------------- ### Configure daemon startup behavior Source: https://docs.perfsonar.net/manage_daemons.html Use these commands to enable or disable a service from starting automatically at boot. ```bash systemctl enable/disable SERVICE-NAME ``` -------------------------------- ### jq Template Variable Examples Source: https://docs.perfsonar.net/psconfig_templates_intro Examples of using the jq processor to extract specific properties from address objects. ```text {% jq .addresses[0]._meta.color %} ``` ```text {% jq .addresses[1]._meta.color %} ``` -------------------------------- ### Configure Debian staging repository Source: https://docs.perfsonar.net/install_rcs.html Download and install the staging source list and GPG key for Debian-based systems. ```bash curl -o /etc/apt/sources.list.d/perfsonar-minor-staging.list https://downloads.perfsonar.net/debian/perfsonar-minor-staging.list curl -s -o /etc/apt/trusted.gpg.d/perfsonar-staging.gpg.asc https://downloads.perfsonar.net/debian/perfsonar-staging.gpg.key ``` -------------------------------- ### Example Output of psconfig published Source: https://docs.perfsonar.net/psconfig_publish.html Output showing the local path and web URL for published files. ```text [example.json] Local File: /usr/lib/perfsonar/web-psconfig/example.json Web URL: https://HOSTNAME/psconfig/example.json ``` -------------------------------- ### Download pSConfig Skeleton File Source: https://docs.perfsonar.net/cookbook_central_archive.html Fetch the base skeleton JSON file to serve as a starting point for the configuration. ```bash curl -o psconfig.json https://raw.githubusercontent.com/perfsonar/psconfig/master/psconfig/perfsonar-psconfig/doc/skeleton.json ``` -------------------------------- ### Filter Logs by GUID Source: https://docs.perfsonar.net/psconfig_grafana_agent.html Uses grep to filter log entries for a specific agent run using its unique GUID. ```bash grep "guid=BF30C416-489E-11E8-8BB6-530A118410B6" /var/log/perfsonar/psconfig-grafana-agent.log ``` -------------------------------- ### Latency test configuration with flip Source: https://docs.perfsonar.net/psconfig_templates_vars.html Example showing the template configuration and the resulting JSON after expansion when the first address has no-agent enabled. ```json "latencybg_test": { "type": "latencybg", "spec": { "source": "{% address[0] %}", "dest": "{% address[1] %}", "flip": "{% flip %}" } } ``` ```json "latencybg_test": { "type": "latencybg", "spec": { "source": "10.0.0.1", "dest": "10.0.0.2", "flip": true } } ``` -------------------------------- ### Display psconfig agentctl help Source: https://docs.perfsonar.net/psconfig_pscheduler_agent.html Provides usage instructions for setting, unsetting, and displaying agent properties. ```bash psconfig agentctl --help ``` -------------------------------- ### Troubleshoot pScheduler Source: https://docs.perfsonar.net/cookbook_central_archive.html Verifies the installation and health of the pScheduler service. ```bash pscheduler troubleshoot ``` -------------------------------- ### Boolean Limit Parameter Source: https://docs.perfsonar.net/config_pscheduler_limits.html Example of a boolean match configuration. ```json { "match": false } ``` -------------------------------- ### GET /pwa/api/auth/health Source: https://docs.perfsonar.net/pwa_monitoring Retrieves the health status of the authentication service. ```APIDOC ## GET /pwa/api/auth/health ### Description Returns the health status of the authentication service. ### Method GET ### Endpoint https:///pwa/api/auth/health ### Response #### Success Response (200) - **status** (string) - The health status of the service (e.g., 'ok'). - **headers** (object) - Authentication header information. #### Response Example { "status": "ok", "headers": {} } ``` -------------------------------- ### Display RTT test help Source: https://docs.perfsonar.net/pscheduler_ref_tests_tools.html View the command-line interface options for configuring and running an RTT test. ```bash pscheduler task rtt --help Usage: task [task-options] rtt [test-options] -h, --help show this help message and exit -c COUNT, --count=COUNT Test count -d DEST, --dest=DEST Destination host --flow-label=FLOW_LABEL Flow label --fragment Allow packet fragmentation --no-fragment Don't allow packet fragmentation --hostnames Look up hostnames from IPs --no-hostnames Don't look up hostnames from IPs -i INTERVAL, --interval=INTERVAL Time to wait between packets sent --ip-version=IP_VERSION IP version to use -s SOURCE, --source=SOURCE Source address or interface --source-node=SOURCE_NODE Source pScheduler node, if different --suppress-loopback Suppress multicast loopback --no-suppress-loopback Don't suppress multicast loopback --ip-tos=IP_TOS IP type-of-service octet (integer) --length=LENGTH Packet length --ttl=TTL Time to live --deadline=DEADLINE Deadline for all measurements to complete --timeout=TIMEOUT Timeout for each round trip --protocol=PROTOCOL Protocol used to measure round trip time ``` -------------------------------- ### GET /pwa/pub/health Source: https://docs.perfsonar.net/pwa_monitoring Retrieves the health status of a pwa-pub instance. ```APIDOC ## GET /pwa/pub/health ### Description Returns the health status of a pwa-pub instance. Note that if multiple instances are running, this returns the status of only one instance. ### Method GET ### Endpoint http:///pwa/pub/health ### Response #### Success Response (200) - **status** (string) - The health status of the service (e.g., 'ok'). #### Response Example { "status": "ok" } ``` -------------------------------- ### Configure a url-fetch limit Source: https://docs.perfsonar.net/config_pscheduler_limits.html Example configuration for a url-fetch limit, demonstrating the use of params-transform and headers-transform with jq scripts. ```json { "name": "server-says-ok", "description": "An external server approves of this task", "type": "url-fetch", "data": { "url": "https://decider.example.org/is-okay", "params": { "check-type": "whatever" }, "params-transform": { "script": [ " .params.requester = hint(\"requester\")", "| .params.test = .test.type" ] }, "headers": { "Cache-Control": "no-cache" }, "headers-transform": { "script": [ ".Authorizatiion = \"Basic \\($auth)\"" ], "args": { "auth": "bXVtYmxlbXVtYmxlbXVtYmxlCg==" } } } } ``` -------------------------------- ### Probability Limit Parameter Source: https://docs.perfsonar.net/config_pscheduler_limits.html Example of a decimal probability range configuration. ```json { "range": { "lower": 0.25, "upper": 1.0 } } ``` -------------------------------- ### IPVersionList Limit Parameter Source: https://docs.perfsonar.net/config_pscheduler_limits.html Example of an IP version enumeration list. ```json { "enumeration": [ 4, 6 ] } ```