• No results found

Database Monitoring. AppDynamics Pro Documentation. Version 4.0.x. Page 1

N/A
N/A
Protected

Academic year: 2021

Share "Database Monitoring. AppDynamics Pro Documentation. Version 4.0.x. Page 1"

Copied!
60
0
0

Loading.... (view fulltext now)

Full text

(1)

Database Monitoring

AppDynamics Pro Documentation

(2)

Database Monitoring . . . 3

Database Monitoring Requirements and Supported Environments . . . 5

Required Database Permissions . . . 7

Authentication for Host Monitoring . . . 12

Configure WMI Permissions and Security . . . 13

AppDynamics Database Monitoring Architecture . . . 17

Install or Upgrade the Database Agent . . . 18

Database Agent Configuration Properties . . . 22

Installing the Database Agent as a Windows Service . . . 28

Start the Database Agent Automatically on Linux . . . 31

Start the Database Agent Automatically on Windows . . . 32

Configure Database Collectors . . . 32

Monitor Databases and Database Servers . . . 36

Access Database Monitoring . . . 36

View Overall Database and Server Performance . . . 37

Discover Normal Database and Server Activity . . . 41

Configure Problem Detection Notifications . . . 42

Monitor Database Performance . . . 43

Database Dashboard . . . 43

Database Live View . . . 45

Database Queries . . . 47

Database Clients . . . 49

Database Sessions . . . 50

Database Object Browser . . . 51

Database Reports . . . 53

Monitor Database Server Hardware . . . 54

Administer AppDynamics Database Monitoring . . . 56

Adding Database Instance Licenses . . . 56

Database Agent Events Reference . . . 57

(3)

Database Monitoring

On this page:

How AppDynamics Monitors Databases Related pages:

AppDynamics Database Monitoring Architecture Monitor Databases and Database Servers Configure Roles

Watch the video:

Getting Started - Database Agent

AppDynamics Pro Database Monitoring gives you end-to-end visibility into the performance of your applications, helping you dramatically reduce the time it takes to find and fix database

performance issues.

Use AppDynamics Database Monitoring to monitor your databases and database servers for situations you need to be aware of, whether it be load that is too high, response time is too slow, number of executions of a SQL queries are too high, or disk capacity is too low. Using the power of AppDynamics Pro, AppDynamics Database Monitoring monitors your databases 24/7

automatically and can alert you when unusual or critical situations arise. AppDynamics Database Monitoring provides an intuitive interface on a single pane of glass that visualizes database and server activity so you can see at a glance where problem areas are.

AppDynamics Pro Database Monitoring versions AppDynamics for Databases

new in 4.0 AppDynamics Pro Database Monitoring is our first step in the transition from our offering to a more tightly-integrated

standalone AppDynamics for Databases server

solution in which AppDynamics Pro, along with the new Database Agent, monitors and reports your database activity. Many, but not all of the platforms and metrics supported by AppDynamics for Databases are monitored and reported in AppDynamics Pro Database Monitoring. Feature parity between these two offerings is expected in the near future.

(4)

How AppDynamics Monitors Databases

AppDynamics Database Monitoring takes a time-based approach to monitoring, providing you with visibility of the database performance over time. You can see the current performance of

connected sessions, drill down into SQL Explain plans and view database statistical information. You can see what is happening now as well as what occurred over the last day, the last week or the last month. The product answers important questions such as “What happened to the online application yesterday to make it slow down?” and “Why is the overnight batch job still running this morning at 8:55?”

AppDynamics Database Monitoring sorts database activity by efficiency, showing you the worst performing activities. You can immediately see potential problems, such as which SQL statement or stored procedure is consuming system resources, which machine is experiencing lags, and which programs are causing the bottlenecks. For example, AppDynamics for Databases shows how much time is spent fetching, sorting or waiting on a lock.

(5)

AppDynamics Database Monitoring polls for running queries and statistics to build a complete picture of what is happening on the database instance. This information tells you exactly what is active within the instance and most importantly what SQL statements are executing. The depth of data collected from AppDynamics Database Monitoring is comprehensive and allows detailed drill down. An expert DBA can view the resource consumption profile of an instance, drill into

a performance spike, and then find the underlying root cause within seconds. When your SQL code is running well, AppDynamics Database Monitoring shows this without requiring you to analyze configuration parameters and metrics.

Database Monitoring Requirements and Supported Environments

For large scale deployments, or where monitored systems are extremely busy, please contact AppDynamics Support for installation recommendations and assistance.

On this page:

Systems that AppDynamics Database Monitoring Supports

AppDynamics Pro Controller Requirements Software Requirements

Network Requirements Related pages:

Required Database Permissions Database Monitoring

Systems that AppDynamics Database Monitoring Supports

Once Database Monitoring is available, you can create collectors that run on the AppDynamics Controller to monitor any of the following systems:

Start the Controller Events Service

(6)

System Category System Type Supported via Amazon RDS Version Databases

MySQL yes all versions including Percona and

MariaDB Microsoft SQL

Server

yes 2000, 2005, 2008, 2012, and 2014

Oracle yes 8i, 9i, 10g, 11g, and 12c

PostgreSQL 8.x, 9.x

IBM DB2 LUW 9.x, 10.x

Sybase 15+, Sybase ASE

Sybase IQ

Hardware Monitoring

Windows 32-bit (will also work on 64-bit

systems)

Linux 32-bit and 64-bit

Solaris all versions

AIX

Database Monitoring is accomplished by two components, the Database Agent and the

AppDynamics Pro Controller. The agent collects the data from the database server and passes it to the AppDynamics Controller for interpretation and display in the Controller UI. One Database Agent can collect metrics from up to 200 databases. The Database Agent does not need to be installed on the same system hosting the database server.

Agent Hardware Requirements

The machine running the Database Agent needs: 1-10 collectors: 2 GB RAM, Single CPU 10-20 collectors: 4 GB RAM, 2 CPUs

More than 20 collectors: 8 GB RAM, 4 CPUs A maximum heap size of 50 MB per collector

(7)

For information on additional hardware requirements for the AppDynamics Controller to support Database Monitoring, see AppDynamics Pro, Controller System Requirements.

Software Requirements

The Database Agent runs on a Java Virtual Machine. JVMs versions 1.7 and 1.8 are supported.

Network Requirements

The machine on which the database is running or the machine you want to monitor must be accessible from the machine where the Database Agent is installed and running. This machine must have a network connection, internet or intranet.

If your databases are behind a firewall, you must configure the firewall to permit the machine running the Database Agent program access to the databases. The database listener port (and optionally the SSH or WMI port) must be open.

Required Database Permissions

On this page:

IBM DB2 (LUW) Database Permissions Microsoft SQL Server Database Permissions MySQL Server Database Permissions Oracle Database Permissions

PostgreSQL Database Permissions Sybase ASE Database Permissions Permissions Required for Explain Plans

Each monitored database requires permissions for the AppDynamics Database Monitoring user so that it can gather important monitoring data. The database user is specified when you are adding a Collector. Before adding the Collector, ensure a user for the Collector is available with the required permissions as stated below. The monitor user must be able to connect to the database remotely from the machine running the Database Agent. The permissions required are database

dependent.

IBM DB2 (LUW) Database Permissions

For complete AppDynamics for Databases functionality the following monitoring switches of the DB2 server need to be enabled: "BUFFERPOOL", "LOCK", "SORT", "STATEMENT", "TABLE", "TIMESTAMP", and "UOW".

Start the Controller Events Service

The Database Agent requires the Controller Events Service, which must be started before starting the agent.

(8)

1.

2.

You can enable these monitoring switches by the following commands:

update dbm cfg using dft_mon_uow on; update dbm cfg using dft_mon_stmt on; update dbm cfg using dft_mon_timestamp on; update dbm cfg using dft_mon_lock on; update dbm cfg using dft_mon_bufpool on; update dbm cfg using dft_mon_table on; update dbm cfg using dft_mon_sort on;

The monitoring user needs SYSMON authority and connect privileges to monitor. In general, this user must be a part of the sysmon_group.

Additional Permissions for DB2 LUW 9.7 and later

grant execute on function SYSPROC.MON_GET_PKG_CACHE_STMT to user appddbmon

Additional Permissions for DB2 LUW 10.1 and later

Create new user account called appddbmon. Ensure that it has SYSMON authority. grant select on SYSIBMADM.mon_current_sql to user appddbmon

grant select on SYSIBMADM.SNAPSTMT to user appddbmon grant select on SYSIBMADM.SNAPAPPL_INFO to user appddbmon

grant execute on function SYSPROC.MON_GET_PKG_CACHE_STMT to user appddbmon

Microsoft SQL Server Database Permissions

The user account used for monitoring can be a Windows authenticated account (if the Database Agent is running on Windows) or SQL Server authenticated (if AppDynamics for Databases is running on Windows or Linux).

Minimum Permissions Required for SQL Server Logon

You can use the procedure below to create a SQL Server user with the minimum permissions required.

Use the following to create a SQL Server logon user that provides the minimal level of permissions required in order to gain full AppDynamics Database Monitoring/SQL Server functionality.

Using SQL Server Management Studio, create a new login for the AppDynamics SQL Server Database Collector.

Required Permissions to see Execution Plans

The SQL Server user, specified in the Create Collector > Connection Details section must be a SQL Server Authenticated user that is a member of the sysadmin server role or a Windows Authenticated Account with SHOWPLAN access on each database.

For more information, see Showplan Security and SHOWPLAN Permission and in the SQL Server documentation.

(9)

2.

3.

From the User Mapping tab, map the new user to the master and msdb databases.

Once you have created the login, give the following privileges to the user, substituting <userName> with the name you specified on the Login - New window:

Note: You can execute the following as a batch from a query window in Management

Studio. The example shows grants to appdynamics_user, remember to change this if you have set up a different login.

SQL Server Authentication

If you are running AppDynamics Database Monitoring on Linux then you must use SQL Server authentication.

If your SQL Server database allows mixed-mode authentication, then the SQL

Server AppDynamics Database Monitoring uses to monitor the SQL Server database can use a SQL Server username/password authenticated account. If you would like to lock the

role/permissions for the account down, then AppDynamics Database Monitoring requires: View any database

View any definition View server state

One additional requirement for I/O monitoring is to give permissions on a System view called sys.sysaltfiles. To do this you need to select the master database > Views > System Views >

Viewing Object Information

To view object information on the Database > Objects Browser, map the monitoring user to the databases of interest.

use master

GRANT VIEW ANY DATABASE TO <appdynamics_user>; GRANT VIEW ANY definition to <appdynamics_user>; GRANT VIEW server state to <appdynamics_user>;

GRANT SELECT ON [sys].[sysaltfiles] TO <appdynamics_user> GRANT execute on sp_helplogins to <appdynamics_user> GRANT execute on sp_readErrorLog to <appdynamics_user>

use msdb

GRANT SELECT on dbo.sysjobsteps TO <appdynamics_user> GRANT SELECT on dbo.sysjobs TO <appdynamics_user>

GRANT SELECT on dbo.sysjobhistory TO <appdynamics_user>

where <appdynamics_user> is the name of the SQL Server user account specified in Create New Collector, Connection Details, Username field.

Also, the agent must be started with the path to its authentication library. For more information see, Windows Authentication for Microsoft SQL Server.

(10)

for sys.sysaltfiles and then give select permissions on the object to the Public role.

Properties

Windows Authentication

If you would like to use a Windows authenticated account to connect to the SQL Server database, the following is required:

When creating the collector from the Create New Collector dialog, do not specify Username and Password in the database Connection Details.

Also, the agent must be started with the path to its authentication library. For more information see, Windows Authentication for Microsoft SQL Server.

MySQL Server Database Permissions

The MySQL user the Database Agent uses to monitor the MySQL database, must have "SELECT", "PROCESS", and "SHOW DATABASES" privileges on all databases.

If you do not have a suitable existing user, you can use a command such as the following to create a new user; where “host” is the hostname or IP address of the machine running the AppDynamics Database Agent, and “password” is a suitably secure password:

GRANT SELECT,PROCESS,SHOW DATABASES on *.* to 'appddbmon'@'host' identified by 'password';

FLUSH privileges;

Oracle Database Permissions

For versions of Oracle prior to 10g

The permissions required for the Oracle user are: CONNECT

SELECT ANY DICTIONARY

To create a user with these permissions, you can run the following SQL. In this SQL, change "password" to a safe and secure password, and change the tablespace names, "users" and "temp" to those available in your Oracle instance.

CREATE user appddbmon IDENTIFIED BY password default tablespace users

temporary tablespace temp;

GRANT CONNECT, SELECT ANY DICTIONARY, resource to appddbmon;

For versions of Oracle 10g and later

The permissions required for the Oracle user are : CREATE SESSION

SELECT_CATALOG_ROLE

(11)

"password" to a safe and secure password, and change the tablespace names, "users" and "temp" to those available in your Oracle instance.

CREATE USER appddbmon IDENTIFIED BY password default tablespace users

temporary tablespace temp;

GRANT CREATE SESSION, SELECT_CATALOG_ROLE TO appddbmon;

Required Permissions for Oracle Explain Plans

The user you are using to monitor your Oracle database must have the privileges necessary to execute the SQL statement for which you are determining the execution plan. See Oracle Help Center, Explain Plan Privileges for more information.

PostgreSQL Database Permissions

The monitoring user must be superuser and must be able to connect remotely to the PostgreSQL instance from the machine where the AppDynamics Database Agent is installed. For information on how to allow users to authenticate from a remote client machine, see http://www.postgresql.org/

.

docs/8.3/static/auth-pg-hba-conf.html

For complete AppDynamics Database Monitoring functionality, the "track_activities" parameter must be enabled on the PostgreSQL server.

Sybase ASE Database Permissions

For complete AppDynamics Database Monitoring functionality, the monitoring user requires the sa_role and mon_role privilege.

To create a new dedicated user for AppDynamics for Database, you can use following sample user creation script. Before running the script, change "password" to a more secure value.

exec sp_addlogin 'appddbmon', 'password', @defdb='master',

@deflanguage='us_english', @fullname='appddbmon monitoring account', @auth_mech = 'ANY'

go

exec sp_locklogin 'appddbmon', 'unlock' go

exec sp_role 'grant', 'sa_role', 'appddbmon' go

exec sp_role 'grant', 'mon_role', 'appddbmon' go

Also, the following configuration parameters must be set to 1 (true) in order to monitor the Sybase ASE database with AppDynamics for Databases: "enable monitoring", "wait event timing", "SQL batch capture", and "object lockwait timing". You should also set "max SQL text monitored" to at least 8192 (8kB).

(12)

sp_configure "enable monitoring", 1 go

sp_configure "wait event timing", 1 go

sp_configure "SQL batch capture", 1 go

sp_configure "object lockwait timing", 1 go

sp_configure "max SQL text monitored", 8192 go

If the value for "max SQL text monitored" was previously less than 4096, then increasing this setting will require that you restart the Sybase ASE instance.

Permissions Required for Explain Plans

AppDynamics for Databases can generate explain plans within its SQL drilldown window. To enable this functionality, you must have a plan table accessible to the AppDynamics Database

schema user. You can create this plan table with the following command from sqlplus Monitoring

when logged on as the AppDynamics Database Monitoring user: Windows:

@?\rdbms\admin\utlxplan.sql

Linux:

@?/rdbms/admin/utlxplan.sql

Authentication for Host Monitoring

On this page:

Authentication Methods Related pages:

Configure an SSH Key for Controller Access

Authentication Methods

Database Agent User Permissions

Database Monitoring collects the stats from common commands like vmstat/iostat or gathering metrics from the file system such as /proc and as such the user that runs the Database Agent requires no special permissions, just the ability to run those common commands and write to files

(13)

in the Database Agent directory.

Database Agent Collector Authentication

When monitoring the database host, Database Monitoring must log in to the host system to gather There are three ways to authenticate the Database Collector to access the system information.

monitored host:

Specify a username and password in the Collector configuration dialog Place a PEM file or an id_rsa file in the <agent home>/keys directory

If the Database Agent is running on LINUX, Solaris or AIX, place SSH keys in the

<home>.ssh directory of the user running the agent. You can create an SSH key using the same procedure as described for the Controller, Configure an SSH Key for Controller

.

Access

Configure WMI Permissions and Security

On this page:

Requirements to Monitor Windows 7 and Higher Systems (agent running on Unix-like platform)

Ensure User Account Meets Minimum Security Requirements When Using WMI

Enable Remote Registry Access

Grant Access to WBEM Scripting Locator Configure the Firewall

Additional Requirements to Monitor Windows 2012 and Higher Systems (agent running on Unix-like platform)

Grant Full Control Permissions to Select Registry Keys

General Considerations for all Platforms

Use Windows Authentication for Microsoft SQL Server

Prevent Unauthorized Remote Access to WMI Related pages:

WMI and the Database Agent on the AppDynamics Community

To monitor Windows-based machine hardware with AppDynamics Database Monitoring,

AppDynamics uses Windows Management Instrumentation (WMI) to remotely gather the metrics. WMI is often complicated to troubleshoot when the Database Agent is running on a Linux or Unix-like machine. This topic identifies requirements for the target machine configuration that can help you avoid some problems and pitfalls. It also provide some additional considerations

regarding using WMI to monitor a SQL Server database agent and preventing unauthorized remote access to WMI.

(14)

1. 2. 3. 4. 5. 1.

The following are required when the Database Agent is hosted on AIX, Linux or Solaris platforms t o monitor Windows 7 and higher systems.

Ensure that the named Windows account is a member of the local Administrators group.

Ensure that the named Windows account meets the minimum WMI security requirements Enable Remote Registry Access

Grant access to WBEM scripting locator

The following are required when the Database Agent is hosted on AIX, Linux or Solaris platforms t o monitor Windows 2012 and higher systems.

Grant full control permissions to select registry keys

Requirements to Monitor Windows 7 and Higher Systems (agent running on Unix-like platform) The following are required when the Database Agent is hosted on AIX, Linux or Solaris platforms t o monitor Windows 7 and higher systems.

Ensure User Account Meets Minimum Security Requirements When Using WMI

Enable Security Options for Windows Systems that are part of a Domain

Ensure the named Windows account has the correct permissions for WMI Control. Run the wmimgmt.msc program.

Right click the WMI Control icon on the left and click Properties. Click the Security tab.

Click the root node of the tree, and click Properties.

Ensure that the named user account running the Database Agent has the relevant permissions.

The minimum permissions that your remote Windows account needs for the Database Agent are:

Execute Methods Enable Account Remote Enable

If the named Windows account does not have all of these permissions, you might see an access denied error or the following error:

Error=800706BA The RPC server is unavailable. SWbemLocator

or

Error=80070005 Access is denied SWbemLocator

Enable Classic Security Options for Local (non-domain) Windows Systems Applies to Windows computers that are not part of a domain.

Named Windows Account:

The user specified in the collector configuration that the AppDynamics Database Agent uses to connect to the target machine is referred to as "named Windows account."

(15)

1. 2. 3. 1. 2. 3. 4. 5. 6. 7.

Open the Control panel, and go to Administrative Tools > Local Security Policy. The Local Security Settings window appears.

Go to Local Policies > Security Options.

Change the value of "Network access: Sharing and security model for local accounts." to Cl .

assic

Enable Remote Registry Access

The Remote Registry service must be running on the target machine. If the Remote register service is off, you will see the following error:

Message not found for errorCode: 0xC0000034

or

Access is denied

By default Windows 7 and above systems will still deny remote access to the registry, even if the Remote Registry service is started.

To test this, try to connect to the slave registry via regedit on another machine. If you get a error similar to Access is denied, run powershell as an administrator on the slave, and execute Enable-PSRemoting. Restart the machine and try launching the slave again.

Grant Access to WBEM Scripting Locator

The Database Agent requires full access to the WBEM Scripting Locator. On the target system allow full access to the WBEM Scripting Locator as follows:

As an Administrator on the target machine, launch regedit. Locate the registry key:

76A64158-CB41-11D1-8B02-00600806D9B6 in HKEY_CLASSES_ROOT\CLSID Right click the key and click Permissions.

Click Advanced, and then on the Owner tab change the owner to the Administrators group. Click Apply.

On the Permissions tab change the permissions for the Administrators group to Full

. Click .

Control Apply

Close regedit.

Restart the Remote Registry Service, using Administrative Tools > Services.

Configure the Firewall

WMI uses RPC which listens on port 135 but then allocates a dynamic port for subsequent

communication. Configure your Firewall to always allow the TCP port 135 exception and follow the dynamic RPC ports. If there is a problem with the firewall, port 135 then you will probably see this error:

ERROR: Message not found for errorCode: 0xC0000001

Additional Requirements to Monitor Windows 2012 and Higher Systems (agent running on Unix-like platform)

In addition to the requirements described in Requirements to Monitor Windows 7 and Higher

, the following are also required when the Database Agent is hosted on AIX, Linux or

(16)

1. 2. 3. 4. 5. 6. 7. 8. 9. 10.

Solaris platforms to monitor Windows 2012 and higher systems. Grant Full Control Permissions to Select Registry Keys

For the Database Agent running on AIX, Linux or Solaris to monitor Windows 2012 (64-bit) and above systems, complete the following changes on the target system.

As an Administrator on the target machine, launch regedit.

Change the permissions for both of the following registry keys to Full Control: 72C24DD5-D70A-438B-8A42-98424B88AFB8

in HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Wow6432Node\CLSID

76A64158-CB41-11D1-8B02-00600806D9B6 in HKEY_CLASSES_ROOT\CLSID Find the following registry key:

72C24DD5-D70A-438B-8A42-98424B88AFB8 in

HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Wow6432Node\CLSID Right click and click Permissions.

Change the owner to the Administrators group.

Change the permissions for the Administrators group to Full Control.

Change owner back to TrustedInstaller. User is "NT Service\Trusted Installer" on local machine.

Repeat steps 4 to 6 above for the following registry key:

76A64158-CB41-11D1-8B02-00600806D9B6 in HKEY_CLASSES_ROOT\CLSID. Close regedit.

Restart the Remote Registry service, using Administrative Tools > Services.

General Considerations for all Platforms

These topics apply to the Database Agent running on any supported platform; Windows, Linux, and Unix-like systems.

Use Windows Authentication for Microsoft SQL Server

To use Windows Authentication for the Database Agent to connect to a Microsoft SQL Server , you must use a command similar to following to start the Database Agent; database instance

specifying the path to the Database Agent authentication library.

Windows 64-bit

java -Djava.library.path="C:\dbagent404\auth\x64" -jar db-agent.jar Windows 32-bit

java -Djava.library.path="C:\dbagent404\auth\x64" -jar db-agent.jar

Also, the Windows account used to start the Database Agent must be a Windows user who can authenticate with the database server.

Prevent Unauthorized Remote Access to WMI For Windows 2003 R2 SP2

You may want to setup extra security in the Windows Distributed Component Object Model (DCOM) to prevent unauthorized users from accessing WMI remotely. The following prevents users other than those configured as follows from remotely accessing the WMI. You can

(17)

1. 2.

3.

4.

configure the named Windows account as follows:

On the target machine, add the named Windows account to the Performance Monitor Users group

In Services and Applications, bring up the properties dialog of WMI Control. On the Security tab, highlight Root/CIMV2, click Security > Add Performance Monitor Users and enable the options: Enable Account and Remote Enable.

Run dcomcnfg. Click Component Services > Computers > My Computer > Properties , and then click for both Access Permissions and Launch and

> COM Security Edit Limits

Activation Permissions. Add Performance Monitor Users and allow remote access, remote launch, and remote activation permissions.

In Component Services > Computers > My Computer > DCOM Config > Windows , give Remote Launch and Remote Activation privileges to

Management Instrumentation

the Performance Users Group.

AppDynamics Database Monitoring Architecture

The AppDynamics Database Agent is a standalone Java program that collects performance statistics about your database instances and database servers. One Database Agent can monitor 100 - 200 database instances.

The Database Agent can be deployed on any machine running Java 1.7 or higher that has network access to the database instance to be monitored and the AppDynamics Pro Controller.

The Database Monitoring windows in the Controller UI provide a common GUI to all your database instance and database server performance metrics.

New in 4.0.4 The AppDynamics Controller and Database Agent now support multiple Database

Agents reporting to the same Controller.

You can run additional backup Database Agents that take over for your primary Database Agents in case the primary ones go offline, ensuring your database instances are continually monitored despite agent failure or during planned machine downtime. The additional

Database Agents can run on the same machines as the primary Database Agents or on different machines.

You can have an agent in each distinct network of your environment. Since the agent requires network access to the database instance, you may need multiple agents to monitor all the database instances in your environment.

You can have multiple Database Agents running under different user accounts on the same machine, which is particularly useful if you want to monitor SQL Server via Windows

(18)

Install or Upgrade the Database Agent

On this page:

AppDynamics Pro Controller Requirements Install Database Agent

Increase the JVM Memory Verify that the Agent is Running Upgrade the Database Agent Troubleshooting

Related pages:

Database Monitoring

Database Agent Configuration Properties Required Database Permissions

Database Agent FAQ

Start the Database Agent Automatically on Linux Start the Database Agent Automatically on Windows Watch the video:

Getting Started - Database Agent

New in 4.0.4 The AppDynamics Controller and Database Agent now support multiple Database

Agents reporting to the same Controller. New Multi-Database-Agent Properties support this functionality.

(19)

1. 2. 3. 4. a. b. c. 5.

You can run additional backup Database Agents that take over for your primary Database Agents in case the primary ones go offline, ensuring your database instances are continually monitored despite agent failure or during planned machine downtime. The additional

Database Agents can run on the same machine as the primary Database Agents or on different machines.

You can have an agent in each distinct network of your environment. Since the agent requires network access to the database instance, you may need multiple agents to monitor all the database instances in your environment.

You can have multiple Database Agents running under different user accounts on the same machine, which is particularly useful if you want to monitor SQL Server via Windows

Authentication as various users.

AppDynamics Pro Controller Requirements

AppDynamics Database Monitoring requires the Controller Events Service, which is not started by default. Before you start the Database Agent you must start the Events Service.

Install Database Agent

In the steps that follow, <agent_home is the agent installation directory.>

Ensure you have Java 1.7 or later installed on the machine. The agent must have network access to the databases you want to monitor.

Download the Database Agent installation zip file.

Log on as an administrator to the machine where you'll be installing the Database Agent and extract the zip file to <agent_home .>

Do not use spaces in the destination directory path.

Windows: If necessary, you can unblock the zip file before you extract it as follows:

Right-click on the zip file, select Properties, and choose unblock.

Double-click the dbagent-x.x.x.zip file and extract the files to <agent_home .>

Enter the following on the command line:

Linux:

unzip dbagent-x.x.x.zip -d /opt/appdynamics/<agent_home>

You can have multiple Database Agents concurrently running the agent jar located in the <agent_home> directory.

Configure the agent/Controller communications using either the <agent_home>/conf/controll er-info.xml file or by adding system properties to the JVM startup command or script file.

Configure how the agent connects to the Controller, using the Controller Host and Con

properties.

troller Port

Optional. Configure agent to use SSL, using the Controller SSL Enabled property. (For Multi-tenant mode or SaaS installations only.) Configure the agent account information, using the Account Name and Account Access Key properties. (For on-premise installations only) Obtain a license.lic file with Database Monitoring licensing from your sales or support representative and put the license file in the same

(20)

5.

6. 7.

8.

9.

directory as where you installed the Controller.

After placing the license in the directory, the Controller may take a minute or two to detect the new license. Restarting the Controller forces it to detect new licenses.

(Optional) Configure the agent to run automatically when the machine starts on Linux or Win

.

dows

(Optional) Configure the logging level of the Database Agent running on this JVM.

Start the Controller Events Service.

Launch the Database Agent using the required system properties.

: The following assumes that all the necessary

For one Database Agent per Controller

parameters have been specified in the controller-info.xml.

Windows

Open a command shell and enter:

java -Djava.library.path="<agent_home>\auth\x64" -Dappdynamics.agent -jar <agent_home>/db-agent.jar

.uniqueHostId=<unique_host_ID>

where <agent_home> is the absolute path to the location where the Database Agent is installed and <unique_host_ID> is a name for the machine running the Database Agent that is unique to the Controller you're connecting to. You must specify all of these options.

Linux

From the command line, enter:

java -Dappdynamics.agent.uniqueHostId=<unique_host_ID> -jar <agent_home>/db-agent.jar &

where <unique_host_ID> is a name for the machine running the Database Agent that is unique to the Controller you're connecting to. You must specify all of these options. The agent process runs in the background.

: If the agent you're installing is not the sole

For multiple Database Agents per Controller

Database Agent in your environment, use the launch commands as above along with the Mu lti-Database-Agent Properties, on the command line or in your startup script. For example,

Start the Controller Events Service

Before you start the Database Agent, you must start the Controller Events Service.

Linux: <controller_home>/bin/controller.sh start-events-service Windows: <controller_home>\bin\controller.bat start-events-service

Windows Users - Don't close the command shell window

When you close the command shell window the agent shuts down. See Installing the

to run the agent in the background.

(21)

9.

1.

2.

3.

your launch command to startup one agent might be similar to the following examples. In your JVM startup script, specify one line for each Database Agent that you want to startup on that machine. Agent properties used for multi-agent installations include,

Note that if the agent configuration property values contain spaces, you must enclose the entire name in double quotes (" ") for Windows and single quotes (' ') for Linux and Unix-like systems. For example,

Linux

java -Ddbagent.name='Scarborough Network Database Agent'

-Dappdynamics.agent.uniqueHostId='Scarborough Network Database Agent Host' -Ddbagent.is.backup.for='Pickering Network

Database Agent' -jar <agent_home>/db-agent.jar

Windows

java -Djava.library.path="C:\AppDynamics\Database

-Ddbagent.name="Scarborough Network Database Agent\auth\x64"

Agent" -Dappdynamics.agent.uniqueHostId="Scarborough Network Database Agent Host" -Ddbagent.is.backup.for="Pickering

Network Database Agent" -jar "C:\AppDynamics\Database Agent\db -agent.jar"

Increase the JVM Memory

To monitor 100 or more databases, you may need to increase the JVM memory allocation size. For example, on Linux use this command to start the agent, and to initially allocate 256 MB to the agent instead of the default of 64 MB.

java -Xms256m -jar <agent_home>/db-agent.jar

Verify that the Agent is Running

Verify the agent installation.

Open the <agent_home>/logs/agent.log file. If successful, this file should contain the following message:

Started AppDynamics Database Agent Successfully

This message is also printed on the STDOUT of the process.

Verify that the agent is reporting using an Administrator account, go to the Controller in Settings > AppDynamics Agents > Database Agents. On the Database Agents section, the name of the Database Agent appears along with its version number. If this is the only Database Agent you've installed, its name will be Default Database Agent, otherwise the name will the the name you specified either on the JVM startup command line.

(22)

3. 1. 2. 3. 4. 5. 6.

(The configuration parameters depend on the specific database to be monitored.) The database collector configurations are stored in the Controller database and are not deleted by uninstalling and reinstalling the Database Agent, only by deleting the Collector.

Upgrade the Database Agent

Shut down the Database Agent process before you install. Make a copy of the Database Agent home directory. Delete the original Database Agent home directory.

Install the Database Agent as described above in steps 2 - 7 above. Don't start the agent yet.

Copy the <copy of agent_home>/conf/controller-info.xml file to the new <agent_home>/conf/ directory.

Start the agent and verify the installation as described in Verify that the Agent is Running.

Troubleshooting

Look in the Database Monitoring Events window.

Look at the Database Agent log file: <agent_home>/logs/agent.log.

Database Agent Configuration Properties

On this page:

Where to Configure Database Agent Properties Example Database Agent controller-info.xml File

Example Startup Configuration Using System Properties Database Agent Properties

Required System Properties

Agent-Controller Communication Properties Multi-Database-Agent Properties

Multi-Tenant Mode Properties Proxy Properties for the Controller Other Properties

Related pages:

Installing the Database Agent

Where to Configure Database Agent Properties

You can configure agent/ properties:

in the controller-info.xml file located in the <db_agent_home>/conf directory in the system properties (-D options) section in the JVM start-up script:

(23)

Agent properties related to naming agents or designating them as backup

New in 4.0.4

partners can only be configured on the command line or in the JVM start-up script. However, you can specify the Controller/Agent connection details in the controller-info.xml file.

The system properties override the settings in the controller-info.xml file. System properties are case-sensitive.

Example Database Agent controller-info.xml File <?xml version="1.0" encoding="UTF-8"?> <controller-info>

<controller-host>192.10.10.10</controller-host> <controller-port>8090</controller-port>

<!-- The following attribute enables or disables SSL communications between the agent and the Controller.-->

<controller-ssl-enabled>false</controller-ssl-enabled>

<!-- The following account-related parameters are necessary only for SaaS installations-->

<!--account-name></account-name-->

<!--account-access-key></account-access-key-->

</controller-info>

Example Startup Configuration Using System Properties

A bash example. Note that the system properties are case-sensitive.

-Dappdynamics.controller.hostName=192.168.1.20 -Dappdynamics.controller.port=8090

Database Agent Properties

This section describes the Database Agent configuration properties, including their controller-info-xml elements and their system property options.

Required System Properties Unique Host ID Property

: Uniquely identifies the machine running the Database Agent.

Description

The value of this property must be different for every Database Agent in your environment. -Dappdynamics.agent.uniqueHostId=<unique_host_ID>

System Property:

ASCII string, including spaces. agent_name

Type: If < > contains spaces, you must enclose the

(24)

N/A

Default:

: Required.

Required

: -Dappdynamics.agent.uniqueHostId="Scarborough Server Agent One"

Example

Path to the Java Library

: Provides the absolute path to sqlijdbc_auth.dll.

Description

-D

System Property: java.library.path

Value:

For 64-bit systems: <agent_home>\auth\x64 For 32-bit systems: <agent_home>\auth\x64 ASCII string, including spaces. agent_name

Type: If < > contains spaces, you must enclose the

entire name in double quotes (" ").

: Recommended for Unix and . Required for SQL Server Windows Authentication on

Required

Windows 64-bit systems.

: -Djava.library.path="D:\AppDynamics\Database

Example Agent\auth\x64"

Path to the Agent jar File

: Provides the absolute path to sqlijdbc_auth.dll.

Description

-jar

System Property:

Value: <agent_home>db-agent-jar

ASCII string, including spaces. agent_name

Type: If < > contains spaces, you must enclose the

entire name in double quotes (" "). : Yes

Required

: -jar="D:\AppDynamics\Database

Example Agent\db-agent.jar"

Agent-Controller Communication Properties Controller Host Property

Description: This is the host name or the IP address of the AppDynamics Controller, e.g.

192.168.1.22 or myhost or myhost.abc.com. This is the same host that you use to access the AppDynamics Controller UI.

Element in controller-info.xml: <controller-host> System Property: -Dappdynamics.controller.hostName Type: String

Default: None Required: Yes

(25)

Controller Port Property

Description: This is the HTTP(S) port of the AppDynamics Controller. This is the same port that

you use to access the AppDynamics browser-based user interface. If the Controller SSL Enabled property is set to true, specify the HTTPS port of the Controller; otherwise specify the HTTP port. See Controller SSL Enabled Property.

Element in controller-info.xml: <controller-port> System Property: -Dappdynamics.controller.port Type: Positive Integer

Default: For On-premise installations, port 8090 for HTTP and port 8181 for HTTPS are the

default ports the Controller listens to.

For the SaaS Controller Service, port 80 for HTTP and port 443 for HTTPS are the default ports the Controller listens to.

Required: Yes

Multi-Database-Agent Properties

The following properties are useful or necessary when you are configuring your

New in 4.0.4

system to include more than one Database Agent. Database Agent Name Property

Description: This property uniquely identifies the Database Agent to the Controller.

If you already have a (pre-4.0.4) Database Agent in your environment, it can report data to a 4.0.4 and higher controller, and will automatically receive the default name, Default Database Agent. You do not need to supply a name for this agent.

System Property: -Ddbagent.name=<agent_name>

Type: ASCII string, including spaces. If <agent_name> contains spaces, you must enclose the entire name in double quotes (" ").

Default: The default name of the Database Agent is Default Database Agent

Required: Required when you have more than one Database Agent reporting to the Controller (w hether there are more than one Database Agents running on the same machine or you have multiple Database Agents running on different machines. In addition, if you specify this property (Agent Name Property), you must also specify the Unique Host ID Property.

Specify the Database Agent name under the following conditions:

To enable more than one AppDynamics Database Agent to report data to the Controller, specify a unique name for this Database Agent.

Any Database Agent you do not explicitly name automatically receives the name "Default Database Agent". Therefore, to prevent double-reporting

of data, you must explicitly name either all the Database Agents in your environment or all but one of the Database Agents (namely, the default Database Agent) in your environment.

To support multiple Database Agents when you have databases spread across multiple networks, and one machine cannot access all the databases on all the networks. In this

(26)

case you can have a uniquely named Database Agent in each network that monitors the databases only visible on that network.

If you have multiple Database Agents running on the same machine under different user accounts to monitor SQL Server via Windows Authentication as various users.

Naming the Database Agent is optional under the following conditions

If you have only one Database Agent, you do not need to specify the name of the Database Agent.

To fortify your environment, add Database Agents to be a backup partner for other Database Agents. If you do not specify a name for the backup partner, a name will be generated for it. Example: -Ddbagent.name="Scarborough Network Database Agent"

Agent Is Backup Property

Specifies the name of the Database Agent you want the agent to backup. You can

Description:

run additional backup Database Agents that take over for your primary Database Agents, ensuring your databases are continually monitored despite agent failure or during planned machine

downtime. The additional Database Agents can run on the same machines as the primary Database Agents or different ones.

If you specify this property (Agent Is Backup Property), you must also specify the Unique Host ID

system property.

Property

- .backup.for=<agent_name>

System Property: Ddbagent.is

ASCII string, including spaces.

Type: If <agent_name> contains spaces, you must enclose the entire name in double quotes (" ").

N/A

Default:

: Only if you want the agent to backup another agent.

Required

:

Example -Ddbagent.is.backup.for="Scarborough Network Database Agent" Multi-Tenant Mode Properties

If the AppDynamics Controller is running in multi-tenant mode or if you are using the AppDynamics SaaS Controller, specify the account name and account access key for this agent to authenticate with the Controller.

If the Controller is running in single-tenant mode (the default) there is no need to configure these values.

Account Name Property

Description: This is the account name used to authenticate with the Controller.

If you are using the AppDynamics SaaS Controller, the Account Name is in the Welcome email AppDynamics sent to you.

Element in controller-info.xml: <account-name> System Property: -Dappdynamics.agent.accountName Type: String

(27)

Default: None

Required: Yes for AppDynamics SaaS Controller and other multi-tenant users; no for

single-tenant users.

Account Access Key Property

Description: This is the account access key used to authenticate with the Controller. Element in controller-info.xml: <account-access-key>

System Property: -Dappdynamics.agent.accountAccessKey Type: String

Default: None

Required: Yes for AppDynamics SaaS Controller and other multi-tenant users; no for

single-tenant users.

Proxy Properties for the Controller

These properties route data to the Controller through a proxy. Proxy Host Property

Description: This is the proxy host name or IP address. Element in controller-info.xml: Not applicable

System Property: -Dappdynamics.http.proxyHost Type: String

Default: None Required No

Proxy Port Property

Description: This is the proxy HTTP(S) port. Element in controller-info.xml: Not applicable System Property: -Dappdynamics.http.proxyPort Type: Positive Integer

Default: None Required: No Other Properties

Controller SSL Enabled Property

Description: This property specifies whether the agent should use SSL (HTTPS) to connect to

the Controller. If SSL Enabled is true, set the Controller Port property to the HTTPS port of the Controller. See Controller Port Property.

(28)

1. 2.

3.

Element in controller-info.xml: <controller-ssl-enabled> System Property: -Dappdynamics.controller.ssl.enabled Type: Boolean

Default: False Required: No

Installing the Database Agent as a Windows Service

On this page:

Install the Database Agent as a Windows Service - Pre Windows 2008

Install the Database Agent as a Windows Service -Windows 2008 and 2012

Uninstall the Database Agent as a Service Known Issues

Related pages:

Install or Upgrade the Database Agent Database Agent Configuration Properties Database Monitoring

Most Windows server software runs as a service when the machine boots up. To secure your environment and ensure Database Agent availability, you can install the Database Agent as a Windows service using the SRVANY.EXE and SC.EXE utilities that are part of the Microsoft

. The tool creates a Windows service that

Resource Kit for Windows 2003 Server SRVANY.EXE

launches the JVM processes for the agent in non-GUI mode using parameters specified in the registry of the service. The SC.EXE command is used to install and uninstall the agent service.

Install the Database Agent as a Windows Service - Pre Windows 2008

The following procedure involves editing the registry. Before proceeding, know how to backup and restore the registry as described in the WIndows Registry Editor online help.

Install the agent as usual, described in Install or Upgrade the Database Agent. Obtain the INSTSRV.EXE and SC.EXE utilities.

Download the Windows Server 2003 Resource Kit Tools, at http://www.microsoft.com/en-us/

. The required utilities are included in this resource kit

download/details.aspx?id=17657

Prepare registry and batch command files.

To simplify service creation and deregistration, we have attached two batch command files, InstallService.cmd and UninstallService.cmd to this page. InstallService.cmd requires the information in the DatabaseAgent.reg file to set the registry key for the service.

DatabaseAgent.reg to set the registry key values for the service

InstallDBService.cmd to install the service

UninstallDBService.cmd to uninstall the service

(29)

3. i. a. b. c. 4.

name in all three files.

Customize DatabaseAgent.reg.

Edit the service name, Application, AppParameters, and AppDirectory values of this file for your environment.

Specify the service name is specified on the first line of this file.

in the sample attached.

AppDynamics Database Agent Service

Application is the path to the JDK you use for Database Agent.

<agent_home> in the sample attached.

\\jre7\\bin\\java.exe

The Database Agent is compatible with JRE 1.7 and 1.8

AppParameters is everything you want to pass to the JVM as arguments.

For a 32-bit system, set java.library.path="<agent_home>\auth\x32", the absolute path

For a 64-bit system, set java.library.path="<agent_home>\auth\x64", the absolute path

If your agent will be monitoring more than 100 databases, increase the size of the initial memory allocation specified in the code example below as follows:

change -Xms32m to -Xms256m

java -Djava.library.path="<agent_home>\auth\x64"

-Dappdynamics.agent.uniqueHostId=<unique_host_ID> -Xms32m -jar "<agent_home>\db-agent.jar"

AppDirectory points to the agent working directory, the location where you installed the Database Agent.

.

<agent_home>

Customize InstallDBService.cmd.

Edit the create and binPath values in this file for your environment.

Specify the service name in quotes in the sc command create option as follows: in the sample

sc create "AppDynamics Database Agent Service"

attached.

Specify binPath as the path to the SRVANY.EXE Windows Resource d:\AppDynamics\DatabaseAgent\srvany.exe in the sample above

Customize UninstallDBService.cmd

For 64-bit systems, allocating 32 MB of initial heap size

The service installed runs with the permissions of the user logged in when service is created. To change the user running the installed process, modify InstallService.cmd by inserting the following anywhere before "pause" at the end of the file.

sc config <service> obj= <username> password= <password> Note: There is a required space between obj= and <username> .

(30)

4.

a.

@echo off

rem UnInstall AppDynamics Database Agent Service

echo "Stopping AppDynamics Database Agent Service - may be running" sc stop "AppDynamics Database Agent Service"

echo "Uninstalling AppDynamics Database Agent Service from the Service Manager"

sc delete "AppDynamics Database Agent Service" echo "done."

pause

Specify the name of the service in quotes after the sc stop or delete options. "AppDynamics Database Agent Service" in the sample file attached.

From the Windows Explorer, right-click InstallDBService.cmd and click Run as Administrator.

Install the Database Agent as a Windows Service - Windows 2008 and 2012

Download NSSM - the Non-Sucking Service Manager.

Create a start.bat file containing your agent startup script, such as:

-Djava.library.path="<agent_home>\auth\x64" -jar <agent_home>db-agent.jar java -jar db-agent.jar

where <agent_home> is where you installed the Database Agent. Add the path to nssm.exe to your Path environment variable. Start a command shell and enter the following:

nssm.exe install <service name>

where <service name> is the name of the agent service.

In the NSSM service installer dialog, enter the full path to the agent startup script in the Path field of the Application tab. Enter any other details appropriate for your environment. For information on the various options, see the NSSM documentation.

Click Install service.

A service is created named <service name>, that starts up automatically when the machine is started and that is also restarted if the process stops for any reason.

Uninstall the Database Agent as a Service

If you used INSTSRV.EXE and SC.EXE utilities:

From the Windows Explorer, right-click UninstallService.cmd and click Run as Administrator. Thi s stops and removes the service from Windows.

If you used NSSM:

From a command shell, enter

nssm.exe remove <service name>

where <service name> is the name of the agent service.

(31)

1.

2.

3.

4.

Known Issues

In Windows Server 2003 you must install and start or stop the service from the console window. If you do a normal RDP connection to the 2003s Terminal Services the service will be stopped when you log-out. Therefore issue the command "mstsc /console <machinename>" to connect to the console session of Windows Server 2003.

Start the Database Agent Automatically on Linux

Related pages:

Install the Database Agent

Database Agent Configuration Properties

Create an initialization script that starts the agent, as in the sample initialization script that is an attachment to this page.

In your script, set the JAVA and AGENT_HOME values to the paths for your system. Also configure agent options, as needed.

Enable execution permissions for the script. For example, given an initialization script named db-agent, enter:

sudo chmod 775 db-agent

Place the script in the initialization directory on your system, typically /etc/init.d. Alternatively, create a symbolic link to the script from the init.d directory to the script if you want to keep it in another location.

Add the script as a service as follows:

On Red Hat and most Linux Operating Systems, run these commands, replacing "db-" with the name of your file or symbolic link:

agent

chkconfig --add db-agent

chkconfig --level 2345 db-agent on

On Ubuntu and Debian Operating Systems, run this command, replacing "appdcontroller" with the name of your file or symbolic link:

update-rc.d -f db-agent start 99 2 3 4 5 .

In the command:

(32)

4. 1. 2. 3. 4. 5. 6. 7. 8. 9.

99 is the start order of the script (1 = first one, 99 = last one) 2 3 4 5 are the runlevels to start

Be sure to include the dot (.) at the end of the command. The Database Agent now starts automatically upon machine startup.

Start the Database Agent Automatically on Windows

Related pages:

Install or Upgrade the Database Agent Database Agent Configuration Properties

Create a batch file containing the following line:

java -Djava.library.path="<agent_home>\auth\x64"

-Dappdynamics.agent.uniqueHostId=<unique_host_ID> -Xms32m -jar <agent_home>\db-agent.jar

For a 32-bit system, the set java.library.path="<agent_home>\auth\x32"

If your agent will be monitoring more than 100 databases, you may need to increase the size of the initial memory allocation specified in the code above as follows:

change -Xms32m to -Xms256m

Click Control panel > Scheduled Tasks.

Select the batch file to execute. This is the file created in step 2. Create a new task.

Select When my computer starts.

Enter the administrator's credentials to run the Database Agent as that user. Click Finish.

To start the Database Agent for the first time, right-click on the scheduled task, and click Ru .

n

Configure Database Collectors

On this page:

Add a Database Collector Verify Collector Setup Edit a Database Collector Delete a Database Collector

Troubleshooting Collector Problems Related pages:

Adding Database Instance Licenses Database Monitoring

(33)

Configure Roles Watch the video:

Creating Database Collectors

The Database Agent Collector is a process that runs within the Database Agent to communicate with databases, servers, and infrastructure to collect metrics. Configure one Collector for each database instance that you want to monitor. You can also configure the Collector to monitor the machine hosting the database instance the Collector is monitoring. Each active Collector

consumes one license. The Database Agent can support up to 200 Collectors. To monitor 100 + database instances, increase the initially allocated heap size for the Database Agent JVM.

Add a Database Collector

For required roles and permissions required to add, edit, and create collectors, see Configure Roles.

Complete each field of the Configure > Collector > Create New Collector dialog and then click OK. Your database administrator can provide you with the necessary details.

The Configure > Collectors window lists all collectors. Monitored database instances appear on the Database Monitoring and Databases windows, and on the AppDynamics Pro Controller Home page.

You can link a database on the application flow maps to a database instance monitored by Database Monitoring.

Descriptions of the fields in the Create New Collector dialog follow.

Complete the Connection Details Section

Use the following to help you complete the fields of the Add

New Collector and Edit Collector windows. The fields that display depend on the type of Database Collector you selected.

: From the list, select the database type the Collector will monitor. Database Type

: From the list, select the Database Agent that manages the collector. If you only Database Agent

have one Database Agent, then its name will be Default Database Agent unless you changed the name on the Database Agent startup command using the Database Agent Name configuration

. property

Database: (SQL Server) Specify "master".

Name: (for all databases) Enter the name of the database. This is the name that will appear in the

Database Monitoring windows.

Hostname or IP Address: (for all databases) Specify the hostname or IP address of the machine

serving the database. The hostname or IP address appears in the Hostname column of the Collector Administration window.

(34)

:

Failover Partner (for Microsoft SQL Server) If you use Database Mirroring, enter the hostname of

the IP address of the Failover Partner here. If you specify this field you must also specify the Data field as described above.

base

Listener Port: (for all databases) Specify the TCP/IP address of the port the database uses for

communicating with the AppDynamics Database Monitoring agent. The database list port appears in the Listener Port column of the Collector Administration window.

Custom JDBC Connection String: (for all databases) Normally, the Database Agent generates a

JDBC connection string based on the information provided in the collector configuration dialog. You also have the option to specify a custom connection string, which can be useful for setting custom authentication options. For example, you can use LDAP to authenticate with an Oracle database, by using a connection string such as: jdbc:oracle:thin:@ldaps://ldap.acme.com:7777/sal

.

es,cn=OracleContext,dc=com

SID or SERVICE_NAME: (for Oracle) Specify the services name or SID of the database to

monitor. Click either SID or SERVICE_NAME to indicate which database identifier you are using.

Connect as a sysdba: (for Oracle) Click if you want to connect as user sys and enable password

files. Running the collector using a sysdba account allows the Collector to monitor an Oracle instance in standby mode, an instance that is used for failover which is being replicated from the main active instance.

Username: (for all databases) Specify the name of the user the Database Agent uses to connect

to the database. This user must have the Required Database Permissions The user account used.

for monitoring a SQL Server database can be a Windows authenticated account (if the Database Agent is running on Windows) or SQL Server authenticated (if the Database Agent is running on Windows or Linux).

Password: (for all databases) Specify the password of the user the Database Agent uses to

connect to the database.

Logging Enabled: Click to enable verbose mode logging, which logs all communications

between the Controller and the Collector. Enable only during troubleshooting because logging can consume a lot of disk space. If you have enabled logging, you can click the logging icon in the Log column of the Collector Administration window to view the log file. The log files are located in the <db_agent_home>\agent directory and have the format <CollectorName>_out.log and

<CollectorName>_err.log.

Complete the Hardware Monitoring Section

Monitor Operating System: Click if you want CPU consumption metrics collected from the

monitored host.

Operating System: Specify the operating system of the monitored host: Windows, Linux, Solaris,

AIX, and NetApp.

Domain: For Windows only, specify the the name of the domain in which the hardware resides. SSH Port: For Linux, Unix and NetApp only, specify the Secure Shell (SSH) port number the

Controller should use for encrypted communications with the monitored host. The default port number of 22 will be used if you do not specify a different port number here.

(35)

authentication via Privacy Enhanced Mail (PEM). To implement certificate-based authentication, enable the Use certificate option and copy the PEM file to the <db_agent_home>\keys directory. Note, if the $HOME/.ssh directory exists, the agent will use the certificate found there. This option appears only if the agent is running on a machine running Linux, AIX or Solaris.

Username: Specify the name of the user the Database Agent uses to log on to the monitored

host. To collect OS metrics from a Windows host, the configured user (or Collector Service user if using Windows Authentication) must be able to establish a WMI connection to the target host and collect Windows Performance Counters.

Password: Specify the password of the user the Database Agent uses to log on to the monitored

host. The number of echo characters shown in the password text field should not be interpreted to imply the number of characters stored for the (encrypted) user password.

Verify Collector Setup

Once the Collector is up and running, in just a short time you can start viewing the historical activity data.

The Collector configuration window now has a collector icon you can click to edit the details of the collector if required. The Collector will also appear in the list of Databases shown in the left

navigation menu. It might take a few minutes before the Collector and its metrics are reported. From the left navigation menu, click Databases to see a high-level view of the activity of all the configured Collectors.

Click the name of the database to see more details of the metrics AppDynamics Database Monitoring has captured.

For information on using and interpreting the Collector windows, see Monitor Databases and

.

Database Servers

Edit a Database Collector

From the Collectors window, you can edit any of the details of the collector except the type of database platform to monitor.

Delete a Database Collector

From the Collectors window, you can delete a database Collector.

Troubleshooting Collector Problems

Collectors that have not been configured correctly, or that cannot connect to the database for any reason, will show an error on the Infrastructure, Databases, and individual database dashboards. Hovering over the error icon displays the potential reason for the error.

If your Collector isn't reporting any metrics after a few minutes, and you know the database is up and running with activity, check the Events window. Agent Diagnostic Events can appear if the password is incorrect or communication errors have occurred. The message summaries on the

(36)

Events window can help you diagnose and troubleshoot Collector problems. Check the collector configuration to ensure all the values you entered are correct.

Ensure that your Database Agent has network connection to the databases you want to monitor.

Monitor Databases and Database Servers

Related pages:

AppDynamics for Databases Architecture Database Monitoring

Configure Roles Watch the video:

Quick Overview: Database Monitoring Dashboards and Metrics

The topics in this section show you how to use the features of AppDynamics to monitor and troubleshoot your database environments.

Access Database Monitoring

View Overall Database and Server Performance Discover Normal Database and Server Activity Configure Problem Detection Notifications Monitor Database Performance

Monitor Database Server Hardware

For roles and permissions required to view Database Monitoring windows, see Configure Roles.

Access Database Monitoring

Related pages:

Monitor Database Performance

You can access Database Monitoring either from the AppDynamics Home page or when associated with an application database, you can link to the Database Monitoring database instance Dashboard by right-clicking the database on the Application Flow Map, Tier Flow Map or Node Flow Map.

(37)

View Overall Database and Server Performance

On this page:

Database Monitoring Window Databases Window

Database Dashboard Database Live View Related pages:

Access Database Monitoring

The AppDynamics Database Monitoring section in the Application Database Dashboard displays which database collector is associated with the database. To change this association, click Configure mapping and choose another database collector.

References

Related documents

The ability of the second- year dental student to complete accurate random blood glucose by self-testing in a controlled setting demonstrates that dentistry can

Data protection is supported for Microsoft Exchange Server, Microsoft SQL Server, Oracle Databases on Linux or AIX, SAP HANA database, and Windows Host Filesystems running on

The Agency has revised its guideline to provide updated information for establishments to use to control pathogens in raw poultry products with the goal of reducing human

While Roman readers would have been embarrassed by any impression of weakness or vulnerability in their ancestral hero, Virgil could stress that the gods favoured Aeneas and

Using a script: You can write a shell script (Linux and Unix-like systems) or batch file (Windows) to report custom metrics every minute to the Standalone Machine Agent. The

(a) A certified direct-entry midwife shall consult with a physician, advanced nurse practitioner, advance practice registered nurse, or certified nurse midwife, who is licensed

67 support Commercial Airplanes operations Years of collective experience Engineering pilots – 760+ years. Production pilots –

“The business grew so large that in 1984 we split the company into two,” Tippmann says, “Vince now owns the two Fort Wayne warehouses, and I continue to develop warehouses in