Skip to main content
Version: 4.8

Application Monitoring

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: Configuring and monitoring supported technologies

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:

    pom.xml
    <dependency>
    <groupId> org.springframework.boot </groupId>
    <artifactId> spring-boot-starter-actuator </artifactId>
    </dependency>
  2. For Spring Boot 2.2.x and later it's necessary to enable JMX in:

    application.properties
    spring.jmx.enabled=true

    or:

    application.yaml
    management:
    port: 9000
    security:
    enabled: false

    spring:
    jmx:
    enabled: true

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:

    deployment.yaml
    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: These applications need to have the env-var INSTANA_AGENT_HOST defined:

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

    If you have any further questions or concerns, please contact Han.Jo@netapp.com from the Monitoring & FinOps team.