Skip to main content
Version: 4.7

Enable Monitoring on your SCALE Applications

As tech-stacks evolve and Kubernetes/Rancher platforms are upgraded, additional settings/configurations are needed to enable monitoring on your applications in SCALE DevOps by Instana. Please visit below link and click on specific technology your application(s) uses to see detailed information about installing and configuring Instana data-collector : https://www.ibm.com/docs/en/instana-observability/current?topic=supported-technologies#tracing

Spring Boot and NodeJs seem to be the two main tech stacks in SCALE DevOps, so here are summarized simple steps to follow to enable detailed monitoring for those two tech-stacks :

Spring Boot

Note : below configs for Spring Boot are added to boilerplate by DevOps team, so when you order a new instance of Spring Boot in the portal, you don't need to repeat the steps. Please apply below steps to your existing Spring Boot services.

  1. Spring Boot Actuator needs to be configured in your pom.xml :

org.springframework.boot spring-boot-starter-actuator
  ```

2. For Spring Boot 2.2.x and later it's necessary to enable JMX in the application.properties

  ```
spring.jmx.enabled=true

```
or, in the application.yaml :

![springboot](./springboot.png)

NodeJS

  1. Install the Instana Node.js collector in your app.

    To install the Instana Node.js collector and have your Node.js app monitored by Instana, install the npm package @instana/collector via:

    npm install --save @instana/collector

    Now that the collector is installed, it needs to be activated from within the application. Do this by requiring and initializing it as the first statement in your application:

    require('@instana/collector')();

    // All other require statements must be done after the collector is initialized.
    // Note the () after the require statement of the collector which initializes it.

    // const express = require('express');

    For more in-depth information, refer to the installation page.

  2. Add an env-var INSTANA_AGENT_HOST to your deployment config

    Here is an example deployment.yaml, and the highlighted lines needed to be added :

    apiVersion: apps/v1
    kind: Deployment
    ...
    ...
    ...
    template:
    ...
    ...

    spec:
    containers:

    - env:
    - name: INSTANA_AGENT_HOST
    valueFrom:
    fieldRef:
    fieldPath: status.hostIP


    envFrom:
    - configMapRef:
    name: isf-api
    image: docker-vault.repo-hio.cloudone.netapp.com/tub-risfstg-stg/nodejs-isf-api:1.9.0-release-m378a402c
    imagePullPolicy: Always
    livenessProbe:
    failureThreshold: 3
    httpGet:
    path: /ping
    port: nodejs
    scheme: HTTP
    periodSeconds: 10
    successThreshold: 1
    ...
    ...
    ...

    - Note for Go, Ruby, Python, .NET Core In addition to the instructions in https://www.ibm.com/docs/en/instana-observability/current?topic=supported-technologies#tracing for these technologies, just like NodeJS, these applications need to have the env-var INSTANA_AGENT_HOST defined in deployment.yaml like below :

    spec:
    containers:
    env:
    - name: INSTANA_AGENT_HOST
    valueFrom:
    fieldRef:
    fieldPath: status.hostIP

If you have any further questions/concerns, please contact @Jo,Han in Monitoring & FinOps team.