Skip to content
This repository has been archived by the owner on Oct 4, 2023. It is now read-only.

Commit

Permalink
Merge pull request #9 from kishikawa12/main
Browse files Browse the repository at this point in the history
Updates based off internal and customer feedback
  • Loading branch information
Dynatrace-Asad-Ali committed Nov 23, 2021
2 parents adbce99 + d2efa7b commit b8b6b44
Show file tree
Hide file tree
Showing 32 changed files with 1,664 additions and 370 deletions.
32 changes: 13 additions & 19 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,34 +1,31 @@
# PTC-Windchill
This repo contains files that are required to create assets in a Dynatrace tenant including an application, metrics, dashboards and synthetic to monitor PTC Windchill.
In order to create these entities in Dynatrace, you would need 2 items:
# Dynatrace PTC Windchill Starter Set
This repo contains files to create PTC Windchill assets in a Dynatrace tenant including application, metrics, dashboards and synthetic monitors. Check out our Dynatrace blog on PTC Windchill/ThingWorx [here](https://www.dynatrace.com/news/blog/ai-driven-observability-for-ptc-windchill-thingworx/).

In order to create these entities in Dynatrace, you will need two items:

Name | Description
------------ | -------------
Dynatrace tenant url | `Managed` https://{your-domain}/e/{your-environment-id} <br/>`SaaS` https://{your-environment-id}.live.dynatrace.com
API Token | You need the Write configuration (WriteConfig) permission assigned to your API token
API Token | Required permissions outlined in the screenshot below

The API Token needs to have these minimum permissions:
* Write Configuration
* Capture Request Data
* Write Entities
* Write Extensions

![GitHub Logo](/images/TokenPermissions.png)

All the relevant files required to create Dynatrace objects are in the **assets** directory. Under this directory, subfolders are available to create the relevant objects in Dynatrace. For example, all the files to create different dashboards are under Dashboards directory. Each subfolder is prefixed by a numeric value to show the order in which these objects need to be created. Since ManagementZones are created first, it is named as 01-ManagementZones. Note that some dashboards may require minor configuration after deployment - such as filtering a tile to a particular process group.
All the relevant files required to create the Dynatrace objects are in the **assets** directory. Under this directory, there are subfolders containing the assets by category. Each subfolder is prefixed by a numeric value to show the order in which these objects need to be created. Note that some dashboards may require minor configuration after deployment - such as filtering a tile to a particular process group.

Example synthetic monitors are available in the **synthetic** directory, please refer to [README-Synthetic.md](https://github.com/dynatrace-oss/PTC-Windchill/tree/main/synthetic/README-Synthetic.md) - examples include remote file server, queue and server status monitors.

Example synthetic monitors are available in the **synthetic** directory, please refer to the [README-Synthetic.md](https://github.com/dynatrace-oss/PTC-Windchill/tree/main/synthetic/README-Synthetic.md) - examples include remote file server, queue and server status monitors.
There are two ways to deploy the assets to your Dynatrace tenant, with the utility tool or uploading the them manually. Each option is covered in more detail below.

There are 2 ways to create PTC related components to your Dynatrace tenant
### 1. Utility Tool

A utility tool is available to upload all the assets to the Dynatrace tenant. In order to use the utility:
A utility tool is available to automatically upload all the assets to the Dynatrace tenant. In order to use the utility:
* Clone or download this repo.
* [Download](https://github.com/dynatrace-oss/PTC-Windchill/releases/latest) the utility for your OS. Unzip the file. Move the file PTC-Windchill_x.x.x to root of your cloned directory and run it. You will need Dynatrace tenant URL and the token for this utility to work.
* [Download](https://github.com/dynatrace-oss/PTC-Windchill/releases/latest) the utility for your OS. Unzip and move the file PTC-Windchill_x.x.x to the root of your cloned directory. To run the executable - open command prompt, navigate to the executable and run it.

### 2. Manually upload the components
* Please use any tool of your convenience (Postman, curl etc.) to make POST REST call to your Dynatrace tenant. Please use the tool of your choice to apply REST calls for all the files in a given subfolder.

* Please use any tool of your convenience (Postman, curl etc.) to make POST REST calls to your Dynatrace tenant or utilize the API explorer in the Dynatrace UI. Apply all REST calls of the files in a given subfolder.

Method | Endpoint | Subfolder Name | Notes
------------| ----------------------------------- | --------------- | -----------------------
Expand All @@ -39,11 +36,8 @@ POST | /api/config/v1/autoTags | 04-AutoTags |
POST | /api/config/v1/service/requestAttributes | 05-RequestAttributes |
POST | /api/config/v1/calculatedMetrics/service | 06-MetricsService |
POST | /api/config/v1/service/customServices/java?position=APPEND | 07-CustomServices |
POST | /api/config/v1/extensions | 08-Extensions | Extensions require uploading of the zip file.
POST | /api/config/v1/extensions | 08-Extensions | Extensions require uploading the zip files
POST | /api/config/v1/dashboards | 11-Dashboards

### Troubleshooting
Please open new issues if you encounter problems in uploading the components to Dynatrace or if there are missing functionalities for the PTC Windchill pack.

### Contact
Please reach out to [email protected] for assistance with deploying the starter set or for any questions/concerns
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@
"configurationVersions": [
0
],
"clusterVersion": "1.211.90.20210216-141629"
"clusterVersion": "1.230.90.20211115-023414"
},
"name": "CheckIn",
"name": "Checkin Operation",
"enabled": true,
"rules": [
{
Expand Down Expand Up @@ -102,6 +102,103 @@
}
],
"annotations": []
},
{
"enabled": true,
"fileName": "",
"className": "wt.vc.wip.StandardWorkInProgressService",
"matcher": "EQUALS",
"methodRules": [
{
"methodName": "checkin",
"argumentTypes": [
"wt.fc.collections.WTKeyedMap"
],
"returnType": "wt.fc.collections.WTCollection"
},
{
"methodName": "checkin",
"argumentTypes": [
"wt.vc.wip.Workable",
"java.lang.String"
],
"returnType": "wt.vc.wip.Workable"
},
{
"methodName": "checkin",
"argumentTypes": [
"wt.fc.collections.WTKeyedMap",
"wt.folder.Folder"
],
"returnType": "wt.fc.collections.WTCollection"
},
{
"methodName": "checkin",
"argumentTypes": [
"wt.fc.collections.WTCollection",
"java.lang.String",
"java.lang.String"
],
"returnType": "wt.fc.collections.WTCollection"
},
{
"methodName": "checkin",
"argumentTypes": [
"wt.vc.wip.Workable",
"java.lang.String",
"boolean"
],
"returnType": "wt.vc.wip.Workable"
},
{
"methodName": "checkin",
"argumentTypes": [
"wt.fc.collections.WTKeyedMap",
"boolean"
],
"returnType": "wt.fc.collections.WTCollection"
},
{
"methodName": "checkin",
"argumentTypes": [
"wt.fc.collections.WTCollection",
"java.lang.String"
],
"returnType": "wt.fc.collections.WTCollection"
},
{
"methodName": "checkin",
"argumentTypes": [
"wt.fc.collections.WTCollection"
],
"returnType": "void"
},
{
"methodName": "checkin",
"argumentTypes": [
"wt.fc.collections.WTKeyedMap",
"wt.fc.collections.WTValuedMap"
],
"returnType": "wt.fc.collections.WTCollection"
},
{
"methodName": "checkin",
"argumentTypes": [
"wt.fc.WTObject"
],
"returnType": "void"
},
{
"methodName": "checkin",
"argumentTypes": [
"wt.fc.collections.WTCollection",
"java.lang.String",
"wt.folder.Folder"
],
"returnType": "wt.fc.collections.WTCollection"
}
],
"annotations": []
}
],
"queueEntryPoint": false,
Expand Down
84 changes: 0 additions & 84 deletions assets/07-CustomServices/Checkout.json

This file was deleted.

Loading

0 comments on commit b8b6b44

Please sign in to comment.