AppDynamics Knowledge Base

How do I add edits to the event-service.vmoptions when /tmp is noexec and the Events Service fails discovery?

How do I add edits to the event-service.vmoptions when /tmp is noexec and the Events Service fails discovery?

Table of Contents

Description

Requirements

Reason

Overview

Steps

Description

This article walks through how to add required edits toevents-service.vmoptions if you are using the Enterprise Console Discovery process. This is a temporary workaround in order to succeed with the Discovery process, therefore allowing you to administer your Events Service node/cluster using the Enterprise Console.

Requirements

  • If there is an existing (4.4.x/4.5.x) Events Service node/cluster that requires specific options be added to the events-service.vmoptions in order to start. A system which has noexec for their /tmp directory will likely qualify.
  • If you are discovering an existing Events Service node/cluster and the process is unsuccessful due to failed health checks.

Reason

When the Enterprise Console's Discovery process is used to find an existing Events Service cluster/node, the tasks will fail to complete due to the events-service.vmoptions file being reset to their defaults on each of the nodes. Once the vmoptions are reset, the node will fail to start, leading to the node(s) failing the health check required by the Discovery process.

Overview

In short, what you'll do is take the prepackaged vanilla events-service.zip  file that comes with the Enterprise Console (ex: [ENTERPRISE_CONSOLE_HOME_DIR]/platform-admin/archives/events-service/4.5.2.20561/events-service.zip), unpack the archive, add the required  vmoptions ​ file to the events-service.vmoptions file​, recompress the modified events-service directory, and then run the Discovery process with the Enterprise Console.

Before you start, please make a backup copy of the existing Events Service installation.

If you have any doubts or are unsure about whether these steps are needed for your deployment -- PLEASE STOP HERE.

Steps

1.   From the terminal of the Enterprise Console host, please navigate to the following directory (or whatever is the latest 4.4.x/4.5.x version directory available).

cd [ENTERPRISE_CONSOLE_HOME_DIR]/platform-admin/archives/events-service/4.5.2.20561

2.   The directory should have the following contents:

....4.5.2.20561]# ls -1 events-service.zip
pa-es.jar
playbooks
service.yml

3.  Backup the original events-service.zip ​.

cp events-service.zip events-service.zip.bk

4. Unzip the original archive and remove the archive.

unzip events-service.zip -d ./modified
rm events-service.zip

5.  At this stage, your present working directory listing should look like 

....4.5.2.20561]# ls -1
events-service.zip.bk
modified
pa-es.jar
playbooks
service.yml

and the modified ​subdirectory will contain the unzipped events-service ​directory.

4.5.2.20561]# find ./modified -maxdepth 2
./modified
./modified/events-service
./modified/events-service/bin
./modified/events-service/plugins
./modified/events-service/elasticsearch
./modified/events-service/version.txt
./modified/events-service/lib
./modified/events-service/conf

6.   Navigate to ./modified/events-service/conf ​and using your editor of choice, please update the events-service.vmoptions ​file to include your required options. In our example, the options that can be added are either

-Djna.tmpdir=/new/tmp/location​or -Djava.io.tmpdir=/new/tmp/location​where /new/tmp/location is a path on the host machine which is has exec permissions

-Djava.net.preferIPv4Stack=true
-Dfile.encoding=UTF-8
-Djna.tmpdir=/new/tmp/location​
-XX:+UseParNewGC
-XX:+UseConcMarkSweepGC
-XX:CMSInitiatingOccupancyFraction=75
-XX:+UseCMSInitiatingOccupancyOnly
-XX:+DisableExplicitGC
-XX:+PrintGCDetails
-XX:+PrintGCDateStamps
-XX:+PrintGCTimeStamps
-XX:+PrintClassHistogram
-XX:+PrintTenuringDistribution
-XX:+PrintGCApplicationStoppedTime
-XX:+PrintPromotionFailure
-verbose:gc
-XX:GCLogFileSize=64m
-XX:NumberOfGCLogFiles=4
-XX:+UseGCLogFileRotation
-XX:CompileCommand=exclude,org/apache/lucene/lucene54/Lucene54DocValuesConsumer.addSortedNumericField
-XX:CompileCommand=exclude,org/apache/lucene/lucene54/Lucene54DocValuesConsumer.addBinaryField
-XX:CompileCommand=exclude,org/elasticsearch/search/aggregations/metrics/percentiles/tdigest/AbstractTDigestPercentilesAggrega$
-XX:CompileCommand=exclude,org/apache/lucene/index/SortedNumericDocValuesWriter.flush
-XX:CompileCommand=exclude,org/apache/lucene/codecs/PushPostingsWriterBase.writeTerm

7.  Save out the file and navigate to the version directory if you've navigated away.

cd [ENTERPRISE_CONSOLE_HOME_DIR]/platform-admin/archives/events-service/4.5.2.20561


8.   Move the modified events-service directory one level up and then r ecompress the events-service ​directory containing the edits

mv ./modified/events-service ./events-service
zip -r events-service.zip ./events-service

9.  At this point, the version directory listing should look like the following:

4.5.2.20561]# ls -1
events-service.zip      <---modified events-service.zip
events-service.zip.bk   <---original events-service.zip
modified
pa-es.jar
playbooks
service.yml

10.   Remove the directory modified ​now that the edits have been made

rm -rf ./modified

11.   Feel free to backup the modified archive to a temp directory in the event you wish to save time if you are running multiple tests.


12.   In the Enterprise Console UI, run the Discovery task again.


13.  The hope is that the full Discovery process will now complete, allowing you to administer this cluster using the Enterprise Console.

14. If the Discovery process completes, one can assume the required options have not been reset. To be extra sure, you can verify all the required options are present in the events-service.vmoptions by running the following command on each node:

cat [EVENTS_SERVICE_HOME_DIR]/processor/conf/events-service.vmoptions
Labels (1)
Comments

If you don't mind remounting /tmp with exec and you have sufficient permissions, this may be an easier approach.

mount -o remount, exec /tmp
OR more permanently, you could update /etc/fstab entries for /tmp.

@Shaun.Dolan, thank you for adding this helpful tip to the article.

Hi,

The file is unavailable. events-service.zip

Thanks,

Fernando

Thanks @Anonymous  for catching that and letting the community know. This is helpful! @Claudia.Landivar and team are working on getting this updated... they will report back when it's fixed. 

Hi, @Anonymous. We've done some investigating and have updated the article accordingly. The events.service.zip file wasn't supposed to be linked. You should have what you need in the revised document.

@Claudia.Landivar  thank you for you for update the article.

@Anonymous.Oliveira, you're welcome! @Anonymous.Perlstein was instrumental in getting it updated. Grateful to you for pointing out this area of improvement. It helps the whole community.

Version history
Last update:
‎05-30-2018 10:38 AM
Updated by: