JENNIFER APM

Download 7
Last updated Oct 30, 2026

Install Guide

Overview

The JENNIFER APM app calls the JENNIFER management API (Open API) at intervals and collects the performance of finished transactions. It collects the time spent in each part - response time, CPU time, SQL time and so on - along with the error type, and a query command reads the list of running services in real time.

From 1.1.2610.0 the app adds the JENNIFER console. The same dashboard, analysis and statistics screens as the JENNIFER web console open inside Logpresso Sonar, and query commands read the same console data to narrow down the cause of a performance anomaly. The app therefore comes in two parts that use different credentials.

ItemTransaction collectionConsole screens and console query commands
App version1.0.2607.0 or later1.1.2610.0 or later
CredentialJENNIFER Open API tokenJENNIFER console account ID and password
Connect profile typeJENNIFER APMJENNIFER Console
What you getThe 제니퍼 APM 트랜잭션 (JENNIFER APM Transaction) collection model, the jennifer-apm-transaction-time and jennifer-apm-active-service-list query commandsThe Dashboard, Analysis and Statistics menus, jennifer-instances and six more query commands, AI agent root cause analysis

Scope

Note
Works with Sonar 4.0.2308.0 or later and a JENNIFER server that provides the JENNIFER Open API.
Note
The console screens and console query commands come with app 1.1.2610.0 or later. The screens are laid out and used the same way as the JENNIFER 5.7.0.1 console, and their labels are the console's Korean labels.

Choosing what to set up

The two parts are independent. Work through only the sections the features you want need.

What you wantSections to follow
Collect transactions into a table onlyTransaction collection under Requirements, JENNIFER APM setup, Logpresso collection setup, transaction collection under Verify the installation
Console screens and console query commands onlyConsole screens and console query commands under Requirements, Console setup, console screens and console query commands under Verify the installation
BothAll of the above. You create one connect profile of each type, two in all
Note
An Open API token cannot read what the console screens and console query commands read (realtime charts, statistics, problem analysis, transaction profiles). Nor can a console account run the collector. Using both features takes two profiles.

Requirements

Transaction collection

ItemRequirementNote
JENNIFER account/permissionPermission to call the JENNIFER Open APIMissing permission may leave gaps in collection
Credential to issueJENNIFER Open API tokenIssued in the JENNIFER management console
Information to look upDomain ID to collect, instance IDs (optional)Found in the JENNIFER management console
NetworkHTTPS/443 (Sonar collection node → JENNIFER server, outbound)Firewall policy must allow it
Note
The JENNIFER API returns at most one minute per call. The app splits requests into 60-second calls by itself, so a large "Scan Days" value in the collector options raises the number of API calls accordingly.

Console screens and console query commands

ItemRequirementNote
App versionJENNIFER APM 1.1.2610.0 or laterEarlier versions have no console menus or commands
Console accountAn account ID and password that can sign in to the JENNIFER web consoleIt must be able to see the domains you monitor. A dedicated account is recommended
Information to look upThe JENNIFER view server (web console) address, e.g. https://jennifer.example.com:7900The address you open the console with in a browser
NetworkSonar server → JENNIFER view server, HTTP(S) and WebSocket on the console port (outbound)Firewall and proxy policy must allow it

JENNIFER APM setup

These steps are for transaction collection.

Step 1: Issue an Open API token

Issue a token for Open API calls in the JENNIFER management console. Keep the token string somewhere safe; you enter it when you register the Sonar connect profile.

Step 2: Find the domain ID

Find the ID of the domain to collect. The domain ID is a required collector setting.

Step 3: Find instance IDs (optional)

To collect only certain instances, find their IDs. Without instance IDs, every instance in the domain is collected.

Logpresso collection setup

Step 1: Add a connect profile

Under System > Connect Profiles, click Add and enter the values below.

KindItemSetting
RequiredNameA unique name for the connect profile
RequiredIdentifierThe profile's unique identifier, used in Logpresso queries and elsewhere, e.g. jennifer_apm
RequiredTypeSelect JENNIFER APM
RequiredTokenThe Open API token issued in JENNIFER APM setup step 1
RequiredEndpointJENNIFER server URL, e.g. https://example.com:7900
OptionalHTTP proxyIP:PORT
OptionalConnection timeoutMilliseconds. 30000, the default, is recommended

Adding a connect profile

Step 2: Add a collector

Under Collection > Collectors, click Add and enter the values below.

KindItemSetting
RequiredNameA unique name for the collector
RequiredInterval60 seconds recommended
RequiredStorage/collection nodeThe node that suits your Logpresso platform layout
RequiredCollection modelSelect 제니퍼 APM 트랜잭션 (JENNIFER APM Transaction)
RequiredTableThe table to store collected data in. To keep domains apart, suffix the domain ID (e.g. APM_JENNIFER)
RequiredConnect profileThe profile identifier from step 1
RequiredDomain IDThe domain ID found in JENNIFER APM setup step 2
OptionalInstance IDSeveral may be given, comma separated, e.g. 10000,10001. All instances when omitted
OptionalScan Days0 to 90. How many days back the first collection reaches. 0 collects from now on (default)
OptionalDelay timeSeconds. Queries that far behind the current time (default 0)

Top of the collector form

Bottom of the collector form

Tip
Where transactions reach the JENNIFER server with some delay, a delay time of 30 to 60 seconds reduces gaps.
Caution
"Scan Days" is how many days the first collection reads. Because the JENNIFER API returns only one minute per call, the app splits the range into 60-second calls, so the first collection makes "days x 24 hours x 60 minutes" calls: about 10,000 for 7 days, about 43,000 for 30 days and about 130,000 for the maximum of 90 days. These calls run one after another in the first collection cycle and can take hours to finish. Weigh the load on the JENNIFER server and the time the first collection takes, and give only the range you need.

Console setup

These steps are for the console screens and console query commands. The app signs in to the JENNIFER web console with the console account and receives the data the screens and query commands use.

Step 1: Check the app version

In the App Store, check that the JENNIFER APM app is 1.1.2610.0 or later, and update it if an earlier version is installed. JENNIFER APM connect profiles and collectors you already have stay as they are.

Step 2: Prepare a console account

Prepare the account this app will use in the JENNIFER console.

  • It must be able to see the domains and instances you monitor in the console. Whatever the account cannot see in the console does not show up in the screens or query commands either
  • A dedicated account for this app is recommended over a person's account. When the account's password changes, the connect profile has to change too
  • Some buttons on the screens appear only when the account has the permission for them. Grant only what the screens are meant for
Caution
The console screens and the query commands let a Sonar user use only the JENNIFER Console connect profiles that user is granted, and send the user's requests as the profile's console account. If the account holds the permissions below, a Sonar user granted the profile can actually change JENNIFER from the screens. These actions appear on the screens only when the account has the matching permission. Grant the connect profile only to the users who need it.
ScreenActionWhat happens in JENNIFER
Heap memory chartRun GCRuns a GC on the target instance's JVM
⋯ menu of the statistics and X-View analysis screens시작 화면으로 설정 (Set as start screen)Changes the console account's start page
Event chart on the dashboardsRecoveryMarks the instance's event as recovered
X-View transaction call treeMethod, class and package profile settingsChanges JENNIFER's method profiling settings
X-View transactionsBackground export (profile text, stack trace)Creates a background job for the console account
X-View transactionsSQL 성능 상세 보기 (SQL performance details, Sherpa for Oracle link)Asks the console for the SQL's Sherpa for Oracle link
X-View transactionsTalk sharingPosts to the console's Talk board as the console account
X-View analysisX-View 패턴 등록 (Register X-View pattern)Registers an X-View pattern on the server

To rule out write actions, use a read-only account without these permissions. The query commands only read, whatever the permissions.

Step 3: Check the network

The app connects to the JENNIFER view server from the Sonar server, not from the user's browser. Allow outbound connections from the Sonar server to the console address's port.

Used forPathProtocol
Sign-in, statistics and analysis dataWeb paths of the console addressHTTP(S)
Realtime charts/ws/realtimeWebSocket on the same port
X-View points, X-View transactions/ws/bigdataWebSocket on the same port

If a proxy or security device sits in between, check that it allows the WebSocket upgrade. With only HTTP getting through, the statistics screens open but the realtime charts and X-View stay empty.

Step 4: Add a connect profile

Under System > Connect Profiles, click Add and enter the values below.

KindItemSetting
RequiredNameA unique name for the profile. It appears in the console screens' profile list and is what the query commands' profile option takes
RequiredIdentifierThe profile's unique identifier, e.g. jennifer_console
RequiredTypeSelect JENNIFER Console
RequiredEndpointJENNIFER view server URL, e.g. https://jennifer.example.com:7900
RequiredAccount IDThe console account ID prepared in step 2
RequiredAccount passwordThe console account's password. Stored as a protected value
OptionalHTTP proxyIP:PORT
OptionalConnect timeoutSeconds. 30 by default
OptionalRead timeoutSeconds. 30 by default
Note
The connection timeout of a JENNIFER APM profile is in milliseconds; the timeouts of a JENNIFER Console profile are in seconds.

The console screens and query commands share one sign-in with the profile's account. When the sign-in expires, the app signs in again by itself. Changing the profile's endpoint, account, password or proxy makes it sign in afresh with the new values.

With several JENNIFER consoles, create one profile per console.

Step 5: Check the menus

With app 1.1.2610.0 or later, the following menus appear under JENNIFER APM in the left menu.

MenuScreens
DashboardSystem Admin, Application Insights, Memory, System Resource
AnalysisX-View, Stacktrace Flight Recorder (SFR)
StatisticsDaily System Performance, Monthly System Performance

When you open a screen and there is one JENNIFER Console profile, it opens with that profile straight away. With two or more, a list of profile names and endpoints appears first; the one you pick stays in the address as ?profile= and carries over as you move between screens.

Verify the installation

Transaction collection

Under Collection > Collectors, check that the collector you added is running, and query the table after a cycle or two. Replace the table name with the one you gave the collector.

table duration=10m APM_JENNIFER

Console screens and console query commands

Opening one screen and running one command checks sign-in, the realtime connection and data reads all at once.

  1. Open Dashboard > System Admin. When instance names appear in the domain bar at the top and charts such as TPS and response time refresh every few seconds, sign-in and the realtime connection work
  2. See whether points appear in the X-View chart on the same screen. If they do, the X-View data connection works too
  3. Open Statistics > Daily System Performance and search yesterday. When the table and charts fill in, statistics reads work
  4. Run the command below on the query screen. When domains and instances come back, the query commands work
jennifer-instances
Note
The query commands use only the JENNIFER Console profiles the user running the query may use. Without the profile option they use every such profile, so name one with profile when there are several.

Troubleshooting

SymptomCauseWhat to do
No Dashboard, Analysis or Statistics in the left menuApp version below 1.1.2610.0Update the app
The screen says "사용할 수 있는 JENNIFER 콘솔 접속 프로파일이 없습니다" (no usable JENNIFER Console connect profile)No profile of the JENNIFER Console type, or the user is not granted oneAdd one as in console setup step 4, or grant the user the profile. A JENNIFER APM (token) profile is not used by the screens
jennifer: login rejected, check account id and passwordWrong account ID or passwordSign in to the console directly with the same account, then fix the profile
jennifer: login failed with status ...The endpoint is not the web console addressPut in the address (scheme, host, port) at which a browser shows the console's login screen
jennifer: unauthorized for ..., check account id and passwordThe console refuses requests even after signing in againCheck the account's state and password in the console and fix the profile
Screens or commands fail with a connection timeoutThe Sonar server cannot reach the consoleCheck the firewall and the HTTP proxy setting
Statistics open but realtime charts and X-View are emptyA device in between blocks WebSocketAllow the WebSocket upgrade for /ws/realtime and /ws/bigdata
Query error 207910 (no available JENNIFER console profile)No profile, or the user may not use itAdd a profile or grant the user permission on it
Query error 207916 (specify one profile in the profile option)domain_id was given while several profiles are usableName one profile with the profile option
207902 or 207903 from jennifer-apm-transaction-timeNo period givenGive duration, or from and to

References

With the installation done, see the User Guide for how to use the screens and query commands.