Support Migration Notice: To update migrated JIRA cases click here to open a new case use www.vmware.com/go/sr | vFabric Hyperic 5.7.0 is Now Available

Hyperic HQ

RabbitMQ plugin - Server Availability and Metrics not reporting for RabbitMQ 2.1.x

Details

  • Type: Bug Bug
  • Status: Closed Closed
  • Priority: Critical Critical
  • Resolution: Fixed
  • Affects Version/s: 4.6, 4.x Sprint 27
  • Fix Version/s: 4.6, 4.x Sprint 28
  • Component/s: Plugins
  • Environment:
    Hyperic server 4.6.0-EE-247 on CentOS 5.4 x64 with embedded Postgres DB
    - Hyperic agent 4.6.0-EE-247 on RHEL 5.4 x64 running RabbitMQ 2.1.0 single node
    - Hyperic agent 4.6.0-EE-247 on Windows 2003 running RabbitMQ 2.1.1 multi node
  • Case Links:
    none
  • Regression:
    Yes
  • Tags:

Description

RabbitMQ plugin - Availability and Metrics not reporting for RabbitMQ 2.1.x

After adding RabbitMQ 2.1.x servers to inventory from auto-discovery, the servers report as offline and Availability and metrics are not reporting.

Reconfiguring Configuration Properties does not resolve problem.

See attached 'agent-rh82.log' and 'agent-2k335.log' for logging information.

Expected Result:
Server Availability and Metrics report successfully

Actual Result:
Server Availability and Metrics do not report

Steps to Reproduce:

  1. Install and start agent on platform running RabbitMQ 2.1.x
  2. Optionally, upgrade an existing environment monitoring RabbitMQ 2.1.x to 4.6.0
  3. Note RabbitMQ server is auto-discovered in AIQ
  4. Add RabbitMQ server to inventory from AIQ
  5. Allow enough time for two interval collections to collect availability and metrics
  6. Note Server reports as offline and Availability and Metrics do not collect
  1. agent-2k335.log
    22/Jul/11 9:45 AM
    4.88 MB
    Frederic Calindas
  2. agent-rh82.log
    22/Jul/11 9:45 AM
    3.31 MB
    Frederic Calindas

Activity

Hide
German Laullon added a comment -

This is the problem:

com.google.gson.JsonParseException: The JsonDeserializer IntegerTypeAdapter failed to deserialized json object "install_handle_from_sysinternals" given the type int

On Windows, rabbitmq-management-agent need a 3rd party tool to get the "Process Open File Descriptors" metrics:
(rabbit_mgmt_external_stats.erl)

%% handle.exe can be obtained from
%% http://technet.microsoft.com/en-us/sysinternals/bb896655.aspx

...
...

get_used_fd({win32, _}) ->
    Handle = os:cmd("handle.exe /accepteula -s -p " ++ os:getpid() ++
                        " 2> nul"),
    case Handle of
        [] -> install_handle_from_sysinternals;
        _  -> find_files_line(string:tokens(Handle, "\r\n"))
    end;
Show
German Laullon added a comment - This is the problem: com.google.gson.JsonParseException: The JsonDeserializer IntegerTypeAdapter failed to deserialized json object "install_handle_from_sysinternals" given the type int On Windows, rabbitmq-management-agent need a 3rd party tool to get the "Process Open File Descriptors" metrics: (rabbit_mgmt_external_stats.erl)
%% handle.exe can be obtained from
%% http://technet.microsoft.com/en-us/sysinternals/bb896655.aspx

...
...

get_used_fd({win32, _}) ->
    Handle = os:cmd("handle.exe /accepteula -s -p " ++ os:getpid() ++
                        " 2> nul"),
    case Handle of
        [] -> install_handle_from_sysinternals;
        _  -> find_files_line(string:tokens(Handle, "\r\n"))
    end;
Hide
German Laullon added a comment -

The plugin now manage the error and log a message in case Handle is not installed.

Show
German Laullon added a comment - The plugin now manage the error and log a message in case Handle is not installed.
Hide
Frederic Calindas added a comment -

Per DEV, the above metric is provided by the OS on Linux.

Show
Frederic Calindas added a comment - Per DEV, the above metric is provided by the OS on Linux.
Hide
Frederic Calindas added a comment -

Tested using Hyperic Server Daily Build 4.6.0-EE-251 (7/26/11) and Hyperic Agent Daily Build 4.6.0-EE-252 (7/26/11) on RHEL 5.4 x64 running RabbitMQ 2.1.0 single node.

The RabbitMQ Server Availability remained unavailable when metrics were reporting. No Services were being discovered.

Show
Frederic Calindas added a comment - Tested using Hyperic Server Daily Build 4.6.0-EE-251 (7/26/11) and Hyperic Agent Daily Build 4.6.0-EE-252 (7/26/11) on RHEL 5.4 x64 running RabbitMQ 2.1.0 single node. The RabbitMQ Server Availability remained unavailable when metrics were reporting. No Services were being discovered.
Hide
German Laullon added a comment -

Solved the server avail problem.
The discovery process handle bad configured Vhost (bad permissions)

Show
German Laullon added a comment - Solved the server avail problem. The discovery process handle bad configured Vhost (bad permissions)
Hide
Frederic Calindas added a comment -

Verified with Hyperic Server Daily Build 4.6.0-EE-252 (7/28/11).

RabbitMQ 2.1.x Server Availability and Metrics reporting.

Show
Frederic Calindas added a comment - Verified with Hyperic Server Daily Build 4.6.0-EE-252 (7/28/11). RabbitMQ 2.1.x Server Availability and Metrics reporting.

People

Vote (0)
Watch (0)

Dates

  • Created:
    Updated:
    Resolved:
    Last comment:
    2 years, 38 weeks, 6 days ago