#!/bin/sh # Author : NTT Data AG # Date : 16-05-2023 # Installs New Relic agent on target machine show_help() { cat < Set environment for New Relic installation (k8s | helm | docker | linux) -a, --account Set account id (int) -k, --api-key Set API key -r, --region Set New Relic Region (EU) -n, --cluster-name Set cluster name. Required for k8s -l, --license-key Set license key EOF } show_allowed_environments () { cat <&1 | grep 'Server Version' | awk -F' v' '{ print $2; }' | awk -F. '{ print $1"."$2; }') && \ # if [[ $(ver $K8S_VERSION) -lt $(ver "1.25") ]]; then KSM_IMAGE_VERSION="v2.6.0"; else KSM_IMAGE_VERSION="v2.7.0"; fi && \ # helm repo add newrelic https://helm-charts.newrelic.com && helm repo update && \ # kubectl create namespace newrelic ; helm upgrade --install newrelic-bundle newrelic/nri-bundle \ # --set global.licenseKey=$license_key \ # --set global.cluster=$cluster_name \ # --namespace=newrelic \ # --set newrelic-infrastructure.privileged=true \ # --set global.lowDataMode=true \ # --set kube-state-metrics.image.tag=${KSM_IMAGE_VERSION} \ # --set kube-state-metrics.enabled=true \ # --set kubeEvents.enabled=true \ # --set newrelic-prometheus-agent.enabled=true \ # --set newrelic-prometheus-agent.lowDataMode=true \ # --set newrelic-prometheus-agent.config.kubernetes.integrations_filter.enabled=false \ # --set logging.enabled=true \ # --set newrelic-logging.lowDataMode=true echo "helm not supported yet" exit 1 } while [ "$#" -gt 0 ]; do case "$1" in -h|--help) show_help exit 0 ;; -e|--environment) if [ "$2" ]; then environment="$2" shift 2 else echo "Error: Missing argument for $1 option" show_help exit 1 fi ;; -a|--account) if [ "$2" ]; then account_id="$2" shift 2 else if [ "$environment" == "k8s" ] || [ "$environment" == "linux"]; then echo "Error: Missing argument for $1 option" show_help exit 1 else $account_id = false fi fi ;; -k|--api-key) if [ "$2" ]; then api_key="$2" shift 2 else if [ "$environment" == "k8s" ] || [ "$environment" == "linux"]; then echo "Error: Missing argument for $1 option" show_help exit 1 else $api_key = false fi fi ;; -r|--region) if [ "$2" ]; then region="$2" shift 2 else if [ "$environment" == "k8s" ] || [ "$environment" == "linux"]; then echo "Error: Missing argument for $1 option" show_help exit 1 else $region = false fi fi ;; -c|--cluster-name) if [ "$2" ]; then cluster_name="$2" shift 2 else if [ "$environment" == "k8s" ] || [ "$environment" == "helm"]; then echo "Error: Missing argument for $1 option" show_help exit 1 else $cluster_name = false fi fi ;; -l|--license-key) if [ "$2" ]; then license_key="$2" shift 2 else if [ "$environment" == "docker" ] || [ "$environment" == "helm"]; then echo "Error: Missing argument for $1 option" show_help exit 1 else $license_key = false fi fi ;; *) echo "Error: Unrecognized option $1" show_help exit 1 ;; esac done if ["$environment" == "k8s"]; then setup_k8s else echo "$environment not supported yet." fi