Vertica Monitoring Extension

 

Use Case

The Vertica Monitoring Extension collects the stats by querying Vertica DB system tables and reports them to the AppDynamics Controller.

This extension works only with the standalone machine agent.

 

Prerequisite

Vertica JDBC library is NOT in maven repo. You will have to add the vertica jdbc jar file in order to get this extension to work. Once you have the jar file, place it in the <MACHINE_AGENT_HOME>/monitors/Vertica-Monitor/ folder and update the classpath for the jar file as follows. Open the Monitor.xml file and update the classpath: vertica-monitoring-extension.jar;YOUR_VERTICA_DRIVER.jar

This is very essential in order to establish a connection with the Vertica DB to get the metrics.

 

Installing Vertica

  • Download the HP Vertica server package.
  • Login as root su - root password: root-password.
  • Use one of the following commands to run package installer: If you are root and installing an RPM: rpm -Uvh pathname
  • If you are using sudo and installing an RPM:sudo rpm -Uvh pathname
  • If you are using Debian, replace rpm -Uvh with dpkg -iwhere pathname is the HP Vertica package file you downloaded.
  • For more info please visit Vertica documentation at : Installing Using the Command Line
  • To create an example database please visit:Installing and Connecting to the VMart Example Database
  •  

    Installation

    1. Download the file VerticaMonitor.zip into <machineagent install dir>/monitors/
    2. Unzip the downloaded file and cd into VerticaMonitor
    3. Open the config.yml file and provide values for host, port, database, user and password. You can also configure system table details for which you want to get the stats.
    4. Restart the Machine Agent.
    5. In the AppDynamics controller, look for events in Custom Metrics|Vertica|

     

    Directory Structure

    Directory/FileDescription
    src/main/javaContains source code to Vertica Monitoring Extension
    src/main/resourcesContains monitor.xml and config.yml
    targetOnly obtained when using maven. Run maven clean install to get the distributable .zip file
    pom.xmlMaven script file (required only if changing Java code)

    Config Files

     

    config.yml
    ParametersDescription
    driverThe Driver that will be used to connect to the database.
    connectionUrlURL that will be used to connect to the database. This includes the host and port information.
    useruser name used to connect to the database
    passwordpassword used to connect to the database
    metricPrefixMetric prefix which is shown in the controller. Default is "Custom Metrics|Vertica|"

     

      
    # Make sure the metric prefix ends with a |
    #This will create this metric in all the tiers, under this path.
    #metricPrefix: "Custom Metrics|Vertica|"
    #This will create it in specific Tier. Replace ><ComponentID>> with TierID
    metricPrefix: "Server|Component:><ComponentID>>|Custom Metrics|Vertica|"
    
    
    dbServers:
        - displayName: "Vertica"
          connectionUrl: "jdbc:vertica://192.168.57.102:5433/VMart"
          driver: "com.vertica.jdbc.Driver"
    
          connectionProperties:
            - user: "dbadmin"
            - password: "password"
    
          #Needs to be used in conjunction with `encryptionKey`. Please read the extension documentation to generate encrypted password
          #encryptedPassword: ""
    
          #Needs to be used in conjunction with `encryptedPassword`. Please read the extension documentation to generate encrypted password
          #encryptionKey: "welcome"
    
          # Replaces characters in metric name with the specified characters.
          # "replace" takes any regular expression
          # "replaceWith" takes the string to replace the matched characters
    
          metricCharacterReplacer:
            - replace: "%"
              replaceWith: ""
            - replace: ","
              replaceWith: "-"
    
    
          queries:
            - displayName: "Active Events"
              queryStmt: "Select NODE_NAME, EVENT_CODE, EVENT_ID, EVENT_POSTED_COUNT from Active_events"
              columns:
                - name: "NODE_NAME"
                  type: "metricPathName"
    
                - name: "EVENT_ID"
                  type: "metricPathName"
    
                - name: "EVENT_CODE"
                  type: "metricValue"
    
                - name: "EVENT_POSTED_COUNT"
                  type: "metricValue"
    
            - displayName: "Disk Storage"
              queryStmt: "Select NODE_NAME, STORAGE_USAGE, RANK, THROUGHPUT, LATENCY, DISK_BLOCK_SIZE_BYTES, DISK_SPACE_USED_BLOCKS, DISK_SPACE_USED_MB, DISK_SPACE_FREE_BLOCKS, DISK_SPACE_FREE_MB, DISK_SPACE_FREE_PERCENT from DISK_STORAGE"
              columns:
                - name: "NODE_NAME"
                  type: "metricPathName"
    
                - name: "STORAGE_USAGE"
                  type: "metricPathName"
    
                - name: "RANK"
                  type: "metricValue"
    
                - name: "THROUGHPUT"
                  type: "metricValue"
    
                - name: "LATENCY"
                  type: "metricValue"
    
                - name: "DISK_BLOCK_SIZE_BYTES"
                  type: "metricValue"
    
                - name: "DISK_SPACE_USED_BLOCKS"
                  type: "metricValue"
    
                - name: "DISK_SPACE_USED_MB"
                  type: "metricValue"
    
                - name: "DISK_SPACE_FREE_BLOCKS"
                  type: "metricValue"
    
                - name: "DISK_SPACE_FREE_MB"
                  type: "metricValue"
    
                - name: "DISK_SPACE_FREE_PERCENT"
                  type: "metricValue"
    
            - displayName: "Host Resources"
              queryStmt: "Select HOST_NAME, OPEN_FILES_LIMIT, THREADS_LIMIT, CORE_FILE_LIMIT_MAX_SIZE_BYTES, PROCESSOR_COUNT, OPENED_FILE_COUNT, OPENED_SOCKET_COUNT, OPENED_NONFILE_NONSOCKET_COUNT, TOTAL_MEMORY_BYTES, TOTAL_MEMORY_FREE_BYTES,  TOTAL_BUFFER_MEMORY_BYTES, TOTAL_MEMORY_CACHE_BYTES, TOTAL_SWAP_MEMORY_BYTES, TOTAL_SWAP_MEMORY_FREE_BYTES, DISK_SPACE_FREE_MB, DISK_SPACE_USED_MB, DISK_SPACE_TOTAL_MB from HOST_RESOURCES"
              columns:
                - name: "HOST_NAME"
                  type: "metricPathName"
    
                - name: "OPEN_FILES_LIMIT"
                  type: "metricValue"
    
                - name: "THREADS_LIMIT"
                  type: "metricValue"
    
                - name: "CORE_FILE_LIMIT_MAX_SIZE_BYTES"
                  type: "metricValue"
    
                - name: "PROCESSOR_COUNT"
                  type: "metricValue"
    
                - name: "OPENED_FILE_COUNT"
                  type: "metricValue"
    
                - name: "OPENED_SOCKET_COUNT"
                  type: "metricValue"
    
                - name: "OPENED_NONFILE_NONSOCKET_COUNT"
                  type: "metricValue"
    
                - name: "TOTAL_MEMORY_BYTES"
                  type: "metricValue"
    
                - name: "TOTAL_MEMORY_FREE_BYTES"
                  type: "metricValue"
    
                - name: "TOTAL_BUFFER_MEMORY_BYTES"
                  type: "metricValue"
    
                - name: "TOTAL_MEMORY_CACHE_BYTES"
                  type: "metricValue"
    
                - name: "TOTAL_SWAP_MEMORY_BYTES"
                  type: "metricValue"
    
                - name: "TOTAL_SWAP_MEMORY_FREE_BYTES"
                  type: "metricValue"
    
                - name: "DISK_SPACE_FREE_MB"
                  type: "metricValue"
    
                - name: "DISK_SPACE_USED_MB"
                  type: "metricValue"
    
                - name: "DISK_SPACE_TOTAL_MB"
                  type: "metricValue"
    
            - displayName: "IO Usage"
              queryStmt: "Select NODE_NAME, READ_KBYTES_PER_SEC, WRITTEN_KBYTES_PER_SEC from IO_USAGE"
              columns:
                - name: "NODE_NAME"
                  type: "metricPathName"
    
                - name: "READ_KBYTES_PER_SEC"
                  type: "metricValue"
    
                - name: "WRITTEN_KBYTES_PER_SEC"
                  type: "metricValue"
    
            - displayName: "Node Status"
              queryStmt: "Select NODE_NAME, NODE_STATE from NODE_STATES"
              columns:
                - name: "NODE_NAME"
                  type: "metricPathName"
    
                - name: "NODE_STATE"
                  type: "metricValue"
                  properties:
                    convert:
                      "INITIALIZING" : 0
                      "UP" : 1
                      "DOWN" : 2
                      "READY" : 3
                      "UNSAFE" : 4
                      "SHUTDOWN" : 5
                      "RECOVERING" : 6
    
            - displayName: "Query Metrics"
              queryStmt: "Select NODE_NAME, ACTIVE_USER_SESSION_COUNT, ACTIVE_SYSTEM_SESSION_COUNT, TOTAL_USER_SESSION_COUNT, TOTAL_SYSTEM_SESSION_COUNT, TOTAL_ACTIVE_SESSION_COUNT, TOTAL_SESSION_COUNT, RUNNING_QUERY_COUNT, EXECUTED_QUERY_COUNT  from QUERY_METRICS "
              columns:
                - name: "NODE_NAME"
                  type: "metricPathName"
    
                - name: "ACTIVE_USER_SESSION_COUNT"
                  type: "metricValue"
    
                - name: "ACTIVE_SYSTEM_SESSION_COUNT"
                  type: "metricValue"
    
                - name: "TOTAL_USER_SESSION_COUNT"
                  type: "metricValue"
    
                - name: "TOTAL_SYSTEM_SESSION_COUNT"
                  type: "metricValue"
    
                - name: "TOTAL_ACTIVE_SESSION_COUNT"
                  type: "metricValue"
    
                - name: "TOTAL_SESSION_COUNT"
                  type: "metricValue"
    
                - name: "RUNNING_QUERY_COUNT"
                  type: "metricValue"
    
                - name: "EXECUTED_QUERY_COUNT"
                  type: "metricValue"
    
            - displayName: "Resource Usage"
              queryStmt: "SELECT NODE_NAME, REQUEST_COUNT, LOCAL_REQUEST_COUNT, ACTIVE_THREAD_COUNT, OPEN_FILE_HANDLE_COUNT, MEMORY_REQUESTED_KB, ADDRESS_SPACE_REQUESTED_KB, WOS_USED_BYTES, WOS_ROW_COUNT, ROS_USED_BYTES, ROS_ROW_COUNT, TOTAL_ROW_COUNT, TOTAL_USED_BYTES, TOKENS_USED FROM RESOURCE_USAGE "
              columns:
                - name: "NODE_NAME"
                  type: "metricPathName"
    
                - name: "REQUEST_COUNT"
                  type: "metricValue"
    
                - name: "LOCAL_REQUEST_COUNT"
                  type: "metricValue"
    
                - name: "ACTIVE_THREAD_COUNT"
                  type: "metricValue"
    
                - name: "OPEN_FILE_HANDLE_COUNT"
                  type: "metricValue"
    
                - name: "MEMORY_REQUESTED_KB"
                  type: "metricValue"
    
                - name: "ADDRESS_SPACE_REQUESTED_KB"
                  type: "metricValue"
    
                - name: "WOS_USED_BYTES"
                  type: "metricValue"
    
                - name: "WOS_ROW_COUNT"
                  type: "metricValue"
    
                - name: "ROS_USED_BYTES"
                  type: "metricValue"
    
                - name: "ROS_ROW_COUNT"
                  type: "metricValue"
    
                - name: "TOTAL_ROW_COUNT"
                  type: "metricValue"
    
                - name: "TOTAL_USED_BYTES"
                  type: "metricValue"
    
                - name: "TOKENS_USED"
                  type: "metricValue"
    
            - displayName: "System Resource Usage"
              queryStmt: "SELECT NODE_NAME, AVERAGE_MEMORY_USAGE_PERCENT, AVERAGE_CPU_USAGE_PERCENT, NET_RX_KBYTES_PER_SECOND, NET_TX_KBYTES_PER_SECOND, IO_READ_KBYTES_PER_SECOND, IO_WRITTEN_KBYTES_PER_SECOND FROM SYSTEM_RESOURCE_USAGE"
              columns:
                - name: "NODE_NAME"
                  type: "metricPathName"
    
                - name: "AVERAGE_MEMORY_USAGE_PERCENT"
                  type: "metricValue"
    
                - name: "AVERAGE_CPU_USAGE_PERCENT"
                  type: "metricValue"
    
                - name: "NET_RX_KBYTES_PER_SECOND"
                  type: "metricValue"
    
                - name: "NET_TX_KBYTES_PER_SECOND"
                  type: "metricValue"
    
                - name: "IO_READ_KBYTES_PER_SECOND"
                  type: "metricValue"
    
                - name: "IO_WRITTEN_KBYTES_PER_SECOND"
                  type: "metricValue"
    
            - displayName: "System"
              queryStmt: "SELECT CURRENT_EPOCH, AHM_EPOCH, LAST_GOOD_EPOCH, REFRESH_EPOCH, DESIGNED_FAULT_TOLERANCE, NODE_COUNT, NODE_DOWN_COUNT, CURRENT_FAULT_TOLERANCE, CATALOG_REVISION_NUMBER, WOS_USED_BYTES, WOS_ROW_COUNT, ROS_USED_BYTES, ROS_ROW_COUNT, TOTAL_USED_BYTES, TOTAL_ROW_COUNT FROM SYSTEM"
              columns:
                - name: "CURRENT_EPOCH"
                  type: "metricValue"
    
                - name: "AHM_EPOCH"
                  type: "metricValue"
    
                - name: "LAST_GOOD_EPOCH"
                  type: "metricValue"
    
                - name: "REFRESH_EPOCH"
                  type: "metricValue"
    
                - name: "DESIGNED_FAULT_TOLERANCE"
                  type: "metricValue"
    
                - name: "NODE_COUNT"
                  type: "metricValue"
    
                - name: "NODE_DOWN_COUNT"
                  type: "metricValue"
    
                - name: "CURRENT_FAULT_TOLERANCE"
                  type: "metricValue"
    
                - name: "CATALOG_REVISION_NUMBER"
                  type: "metricValue"
    
                - name: "WOS_USED_BYTES"
                  type: "metricValue"
    
                - name: "WOS_ROW_COUNT"
                  type: "metricValue"
    
                - name: "ROS_USED_BYTES"
                  type: "metricValue"
    
                - name: "ROS_ROW_COUNT"
                  type: "metricValue"
    
                - name: "TOTAL_USED_BYTES"
                  type: "metricValue"
    
                - name: "TOTAL_ROW_COUNT"
                  type: "metricValue"
    
    
    numberOfThreads: 5
      
    

     

    monitor.xml
    <monitor>
            <name>Vertica-Monitor</name>
            <type>managed</type>
            <description>Run's queries and monitor their return values</description>
            <monitor-configuration></monitor-configuration>
            <monitor-run-task>
                    <execution-style>periodic</execution-style>
                    <execution-frequency-in-seconds>60</execution-frequency-in-seconds>
                    <name>Vertica-Monitor Task</name>
                    <display-name>Vertica-Monitor Task</display-name>
                    <description>Vertica-Monitor Task</description>
                    <type>java</type>
                    <execution-timeout-in-secs>60</execution-timeout-in-secs>
                    <task-arguments>
                        <argument name="config-file" is-required="true" default-value="monitors/VerticaMonitor/config.yml" />
               </task-arguments>
                    <java-task>
                        <!-- <classpath>vertica-monitoring-extension.jar;jar-file-to-connect-to-db.jar</classpath> -->
                        <classpath>vertica-monitoring-extension.jar</classpath>
                        <impl-class>com.appdynamics.extensions.sql.SQLMonitor</impl-class>
                    </java-task>
            </monitor-run-task>
    </monitor>
    

     

    Metrics

    Metrics are collected by querying system tables of Vertica. For the complete list of system tables please visit Vertica System Tables

     

    Active Events

    Metrics related to Active Events

    NameDescription
    Custom Metrics/Vertica/Active Events/{NODE_NAME}/{EVENT_ID}/event_codeA numeric ID that indicates the type of event
    Custom Metrics/Vertica/Active Events/{NODE_NAME}/{EVENT_ID}/event_posted_countTracks the number of times an event occurs

     

    Disk Storage

    Metrics related to Disk Storage

    NameDescription
    Custom Metrics/Vertica/Disk Storage/{NODE_NAME}/{STORAGE_USAGE}/rankThe rank assigned to the storage location based on its performance
    Custom Metrics/Vertica/Disk Storage/{NODE_NAME}/{STORAGE_USAGE}/throughputThe measure of a storage location's performance in MB/sec
    Custom Metrics/Vertica/Disk Storage/{NODE_NAME}/{STORAGE_USAGE}/latencyThe measure of a storage location's performance in seeks/sec
    Custom Metrics/Vertica/Disk Storage/{NODE_NAME}/{STORAGE_USAGE}/disk_block_size_bytesThe block size of the disk in bytes
    Custom Metrics/Vertica/Disk Storage/{NODE_NAME}/{STORAGE_USAGE}/disk_space_free_blocksThe number of free disk blocks available
    Custom Metrics/Vertica/Disk Storage/{NODE_NAME}/{STORAGE_USAGE}/disk_space_free_mbThe number of megabytes of free storage available
    Custom Metrics/Vertica/Disk Storage/{NODE_NAME}/{STORAGE_USAGE}/disk_space_free_percentThe percentage of free disk space remaining
    Custom Metrics/Vertica/Disk Storage/{NODE_NAME}/{STORAGE_USAGE}/disk_space_used_blocksThe number of disk blocks in use
    Custom Metrics/Vertica/Disk Storage/{NODE_NAME}/{STORAGE_USAGE}/disk_space_used_mbThe number of megabytes of disk storage in use

     

    Host Resources

    Provides a snapshot of the node

    NameDescription
    Custom Metrics/Vertica/Host Resources/{HOST_NAME}/core_file_limit_max_size_bytesThe maximum core file size allowed on the node
    Custom Metrics/Vertica/Host Resources/{HOST_NAME}/disk_space_free_mbThe free disk space available, in megabytes, for all storage location file systems
    Custom Metrics/Vertica/Host Resources/{HOST_NAME}/disk_space_total_mbThe total free disk space available, in megabytes, for all storage location file systems
    Custom Metrics/Vertica/Host Resources/{HOST_NAME}/disk_space_used_mbThe disk space used, in megabytes, for all storage location file systems
    Custom Metrics/Vertica/Host Resources/{HOST_NAME}/open_files_limitThe maximum number of files that can be open at one time on the node
    Custom Metrics/Vertica/Host Resources/{HOST_NAME}/opened_file_countThe total number of open files on the node
    Custom Metrics/Vertica/Host Resources/{HOST_NAME}/opened_nonfile_nonsocket_countThe total number of other file descriptions open in which 'other' could be a directory or FIFO
    Custom Metrics/Vertica/Host Resources/{HOST_NAME}/opened_socket_countThe total number of open sockets on the node
    Custom Metrics/Vertica/Host Resources/{HOST_NAME}/processor_core_countThe number of processor cores in the system
    Custom Metrics/Vertica/Host Resources/{HOST_NAME}/processor_countThe number of system processors
    Custom Metrics/Vertica/Host Resources/{HOST_NAME}/threads_limitThe maximum number of threads that can coexist on the node
    Custom Metrics/Vertica/Host Resources/{HOST_NAME}/total_buffer_memory_bytesThe amount of physical RAM, in bytes, used for file buffers on the system
    Custom Metrics/Vertica/Host Resources/{HOST_NAME}/total_memory_bytesThe total amount of physical RAM, in bytes, available on the system
    Custom Metrics/Vertica/Host Resources/{HOST_NAME}/total_memory_cache_bytesThe amount of physical RAM, in bytes, used as cache memory on the system
    Custom Metrics/Vertica/Host Resources/{HOST_NAME}/total_memory_free_bytesThe amount of physical RAM, in bytes, left unused by the system
    Custom Metrics/Vertica/Host Resources/{HOST_NAME}/total_swap_memory_bytesThe total amount of swap memory available, in bytes, on the system
    Custom Metrics/Vertica/Host Resources/{HOST_NAME}/total_swap_free_memory_bytesThe total amount of swap memory free, in bytes, on the system

     

    IO Usage

    Provides a snapshot of the node

    NameDescription
    Custom Metrics/Vertica/IO Usage/{NODE_NAME}/read_kbytes_per_secCounter history of the number of bytes read measured in kilobytes per second
    Custom Metrics/Vertica/IO Usage/{NODE_NAME}/written_kbytes_per_secCounter history of the number of bytes written measured in kilobytes per second

     

    Node State

    Monitors node recovery state-change history on the system

    NameDescription
    Custom Metrics/Vertica/Node State/{NODE_NAME}/node_stateShows the node's state. Can be one of: UP (0), READY (1), UNSAFE (2), SHUTDOWN (3), RECOVERING (4)

     

    Query Metrics

    Monitors the sessions and queries running on each node

    NameDescription
    Custom Metrics/Vertica/Query Metrics/{NODE_NAME}/active_system_session_countThe number of active system sessions
    Custom Metrics/Vertica/Query Metrics/{NODE_NAME}/active_user_session_countThe number of active user sessions (connections)
    Custom Metrics/Vertica/Query Metrics/{NODE_NAME}/executed_query_countThe total number of queries that ran
    Custom Metrics/Vertica/Query Metrics/{NODE_NAME}/running_query_countThe number of queries currently running
    Custom Metrics/Vertica/Query Metrics/{NODE_NAME}/total_active_session_countThe total number of active user and system sessions
    Custom Metrics/Vertica/Query Metrics/{NODE_NAME}/total_session_countThe total number of user and system sessions
    Custom Metrics/Vertica/Query Metrics/{NODE_NAME}/total_system_session_countThe number of active system sessions
    Custom Metrics/Vertica/Query Metrics/{NODE_NAME}/total_user_session_countThe total number of user sessions

     

    Resource Usage

    Monitors system resource management on each node

    NameDescription
    Custom Metrics/Vertica/Resource Usage/{NODE_NAME}/active_thread_countThe current number of active threads
    Custom Metrics/Vertica/Resource Usage/{NODE_NAME}/address_space_requested_kbThe address space requested in kilobytes
    Custom Metrics/Vertica/Resource Usage/{NODE_NAME}/local_request_countThe cumulative number of local requests
    Custom Metrics/Vertica/Resource Usage/{NODE_NAME}/memory_requested_kbThe memory requested in kilobytes
    Custom Metrics/Vertica/Resource Usage/{NODE_NAME}/open_file_handle_countThe current number of open file handles
    Custom Metrics/Vertica/Resource Usage/{NODE_NAME}/request_countThe cumulative number of requests for threads, file handles, and memory (in kilobytes)
    Custom Metrics/Vertica/Resource Usage/{NODE_NAME}/ros_row_countThe number of rows in the ROS
    Custom Metrics/Vertica/Resource Usage/{NODE_NAME}/ros_used_bytesThe size of the ROS in bytes
    Custom Metrics/Vertica/Resource Usage/{NODE_NAME}/total_row_countThe total number of rows in storage (WOS + ROS)
    Custom Metrics/Vertica/Resource Usage/{NODE_NAME}/total_used_bytesThe total size of storage (WOS + ROS) in bytes
    Custom Metrics/Vertica/Resource Usage/{NODE_NAME}/wos_row_countThe number of rows in the WOS
    Custom Metrics/Vertica/Resource Usage/{NODE_NAME}/wos_used_bytesThe size of the WOS in bytes

     

    System

    Monitors the overall state of the database

    NameDescription
    Custom Metrics/Vertica/System/current_fault_toleranceThe number of node failures the cluster can tolerate before it shuts down automatically
    Custom Metrics/Vertica/System/designed_fault_toleranceThe designed or intended K-safety level
    Custom Metrics/Vertica/System/node_countThe number of nodes in the cluster
    Custom Metrics/Vertica/System/node_down_countThe number of nodes in the cluster that are currently down
    Custom Metrics/Vertica/System/current_epochThe current_epoch number
    Custom Metrics/Vertica/System/ahm_epochThe AHM Epoch Number
    Custom Metrics/Vertica/System/last_good_epochThe smallest (min) of all the checkpoint epochs on the cluster
    Custom Metrics/Vertica/System/refresh_epochDeprecated, always set to -1
    Custom Metrics/Vertica/System/catalog_revision_numberThe catalog version number
    Custom Metrics/Vertica/System/wos_used_bytesThe WOS size in bytes (cluster-wide)
    Custom Metrics/Vertica/System/ros_used_bytesThe ROS size in bytes (cluster-wide)
    Custom Metrics/Vertica/System/wos_row_countThe number of rows in WOS (cluster-wide)
    Custom Metrics/Vertica/System/ros_row_countThe number of rows in ROS (cluster-wide)
    Custom Metrics/Vertica/System/total_used_bytesThe total storage in bytes (WOS + ROS) (cluster-wide)
    Custom Metrics/Vertica/System/total_row_countThe total number of rows (WOS + ROS) (cluster-wide)

     

    System Resource Usage

    Provides history about system resources, such as memory, CPU, network, disk, I/O

    NameDescription
    Custom Metrics/Vertica/System Resource Usage/{NODE_NAME}/average_cpu_usage_percentAverage CPU usage in percent of total CPU time (0-100) during the history interval
    Custom Metrics/Vertica/System Resource Usage/{NODE_NAME}/average_memory_usage_percentAverage memory usage in percent of total memory (0-100) during the history interval
    Custom Metrics/Vertica/System Resource Usage/{NODE_NAME}/io_read_kbytes_per_secondDisk I/O average number of kilobytes read from disk per second during the history interval
    Custom Metrics/Vertica/System Resource Usage/{NODE_NAME}/io_written_kbytes_per_secondAverage number of kilobytes written to disk per second during the history interval
    Custom Metrics/Vertica/System Resource Usage/{NODE_NAME}/net_rx_kbytes_per_secondAverage number of kilobytes received from network (incoming) per second during the history interval
    Custom Metrics/Vertica/System Resource Usage/{NODE_NAME}/net_tx_kbytes_per_secondAverage number of kilobytes transmitting to network (outgoing) per second during the history interval

     

    Password Encryption Support

    To avoid setting the clear text password in the config.yml, please follow the process to encrypt the password and set the encrypted password and the encryptionKey in the config.yml

  • To encrypt password from the commandline go to/monitors/Vertica-Monitor directory and run the below command:
  • java -cp "cassandra-monitoring-extension.jar" com.appdynamics.extensions.crypto.Encryptor myKey myPassword
  • The “myKey” in the command can be any random key that you would like to use to encrypt the password.
  • The “myPassword” is going to be your actual password that you would use to log in to your product so as to get access. This is going to be that password that you are trying to encrypt.
  •  

    Workbench

    Workbench is a feature by which you can preview the metrics before registering it with the controller. This is useful if you want to fine tune the configurations. Workbench is embedded into the extension jar. To use the workbench:

    1. Follow all the installation steps
    2. Start the workbench with the command:
    3. java -jar /monitors/Vertica-Monitor/vertica-monitoring-extension.jar
    4. This starts an http server at http://host:9090/. This can be accessed from the browser.
    5. If the server is not accessible from outside/browser, you can use the following end points to see the list of registered metrics and errors.
    6. # Get the stats curl http://localhost:9090/api/stats # Get the registered metrics curl http://localhost:9090/api/metric-paths
    7. You can make the changes to config.yml and validate it from the browser or the API
    8. Once the configuration is complete, you can kill the workbench and start the Machine Agent.

     

    Custom Dashboard

     

     

    Contributing

     

    Always feel free to fork and contribute any changes directly via GitHub.

     

    Support

     

    For any support questions, please contact help@appdynamics.com.

     

    Version:

    1.2.1

    Compatibility:

    3.7+

    Last Update:

    11/28/2017