Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

how be compatible with opscenter and datastax_agent #620

Closed
andrewrong opened this issue Dec 1, 2015 · 4 comments
Closed

how be compatible with opscenter and datastax_agent #620

andrewrong opened this issue Dec 1, 2015 · 4 comments

Comments

@andrewrong
Copy link

I have built opscenter and datastax_agent when i used Cassandra; Now I use Scylladb, i have ran scylla-jmx, but when i run datastax-agent-5.2.2, its message log have some errors; I know it don't found cassandra.yaml, How to solve this problem?

  INFO [qtp1841547603-86] 2015-12-01 10:48:13,057 HTTP: :get /cassandra/conf {:private_props "True"} - 500
 ERROR [qtp1841547603-86] 2015-12-01 10:48:15,120 Unhandled route Exception (:bad-permissions): Unable to locate the cassandra.yaml configuration file. If your configuration file is not located with the Cassandra install, please set the 'conf_location' option in the Cassandra section of the OpsCenter cluster configuration file and restart opscenterd. Checked the following locations: /etc/dse/cassandra/cassandra.yaml, /etc/cassandra/conf/cassandra.yaml, /etc/cassandra/cassandra.yaml
@tzach
Copy link
Contributor

tzach commented Dec 1, 2015

AFAIK, datastax_agent is close source so the following is experimental, not official, and may break.
The agent seems to use standard Cassandra and Scylla CQL and JMX to pull data.
To find the server, the agent use the information from /etc/cassandra/conf/cassandra.yaml for the following values:

listen_address: 127.0.0.1 
broadcast_address: 127.0.0.1

Where 127.0.0.1 should be replace with Scylla listening IP.
As long as you have this file in place, with the Scylla IP, the agent should work.

@andrewrong
Copy link
Author

I try your method;

  1. I copy /etc/scylla/scylla.yaml to /etc/cassandra/conf/cassandra.yaml
  2. I modify /etc/cassandra/conf/cassandra.yaml 中的listen_addressbroadcast_address like your suggestion;
  3. Now the agent works good; but its message log have some exceptions;
  4. Do you find these exceptions? If i have some faults in my cassandra, please help me point out ;Thank you!!!
 WARN [jmx-metrics-4] 2015-12-02 10:48:51,351 Exception while processing JMX data: javax.management.RuntimeMBeanException: java.lang.RuntimeException: API call is not supported yet
 ERROR [jmx-metrics-4] 2015-12-02 10:48:51,352 Error getting general metrics
 javax.management.RuntimeMBeanException: java.lang.RuntimeException: API call is not supported yet
        at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.rethrow(DefaultMBeanServerInterceptor.java:839)
        at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.rethrowMaybeMBeanException(DefaultMBeanServerInterceptor.java:852)
        at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getAttribute(DefaultMBeanServerInterceptor.java:651)
        at com.sun.jmx.mbeanserver.JmxMBeanServer.getAttribute(JmxMBeanServer.java:678)
"agent.log" [noeol] 28541L, 2685813C                                                                                                                                                                                        5792,2-9      20%
        at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.RuntimeException: API call is not supported yet
        at com.cloudius.urchin.api.APIClient.getException(APIClient.java:113)
        at com.cloudius.urchin.api.APIClient.getRawValue(APIClient.java:156)
        at com.cloudius.urchin.api.APIClient.getRawValue(APIClient.java:175)
        at com.cloudius.urchin.api.APIClient.getLongValue(APIClient.java:462)
        at com.yammer.metrics.core.APICounter.count(APICounter.java:25)
        at com.yammer.metrics.reporting.JmxReporter$Counter.getCount(JmxReporter.java:85)
        at sun.reflect.GeneratedMethodAccessor28.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:497)
        at sun.reflect.misc.Trampoline.invoke(MethodUtil.java:71)
        at sun.reflect.GeneratedMethodAccessor11.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:497)
        at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:275)
        at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:112)
        at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:46)
        at com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBeanIntrospector.java:237)
        at com.sun.jmx.mbeanserver.PerInterface.getAttribute(PerInterface.java:83)
        at com.sun.jmx.mbeanserver.MBeanSupport.getAttribute(MBeanSupport.java:206)
        at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getAttribute(DefaultMBeanServerInterceptor.java:647)
        at com.sun.jmx.mbeanserver.JmxMBeanServer.getAttribute(JmxMBeanServer.java:678)
        at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1448)
        at javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:76)
        at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1312)
        at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1404)
        at javax.management.remote.rmi.RMIConnectionImpl.getAttribute(RMIConnectionImpl.java:641)
        at sun.reflect.GeneratedMethodAccessor15.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:497)
        at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:323)
        at sun.rmi.transport.Transport$1.run(Transport.java:200)
        at sun.rmi.transport.Transport$1.run(Transport.java:197)
        at java.security.AccessController.doPrivileged(Native Method)
        at sun.rmi.transport.Transport.serviceCall(Transport.java:196)
        at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:568)
        at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:826)
        at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$93(TCPTransport.java:683)
        at java.security.AccessController.doPrivileged(Native Method)
        at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:682)
        ... 3 more
 WARN [jmx-metrics-2] 2015-12-02 14:00:47,079 Removing negative values, this can mean that the data read contains errors.

@tzach
Copy link
Contributor

tzach commented Dec 2, 2015

Now the agent works good;

Excellent

message log have some exceptions

I suspect you are seeing MBeans which are not yet implemented, in particular #624 and #625
To validate this, look for "API call is not supported yet" message in scylla log
journalctl _COMM=scylla | grep "API call is not supported yet"

If this is indeed the case, it will be solve soon, once these two issues are closed.

@tzach
Copy link
Contributor

tzach commented Dec 3, 2015

@andrewrong since the agent is working I'm closing this issue.
Follow #624 and #625 for the missing APIs.

@tzach tzach closed this as completed Dec 3, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants