diff --git a/best-practice/instana/blogs/_category_.json b/best-practice/instana/blogs/_category_.json new file mode 100644 index 00000000..e721b452 --- /dev/null +++ b/best-practice/instana/blogs/_category_.json @@ -0,0 +1,4 @@ +{ + "label": "Blogs", + "position": 10 +} diff --git a/best-practice/instana/blogs/index.mdx b/best-practice/instana/blogs/index.mdx new file mode 100644 index 00000000..d803090a --- /dev/null +++ b/best-practice/instana/blogs/index.mdx @@ -0,0 +1,35 @@ +--- +description: + Instana - Blogs +sidebar_position: 1 +--- + +# Instana - Blogs + +This section contains links to Instana blog posts that practitioners may find useful. This will be updated from time to time with new content as it is published. + + + +**27 Mar 2026** +[Blog: How to reduce PVC size for Elasticsearch]( +https://community.ibm.com/community/user/blogs/oleg-samoylov/2026/03/27/how-to-reduce-pvc-size-for-elasticsearch) + +**26 Feb 2026** +[How to reduce PVC size for Cassandra nodes]( +https://community.ibm.com/community/user/blogs/oleg-samoylov/2026/02/26/how-to-reduce-pvc-size-for-cassandra-nodes) + +**24 Feb 2026** +[How to reduce PVC size for CNPG PostgreSQL]( +https://community.ibm.com/community/user/blogs/oleg-samoylov/2026/02/24/how-to-reduce-pvc-size-for-cnpg-postgresql) + +**27 Jan 2026** +[Disable Selinux Relabeling completely and copy raw-span data from old to new pv]( +https://community.ibm.com/community/user/blogs/oleg-samoylov/2026/01/27/disable-selinux-relabeling-completely-and-copy-raw) + +**17 Mar 2025** +[Cassandra cluster migration procedure from Docker to K8s]( +https://community.ibm.com/community/user/blogs/oleg-samoylov/2025/03/17/procedure-migrate-cassandra-cluster-from-docker-to) + +**25 Dec 2024** +[LDAP groups mapping example]( +https://community.ibm.com/community/user/blogs/oleg-samoylov/2024/12/25/ldap-groups-mapping-example) \ No newline at end of file diff --git a/best-practice/instana/instana-flat-example/_category_.json b/best-practice/instana/instana-flat-example/_category_.json new file mode 100644 index 00000000..b7171b14 --- /dev/null +++ b/best-practice/instana/instana-flat-example/_category_.json @@ -0,0 +1,4 @@ +{ + "label": "Instana Flat Example", + "position": 20 +} diff --git a/best-practice/instana/instana-folder-example/_category_.json b/best-practice/instana/instana-folder-example/_category_.json index f62ffaa0..d970562d 100644 --- a/best-practice/instana/instana-folder-example/_category_.json +++ b/best-practice/instana/instana-folder-example/_category_.json @@ -1,4 +1,4 @@ { "label": "Instana Folder Example", - "position": 10 + "position": 30 } diff --git a/labs/instana/synthetic-pop/99-quiz/index.mdx b/labs/instana/synthetic-pop/3-synthetic/images/99-quiz/index.mdx similarity index 100% rename from labs/instana/synthetic-pop/99-quiz/index.mdx rename to labs/instana/synthetic-pop/3-synthetic/images/99-quiz/index.mdx diff --git a/labs/instana/synthetic-pop/3-synthetic/images/AddSynthetic.png b/labs/instana/synthetic-pop/3-synthetic/images/AddSynthetic.png index 7b262a4c..3c47b909 100644 Binary files a/labs/instana/synthetic-pop/3-synthetic/images/AddSynthetic.png and b/labs/instana/synthetic-pop/3-synthetic/images/AddSynthetic.png differ diff --git a/labs/instana/synthetic-pop/3-synthetic/images/AddSyntheticQOTD.png b/labs/instana/synthetic-pop/3-synthetic/images/AddSyntheticQOTD.png index 323cd15e..8efde794 100644 Binary files a/labs/instana/synthetic-pop/3-synthetic/images/AddSyntheticQOTD.png and b/labs/instana/synthetic-pop/3-synthetic/images/AddSyntheticQOTD.png differ diff --git a/labs/instana/synthetic-pop/3-synthetic/images/CreateSmartAlert.png b/labs/instana/synthetic-pop/3-synthetic/images/CreateSmartAlert.png index 8b9ec834..f6e99d70 100644 Binary files a/labs/instana/synthetic-pop/3-synthetic/images/CreateSmartAlert.png and b/labs/instana/synthetic-pop/3-synthetic/images/CreateSmartAlert.png differ diff --git a/labs/instana/synthetic-pop/3-synthetic/images/CreateSynthTest.png b/labs/instana/synthetic-pop/3-synthetic/images/CreateSynthTest.png index c8abbfbd..8bc05f38 100644 Binary files a/labs/instana/synthetic-pop/3-synthetic/images/CreateSynthTest.png and b/labs/instana/synthetic-pop/3-synthetic/images/CreateSynthTest.png differ diff --git a/labs/instana/synthetic-pop/3-synthetic/images/DeployAPoP.png b/labs/instana/synthetic-pop/3-synthetic/images/DeployAPoP.png index 1bd2e58f..da3c14ae 100644 Binary files a/labs/instana/synthetic-pop/3-synthetic/images/DeployAPoP.png and b/labs/instana/synthetic-pop/3-synthetic/images/DeployAPoP.png differ diff --git a/labs/instana/synthetic-pop/3-synthetic/images/ListOfTests.png b/labs/instana/synthetic-pop/3-synthetic/images/ListOfTests.png index 2848401c..294b7bcc 100644 Binary files a/labs/instana/synthetic-pop/3-synthetic/images/ListOfTests.png and b/labs/instana/synthetic-pop/3-synthetic/images/ListOfTests.png differ diff --git a/labs/instana/synthetic-pop/3-synthetic/images/PointOfPresence_Location.png b/labs/instana/synthetic-pop/3-synthetic/images/PointOfPresence_Location.png index 36441097..1f70ff7a 100644 Binary files a/labs/instana/synthetic-pop/3-synthetic/images/PointOfPresence_Location.png and b/labs/instana/synthetic-pop/3-synthetic/images/PointOfPresence_Location.png differ diff --git a/labs/instana/synthetic-pop/3-synthetic/images/SSL-certificate-expiration.png b/labs/instana/synthetic-pop/3-synthetic/images/SSL-certificate-expiration.png new file mode 100644 index 00000000..54e3feec Binary files /dev/null and b/labs/instana/synthetic-pop/3-synthetic/images/SSL-certificate-expiration.png differ diff --git a/labs/instana/synthetic-pop/3-synthetic/images/SSL-certificate-health.png b/labs/instana/synthetic-pop/3-synthetic/images/SSL-certificate-health.png index fb99cee9..87e68d27 100644 Binary files a/labs/instana/synthetic-pop/3-synthetic/images/SSL-certificate-health.png and b/labs/instana/synthetic-pop/3-synthetic/images/SSL-certificate-health.png differ diff --git a/labs/instana/synthetic-pop/3-synthetic/images/SSL-certificate-hostname.png b/labs/instana/synthetic-pop/3-synthetic/images/SSL-certificate-hostname.png index b35b76b5..60ed910d 100644 Binary files a/labs/instana/synthetic-pop/3-synthetic/images/SSL-certificate-hostname.png and b/labs/instana/synthetic-pop/3-synthetic/images/SSL-certificate-hostname.png differ diff --git a/labs/instana/synthetic-pop/3-synthetic/images/SSL-certificate-location.png b/labs/instana/synthetic-pop/3-synthetic/images/SSL-certificate-location.png index 84665cce..39e9c499 100644 Binary files a/labs/instana/synthetic-pop/3-synthetic/images/SSL-certificate-location.png and b/labs/instana/synthetic-pop/3-synthetic/images/SSL-certificate-location.png differ diff --git a/labs/instana/synthetic-pop/3-synthetic/images/SSL-certificate-name.png b/labs/instana/synthetic-pop/3-synthetic/images/SSL-certificate-name.png index 8bb80eaa..96991d72 100644 Binary files a/labs/instana/synthetic-pop/3-synthetic/images/SSL-certificate-name.png and b/labs/instana/synthetic-pop/3-synthetic/images/SSL-certificate-name.png differ diff --git a/labs/instana/synthetic-pop/3-synthetic/images/SSL-certificate-select.png b/labs/instana/synthetic-pop/3-synthetic/images/SSL-certificate-select.png index ed06a75e..8f7de38b 100644 Binary files a/labs/instana/synthetic-pop/3-synthetic/images/SSL-certificate-select.png and b/labs/instana/synthetic-pop/3-synthetic/images/SSL-certificate-select.png differ diff --git a/labs/instana/synthetic-pop/3-synthetic/images/SyntheticScript.png b/labs/instana/synthetic-pop/3-synthetic/images/SyntheticScript.png index 70871a04..5b0ee4ca 100644 Binary files a/labs/instana/synthetic-pop/3-synthetic/images/SyntheticScript.png and b/labs/instana/synthetic-pop/3-synthetic/images/SyntheticScript.png differ diff --git a/labs/instana/synthetic-pop/3-synthetic/images/SyntheticTestDashboard.png b/labs/instana/synthetic-pop/3-synthetic/images/SyntheticTestDashboard.png index a171ae08..ed6a628b 100644 Binary files a/labs/instana/synthetic-pop/3-synthetic/images/SyntheticTestDashboard.png and b/labs/instana/synthetic-pop/3-synthetic/images/SyntheticTestDashboard.png differ diff --git a/labs/instana/synthetic-pop/_category_.json b/labs/instana/synthetic-pop/3-synthetic/images/_category_.json similarity index 100% rename from labs/instana/synthetic-pop/_category_.json rename to labs/instana/synthetic-pop/3-synthetic/images/_category_.json diff --git a/labs/instana/synthetic-pop/3-synthetic/images/addSynthetics3.png b/labs/instana/synthetic-pop/3-synthetic/images/addSynthetics3.png index 416489f2..f8c107d6 100644 Binary files a/labs/instana/synthetic-pop/3-synthetic/images/addSynthetics3.png and b/labs/instana/synthetic-pop/3-synthetic/images/addSynthetics3.png differ diff --git a/labs/instana/synthetic-pop/3-synthetic/images/filter-on-failed.png b/labs/instana/synthetic-pop/3-synthetic/images/filter-on-failed.png index 58c79181..a37999c3 100644 Binary files a/labs/instana/synthetic-pop/3-synthetic/images/filter-on-failed.png and b/labs/instana/synthetic-pop/3-synthetic/images/filter-on-failed.png differ diff --git a/labs/instana/synthetic-pop/3-synthetic/images/login.png b/labs/instana/synthetic-pop/3-synthetic/images/login.png index 85fcd562..20d11197 100644 Binary files a/labs/instana/synthetic-pop/3-synthetic/images/login.png and b/labs/instana/synthetic-pop/3-synthetic/images/login.png differ diff --git a/labs/instana/synthetic-pop/3-synthetic/images/randomQuote.png b/labs/instana/synthetic-pop/3-synthetic/images/randomQuote.png index 5bb97e85..00dcb8f2 100644 Binary files a/labs/instana/synthetic-pop/3-synthetic/images/randomQuote.png and b/labs/instana/synthetic-pop/3-synthetic/images/randomQuote.png differ diff --git a/labs/instana/synthetic-pop/3-synthetic/images/results-failed.png b/labs/instana/synthetic-pop/3-synthetic/images/results-failed.png index 9e2eb399..ce9badd0 100644 Binary files a/labs/instana/synthetic-pop/3-synthetic/images/results-failed.png and b/labs/instana/synthetic-pop/3-synthetic/images/results-failed.png differ diff --git a/labs/instana/synthetic-pop/3-synthetic/images/results.png b/labs/instana/synthetic-pop/3-synthetic/images/results.png index 59d8fc51..b7d9be23 100644 Binary files a/labs/instana/synthetic-pop/3-synthetic/images/results.png and b/labs/instana/synthetic-pop/3-synthetic/images/results.png differ diff --git a/labs/instana/synthetic-pop/3-synthetic/images/scheduling.png b/labs/instana/synthetic-pop/3-synthetic/images/scheduling.png index 1369b925..62b2f1ef 100644 Binary files a/labs/instana/synthetic-pop/3-synthetic/images/scheduling.png and b/labs/instana/synthetic-pop/3-synthetic/images/scheduling.png differ diff --git a/labs/instana/synthetic-pop/3-synthetic/images/syntheticResults.png b/labs/instana/synthetic-pop/3-synthetic/images/syntheticResults.png index eb68c089..13102737 100644 Binary files a/labs/instana/synthetic-pop/3-synthetic/images/syntheticResults.png and b/labs/instana/synthetic-pop/3-synthetic/images/syntheticResults.png differ diff --git a/labs/instana/synthetic-pop/3-synthetic/images/testJavascript.png b/labs/instana/synthetic-pop/3-synthetic/images/testJavascript.png new file mode 100644 index 00000000..3264dbb5 Binary files /dev/null and b/labs/instana/synthetic-pop/3-synthetic/images/testJavascript.png differ diff --git a/labs/instana/synthetic-pop/3-synthetic/images/testName.png b/labs/instana/synthetic-pop/3-synthetic/images/testName.png index 0b720d27..85d4883d 100644 Binary files a/labs/instana/synthetic-pop/3-synthetic/images/testName.png and b/labs/instana/synthetic-pop/3-synthetic/images/testName.png differ diff --git a/labs/instana/synthetic-pop/3-synthetic/index.mdx b/labs/instana/synthetic-pop/3-synthetic/index.mdx index 83c1792c..30b4f0f8 100644 --- a/labs/instana/synthetic-pop/3-synthetic/index.mdx +++ b/labs/instana/synthetic-pop/3-synthetic/index.mdx @@ -269,7 +269,7 @@ Events: ``` ::: -If th pod failing, execute the following command to reduce CPU requests to be able to schedule the pod: +If the pod fails, execute the following command to reduce CPU requests to be able to schedule the pod: ```bash kubectl patch deployment/synthetic-pop-browserscript-playback-engine -n instana-synthetic \ @@ -295,35 +295,38 @@ From the left navigation menu select **Synthetic Monitoring**. Then select the ![](images/AddSynthetic.png) -On the top right corner of the dialogue click the **"Switch to advanced mode"** -button, then select **SSL Certificate** and click **Select**: +Select **SSL Certificate** tile and click **Next**: -![alt text](images/SSL-certificate-select.png) +![](images/SSL-certificate-select.png) -Specify the address of the test website as `qotd.apps.demo-apps.ibmdte.local` -and the number of days before certificate expiration that will trigger the test -to fail as `15`: +On the "Configure test" step specify the address of the test website as `qotd.apps.demo-apps.ibmdte.local`: ![](images/SSL-certificate-hostname.png) -Scroll down to the **Locations** section and click **Select Location**, then -enable the `Local` location and click **Add Location**: +scroll down to **Failure configuration** section: +- set the number of days before certificate expiration that will trigger the test to fail as `15`; +- set the frequency of the SSL checks to run every `1` minute; +- set checkmark **Accept self-signed certificate** as we use it for our website; -![](images/SSL-certificate-location.png) - -Scroll a little further to the **Schedule: When will this test run?** section -and set the frequency of the SSL checks to run every `1` hour: +![](images/SSL-certificate-expiration.png) -![](images/SSL-certificate-frequency.png) +Click **Next** + +On the "Add locations" step: +- Click **Add Locations** button; +- Select **Private** tab; +- Ensure to select the `on Instana cluster` location. Instana will run the +script from the previously installed _Synthetic Point of Presence_, which can be +placed at multiple locations across available infrastructure. The one we will +use is deployed on the same cluster with Instana; +- Then click **Add Location**; -Scroll to the **Identify: What is the test going to do?** section and give the -test a name and description. We will use values: +![](images/SSL-certificate-location.png) -- **Name:** `Quote of the Day: Certificate check` -- **Description:** `The test checks TLS certificate expiration date every hour.` - -![](images/SSL-certificate-name.png) +Click **Next** +Step "Add associations" is optional and is for associating the test with existing +application or website. :::info Additional optional configuration When the website is part of an **Application** or **Website/Mobile App**, we can @@ -331,13 +334,40 @@ choose certain defined Application perspectives or Website / Mobile Apps to associate the test with. In that case filtering events by the selected perspective will provide relevant context including TLS certificate checks. +We will not do it in this lab. +::: + +Click **Next** + +Step "Add teams" is also optional and fot assigning permissions for a certain team. +:::info Additional optional configuration + +We can associate **Teams** with the test. Members of the team will gain access +to the test. + +We will not use it in this lab. +::: + +Click **Next** + +Step "Add custom properties" is optional and allows to add additional parameters +visible in notifications. +:::info Additional optional configuration + You can also set **Custom Properties** in order to differentiate projects or particular certificates for notifications. -We will not do these in this lab. - +We will not use it in this lab. ::: +Click **Next** + +On "Enter details" step ive the test: +- **Name:** `Quote of the Day: Certificate check`; +- **Description:** `The test checks TLS certificate expiration date every hour.`; + +![](images/SSL-certificate-name.png) + Click **Create** to create the test. :::tip Ensure **Live** updates are enabled @@ -347,12 +377,12 @@ update, toggle on the **Live** button to get the latest updates. ::: -![alt text](images/SSL-certificate-health.png) +![](images/SSL-certificate-health.png) Click on the name of the test to investigate the summary of the certificate check. If you see a message like `No results for this time frame`, then wait -a few minutes, change time the frame to a longer period, for example -`last 30 minutes` and refresh the browser page. +for few minutes, change time the frame to a longer period, for example +`last 30 minutes` or refresh the browser page. ## 3.5 REST API Synthetic Tests @@ -369,35 +399,81 @@ then click the **Create synthetic test** button: ![](images/AddSynthetic.png) -On the dialog that opens, you will see two options under **API** -test. Choose **API Simple** and click the **Select** button: +On the dialog that opens, select tile **API Simple** and click **Next** button: ![](images/addSynthetics3.png) -Scroll down for a new dialog prompting for the REST API **GET** URL. Enter the following URL: +On "Config test" step use the following **URL**: ```sh https://qotd.apps.demo-apps.ibmdte.local/random ``` + ![](images/AddSyntheticQOTD.png) This could be any REST request. In this case, we are testing the `/random` API call within the **Quote of the Day** application. -Then, scroll down to Locations and select your **on Instana Cluster** location. This allows you to choose the -location(s) where you want your synthetic script to execute. In the lab, you -only have 1 location that you can select, so we choose `on Instana cluster` and click -**Add location**: +Scroll down the dialog to specify the scheduling interval for the synthetic +test. Set interval to 1 minute. Then, click **Next**: + +![](images/scheduling.png) + + +On the "Add locations" step: +- Click **Add Locations** button; +- Select **Private** tab; +- Ensure to select the `on Instana cluster` location. Instana will run the +script from the previously installed _Synthetic Point of Presence_, which can be +placed at multiple locations across available infrastructure. The one we will +use is deployed on the same cluster with Instana; +- Then click **Add Location**; ![](images/SSL-certificate-location.png) -The next step allows you to specify the scheduling interval for your synthetic -test. Drag the time slider to 1 minute. Then, scroll down: -![](images/scheduling.png) +Click **Next** + +Step "Add associations" is optional and is for associating the test with existing +application or website. +:::info Additional optional configuration + +When the website is part of an **Application** or **Website/Mobile App**, we can +choose certain defined Application perspectives or Website / Mobile Apps to +associate the test with. In that case filtering events by the selected +perspective will provide relevant context including TLS certificate checks. + +We will not do it in this lab. +::: -On the next screen you will give your synthetic test a name and description +Click **Next** + +Step "Add teams" is also optional and fot assigning permissions for a certain team. +:::info Additional optional configuration + +We can associate **Teams** with the test. Members of the team will gain access +to the test. + +We will not use it in this lab. +::: + +Click **Next** + +Step "Add custom properties" is optional and allows to add additional parameters +visible in notifications. +:::info Additional optional configuration + +You can also set **Custom Properties** in order to differentiate projects or +particular certificates for notifications. + +We will not use it in this lab. +::: + +Click **Next** + + +On the step "Enter details" you will give your synthetic test a name and description using the values: - **Name of the test:** `Random Quote` @@ -405,17 +481,11 @@ using the values: ![](images/testName.png) -Scroll down. - -On the next step, you can associate the synthetic test with an application. In -this lab we didn't create any Application Perspectives, we will skip the -optional step. - Finally, click the **Create** button to finish creating your synthetic test. At this point, you should see a synthetic test named **Random Quote**: -![alt text](images/randomQuote.png) +![](images/randomQuote.png) It will take up to a minute for the synthetic tests to begin executing, so wait for the **Health** to update and show a green check mark. @@ -424,7 +494,7 @@ Click on the **Random Quote** link to drill down into the details of the synthetic test. On the screen, you can see a summary of the synthetic results. Make sure to -adjust the time window to `Last 5 minutes`: +adjust the time window to `Last 5 minutes` to see near term perspective: ![](images/syntheticResults.png) @@ -450,13 +520,12 @@ navigation menu, choose **Synthetic tests** and click the **Create synthetic tes ![](images/AddSynthetic.png) -In the **Create Synthetic Test** dialog, select **API** and **API Script test** click the -**Select** button: +On "Select tesy type" step of the **Create Synthetic Test** dialog, select **API Script** +tile and click the **Next** button: ![](images/SyntheticScript.png) -Scroll down to Script section and click **Add Script**. -Paste the following JavaScript code into the **script** text field as shown below: +On step "Configure test" use the following JavaScript code: ```javascript var assert = require("assert") @@ -505,26 +574,63 @@ $http.get(options, function (error, response, body) { }) ``` -Click **Save** +Paste the JavaScript code into the **text field** and set test **frequency** to `1` minute: + +![](images/testJavascript.png) -Scroll down, ensure to select the `on Instana cluster` location. Instana will run the +Click **Next** + +On the "Add locations" step: +- Click **Add Locations** button; +- Select **Private** tab; +- Ensure to select the `on Instana cluster` location. Instana will run the script from the previously installed _Synthetic Point of Presence_, which can be placed at multiple locations across available infrastructure. The one we will -use is deployed on the same cluster with Instana. Note, it may have a different -name in different releases of Instana: +use is deployed on the same cluster with Instana; +- Then click **Add Location**; -![](images/Create_Synthetic_Test.png) +![](images/SSL-certificate-location.png) -Scroll down. +Click **Next** -In the **Scheduling** section, adjust the time slider to run the test every `1` -minute: +Step "Add associations" is optional and is for associating the test with existing +application or website. +:::info Additional optional configuration -![](images/scheduling.png) +When the website is part of an **Application** or **Website/Mobile App**, we can +choose certain defined Application perspectives or Website / Mobile Apps to +associate the test with. In that case filtering events by the selected +perspective will provide relevant context including TLS certificate checks. + +We will not do it in this lab. +::: + +Click **Next** + +Step "Add teams" is also optional and fot assigning permissions for a certain team. +:::info Additional optional configuration + +We can associate **Teams** with the test. Members of the team will gain access +to the test. + +We will not use it in this lab. +::: + +Click **Next** + +Step "Add custom properties" is optional and allows to add additional parameters +visible in notifications. +:::info Additional optional configuration + +You can also set **Custom Properties** in order to differentiate projects or +particular certificates for notifications. + +We will not use it in this lab. +::: -Then, scroll down. +Click **Next** -Give the test a meaningful name and description, then scroll down. We will +On "Enter details" step give the test a meaningful name and description, then scroll down. We will use values: - **Name of the test:** `Quote of the Day: REST API Check` @@ -533,12 +639,6 @@ use values: ![](images/CreateSynthTest.png) -At the **Associate** step you may specify the list of existing application -perspectives for which the test is relevant. The result of the test will appear -on the **Synthetic Monitoring** tab of the _Application_ dashboard and you will -be able to filter tests by application on the **Synthetic Monitoring** -dashboard. We didn't create any Application Perspectives in this lab, so will -skip this step. Click the **Create** button. @@ -555,7 +655,7 @@ By now you should see a list of tests: Click on the test name to access the dashboard of the synthetic test, open **Results** tab and select one of the test records: -![alt text](images/SyntheticTestDashboard.png) +![](images/SyntheticTestDashboard.png) :::note What is the test script doing?