GithubHelp home page GithubHelp logo

newrelic / newrelic-unix-monitor Goto Github PK

View Code? Open in Web Editor NEW
29.0 25.0 22.0 7.95 MB

Monitoring service for Unix (AIX, Linux, HP-UX, MacOS, Solaris) systems

Home Page: https://docs.newrelic.com/docs/infrastructure/host-integrations/host-integrations-list/unix-monitoring-integration/

License: Other

JavaScript 5.44% Shell 30.73% Java 57.92% HTML 5.91%
expert-services insights unix aix solaris macos macosx linux nrlabs hp-ux

newrelic-unix-monitor's People

Contributors

bpecknr avatar csandels avatar devin-li avatar gsidhwani-nr avatar hsinghkalsi avatar msummers-nr avatar ricegi avatar sdewitt-newrelic avatar snyk-bot avatar sschwartzman avatar steve24by7 avatar vvydier avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

newrelic-unix-monitor's Issues

Capture Uptime for the AIX Server

We would like to capture AIX server uptime. The changes that we made to plugin-commands-aix.json is not working, agent stops sending data.
There is a uptime command in the plugin....json file but it is not capturing uptime. Could you please change this expression to capture uptime?
{
"eventType": "Stats",
"command": "uptime",
"mappings": [{
"expression": ".*load average:\s+([0-9\.]+),\s+([0-9\.]+),\s+([0-9\.]+)",
"metrics": [{
"name": "LoadAverage.1 Minute",
"type": "NORMAL"
},
{
"name": "LoadAverage.5 Minute",
"type": "NORMAL"
},
{
"name": "LoadAverage.15 Minute",
"type": "NORMAL"
}
]
}]
}

We tried to add another command like below but this is not working. Please add option to capture uptime.
{
"eventType": "Stats",
"command": "uptime | awk '{print $3}'",
"mappings": [{
"expression": "\d+",
"metrics": [{
"name": "Server Uptime",
"type": "NORMAL"
}
]
}]
}

Oracle database monitoring in AIX Machine

We have implemented the oracle integration to Oracle instance in AIX and it is not getting reported to new [relic.]
whenever we are running the init script, it will give the output as below. It says that instance is running but data is not reporting to new relic.

Please find below the logs for reference
(vix01)(oracle)(CASPROD)/tech/newrelic> /tech/newrelic/newrelic_ora_mon.sh
New Relic Oracle Plug-in Instance 1 is NOT running
Attempt to start Oracle Plug-in Instance 1

Written by : ETS Disa Kwok

Change Record:

21-AUG-2021 Startup and ShutDown New Relic DB Plug-in infradbplugin_java-0.11.1.tar

25-APR-2022 Startup and ShutDown New Relic Plug-in nri-db-2.1.0.tar

#!/bin/sh

usage()
{
echo "Usage: $0 start | all "
echo " $0 stop | all "
echo " $0 status | all "
}

datestr=date

    • date
      datestr=Mon May 8 16:11:03 +08 2023
      nrhome="/tech/newrelic"
  • nrhome=/tech/newrelic
    nrapp="nri-db-2.1.0"
  • nrapp=nri-db-2.1.0

javaexe='/usr/java8_64/jre/bin/java'

  • javaexe=/usr/java8_64/jre/bin/java

Check if java 8 is installed

if [ ! -f "$javaexe" ] ; then
javaexe='/usr/java8/jre/bin/java'
if [ ! -f "$javaexe" ] ; then
echo "$javaexe does not exist"
echo "Exiting with error code 1"
exit 1
fi
PATH=/usr/java8/jre/bin:/usr/java8/bin:$PATH
else
PATH=/usr/java8_64/jre/bin:/usr/java8_64/bin:$PATH
fi

  • [ ! -f /usr/java8_64/jre/bin/java ]
  • PATH=/usr/java8_64/jre/bin:/usr/java8_64/bin:/usr/bin:/etc:/usr/sbin:/usr/ucb:/home/oracle/bin:/usr/bin/X11:/sbin:.://u01/app/oracle/product/19.0.0/dbhome_1/jdk/bin:/u01/app/oracle/product/19.0.0/dbhome_1/bin:.

This is to avoid using /opt/freeware on some server

PATH=/usr/bin:$PATH

  • PATH=/usr/bin:/usr/java8_64/jre/bin:/usr/java8_64/bin:/usr/bin:/etc:/usr/sbin:/usr/ucb:/home/oracle/bin:/usr/bin/X11:/sbin:.://u01/app/oracle/product/19.0.0/dbhome_1/jdk/bin:/u01/app/oracle/product/19.0.0/dbhome_1/bin:.
    export PATH
  • export PATH
    ORIGPATH=$PATH
  • ORIGPATH=/usr/bin:/usr/java8_64/jre/bin:/usr/java8_64/bin:/usr/bin:/etc:/usr/sbin:/usr/ucb:/home/oracle/bin:/usr/bin/X11:/sbin:.://u01/app/oracle/product/19.0.0/dbhome_1/jdk/bin:/u01/app/oracle/product/19.0.0/dbhome_1/bin:.

action=$1

  • action=start
    nrinst=$2
  • nrinst=1
    case $nrinst in
    1|2|3|4)
    echo "Performing action $action on New Relic Plug-in for Instance $nrinst"
    nrinstlist=$nrinst
    ;;
    all)
    echo "Performing action $action for ALL New Relic Plug-in instances"
    nrinstlist=find ../newrelic \( ! -name 'newrelic' -prune \) -name 'nri-db-2.1.0_[1-9]' -type d -print |rev | cut -d '_' -f1
    ;;
    *)
    usage
    exit 1
    ;;
    esac
  • echo Performing action start on New Relic Plug-in for Instance 1
    Performing action start on New Relic Plug-in for Instance 1
  • nrinstlist=1

for nrinst in $nrinstlist
do
nrcfgdir="$nrhome/${nrapp}${nrinst}/config"
nrlibdir="$nrhome/${nrapp}
${nrinst}/lib"

# check exisitence of config directory
if [ ! -d "$nrcfgdir" ] ; then
    echo "New Relic Plug-in config directory does not exist for Instance ${nrinst}"
    continue
fi

# check exisitence of lib directory
if [ ! -d "$nrlibdir" ] ; then
    echo "New Relic Plug-in lib directory does not exist for Instance ${nrinst}"
    continue
fi

case "$action" in
start)
     nrpid=`ps -uoracle -o "%p %a" | grep "com.newrelic.infra.db.Main" |  grep "${nrapp}_${nrinst}" | grep -v grep |  awk '{printf("%s\n",$1)}' `
     if [ -z "$nrpid" ]; then
        echo "Starting New Relic Oracle Plug-in at $datestr for Instance ${nrinst}"
        echo " "
        CLASSPATH=$nrlibdir/nri-db-2.1.0.jar:$nrlibdir/slf4j-jdk14-1.7.30.jar:$nrlibdir/infra_publish-2.3.1.jar:$nrlibdir/insights_client-1.0.9.jar:$nrlibdir/slf4j-api-1.7.30.jar:$nrlibdir/gson-2.8.6.jar:$nrlibdir/jasypt-1.9.3.jar:$nrlibdir/commons-lang3-3.12.0.jar:$nrlibdir/postgresql-42.2.19.jar:$nrlibdir/hsqldb-2.5.1.jar:$nrlibdir/jackson-databind-2.6.7.1.jar:$nrlibdir/checker-qual-3.5.0.jar:$nrlibdir/jackson-annotations-2.6.0.jar:$nrlibdir/jackson-core-2.6.7.jar:$nrlibdir/httpclient-4.5.6.jar:$nrlibdir/httpcore-4.4.10.jar:$nrlibdir/commons-logging-1.2.jar:$nrlibdir/commons-codec-1.10.jar:$nrhome/ojdbc8.jar
        export CLASSPATH

        DEFAULT_JVM_OPTS="-Djava.util.logging.config.file=$nrcfgdir/logging.properties"

       ## must change the directory where .nridbrc exists
        cd $nrhome/${nrapp}_${nrinst}
        nohup $javaexe  -Xms16m -Xmx128m -classpath "$CLASSPATH" $DEFAULT_JVM_OPTS com.newrelic.infra.db.Main   >/dev/null 2>&1 &
        nrpid=$!
        echo "New Relic Oracle Plug-in started with pid $nrpid for Instance ${nrinst}"
     else
        echo "New Relic Oracle Plug-in is already running as $nrpid for Instance ${nrinst}"
        echo " "
        echo "Stop the running New Relic Oracle Plug-in first"
     fi
     ;;
stop)
     echo "Stopping New Relic Oracle Plug-in at $datestr for Instance ${nrinst}"
     echo " "
     cd $nrhome
     nrpid=`ps -uoracle -o "%p %a" | grep "com.newrelic.infra.db.Main" |  grep "${nrapp}_${nrinst}" | grep -v grep |  awk '{printf("%s\n",$1)}' `
     if [ -z "$nrpid" ]; then
        echo "New Relic Oracle Plug-in is not running. No Plug-in is stopped"
     else
        kill -9 $nrpid
        echo "New Relic Oracle Plug-in with pid $nrpid is terminated with kill -9 for Instance ${nrinst}"
     fi
     ;;
status)
     echo "Checking Status of New Relic Oracle Plug-in at $datestr for Instance ${nrinst}"
     echo " "
     cd $nrhome
     nrpid=`ps -uoracle -o "%p %a" | grep "com.newrelic.infra.db.Main" |  grep "${nrapp}_${nrinst}" | grep -v grep |  awk '{printf("%s\n",$1)}' `
     if [ -z "$nrpid" ]; then
        echo "New Relic Oracle Plug-in is not running for Instance ${nrinst}"
     else
        echo "New Relic Oracle Plug-in running with pid $nrpid for Instance ${nrinst}"
     fi
     ;;
*)
     usage
     ;;
esac

done

  • nrcfgdir=/tech/newrelic/nri-db-2.1.0_1/config

  • nrlibdir=/tech/newrelic/nri-db-2.1.0_1/lib

  • [ ! -d /tech/newrelic/nri-db-2.1.0_1/config ]

  • [ ! -d /tech/newrelic/nri-db-2.1.0_1/lib ]

    • ps -uoracle -o %p %a
  • grep com.newrelic.infra.db.Main

  • awk {printf("%s\n",$1)}

  • grep nri-db-2.1.0_1

  • grep -v grep
    nrpid=

  • [ -z ]

  • echo Starting New Relic Oracle Plug-in at Mon May 8 16:11:03 +08 2023 for Instance 1
    Starting New Relic Oracle Plug-in at Mon May 8 16:11:03 +08 2023 for Instance 1

  • echo

  • CLASSPATH=/tech/newrelic/nri-db-2.1.0_1/lib/nri-db-2.1.0.jar:/tech/newrelic/nri-db-2.1.0_1/lib/slf4j-jdk14-1.7.30.jar:/tech/newrelic/nri-db-2.1.0_1/lib/infra_publish-2.3.1.jar:/tech/newrelic/nri-db-2.1.0_1/lib/insights_client-1.0.9.jar:/tech/newrelic/nri-db-2.1.0_1/lib/slf4j-api-1.7.30.jar:/tech/newrelic/nri-db-2.1.0_1/lib/gson-2.8.6.jar:/tech/newrelic/nri-db-2.1.0_1/lib/jasypt-1.9.3.jar:/tech/newrelic/nri-db-2.1.0_1/lib/commons-lang3-3.12.0.jar:/tech/newrelic/nri-db-2.1.0_1/lib/postgresql-42.2.19.jar:/tech/newrelic/nri-db-2.1.0_1/lib/hsqldb-2.5.1.jar:/tech/newrelic/nri-db-2.1.0_1/lib/jackson-databind-2.6.7.1.jar:/tech/newrelic/nri-db-2.1.0_1/lib/checker-qual-3.5.0.jar:/tech/newrelic/nri-db-2.1.0_1/lib/jackson-annotations-2.6.0.jar:/tech/newrelic/nri-db-2.1.0_1/lib/jackson-core-2.6.7.jar:/tech/newrelic/nri-db-2.1.0_1/lib/httpclient-4.5.6.jar:/tech/newrelic/nri-db-2.1.0_1/lib/httpcore-4.4.10.jar:/tech/newrelic/nri-db-2.1.0_1/lib/commons-logging-1.2.jar:/tech/newrelic/nri-db-2.1.0_1/lib/commons-codec-1.10.jar:/tech/newrelic/ojdbc8.jar

  • export CLASSPATH

  • DEFAULT_JVM_OPTS=-Djava.util.logging.config.file=/tech/newrelic/nri-db-2.1.0_1/config/logging.properties

  • cd /tech/newrelic/nri-db-2.1.0_1

  • nrpid=6423250

  • echo New Relic Oracle Plug-in started with pid 6423250 for Instance 1
    New Relic Oracle Plug-in started with pid 6423250 for Instance 1

exit 0

  • exit 0
  • nohup /usr/java8_64/jre/bin/java -Xms16m -Xmx128m -classpath /tech/newrelic/nri-db-2.1.0_1/lib/nri-db-2.1.0.jar:/tech/newrelic/nri-db-2.1.0_1/lib/slf4j-jdk14-1.7.30.jar:/tech/newrelic/nri-db-2.1.0_1/lib/infra_publish-2.3.1.jar:/tech/newrelic/nri-db-2.1.0_1/lib/insights_client-1.0.9.jar:/tech/newrelic/nri-db-2.1.0_1/lib/slf4j-api-1.7.30.jar:/tech/newrelic/nri-db-2.1.0_1/lib/gson-2.8.6.jar:/tech/newrelic/nri-db-2.1.0_1/lib/jasypt-1.9.3.jar:/tech/newrelic/nri-db-2.1.0_1/lib/commons-lang3-3.12.0.jar:/tech/newrelic/nri-db-2.1.0_1/lib/postgresql-42.2.19.jar:/tech/newrelic/nri-db-2.1.0_1/lib/hsqldb-2.5.1.jar:/tech/newrelic/nri-db-2.1.0_1/lib/jackson-databind-2.6.7.1.jar:/tech/newrelic/nri-db-2.1.0_1/lib/checker-qual-3.5.0.jar:/tech/newrelic/nri-db-2.1.0_1/lib/jackson-annotations-2.6.0.jar:/tech/newrelic/nri-db-2.1.0_1/lib/jackson-core-2.6.7.jar:/tech/newrelic/nri-db-2.1.0_1/lib/httpclient-4.5.6.jar:/tech/newrelic/nri-db-2.1.0_1/lib/httpcore-4.4.10.jar:/tech/newrelic/nri-db-2.1.0_1/lib/commons-logging-1.2.jar:/tech/newrelic/nri-db-2.1.0_1/lib/commons-codec-1.10.jar:/tech/newrelic/ojdbc8.jar -Djava.util.logging.config.file=/tech/newrelic/nri-db-2.1.0_1/config/logging.properties com.newrelic.infra.db.Main
  • 1> /dev/null 2>& 1
    New Relic Oracle Plug-in Instance 2 is NOT running
    Attempt to start Oracle Plug-in Instance 2

Written by : ETS Disa Kwok

Change Record:

21-AUG-2021 Startup and ShutDown New Relic DB Plug-in infradbplugin_java-0.11.1.tar

25-APR-2022 Startup and ShutDown New Relic Plug-in nri-db-2.1.0.tar

#!/bin/sh

usage()
{
echo "Usage: $0 start | all "
echo " $0 stop | all "
echo " $0 status | all "
}

datestr=date

    • date
      datestr=Mon May 8 16:11:03 +08 2023
      nrhome="/tech/newrelic"
  • nrhome=/tech/newrelic
    nrapp="nri-db-2.1.0"
  • nrapp=nri-db-2.1.0

javaexe='/usr/java8_64/jre/bin/java'

  • javaexe=/usr/java8_64/jre/bin/java

Check if java 8 is installed

if [ ! -f "$javaexe" ] ; then
javaexe='/usr/java8/jre/bin/java'
if [ ! -f "$javaexe" ] ; then
echo "$javaexe does not exist"
echo "Exiting with error code 1"
exit 1
fi
PATH=/usr/java8/jre/bin:/usr/java8/bin:$PATH
else
PATH=/usr/java8_64/jre/bin:/usr/java8_64/bin:$PATH
fi

  • [ ! -f /usr/java8_64/jre/bin/java ]
  • PATH=/usr/java8_64/jre/bin:/usr/java8_64/bin:/usr/bin:/etc:/usr/sbin:/usr/ucb:/home/oracle/bin:/usr/bin/X11:/sbin:.://u01/app/oracle/product/19.0.0/dbhome_1/jdk/bin:/u01/app/oracle/product/19.0.0/dbhome_1/bin:.

This is to avoid using /opt/freeware on some server

PATH=/usr/bin:$PATH

  • PATH=/usr/bin:/usr/java8_64/jre/bin:/usr/java8_64/bin:/usr/bin:/etc:/usr/sbin:/usr/ucb:/home/oracle/bin:/usr/bin/X11:/sbin:.://u01/app/oracle/product/19.0.0/dbhome_1/jdk/bin:/u01/app/oracle/product/19.0.0/dbhome_1/bin:.
    export PATH
  • export PATH
    ORIGPATH=$PATH
  • ORIGPATH=/usr/bin:/usr/java8_64/jre/bin:/usr/java8_64/bin:/usr/bin:/etc:/usr/sbin:/usr/ucb:/home/oracle/bin:/usr/bin/X11:/sbin:.://u01/app/oracle/product/19.0.0/dbhome_1/jdk/bin:/u01/app/oracle/product/19.0.0/dbhome_1/bin:.

action=$1

  • action=start
    nrinst=$2
  • nrinst=2
    case $nrinst in
    1|2|3|4)
    echo "Performing action $action on New Relic Plug-in for Instance $nrinst"
    nrinstlist=$nrinst
    ;;
    all)
    echo "Performing action $action for ALL New Relic Plug-in instances"
    nrinstlist=find ../newrelic \( ! -name 'newrelic' -prune \) -name 'nri-db-2.1.0_[1-9]' -type d -print |rev | cut -d '_' -f1
    ;;
    *)
    usage
    exit 1
    ;;
    esac
  • echo Performing action start on New Relic Plug-in for Instance 2
    Performing action start on New Relic Plug-in for Instance 2
  • nrinstlist=2

for nrinst in $nrinstlist
do
nrcfgdir="$nrhome/${nrapp}${nrinst}/config"
nrlibdir="$nrhome/${nrapp}
${nrinst}/lib"

# check exisitence of config directory
if [ ! -d "$nrcfgdir" ] ; then
    echo "New Relic Plug-in config directory does not exist for Instance ${nrinst}"
    continue
fi

# check exisitence of lib directory
if [ ! -d "$nrlibdir" ] ; then
    echo "New Relic Plug-in lib directory does not exist for Instance ${nrinst}"
    continue
fi

case "$action" in
start)
     nrpid=`ps -uoracle -o "%p %a" | grep "com.newrelic.infra.db.Main" |  grep "${nrapp}_${nrinst}" | grep -v grep |  awk '{printf("%s\n",$1)}' `
     if [ -z "$nrpid" ]; then
        echo "Starting New Relic Oracle Plug-in at $datestr for Instance ${nrinst}"
        echo " "
        CLASSPATH=$nrlibdir/nri-db-2.1.0.jar:$nrlibdir/slf4j-jdk14-1.7.30.jar:$nrlibdir/infra_publish-2.3.1.jar:$nrlibdir/insights_client-1.0.9.jar:$nrlibdir/slf4j-api-1.7.30.jar:$nrlibdir/gson-2.8.6.jar:$nrlibdir/jasypt-1.9.3.jar:$nrlibdir/commons-lang3-3.12.0.jar:$nrlibdir/postgresql-42.2.19.jar:$nrlibdir/hsqldb-2.5.1.jar:$nrlibdir/jackson-databind-2.6.7.1.jar:$nrlibdir/checker-qual-3.5.0.jar:$nrlibdir/jackson-annotations-2.6.0.jar:$nrlibdir/jackson-core-2.6.7.jar:$nrlibdir/httpclient-4.5.6.jar:$nrlibdir/httpcore-4.4.10.jar:$nrlibdir/commons-logging-1.2.jar:$nrlibdir/commons-codec-1.10.jar:$nrhome/ojdbc8.jar
        export CLASSPATH

        DEFAULT_JVM_OPTS="-Djava.util.logging.config.file=$nrcfgdir/logging.properties"

       ## must change the directory where .nridbrc exists
        cd $nrhome/${nrapp}_${nrinst}
        nohup $javaexe  -Xms16m -Xmx128m -classpath "$CLASSPATH" $DEFAULT_JVM_OPTS com.newrelic.infra.db.Main   >/dev/null 2>&1 &
        nrpid=$!
        echo "New Relic Oracle Plug-in started with pid $nrpid for Instance ${nrinst}"
     else
        echo "New Relic Oracle Plug-in is already running as $nrpid for Instance ${nrinst}"
        echo " "
        echo "Stop the running New Relic Oracle Plug-in first"
     fi
     ;;
stop)
     echo "Stopping New Relic Oracle Plug-in at $datestr for Instance ${nrinst}"
     echo " "
     cd $nrhome
     nrpid=`ps -uoracle -o "%p %a" | grep "com.newrelic.infra.db.Main" |  grep "${nrapp}_${nrinst}" | grep -v grep |  awk '{printf("%s\n",$1)}' `
     if [ -z "$nrpid" ]; then
        echo "New Relic Oracle Plug-in is not running. No Plug-in is stopped"
     else
        kill -9 $nrpid
        echo "New Relic Oracle Plug-in with pid $nrpid is terminated with kill -9 for Instance ${nrinst}"
     fi
     ;;
status)
     echo "Checking Status of New Relic Oracle Plug-in at $datestr for Instance ${nrinst}"
     echo " "
     cd $nrhome
     nrpid=`ps -uoracle -o "%p %a" | grep "com.newrelic.infra.db.Main" |  grep "${nrapp}_${nrinst}" | grep -v grep |  awk '{printf("%s\n",$1)}' `
     if [ -z "$nrpid" ]; then
        echo "New Relic Oracle Plug-in is not running for Instance ${nrinst}"
     else
        echo "New Relic Oracle Plug-in running with pid $nrpid for Instance ${nrinst}"
     fi
     ;;
*)
     usage
     ;;
esac

done

  • nrcfgdir=/tech/newrelic/nri-db-2.1.0_2/config

  • nrlibdir=/tech/newrelic/nri-db-2.1.0_2/lib

  • [ ! -d /tech/newrelic/nri-db-2.1.0_2/config ]

  • [ ! -d /tech/newrelic/nri-db-2.1.0_2/lib ]

    • ps -uoracle -o %p %a
  • grep com.newrelic.infra.db.Main

  • grep nri-db-2.1.0_2

  • grep -v grep

  • awk {printf("%s\n",$1)}
    nrpid=

  • [ -z ]

  • echo Starting New Relic Oracle Plug-in at Mon May 8 16:11:03 +08 2023 for Instance 2
    Starting New Relic Oracle Plug-in at Mon May 8 16:11:03 +08 2023 for Instance 2

  • echo

  • CLASSPATH=/tech/newrelic/nri-db-2.1.0_2/lib/nri-db-2.1.0.jar:/tech/newrelic/nri-db-2.1.0_2/lib/slf4j-jdk14-1.7.30.jar:/tech/newrelic/nri-db-2.1.0_2/lib/infra_publish-2.3.1.jar:/tech/newrelic/nri-db-2.1.0_2/lib/insights_client-1.0.9.jar:/tech/newrelic/nri-db-2.1.0_2/lib/slf4j-api-1.7.30.jar:/tech/newrelic/nri-db-2.1.0_2/lib/gson-2.8.6.jar:/tech/newrelic/nri-db-2.1.0_2/lib/jasypt-1.9.3.jar:/tech/newrelic/nri-db-2.1.0_2/lib/commons-lang3-3.12.0.jar:/tech/newrelic/nri-db-2.1.0_2/lib/postgresql-42.2.19.jar:/tech/newrelic/nri-db-2.1.0_2/lib/hsqldb-2.5.1.jar:/tech/newrelic/nri-db-2.1.0_2/lib/jackson-databind-2.6.7.1.jar:/tech/newrelic/nri-db-2.1.0_2/lib/checker-qual-3.5.0.jar:/tech/newrelic/nri-db-2.1.0_2/lib/jackson-annotations-2.6.0.jar:/tech/newrelic/nri-db-2.1.0_2/lib/jackson-core-2.6.7.jar:/tech/newrelic/nri-db-2.1.0_2/lib/httpclient-4.5.6.jar:/tech/newrelic/nri-db-2.1.0_2/lib/httpcore-4.4.10.jar:/tech/newrelic/nri-db-2.1.0_2/lib/commons-logging-1.2.jar:/tech/newrelic/nri-db-2.1.0_2/lib/commons-codec-1.10.jar:/tech/newrelic/ojdbc8.jar

  • export CLASSPATH

  • DEFAULT_JVM_OPTS=-Djava.util.logging.config.file=/tech/newrelic/nri-db-2.1.0_2/config/logging.properties

  • cd /tech/newrelic/nri-db-2.1.0_2

  • nohup /usr/java8_64/jre/bin/java -Xms16m -Xmx128m -classpath /tech/newrelic/nri-db-2.1.0_2/lib/nri-db-2.1.0.jar:/tech/newrelic/nri-db-2.1.0_2/lib/slf4j-jdk14-1.7.30.jar:/tech/newrelic/nri-db-2.1.0_2/lib/infra_publish-2.3.1.jar:/tech/newrelic/nri-db-2.1.0_2/lib/insights_client-1.0.9.jar:/tech/newrelic/nri-db-2.1.0_2/lib/slf4j-api-1.7.30.jar:/tech/newrelic/nri-db-2.1.0_2/lib/gson-2.8.6.jar:/tech/newrelic/nri-db-2.1.0_2/lib/jasypt-1.9.3.jar:/tech/newrelic/nri-db-2.1.0_2/lib/commons-lang3-3.12.0.jar:/tech/newrelic/nri-db-2.1.0_2/lib/postgresql-42.2.19.jar:/tech/newrelic/nri-db-2.1.0_2/lib/hsqldb-2.5.1.jar:/tech/newrelic/nri-db-2.1.0_2/lib/jackson-databind-2.6.7.1.jar:/tech/newrelic/nri-db-2.1.0_2/lib/checker-qual-3.5.0.jar:/tech/newrelic/nri-db-2.1.0_2/lib/jackson-annotations-2.6.0.jar:/tech/newrelic/nri-db-2.1.0_2/lib/jackson-core-2.6.7.jar:/tech/newrelic/nri-db-2.1.0_2/lib/httpclient-4.5.6.jar:/tech/newrelic/nri-db-2.1.0_2/lib/httpcore-4.4.10.jar:/tech/newrelic/nri-db-2.1.0_2/lib/commons-logging-1.2.jar:/tech/newrelic/nri-db-2.1.0_2/lib/commons-codec-1.10.jar:/tech/newrelic/ojdbc8.jar -Djava.util.logging.config.file=/tech/newrelic/nri-db-2.1.0_2/config/logging.properties com.newrelic.infra.db.Main

  • 1> /dev/null 2>& 1

  • nrpid=6357558

  • echo New Relic Oracle Plug-in started with pid 6357558 for Instance 2
    New Relic Oracle Plug-in started with pid 6357558 for Instance 2

exit 0

  • exit 0

Data Not Showing for machine running SunOS

Hi Team,

None of the stats are showing up when we installed new relic plugin on SunOS. We are getting the below error. We tried installing the new plugin but the error is still the same:

Plugin location: /opt/unix-infra-monitor
Java location: /usr/bin/java
Java version: 1.6.0_21
grep: illegal option -- q
Usage: grep -hblcnsviw pattern file . . .
Running as plugin that posts directly to Insights.
./pluginctl.sh: syntax error at line 236: `admin_api_key=$' unexpected

Regex is missing for Zombie processes

In the Process monitoring segment under "plugin-commands-aix.json", the regex doesn't satisfy the line for zombie processes. Please update the regex to include that. Plus, a better command to use would be ps aux or ps ueg, which would include user info as well.

We noticed that the new relic is showing an increased CPU

We noticed that the new relic is showing an increased CPU utilization value (40% and above) when compared with AWS cloud watch(Max 33%) and Nmon analysis(Max 33.9%). PFA graphs showing the difference. We raised a ticket with Newrelic support team and they responded saying "the difference in the Plugin may be where the metrics are read from, similarly CloudWatch and Nmon may read them the same way. However, this particular Plugin, Cloudwatch and Nmon are outside our scope" and we wanted to know who would help us on the plugin issues. They responded "The best way to reach out to the developer would be raising an issue on hist github page:
https://github.com/newrelic/newrelic-unix-monitor/issues.

Please check and let us know the reason behind the mismatch.
cloudwatch_cpu
new relic_ cpu
nmon_cpu

InsightsClient Error

The following error logs are being generated - are there any special TLS requirements/configuration needed for this plugin?

2023-02-06 15:53:16 [pool-2-thread-1] ERROR c.n.insights.publish.InsightsClient - Received fatal alert: protocol_version
2023-02-06 15:53:16 [pool-2-thread-1] ERROR c.n.i.p.insights.InsightsRunner - Error posting events to Insights for agent: localhost
2023-02-06 15:54:15 [pool-2-thread-1] ERROR c.n.insights.publish.InsightsClient - Received fatal alert: protocol_version

Adding Custom metrics

Hi Guys

I'm using this integration on AIX with java 8.
I'm tying to add custom metrics (adding custom events) to get some DB2 data/values and reporting them back to NR.

I have added configuration in this form

{
"eventType": "DB2_Custom",
"command": "/opt/NR/newrelic-unix-monitor/config/custom_commands.sh",
"mappings": [{
"expression": "(\S+)\s+(\d+)",
"metrics": [
{
"name": "Metric_Name",
"type": "NORMAL"
},
{
"name": "Status",
"type": "NORMAL"
}
]
}]
},

the script is returning data in a form of (Metric_Name Value ) multi lines like this

DEM_SPACE 8.21
ACTIVE_STATE 1
DB_MEMORY_HWM 37

all of that gives me a new event type (unixMonitor:DB2_Custom) which is perfect

HOWEVER, it's always picks the last line of the shell script and not reporting all lines for some reason
I have checked the logs in debug mode. seems to be fine and it's saying Inserting ....value

I can find where is the issue and why it's just reporting only last line?

can you please help on this

Dependency org.apache.httpcomponents:httpclient, leading to CVE problem

Hi, In /,there is a dependency org.apache.httpcomponents:httpclient:4.5.6 that calls the risk method.

CVE-2020-13956

The scope of this CVE affected version is [,4.5.13)

After further analysis, in this project, the main Api called is org.apache.http.client.utils.URIUtils: extractHost(java.net.URI)Lorg.apache.http.HttpHost;

Risk method repair link : GitHub

CVE Bug Invocation Path--

Path Length : 7

com.newrelic.infra.unix.Main: main(java.lang.String[])V /download/apache-maven-3.6.3/repository_mount/com/fasterxml/jackson/core/jackson-databind/2.6.7.1/jackson-databind-2.6.7.1.jar
com.newrelic.infra.publish.api.Runner: setupAndRun()V /download/apache-maven-3.6.3/repository_mount/com/fasterxml/jackson/core/jackson-databind/2.6.7.1/jackson-databind-2.6.7.1.jar
com.newrelic.infra.publish.api.Runner: installDashboards(java.util.Map)V /download/apache-maven-3.6.3/repository_mount/com/fasterxml/jackson/core/jackson-databind/2.6.7.1/jackson-databind-2.6.7.1.jar
org.apache.http.impl.client.CloseableHttpClient: execute(org.apache.http.client.methods.HttpUriRequest)Lorg.apache.http.client.methods.CloseableHttpResponse; /download/apache-maven-3.6.3/repository_mount/net/objecthunter/exp4j/0.4.8/exp4j-0.4.8.jar
org.apache.http.impl.client.CloseableHttpClient: execute(org.apache.http.client.methods.HttpUriRequest,org.apache.http.protocol.HttpContext)Lorg.apache.http.client.methods.CloseableHttpResponse; /download/apache-maven-3.6.3/repository_mount/net/objecthunter/exp4j/0.4.8/exp4j-0.4.8.jar
org.apache.http.impl.client.CloseableHttpClient: determineTarget(org.apache.http.client.methods.HttpUriRequest)Lorg.apache.http.HttpHost; /download/apache-maven-3.6.3/repository_mount/net/objecthunter/exp4j/0.4.8/exp4j-0.4.8.jar
org.apache.http.client.utils.URIUtils: extractHost(java.net.URI)Lorg.apache.http.HttpHost;

Dependency tree--

[INFO] com.newrelic.experts:newrelic-unix-monitor:jar:1.0.1
[INFO] +- com.newrelic.experts:infra_publish:jar:2.3.3:compile
[INFO] |  +- com.fasterxml.jackson.core:jackson-databind:jar:2.6.7.1:compile
[INFO] |  |  +- com.fasterxml.jackson.core:jackson-annotations:jar:2.6.0:compile
[INFO] |  |  \- com.fasterxml.jackson.core:jackson-core:jar:2.6.7:compile
[INFO] |  +- org.slf4j:slf4j-api:jar:1.7.25:compile
[INFO] |  \- com.newrelic.experts:insights_client:jar:1.0.9:compile
[INFO] |     \- org.apache.httpcomponents:httpclient:jar:4.5.6:compile
[INFO] |        +- org.apache.httpcomponents:httpcore:jar:4.4.10:compile
[INFO] |        +- commons-logging:commons-logging:jar:1.2:compile
[INFO] |        \- commons-codec:commons-codec:jar:1.10:compile
[INFO] +- ch.qos.logback:logback-classic:jar:1.2.11:compile
[INFO] |  \- ch.qos.logback:logback-core:jar:1.2.11:compile
[INFO] \- net.objecthunter:exp4j:jar:0.4.8:compile

Suggested solutions:

Update dependency version

Thank you very much.

Proxy settings?

Hi, We use a proxy to get out to New Relic collectors. I could not find the steps in the documentation for where & how to setup the proxy. Can anyone point me in right direction? Thx you.

c.n.i.p.insights.InsightsRunner

Hi guys,

Running the latest release of newrelix unix monitor for some time now and it works great....for some reason on the 24th of april between 12:02am and 4:43am EST all unix hosts (more than 50) stopped reporting and when i look inside the logs i see this error
2019-04-24 04:43:56 [pool-2-thread-1] ERROR c.n.i.p.insights.InsightsRunner - Error posting events to Insights for agent-[**hostname]
but after that 4h period the hosts started reporting again and the error went away... just curious what the error is since there was no network drop or anything and nothing has changed in the environment (infra)...
any ideas ?

proxy password encryption

Currently the proxy password is in clear text in the config file, is there anyway to encrypt the proxy password?

	"proxy": {
		"proxy_host": "enter_proxy_host",
		"proxy_port": 5443,
		"proxy_username": "enter_proxy_username",
		"proxy_password": "enter_proxy_password"
	}

Computational memory percentage for AIX server

Need to get the Computational memory percentage for AIX server , not sure if new relic is collecting this information from the servers or else we have make some changes the agent script for the same.

Cannot compile: missing dependency

I am trying to compile from scratch. It fails thus:

[ERROR] Failed to execute goal on project newrelic-unix-monitor: Could not resolve dependencies for project com.newrelic.experts:newrelic-unix-monitor:jar:0.2.4: Could not find artifact com.newrelic.experts:infra_publish:jar:2.3.2 in central (https://repo.maven.apache.org/maven2) -> [Help 1]

The pom.xml has the following dependency:

com.newrelic.experts
infra_publish
2.3.2

However, Maven fails to find such a version. The latest available on
https://repo.maven.apache.org/maven2/com/newrelic/experts/infra_publish/
appears to be 2.3.1

Thanks

Osama

high load average and polling interval on Solaris10

I see the polling interval seems to be 1 minute and also observed orphan plug-in's sessions getting created causing high load average. Is there a way to change the polling interval and also can the plugin check if there is any instance already running or not. If running or orphan exists can it wait or clear it before new Java process starts? FYI... iostat was causing concern in our case and had to remove it time being.

r1.0.1 -- Unsupported major.minor version 51.0

Hello,

I am attempting to run the 1.0.1 release of the monitor on a SunOS 5.10 box that has Java 1.6, but it is complaining that the major.minor version is unsupported. Please see the contents of the plugin.err below:

####################
Starting New Relic Unix Monitor
Host OS: SunOS
Java location: /usr/bin/java
Java version: java version "1.6.0_181"
Java(TM) SE Runtime Environment (build 1.6.0_181-b10)
Java HotSpot(TM) Server VM (build 20.181-b10, mixed mode)
Plugin location: /opt/monitor/newrelic-unix-monitor
Plugin startup command: /usr/bin/java -Xms16m -Xmx128m -Dnewrelic.platform.service.mode=Insights -Dlogback.configurationFile=config/logback-debug.xml -cp /opt/monitor/newrelic-unix-monitor/lib/newrelic-unix-monitor.jar com.newrelic.infra.unix.Main
Exception in thread "main" java.lang.UnsupportedClassVersionError: com/newrelic/infra/unix/Main : Unsupported major.minor version 51.0
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClassCond(ClassLoader.java:637)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:304)
        at java.net.URLClassLoader.access$000(URLClassLoader.java:56)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:218)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:211)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Could not find the main class: com.newrelic.infra.unix.Main.  Program will exit.

Did the JDK requirement change with the latest release?

Thanks,

  • Ash

Get the Hung Process running on Solaris VMs

We do have requirement to kill the hung process running more than 3 hours and the process is running on Solaris VM.

There is a process dashboard but the output is not having proper information like time etc. The requirement is to have the output of "prstat -a" in the dashboard.

  1. Process details by executing command - prstat -a | grep '<>'
  2. the updated plugin-commands-solaris_xx.json file which consists of " prstat -a "output to be displayed in the dashboard

Attached is the screenshot for your reference.
hungprocess

Issue with dashboard configuration on starting unix agent on AIX

When starting my Unix agent I get the following messages:

Dashboards: Installing dashboards for New Relic Unix Monitor.
Dashboards: Using wget to initiate dashboard install.
wget: missing URL
Usage: wget [OPTION]... [URL]...

Try `wget --help' for more options.
./pluginctl.sh[44]: --quiet: not found.
Dashboards: Installation failed.
Dashboards: No response recorded, check settings in config/plugin.json.

I added my API key to the configuration file:

            "dashboards": {
                    "admin_api_key": "NRAA-e*****",
                    "integration_guid": "UNIX.Infra.Monitor",
                    "dashboard_install": "command_line",
                    "force_deploy": true
            }

but did not make any further configuration changes. Please if their is some documentation about this part please let me know.

Thanks for your help

Dashboards: Installation failed.

Hi guys,

Am I missing something?

Plugin location: /home/xxxxxx/newrelic-unix-monitor
Java location: /usr/bin/java
Java version: 1.7.0
Java major version: 7
Running as plugin that posts directly to Insights.

Checking New Relic Unix Plugin
Process dead but /home/xxxxxx/newrelic-unix-monitor/logs/plugin.pid exists
Deleting /home/xxxxxx/newrelic-unix-monitor/logs/plugin.pid
Deleting logs
Starting New Relic Unix Plugin
New Relic Unix Plugin started with PID 54478

Dashboards: Installing dashboards for New Relic Unix Plugin
Dashboards: Using curl to initiate dashboard install.
Dashboards: Installation failed.
Dashboards: No response recorded, check settings in config/plugin.json.

config/plugin.json

{
        "global": {
                "OS": "auto",
                "account_id": "-------------------",
                "insights_mode": {
                        "insights_insert_key": "-------------------"
                },
                "dashboards": {
                        "admin_api_key": "-------------------",
                        "integration_guid": "UNIX.Infra.Monitor",
                        "dashboard_install": "command_line"
                }
        },
        "agents": [
                {
                        "name": "auto"
                }
        ]
}

Doesn't run with Java 10

It seems the system recognizes it as an old Java version:

unix-infra-monitor $ ./pluginctl.sh
Plugin location: /Users/mmacias/code/unix-infra-monitor/target/unix-infra-monitor
Java location: /usr/bin/java
Java version: 10.0.2
ERROR: New Relic Unix Plugin will not work with Java versions older than 1.6.
Please edit pluginctl.sh and set PLUGIN_JAVA to a Java distro (Sun/Oracle, IBM, OpenJDK) v1.6 or above.

Log File Monitoring

Is it feasible to do log file monitoring with pattern search feasible using this plugin ? Please advise .

We have few Solaris 10 servers where I would like to setup

Received fatal alert: handshake_failure - ERROR

Hello I have the following problem in the unix monitor

1:23 [main] INFO c.n.infra.unix.UnixAgentFactory - Hostname: asescotd
2020-09-11 11:01:24 [main] INFO c.n.i.p.insights.InsightsRunner - Using US Data Center
2020-09-11 11:01:24 [main] INFO c.n.i.p.insights.InsightsRunner - Using Insights API URL: https://insights-collector.newrelic.com/v1/accounts/2791608/events
2020-09-11 11:01:25 [main] INFO c.n.i.p.insights.InsightsRunner - INFO: New Relic monitor started
2020-09-11 11:01:30 [pool-2-thread-1] ERROR c.n.insights.publish.InsightsClient - Received fatal alert: handshake_failure
2020-09-11 11:01:30 [pool-2-thread-1] ERROR c.n.i.p.insights.InsightsRunner - Error posting events to Insights for agent-asescotd
2020-09-11 11:02:29 [pool-2-thread-1] ERROR c.n.insights.publish.InsightsClient - Received fatal alert: protocol_version
2020-09-11 11:02:29 [pool-2-thread-1] ERROR c.n.i.p.insights.InsightsRunner - Error posting events to Insights for agent-asescotd
2020-09-11 11:03:29 [pool-2-thread-1] ERROR c.n.insights.publish.InsightsClient - Received fatal alert: handshake_failure
2020-09-11 11:03:29 [pool-2-thread-1] ERROR c.n.i.p.insights.InsightsRunner - Error posting events to Insights for agent-asescotd

Received fatal alert: handshake_failure

Can you tell me what happens at that level if it is new relic or the network? ????

SmartOS zone support

Hello

I am not really sure if this is the right place to ask. I have been trying to get this working with a SmartOS zone to monitor memory usage. To cut a long story short a new relic subscription was bought before I had a chance to investigate if it could work. I am now stuck trying to get this to work. Some things are working fine so not at all.

Can you please answer my question will this work for memory usage on a SmartOS zone or am I just banging my head against a brick wall.

Thank you

Deploying a custom dashboard at startup

Hi everyone.
I was wondering if it's possible to deploy a custom dashboard at plugin startup as opposed to the 7 default ones that get created.

Can dashboards be defined by a json file or something like that?

Thank you!

Data not reporting to Newrelic

Hi Team,

Can you help me with this issue. have added the integration and updated proxy however data is not getting reported to NewRelic.

Below are the logs, have verified with our network team and found no issue with firewall

Please note, I've replaced actual server name with worrd "hostname" & account number with xxxxx for privacy.

plugin.log:
2022-05-16 04:09:17 [main] INFO c.newrelic.infra.publish.api.Runner - Using account ID: xxxxx
2022-05-16 04:09:17 [main] INFO c.n.infra.unix.UnixAgentFactory - Agentname: hostname_0
2022-05-16 04:09:17 [main] INFO c.n.infra.unix.UnixAgentFactory - Host OS: solaris_10
2022-05-16 04:09:17 [main] INFO c.n.infra.unix.UnixAgentFactory - Hostname: hostname
2022-05-16 04:09:17 [main] INFO c.n.i.p.insights.InsightsRunner - Using Data Center: US
2022-05-16 04:09:17 [main] INFO c.n.i.p.insights.InsightsRunner - Using Insights API URL: https://insights-collector.newrelic.com/v1/accounts/xxxxxx/events
2022-05-16 04:09:17 [main] INFO c.n.i.p.insights.InsightsRunner - Using pollInterval 60
2022-05-16 04:09:18 [main] INFO c.n.i.p.insights.InsightsRunner - INFO: New Relic monitor started
2022-05-16 04:09:24 [pool-2-thread-1] ERROR c.n.insights.publish.InsightsClient - insights-collector.newrelic.com
2022-05-16 04:09:24 [pool-2-thread-1] ERROR c.n.i.p.insights.InsightsRunner - Error posting events to Insights for agent: hostname
2022-05-16 04:10:24 [pool-2-thread-1] ERROR c.n.insights.publish.InsightsClient - insights-collector.newrelic.com
2022-05-16 04:10:24 [pool-2-thread-1] ERROR c.n.i.p.insights.InsightsRunner - Error posting events to Insights for agent: hostname
2022-05-16 04:11:23 [pool-2-thread-1] ERROR c.n.insights.publish.InsightsClient - insights-collector.newrelic.com
2022-05-16 04:11:23 [pool-2-thread-1] ERROR c.n.i.p.insights.InsightsRunner - Error posting events to Insights for agent: hostname
2022-05-16 04:12:23 [pool-2-thread-1] ERROR c.n.insights.publish.InsightsClient - insights-collector.newrelic.com
2022-05-16 04:12:23 [pool-2-thread-1] ERROR c.n.i.p.insights.InsightsRunner - Error posting events to Insights for agent: hostname
2022-05-16 04:13:23 [pool-2-thread-1] ERROR c.n.insights.publish.InsightsClient - insights-collector.newrelic.com
2022-05-16 04:13:23 [pool-2-thread-1] ERROR c.n.i.p.insights.InsightsRunner - Error posting events to Insights for agent: hostname
2022-05-16 04:14:23 [pool-2-thread-1] ERROR c.n.insights.publish.InsightsClient - insights-collector.newrelic.com
2022-05-16 04:14:23 [pool-2-thread-1] ERROR c.n.i.p.insights.InsightsRunner - Error posting events to Insights for agent: hostname
2022-05-16 04:15:23 [pool-2-thread-1] ERROR c.n.insights.publish.InsightsClient - insights-collector.newrelic.com
2022-05-16 04:15:23 [pool-2-thread-1] ERROR c.n.i.p.insights.InsightsRunner - Error posting events to Insights for agent: hostname
2022-05-16 04:16:23 [pool-2-thread-1] ERROR c.n.insights.publish.InsightsClient - insights-collector.newrelic.com
2022-05-16 04:16:23 [pool-2-thread-1] ERROR c.n.i.p.insights.InsightsRunner - Error posting events to Insights for agent: hostname
2022-05-16 04:17:23 [pool-2-thread-1] ERROR c.n.insights.publish.InsightsClient - insights-collector.newrelic.com
2022-05-16 04:17:23 [pool-2-thread-1] ERROR c.n.i.p.insights.InsightsRunner - Error posting events to Insights for agent: hostname
2022-05-16 04:18:23 [pool-2-thread-1] ERROR c.n.insights.publish.InsightsClient - insights-collector.newrelic.com
2022-05-16 04:18:23 [pool-2-thread-1] ERROR c.n.i.p.insights.InsightsRunner - Error posting events to Insights for agent: hostname
2022-05-16 04:19:23 [pool-2-thread-1] ERROR c.n.insights.publish.InsightsClient - insights-collector.newrelic.com
2022-05-16 04:19:23 [pool-2-thread-1] ERROR c.n.i.p.insights.InsightsRunner - Error posting events to Insights for agent: hostname

plugin.err:

####################
Starting New Relic Unix Monitor
Host OS: SunOS
Java location: /usr/jdk/instances/jdk1.6.0//bin/java
Java version: java version "1.6.0_211"
Java(TM) SE Runtime Environment (build 1.6.0_211-b11)
Java HotSpot(TM) Server VM (build 20.211-b11, mixed mode)
Plugin location: /opt/newrelic/newrelic-unix-monitor
Plugin startup command: /usr/jdk/instances/jdk1.6.0//bin/java -Xms16m -Xmx128m -Dnewrelic.platform.service.mode=Insights -Dlogback.configurationFile=config/logback.xml -cp /opt/newrelic/newrelic-unix-monitor/lib/newrelic-unix-monitor.jar com.newrelic.infra.unix.Main
java.net.UnknownHostException: insights-collector.newrelic.com
at java.net.Inet4AddressImpl.lookupAllHostAddr(Native Method)
at java.net.InetAddress$1.lookupAllHostAddr(InetAddress.java:905)
at java.net.InetAddress.getAddressFromNameService(InetAddress.java:1258)
at java.net.InetAddress.getAllByName0(InetAddress.java:1209)
at java.net.InetAddress.getAllByName(InetAddress.java:1139)
at java.net.InetAddress.getAllByName(InetAddress.java:1075)
at org.apache.http.impl.conn.SystemDefaultDnsResolver.resolve(SystemDefaultDnsResolver.java:45)
at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:112)
at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:373)
at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:394)
at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:237)
at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:185)
at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89)
at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110)
at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:108)
at com.newrelic.insights.publish.InsightsClient.post(InsightsClient.java:91)
at com.newrelic.infra.publish.insights.InsightsRunner$PollAgentsRunnable.run(InsightsRunner.java:212)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439)
at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:204)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:905)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:928)
at java.lang.Thread.run(Thread.java:682)

unable to update agent name with custom hostname

Hello All,

I have been trying to update the hostname of one of our server with a customized name. However, it is not using the custom name instead its passing the server-defined hostname

{
"global": {
"OS": "auto",
"account_id": "",
"insights_mode": {
"insights_insert_key": "",
"insights_data_center": "US"
}
},
"agents": [
{
"name": "abcs.xyz.com" //here you can add the server name as defined in ServiceNow CI
}
]
}

In the above eg., above hostname would be displayed as abcs.xyz.com but it is not. It is using the system-defined hostname that is abcs.

Can you please check and help us to correct this.

Host not showing in Plugin Tab on NR

Hi Everyone,

Need help on setting this up

[root@ets_eng_ops newrelic-unix-monitor]# ./pluginctl.sh restart
Plugin location: /tmp/newrelic-unix-monitor
Java location: /usr/bin/java
Java version: 1.8.0_222
Java major version: 8
Running as plugin that posts directly to Insights.
Restarting New Relic Unix Monitor.

Checking New Relic Unix Monitor
New Relic Unix Monitor is running with PID 4024
Stopping New Relic Unix Monitor
New Relic Unix Monitor running with PID 4024 stopped

Checking New Relic Unix Monitor
New Relic Unix Monitor is not running
Deleting logs
Starting New Relic Unix Monitor
New Relic Unix Monitor started with PID 12036

Dashboards: Installing dashboards for New Relic Unix Monitor.
Dashboards: Using curl to initiate dashboard install.
Dashboards: Installation failed.
Dashboards: No response recorded, check settings in config/plugin.json.

[root@ets_eng_ops config]# cat plugin.json
{
"global": {
"OS": "auto",
"debug": false,
"account_id": "1XXXXX",
"insights_mode": {
"insights_insert_key": "insert_your_insights_insert_key_here",
"insights_data_center": "US"
},
"dashboards": {
"admin_api_key": "insert_your_admin_api_key_here",
"integration_guid": "UNIX.Infra.Monitor",
"dashboard_install": "command_line"
}
},
"agents": [
{
"name": "auto"
}
]
}

I do not have Admin Access that's why I cannot generate API Key. Can this work like the old plugin
https://github.com/sschwartzman/newrelic-unix-plugin/blob/master/README.md#nrjson

Data not flowing for Solaris

Hi. The older version of this software is working fine on one of my Solaris servers (data is flowing to the NR portal into the Plugins/Unix area), but the new version of the monitor (0.1.4) is not. Appears to be connectivity related.

plugin.log:
2019-01-25 11:29:20 [main] INFO c.n.infra.unix.UnixAgentFactory - Agentname: _0
2019-01-25 11:29:20 [main] INFO c.n.infra.unix.UnixAgentFactory - Host OS: solaris_10
2019-01-25 11:29:20 [main] INFO c.n.infra.unix.UnixAgentFactory - Hostname:
2019-01-25 11:29:25 [pool-2-thread-1] ERROR c.n.i.p.insights.InsightsRunner - Error posting events to Insights for agent-
2019-01-25 11:30:24 [pool-2-thread-1] ERROR c.n.i.p.insights.InsightsRunner - Error posting events to Insights for agent-

telnet tests reveal what appears to be success:
me@$ netstat -a|grep 443
.37465 insights-collector.newrelic.com.443 65535 0 50400 0 ESTABLISHED
me@$ telnet insights-collector.newrelic.com 443
Trying 162.247.242.30...
Connected to insights-collector.newrelic.com.
Escape character is '^]'.
^]
telnet> quit

Thanks for your attention.

Trying to add custom metrics bug?

I was working on a project to add a list of files with their date and modified time in seconds.
My script outputs a list formatted as below. (epoch time, file path, age in seconds)
1676654386 /etc/adduser.conf 10639200
Regex picks it up with no issues but only the last file in the list is posted in NR.

{ "eventType": "File", "command": "/opt/newrelic-unix-monitor/scripts/getfiletime.pl /etc *.conf 600", "checkAllRegex": false, "lineLimit": 0, "interval": 0, "mappings": [{ "expression": "(\\d+)\\s+(\\S+)\\s+(\\d+)", "metrics": [{ "name": "File.Epoch", "type": "NORMAL" }, { "name": "File.Path", "type": "NORMAL" }, { "name": "File.Age", "type": "NORMAL" } ] } ] }

2023-06-20 20:33:16 [pool-2-thread-1] DEBUG c.n.infra.unix.CommandMetricUtils - Line MATCHED: 1648201985 /etc/usb_modeswitch.conf 39091211
2023-06-20 20:33:16 [pool-2-thread-1] DEBUG c.n.infra.unix.CommandMetricUtils - Regex: (\d+)\s+(\S+)\s+(\d+)
2023-06-20 20:33:16 [pool-2-thread-1] DEBUG c.n.infra.unix.CommandMetricUtils - Inserting Metric: file.epoch : 1.648201985E9
2023-06-20 20:33:16 [pool-2-thread-1] DEBUG c.n.infra.unix.CommandMetricUtils - Inserting Metric: file.path : /etc/usb_modeswitch.conf
2023-06-20 20:33:16 [pool-2-thread-1] DEBUG c.n.infra.unix.CommandMetricUtils - Inserting Metric: file.age : 3.9091211E7
2023-06-20 20:33:16 [pool-2-thread-1] DEBUG c.n.infra.unix.CommandMetricUtils - Line MATCHED: 1648028509 /etc/xattr.conf 39264687
2023-06-20 20:33:16 [pool-2-thread-1] DEBUG c.n.infra.unix.CommandMetricUtils - Regex: (\d+)\s+(\S+)\s+(\d+)
2023-06-20 20:33:16 [pool-2-thread-1] DEBUG c.n.infra.unix.CommandMetricUtils - Inserting Metric: file.epoch : 1.648028509E9
2023-06-20 20:33:16 [pool-2-thread-1] DEBUG c.n.infra.unix.CommandMetricUtils - Inserting Metric: file.path : /etc/xattr.conf
2023-06-20 20:33:16 [pool-2-thread-1] DEBUG c.n.infra.unix.CommandMetricUtils - Inserting Metric: file.age : 3.9264687E7
2023-06-20 20:33:16 [pool-2-thread-1] DEBUG c.n.insights.publish.InsightsClient - Response is HTTP/1.1 200 OK

Error in logs/plugin.err

com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "uuid" (class com.newrelic.insights.publish.InsightsResponse), not marked as ignorable (one known property: "success"])
at [Source: java.io.BufferedReader@30fc1f; line: 1, column: 26] (through reference chain: com.newrelic.insights.publish.InsightsResponse["uuid"])
at com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException.from(UnrecognizedPropertyException.java:52)
at com.fasterxml.jackson.databind.DeserializationContext.reportUnknownProperty(DeserializationContext.java:839)
at com.fasterxml.jackson.databind.deser.std.StdDeserializer.handleUnknownProperty(StdDeserializer.java:1045)
at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.handleUnknownProperty(BeanDeserializerBase.java:1352)
at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.handleUnknownVanilla(BeanDeserializerBase.java:1330)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.vanillaDeserialize(BeanDeserializer.java:264)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:125)
at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:3736)
at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:2773)
at com.newrelic.insights.publish.InsightsClient.post(InsightsClient.java:86)
at com.newrelic.infra.publish.insights.InsightsRunner$PollAgentsRunnable.run(InsightsRunner.java:163)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439)
at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:204)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
at java.lang.Thread.run(Thread.java:680)

Data is not being displayed in plugin tab

Hi

i'm trying to install the new version of plugin, but facing the below error. After i ran the plugin i can see the server being displayed in the list but no data is captured. I can see below printed in plugin.log file. Can you help me out on where the issue is?

2019-11-14 13:17:53 [main] INFO c.n.i.p.insights.InsightsRunner - Using Insights API URL: https://insights-collector.newrelic.com/v1/accounts/<account_id>/events
2019-11-14 13:17:54 [main] INFO c.n.i.p.insights.InsightsRunner - INFO: New Relic monitor started
2019-11-14 13:17:58 [pool-2-thread-1] ERROR c.n.insights.publish.InsightsClient - Response error is {}
2019-11-14 13:17:58 [pool-2-thread-1] ERROR c.n.i.p.insights.InsightsRunner - Error posting events to Insights for

Host not showing in PLUGIN New Relic

Hi sschwartzman,

New Plugin installed and Running. However it doesn't show in NR (plugins>Unix) tab

Please assist

Acount Id - Filled out correctly
Insights Keys - Generated
API Keys Generated

[root@ID:/home/eouxadm2/newrelic-unix-monitor/config] $ cat plugin.json
{
"global": {
"OS": "auto",
"debug": false,
"account_id": "XXXXX",
"insights_mode": {
"insights_insert_key": "XXXXXXX",
"insights_data_center": "US"
},
"dashboards": {
"admin_api_key": "XXXXXX",
"integration_guid": "UNIX.Infra.Monitor",
"dashboard_install": "command_line"
}
},
"agents": [
{
"name": "auto"
}
]
}

[root@ID:/home/eouxadm2/newrelic-unix-monitor] $ ./pluginctl.sh start
Plugin location: /home/eouxadm2/newrelic-unix-monitor
Java location: /usr/java8_64/jre/bin/java
Java version: 1.8.0_201
Java major version: 8
Running as plugin that posts directly to Insights.

Checking New Relic Unix Monitor
New Relic Unix Monitor is not running
Deleting logs
Starting New Relic Unix Monitor
New Relic Unix Monitor started with PID 56688842

Dashboards: Installing dashboards for New Relic Unix Monitor.
Dashboards: Using wget to initiate dashboard install.
wget: missing URL
Usage: wget [OPTION]... [URL]...

Try `wget --help' for more options.
./pluginctl.sh[41]: --quiet: not found.
Dashboards: Installation failed.
Dashboards: No response recorded, check settings in config/plugin.json.

[root@ID:/home/eouxadm2/newrelic-unix-monitor] $ ./pluginctl.sh status
Plugin location: /home/eouxadm2/newrelic-unix-monitor
Java location: /usr/java8_64/jre/bin/java
Java version: 1.8.0_201
Java major version: 8
Running as plugin that posts directly to Insights.

Checking New Relic Unix Monitor
New Relic Unix Monitor is running with PID 56688842
[root@ID:/home/eouxadm2/newrelic-unix-monitor] $

Unclear documentation about credentials obfuscation

Thanks for providing such a great feature, but the documentation in README.md is not quite clear about:

  1. What should be used as OBSCURING_KEY?

Guessing it can be a random string? If so, would be nice to explicitly mention it in the docs.

  1. Shall I provide the value of OBSCURING_KEY in the config file plugin.json?

Tested in my env and it did not work if just put proxy_password_obfuscated in plugin.json like what's suggested in step 3 -- got below error in the logs:

2020-10-16 11:30:41 [pool-2-thread-1] ERROR c.n.insights.publish.InsightsClient - Connection reset
2020-10-16 11:30:41 [pool-2-thread-1] ERROR c.n.i.p.insights.InsightsRunner - Error posting events to Insights for agent***

Guessing again the OBSCURING_KEY is needed to decrypt it, so tried to set env var in step 2 (although I would interpret it as an alternative way to provide a parameter to newrerlic-cli) and it did not work neither.

Would be expecting a clear instruction about how to properly use this feature. Thanks in advance!

Log Forwarding

Do we have an option to forward AIX logs from a XYZ directory to NewRelic like we have an option in infrastructure agent.

TLS 1.2 Change more prominent

New Relic recently switched to the TLS 1.2 for all inbound connections at the beginning of February. There is a small mention of how to force tls 1.2 in pluginctl.sh but it should probably be highlighted in the READme now.

Oracle Database monitoring in AIX is not reporting to New relic

Hi All,

We are working on the Oracle Database monitoring in AIX machine . Data is not reporting for Oracle database even though the AIX machine is reporting to new relic.
Please find below the logs for reference.
(vix01)(oracle)(CASPROD)/tech/newrelic> /tech/newrelic/newrelic_ora_mon.sh
New Relic Oracle Plug-in Instance 1 is NOT running
Attempt to start Oracle Plug-in Instance 1

Change Record:

#!/bin/sh

usage()
{
echo "Usage: $0 start | all "
echo " $0 stop | all "
echo " $0 status | all "
}

datestr=date

    • date
      datestr=Mon May 8 16:11:03 +08 2023
      nrhome="/tech/newrelic"
  • nrhome=/tech/newrelic
    nrapp="nri-db-2.1.0"
  • nrapp=nri-db-2.1.0

javaexe='/usr/java8_64/jre/bin/java'

  • javaexe=/usr/java8_64/jre/bin/java

Check if java 8 is installed

if [ ! -f "$javaexe" ] ; then
javaexe='/usr/java8/jre/bin/java'
if [ ! -f "$javaexe" ] ; then
echo "$javaexe does not exist"
echo "Exiting with error code 1"
exit 1
fi
PATH=/usr/java8/jre/bin:/usr/java8/bin:$PATH
else
PATH=/usr/java8_64/jre/bin:/usr/java8_64/bin:$PATH
fi

  • [ ! -f /usr/java8_64/jre/bin/java ]
  • PATH=/usr/java8_64/jre/bin:/usr/java8_64/bin:/usr/bin:/etc:/usr/sbin:/usr/ucb:/home/oracle/bin:/usr/bin/X11:/sbin:.://u01/app/oracle/product/19.0.0/dbhome_1/jdk/bin:/u01/app/oracle/product/19.0.0/dbhome_1/bin:.

This is to avoid using /opt/freeware on some server

PATH=/usr/bin:$PATH

  • PATH=/usr/bin:/usr/java8_64/jre/bin:/usr/java8_64/bin:/usr/bin:/etc:/usr/sbin:/usr/ucb:/home/oracle/bin:/usr/bin/X11:/sbin:.://u01/app/oracle/product/19.0.0/dbhome_1/jdk/bin:/u01/app/oracle/product/19.0.0/dbhome_1/bin:.
    export PATH
  • export PATH
    ORIGPATH=$PATH
  • ORIGPATH=/usr/bin:/usr/java8_64/jre/bin:/usr/java8_64/bin:/usr/bin:/etc:/usr/sbin:/usr/ucb:/home/oracle/bin:/usr/bin/X11:/sbin:.://u01/app/oracle/product/19.0.0/dbhome_1/jdk/bin:/u01/app/oracle/product/19.0.0/dbhome_1/bin:.

action=$1

  • action=start
    nrinst=$2
  • nrinst=1
    case $nrinst in
    1|2|3|4)
    echo "Performing action $action on New Relic Plug-in for Instance $nrinst"
    nrinstlist=$nrinst
    ;;
    all)
    echo "Performing action $action for ALL New Relic Plug-in instances"
    nrinstlist=find ../newrelic \( ! -name 'newrelic' -prune \) -name 'nri-db-2.1.0_[1-9]' -type d -print |rev | cut -d '_' -f1
    ;;
    *)
    usage
    exit 1
    ;;
    esac
  • echo Performing action start on New Relic Plug-in for Instance 1
    Performing action start on New Relic Plug-in for Instance 1
  • nrinstlist=1

for nrinst in $nrinstlist
do
nrcfgdir="$nrhome/${nrapp}${nrinst}/config"
nrlibdir="$nrhome/${nrapp}
${nrinst}/lib"

# check exisitence of config directory
if [ ! -d "$nrcfgdir" ] ; then
    echo "New Relic Plug-in config directory does not exist for Instance ${nrinst}"
    continue
fi

# check exisitence of lib directory
if [ ! -d "$nrlibdir" ] ; then
    echo "New Relic Plug-in lib directory does not exist for Instance ${nrinst}"
    continue
fi

case "$action" in
start)
     nrpid=`ps -uoracle -o "%p %a" | grep "com.newrelic.infra.db.Main" |  grep "${nrapp}_${nrinst}" | grep -v grep |  awk '{printf("%s\n",$1)}' `
     if [ -z "$nrpid" ]; then
        echo "Starting New Relic Oracle Plug-in at $datestr for Instance ${nrinst}"
        echo " "
        CLASSPATH=$nrlibdir/nri-db-2.1.0.jar:$nrlibdir/slf4j-jdk14-1.7.30.jar:$nrlibdir/infra_publish-2.3.1.jar:$nrlibdir/insights_client-1.0.9.jar:$nrlibdir/slf4j-api-1.7.30.jar:$nrlibdir/gson-2.8.6.jar:$nrlibdir/jasypt-1.9.3.jar:$nrlibdir/commons-lang3-3.12.0.jar:$nrlibdir/postgresql-42.2.19.jar:$nrlibdir/hsqldb-2.5.1.jar:$nrlibdir/jackson-databind-2.6.7.1.jar:$nrlibdir/checker-qual-3.5.0.jar:$nrlibdir/jackson-annotations-2.6.0.jar:$nrlibdir/jackson-core-2.6.7.jar:$nrlibdir/httpclient-4.5.6.jar:$nrlibdir/httpcore-4.4.10.jar:$nrlibdir/commons-logging-1.2.jar:$nrlibdir/commons-codec-1.10.jar:$nrhome/ojdbc8.jar
        export CLASSPATH

        DEFAULT_JVM_OPTS="-Djava.util.logging.config.file=$nrcfgdir/logging.properties"

       ## must change the directory where .nridbrc exists
        cd $nrhome/${nrapp}_${nrinst}
        nohup $javaexe  -Xms16m -Xmx128m -classpath "$CLASSPATH" $DEFAULT_JVM_OPTS com.newrelic.infra.db.Main   >/dev/null 2>&1 &
        nrpid=$!
        echo "New Relic Oracle Plug-in started with pid $nrpid for Instance ${nrinst}"
     else
        echo "New Relic Oracle Plug-in is already running as $nrpid for Instance ${nrinst}"
        echo " "
        echo "Stop the running New Relic Oracle Plug-in first"
     fi
     ;;
stop)
     echo "Stopping New Relic Oracle Plug-in at $datestr for Instance ${nrinst}"
     echo " "
     cd $nrhome
     nrpid=`ps -uoracle -o "%p %a" | grep "com.newrelic.infra.db.Main" |  grep "${nrapp}_${nrinst}" | grep -v grep |  awk '{printf("%s\n",$1)}' `
     if [ -z "$nrpid" ]; then
        echo "New Relic Oracle Plug-in is not running. No Plug-in is stopped"
     else
        kill -9 $nrpid
        echo "New Relic Oracle Plug-in with pid $nrpid is terminated with kill -9 for Instance ${nrinst}"
     fi
     ;;
status)
     echo "Checking Status of New Relic Oracle Plug-in at $datestr for Instance ${nrinst}"
     echo " "
     cd $nrhome
     nrpid=`ps -uoracle -o "%p %a" | grep "com.newrelic.infra.db.Main" |  grep "${nrapp}_${nrinst}" | grep -v grep |  awk '{printf("%s\n",$1)}' `
     if [ -z "$nrpid" ]; then
        echo "New Relic Oracle Plug-in is not running for Instance ${nrinst}"
     else
        echo "New Relic Oracle Plug-in running with pid $nrpid for Instance ${nrinst}"
     fi
     ;;
*)
     usage
     ;;
esac

done

  • nrcfgdir=/tech/newrelic/nri-db-2.1.0_1/config

  • nrlibdir=/tech/newrelic/nri-db-2.1.0_1/lib

  • [ ! -d /tech/newrelic/nri-db-2.1.0_1/config ]

  • [ ! -d /tech/newrelic/nri-db-2.1.0_1/lib ]

    • ps -uoracle -o %p %a
  • grep com.newrelic.infra.db.Main

  • awk {printf("%s\n",$1)}

  • grep nri-db-2.1.0_1

  • grep -v grep
    nrpid=

  • [ -z ]

  • echo Starting New Relic Oracle Plug-in at Mon May 8 16:11:03 +08 2023 for Instance 1
    Starting New Relic Oracle Plug-in at Mon May 8 16:11:03 +08 2023 for Instance 1

  • echo

  • CLASSPATH=/tech/newrelic/nri-db-2.1.0_1/lib/nri-db-2.1.0.jar:/tech/newrelic/nri-db-2.1.0_1/lib/slf4j-jdk14-1.7.30.jar:/tech/newrelic/nri-db-2.1.0_1/lib/infra_publish-2.3.1.jar:/tech/newrelic/nri-db-2.1.0_1/lib/insights_client-1.0.9.jar:/tech/newrelic/nri-db-2.1.0_1/lib/slf4j-api-1.7.30.jar:/tech/newrelic/nri-db-2.1.0_1/lib/gson-2.8.6.jar:/tech/newrelic/nri-db-2.1.0_1/lib/jasypt-1.9.3.jar:/tech/newrelic/nri-db-2.1.0_1/lib/commons-lang3-3.12.0.jar:/tech/newrelic/nri-db-2.1.0_1/lib/postgresql-42.2.19.jar:/tech/newrelic/nri-db-2.1.0_1/lib/hsqldb-2.5.1.jar:/tech/newrelic/nri-db-2.1.0_1/lib/jackson-databind-2.6.7.1.jar:/tech/newrelic/nri-db-2.1.0_1/lib/checker-qual-3.5.0.jar:/tech/newrelic/nri-db-2.1.0_1/lib/jackson-annotations-2.6.0.jar:/tech/newrelic/nri-db-2.1.0_1/lib/jackson-core-2.6.7.jar:/tech/newrelic/nri-db-2.1.0_1/lib/httpclient-4.5.6.jar:/tech/newrelic/nri-db-2.1.0_1/lib/httpcore-4.4.10.jar:/tech/newrelic/nri-db-2.1.0_1/lib/commons-logging-1.2.jar:/tech/newrelic/nri-db-2.1.0_1/lib/commons-codec-1.10.jar:/tech/newrelic/ojdbc8.jar

  • export CLASSPATH

  • DEFAULT_JVM_OPTS=-Djava.util.logging.config.file=/tech/newrelic/nri-db-2.1.0_1/config/logging.properties

  • cd /tech/newrelic/nri-db-2.1.0_1

  • nrpid=6423250

  • echo New Relic Oracle Plug-in started with pid 6423250 for Instance 1
    New Relic Oracle Plug-in started with pid 6423250 for Instance 1

exit 0

  • exit 0
  • nohup /usr/java8_64/jre/bin/java -Xms16m -Xmx128m -classpath /tech/newrelic/nri-db-2.1.0_1/lib/nri-db-2.1.0.jar:/tech/newrelic/nri-db-2.1.0_1/lib/slf4j-jdk14-1.7.30.jar:/tech/newrelic/nri-db-2.1.0_1/lib/infra_publish-2.3.1.jar:/tech/newrelic/nri-db-2.1.0_1/lib/insights_client-1.0.9.jar:/tech/newrelic/nri-db-2.1.0_1/lib/slf4j-api-1.7.30.jar:/tech/newrelic/nri-db-2.1.0_1/lib/gson-2.8.6.jar:/tech/newrelic/nri-db-2.1.0_1/lib/jasypt-1.9.3.jar:/tech/newrelic/nri-db-2.1.0_1/lib/commons-lang3-3.12.0.jar:/tech/newrelic/nri-db-2.1.0_1/lib/postgresql-42.2.19.jar:/tech/newrelic/nri-db-2.1.0_1/lib/hsqldb-2.5.1.jar:/tech/newrelic/nri-db-2.1.0_1/lib/jackson-databind-2.6.7.1.jar:/tech/newrelic/nri-db-2.1.0_1/lib/checker-qual-3.5.0.jar:/tech/newrelic/nri-db-2.1.0_1/lib/jackson-annotations-2.6.0.jar:/tech/newrelic/nri-db-2.1.0_1/lib/jackson-core-2.6.7.jar:/tech/newrelic/nri-db-2.1.0_1/lib/httpclient-4.5.6.jar:/tech/newrelic/nri-db-2.1.0_1/lib/httpcore-4.4.10.jar:/tech/newrelic/nri-db-2.1.0_1/lib/commons-logging-1.2.jar:/tech/newrelic/nri-db-2.1.0_1/lib/commons-codec-1.10.jar:/tech/newrelic/ojdbc8.jar -Djava.util.logging.config.file=/tech/newrelic/nri-db-2.1.0_1/config/logging.properties com.newrelic.infra.db.Main
  • 1> /dev/null 2>& 1
    New Relic Oracle Plug-in Instance 2 is NOT running
    Attempt to start Oracle Plug-in Instance 2

Change Record:

21-AUG-2021 Startup and ShutDown New Relic DB Plug-in infradbplugin_java-0.11.1.tar

25-APR-2022 Startup and ShutDown New Relic Plug-in nri-db-2.1.0.tar

#!/bin/sh

usage()
{
echo "Usage: $0 start | all "
echo " $0 stop | all "
echo " $0 status | all "
}

datestr=date

    • date
      datestr=Mon May 8 16:11:03 +08 2023
      nrhome="/tech/newrelic"
  • nrhome=/tech/newrelic
    nrapp="nri-db-2.1.0"
  • nrapp=nri-db-2.1.0

javaexe='/usr/java8_64/jre/bin/java'

  • javaexe=/usr/java8_64/jre/bin/java

Check if java 8 is installed

if [ ! -f "$javaexe" ] ; then
javaexe='/usr/java8/jre/bin/java'
if [ ! -f "$javaexe" ] ; then
echo "$javaexe does not exist"
echo "Exiting with error code 1"
exit 1
fi
PATH=/usr/java8/jre/bin:/usr/java8/bin:$PATH
else
PATH=/usr/java8_64/jre/bin:/usr/java8_64/bin:$PATH
fi

  • [ ! -f /usr/java8_64/jre/bin/java ]
  • PATH=/usr/java8_64/jre/bin:/usr/java8_64/bin:/usr/bin:/etc:/usr/sbin:/usr/ucb:/home/oracle/bin:/usr/bin/X11:/sbin:.://u01/app/oracle/product/19.0.0/dbhome_1/jdk/bin:/u01/app/oracle/product/19.0.0/dbhome_1/bin:.

This is to avoid using /opt/freeware on some server

PATH=/usr/bin:$PATH

  • PATH=/usr/bin:/usr/java8_64/jre/bin:/usr/java8_64/bin:/usr/bin:/etc:/usr/sbin:/usr/ucb:/home/oracle/bin:/usr/bin/X11:/sbin:.://u01/app/oracle/product/19.0.0/dbhome_1/jdk/bin:/u01/app/oracle/product/19.0.0/dbhome_1/bin:.
    export PATH
  • export PATH
    ORIGPATH=$PATH
  • ORIGPATH=/usr/bin:/usr/java8_64/jre/bin:/usr/java8_64/bin:/usr/bin:/etc:/usr/sbin:/usr/ucb:/home/oracle/bin:/usr/bin/X11:/sbin:.://u01/app/oracle/product/19.0.0/dbhome_1/jdk/bin:/u01/app/oracle/product/19.0.0/dbhome_1/bin:.

action=$1

  • action=start
    nrinst=$2
  • nrinst=2
    case $nrinst in
    1|2|3|4)
    echo "Performing action $action on New Relic Plug-in for Instance $nrinst"
    nrinstlist=$nrinst
    ;;
    all)
    echo "Performing action $action for ALL New Relic Plug-in instances"
    nrinstlist=find ../newrelic \( ! -name 'newrelic' -prune \) -name 'nri-db-2.1.0_[1-9]' -type d -print |rev | cut -d '_' -f1
    ;;
    *)
    usage
    exit 1
    ;;
    esac
  • echo Performing action start on New Relic Plug-in for Instance 2
    Performing action start on New Relic Plug-in for Instance 2
  • nrinstlist=2

for nrinst in $nrinstlist
do
nrcfgdir="$nrhome/${nrapp}${nrinst}/config"
nrlibdir="$nrhome/${nrapp}
${nrinst}/lib"

# check exisitence of config directory
if [ ! -d "$nrcfgdir" ] ; then
    echo "New Relic Plug-in config directory does not exist for Instance ${nrinst}"
    continue
fi

# check exisitence of lib directory
if [ ! -d "$nrlibdir" ] ; then
    echo "New Relic Plug-in lib directory does not exist for Instance ${nrinst}"
    continue
fi

case "$action" in
start)
     nrpid=`ps -uoracle -o "%p %a" | grep "com.newrelic.infra.db.Main" |  grep "${nrapp}_${nrinst}" | grep -v grep |  awk '{printf("%s\n",$1)}' `
     if [ -z "$nrpid" ]; then
        echo "Starting New Relic Oracle Plug-in at $datestr for Instance ${nrinst}"
        echo " "
        CLASSPATH=$nrlibdir/nri-db-2.1.0.jar:$nrlibdir/slf4j-jdk14-1.7.30.jar:$nrlibdir/infra_publish-2.3.1.jar:$nrlibdir/insights_client-1.0.9.jar:$nrlibdir/slf4j-api-1.7.30.jar:$nrlibdir/gson-2.8.6.jar:$nrlibdir/jasypt-1.9.3.jar:$nrlibdir/commons-lang3-3.12.0.jar:$nrlibdir/postgresql-42.2.19.jar:$nrlibdir/hsqldb-2.5.1.jar:$nrlibdir/jackson-databind-2.6.7.1.jar:$nrlibdir/checker-qual-3.5.0.jar:$nrlibdir/jackson-annotations-2.6.0.jar:$nrlibdir/jackson-core-2.6.7.jar:$nrlibdir/httpclient-4.5.6.jar:$nrlibdir/httpcore-4.4.10.jar:$nrlibdir/commons-logging-1.2.jar:$nrlibdir/commons-codec-1.10.jar:$nrhome/ojdbc8.jar
        export CLASSPATH

        DEFAULT_JVM_OPTS="-Djava.util.logging.config.file=$nrcfgdir/logging.properties"

       ## must change the directory where .nridbrc exists
        cd $nrhome/${nrapp}_${nrinst}
        nohup $javaexe  -Xms16m -Xmx128m -classpath "$CLASSPATH" $DEFAULT_JVM_OPTS com.newrelic.infra.db.Main   >/dev/null 2>&1 &
        nrpid=$!
        echo "New Relic Oracle Plug-in started with pid $nrpid for Instance ${nrinst}"
     else
        echo "New Relic Oracle Plug-in is already running as $nrpid for Instance ${nrinst}"
        echo " "
        echo "Stop the running New Relic Oracle Plug-in first"
     fi
     ;;
stop)
     echo "Stopping New Relic Oracle Plug-in at $datestr for Instance ${nrinst}"
     echo " "
     cd $nrhome
     nrpid=`ps -uoracle -o "%p %a" | grep "com.newrelic.infra.db.Main" |  grep "${nrapp}_${nrinst}" | grep -v grep |  awk '{printf("%s\n",$1)}' `
     if [ -z "$nrpid" ]; then
        echo "New Relic Oracle Plug-in is not running. No Plug-in is stopped"
     else
        kill -9 $nrpid
        echo "New Relic Oracle Plug-in with pid $nrpid is terminated with kill -9 for Instance ${nrinst}"
     fi
     ;;
status)
     echo "Checking Status of New Relic Oracle Plug-in at $datestr for Instance ${nrinst}"
     echo " "
     cd $nrhome
     nrpid=`ps -uoracle -o "%p %a" | grep "com.newrelic.infra.db.Main" |  grep "${nrapp}_${nrinst}" | grep -v grep |  awk '{printf("%s\n",$1)}' `
     if [ -z "$nrpid" ]; then
        echo "New Relic Oracle Plug-in is not running for Instance ${nrinst}"
     else
        echo "New Relic Oracle Plug-in running with pid $nrpid for Instance ${nrinst}"
     fi
     ;;
*)
     usage
     ;;
esac

done

  • nrcfgdir=/tech/newrelic/nri-db-2.1.0_2/config

  • nrlibdir=/tech/newrelic/nri-db-2.1.0_2/lib

  • [ ! -d /tech/newrelic/nri-db-2.1.0_2/config ]

  • [ ! -d /tech/newrelic/nri-db-2.1.0_2/lib ]

    • ps -uoracle -o %p %a
  • grep com.newrelic.infra.db.Main

  • grep nri-db-2.1.0_2

  • grep -v grep

  • awk {printf("%s\n",$1)}
    nrpid=

  • [ -z ]

  • echo Starting New Relic Oracle Plug-in at Mon May 8 16:11:03 +08 2023 for Instance 2
    Starting New Relic Oracle Plug-in at Mon May 8 16:11:03 +08 2023 for Instance 2

  • echo

  • CLASSPATH=/tech/newrelic/nri-db-2.1.0_2/lib/nri-db-2.1.0.jar:/tech/newrelic/nri-db-2.1.0_2/lib/slf4j-jdk14-1.7.30.jar:/tech/newrelic/nri-db-2.1.0_2/lib/infra_publish-2.3.1.jar:/tech/newrelic/nri-db-2.1.0_2/lib/insights_client-1.0.9.jar:/tech/newrelic/nri-db-2.1.0_2/lib/slf4j-api-1.7.30.jar:/tech/newrelic/nri-db-2.1.0_2/lib/gson-2.8.6.jar:/tech/newrelic/nri-db-2.1.0_2/lib/jasypt-1.9.3.jar:/tech/newrelic/nri-db-2.1.0_2/lib/commons-lang3-3.12.0.jar:/tech/newrelic/nri-db-2.1.0_2/lib/postgresql-42.2.19.jar:/tech/newrelic/nri-db-2.1.0_2/lib/hsqldb-2.5.1.jar:/tech/newrelic/nri-db-2.1.0_2/lib/jackson-databind-2.6.7.1.jar:/tech/newrelic/nri-db-2.1.0_2/lib/checker-qual-3.5.0.jar:/tech/newrelic/nri-db-2.1.0_2/lib/jackson-annotations-2.6.0.jar:/tech/newrelic/nri-db-2.1.0_2/lib/jackson-core-2.6.7.jar:/tech/newrelic/nri-db-2.1.0_2/lib/httpclient-4.5.6.jar:/tech/newrelic/nri-db-2.1.0_2/lib/httpcore-4.4.10.jar:/tech/newrelic/nri-db-2.1.0_2/lib/commons-logging-1.2.jar:/tech/newrelic/nri-db-2.1.0_2/lib/commons-codec-1.10.jar:/tech/newrelic/ojdbc8.jar

  • export CLASSPATH

  • DEFAULT_JVM_OPTS=-Djava.util.logging.config.file=/tech/newrelic/nri-db-2.1.0_2/config/logging.properties

  • cd /tech/newrelic/nri-db-2.1.0_2

  • nohup /usr/java8_64/jre/bin/java -Xms16m -Xmx128m -classpath /tech/newrelic/nri-db-2.1.0_2/lib/nri-db-2.1.0.jar:/tech/newrelic/nri-db-2.1.0_2/lib/slf4j-jdk14-1.7.30.jar:/tech/newrelic/nri-db-2.1.0_2/lib/infra_publish-2.3.1.jar:/tech/newrelic/nri-db-2.1.0_2/lib/insights_client-1.0.9.jar:/tech/newrelic/nri-db-2.1.0_2/lib/slf4j-api-1.7.30.jar:/tech/newrelic/nri-db-2.1.0_2/lib/gson-2.8.6.jar:/tech/newrelic/nri-db-2.1.0_2/lib/jasypt-1.9.3.jar:/tech/newrelic/nri-db-2.1.0_2/lib/commons-lang3-3.12.0.jar:/tech/newrelic/nri-db-2.1.0_2/lib/postgresql-42.2.19.jar:/tech/newrelic/nri-db-2.1.0_2/lib/hsqldb-2.5.1.jar:/tech/newrelic/nri-db-2.1.0_2/lib/jackson-databind-2.6.7.1.jar:/tech/newrelic/nri-db-2.1.0_2/lib/checker-qual-3.5.0.jar:/tech/newrelic/nri-db-2.1.0_2/lib/jackson-annotations-2.6.0.jar:/tech/newrelic/nri-db-2.1.0_2/lib/jackson-core-2.6.7.jar:/tech/newrelic/nri-db-2.1.0_2/lib/httpclient-4.5.6.jar:/tech/newrelic/nri-db-2.1.0_2/lib/httpcore-4.4.10.jar:/tech/newrelic/nri-db-2.1.0_2/lib/commons-logging-1.2.jar:/tech/newrelic/nri-db-2.1.0_2/lib/commons-codec-1.10.jar:/tech/newrelic/ojdbc8.jar -Djava.util.logging.config.file=/tech/newrelic/nri-db-2.1.0_2/config/logging.properties com.newrelic.infra.db.Main

  • 1> /dev/null 2>& 1

  • nrpid=6357558

  • echo New Relic Oracle Plug-in started with pid 6357558 for Instance 2
    New Relic Oracle Plug-in started with pid 6357558 for Instance 2

exit 0

  • exit 0

Regards,
Sreelekshmi

pluginctl.sh syntax error with /bin/sh

Running the command ./pluginctl.sh start (as documented in the readme) on my default shell yields the following error:

-bash-3.2$ Plugin location: /vagrant/nr/newrelic-unix-monitor-master
Java location: /vagrant/nr/jre1.8.0_181/bin/java
Java version: 1.8.0_181
Java major version: 8
Running as plugin that posts directly to Insights.
./pluginctl.sh: syntax error at line 240: `admin_api_key=$' unexpected

Running it with bash fixes it bash ./pluginctl.sh start.
Happy to send a PR to either change the shebang, add a note to invoke it with bash, or add a note about this in the readme.

Solaris extension request

Hi
a customer, for a Solaris system, would like to add the collection of metrics reported by following commands:
echo ::memstat | mdb -k (the same information could be possibly be collected also with kstat, this is important to get the real memory usage)
Bildschirmfoto 2022-11-04 um 14 04 36

svcs -xv
fmadm list -s

for the time being I just would need the confirmation that is doable and it could be done in a timely manner if the prospect request it. Cold provide me this confirmation ?

Thanks

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.