I have simple Java EE app on Heroku. I tested this app via JMeter. And now I need measure server statistic. The most important for me is server CPU usage. I installed New Relic plugin by instructions, chapter "Add the New Relic agent as a Maven dependency". Now I examine my app in section "Applications" (categories Monitoring, Events, Reports, Settings). I need measure server CPU usage during generate requests by JMeter. Which graph or statistic is best for this purpouse. For example:
OR
OR
OR another statistic or graph is most suitable for CPU usage analysis? Thanks
New Relic can report on application server resource utilization through the application agent since the app is aware of those metrics. However, because of the unique infrastructure of the Heroku hosting platform, it is not currently possible to collect any further server metrics other than memory and load.
Please consult these docs for further info:
NR Instances Tab: http://blog.newrelic.com/2013/03/07/new-relics-instances-tab/
Heroku Runtime Metrics: https://devcenter.heroku.com/articles/log-runtime-metrics
Related
I am new to google cloud. I have a java application and I write logs in my compute engines storage itself.
That is I have a log folder inside my e2-small machine and I have log files in that folder.
I can ssh to my compute engine and view logs but want to explore how to use google cloud tools for same.
I have explored
https://cloud.google.com/logging/docs/view/logs-viewer-interface
https://cloud.google.com/appengine/docs/standard/nodejs/building-app/viewing-service-logs
and also few stackoverflow questions.
Right now is view audit events for my compute engine like (Removing user viraj and Updating keys for user viraj)
Please let me know if any more information is required or if I am missing in my cloud setup?
As mentioned by #YariPelona, there's a post with a similar question at the post: How to logging python script log into Google stackdriver logging running on a Google Cloud VM.
The tool that will help you is Cloud Logging, which will allow you to see your logs in a Log Explorer ans setup custom monitoring depending on your app/project needs by installing the Monitoring agent, which includes setup guides for such monitoring at several 3rd party apps.
Find the guide to install, configure and authorize the monitoring agent in This link:
Installing the agent on a single VM
Then you can go to this link to find out how to use Cloud Loggin and see your logg in the Log Explorer by enabling it on your VM instance or using Cloud Shell with gcloud commands:
Quickstart using Logging tools.
And last but not least, in the next link you will find the Guides to monitor third-party applications like Apache web server, MySql, Cassandra, Tomcat, etc (Plugin enablement), with the tools mentioned above:
Monitoring third-party applications
I have deployed few apps in cloud foundry and i want to see the CPU usage and Memory consumption etc like we see through Jprofile,JMX etc.
So can i deploy them as a plugin in my space if so - what are the steps.
not expecting a full length answer you can give some blog url or reference.
is deploying a plugin is same as application deployment.
Any other way to see the usage .
Because cloud foundry provider shows very basic usage in numbers but what i want is a graphical interface.
Any hint on this.
To monitor Pivotal Cloud Foundry, there are multiple tools available.
For platform monitoring you can use PCF Metrics, Data Dog, New Relic, Prometheus + Grafana.
Most of these do need the JMX Bridge tile installed.
For app performance monitoring you can install or setup tools like New Relic or App Dynamics. You will have to pay for these tools.
Register with network.pivotal.io. Sign in and you will get a list of all tiles from Pivotal and 3rd party vendors.
I think I have a really simple use case:
a spring boot java application that exposes metrics through an endpoint (localhost:8002/metrics) and through JMX
a google compute engine machine that hosts that application (or a pod in Google Container Engine)
I want to have in the monitoring dashboards simple metrics exposed from spring boot (like http status code, http response time percentiles, etc..). In some way it's something really similar to what appengine offers, but on a GCE/GKE instance.
I tried to:
configure a stackdriver agent with jvm collector -> PROBLEM: only basic jvm metrics are collected
configure a stackdriver agent with collectd plugins that retrieve my metrics and push to google cloud monitoring -> PROBLEM: I got several errors because the agent cannot understand the collectd jmx/json plugins
pass through a Google Cloud Load Balancing -> PROBLEM: apparently there are no metrics for that service
pass through a nginx server and configured a stackdriver agent with nginx collector -> PROBLEM: again only really basic metrics are collected
So the real questions are:
am I missing something or the only way is to go through custom metrics?
apart from java/spring boot/etc .. Is anyone here that has applications running on Google Cloud and is monitoring these kinds of metrics with Stackdriver?
BTW: in case someone is interested to help, here is the github repo where I am starting to make some experiments
I'm relatively unexperienced in developing JAVA and I was hoping on getting some advice.
I have a modular JAVA server application setup in which a high level service that acts as a front-end interface which communicates with 8 lower level services.
In production, each service is hosted on its own machine.
I'm looking to profile a standard SE development environment which launches all instances locally. I am currently using eclipse and JVMmonitor.
My current workflow involves manually starting each service, followed by triggering the monitoring process on each service manually through eclipse. This workflow gets the job done, but I'm sure there is a more intelligent solution someone has come across. Most forum postings only solve monitoring one java instance.
Are there any other stand alone JAVA applications that anyone would suggest? I would like to avoid adding profiling code if possible.
Most profilers allow you to profile JVMs without the need to manually start the profiler.
For example, JProfiler calls this "offline profiling" and the integration wizards in the JProfiler GUI have an option for it:
Disclaimer: My company develops JProfiler.
Use visualVM.You can profile from urs local computer to different servers .
http://docs.oracle.com/javase/6/docs/technotes/guides/visualvm/applications_remote.html For profiling in different servers you need to define jstatd.all.policy file. For example if you want to monitor to different servers say s1,s2,s3 then in s1,s2,s3 server define jstatd.all.policy file and run statd - Virtual Machine jstat Daemon.Then from yours local computer you can monitor 3 s1,s2,s3 servers.
In very easy to configure it.
1.Run visualVm you can get eclipe pluging for it.
2.Run jstatd -J-Djava.security.policy=D:\jstatd.all.policy // location of yours jstatd.all.policy file in yours servers
3.In jstatd.all.policy define
grant codebase "file:${java.home}/../lib/tools.jar" {
permission java.security.AllPermission;
};
4.Now connect to yours servers and monitor from local .
Is the speed tracer server side tracing reserved for applications on the GAE, because i am checking http://code.google.com/webtoolkit/speedtracer/server-side-tracing.html and it only talks about the GAE, but I wanted to use it locally without the GAE.
Locally it is available as part of SpringSource tc Server
Developer edition is available free of charge as part of the SpringSource Tool Suite or as a separate download
http://www.springsource.com/developer/tcserver
http://static.springsource.com/projects/tc-server/2.0/devedition/html/ch04s04.html
This blog post shows how speed tracer works behind the scenes and includes code that feeds Rails timing information back into the speed tracer UI:
http://www.igvita.com/2010/07/19/speed-tracer-server-side-tracing-with-rack/