Server side monitoring

Hi All,

I am trying to monitor servers using Gatling, influxDB and grafana.

Below are the configurations:

  1. Gatling.conf
    data {
    writers = “console, file, graphite” # The lists of DataWriters to which Gatling write simulation data (currently supported : “console”, “file”, “graphite”, “jdbc”)
    graphite {
    #light = false # only send the all* stats
    host = “172.25.30.57” # This is the host where my influxDB is running
    port = 2003 # The port to which the Carbon server listens to
    protocol = “tcp” # The protocol used to send data to Carbon (currently supported : “tcp”, “udp”)
    rootPathPrefix = “gatling” # The common prefix of all metrics sent to Graphite
    #bufferSize = 8192 # GraphiteDataWriter’s internal data buffer size, in bytes
    #writeInterval = 1 # GraphiteDataWriter’s write interval, in seconds
    }
    }

  2. Installed influxDB, grafana and collectd on 172.25.30.57

influxDB.conf

[[graphite]]
enabled = true
database = “gatlingdb”
bind-address = “:2003”
protocol = “tcp”
consistency-level = “one”

templates = [
“gatling....count measurement.simulation.request.status.field",
"gatling.
...min measurement.simulation.request.status.field”,
“gatling....max measurement.simulation.request.status.field",
"gatling.
...percentiles50 measurement.simulation.request.status.field”,
“gatling....percentiles75 measurement.simulation.request.status.field",
"gatling.
...percentiles95 measurement.simulation.request.status.field”,
“gatling...*.percentiles99 measurement.simulation.request.status.field”
]

[[collectd]]
enabled = true

  1. Started influxDB service using “influxd” command

  2. Run the basic simulation. Please note “http://computer-database.gatling.io” is used

  3. Connected to influxDB database server and I can use “gatlingdb” database which is locally created by influxDB and can query to it and it returns all the requests time stored in database.

  4. Installed grafana and imported template https://github.com/aidylewis/gatling-grafana-template.

My problem here is: I can see requests and user real time monitoring with this. I want to monitor JVM parameters like GC, threads or sql or network.

How can I achieve this? Thanks.

Hi Vrushali,

It looks like you have read my real-time monitoring notes and are using my Grafana template.

All I am doing is creating an InfluxDB measurement from the data available through the Gatling Graphite API and visualising that data through Grafana.
But I am thinking of using Julia and plotly.js and tailing the simulation.log.

If you need anything more than this (e.g. OS metrics) then your need to use some utility or scripting to push these metrics to an InfluxDB API (Graphite or HTTP)
and create another Grafana dashboard.

I have not done this as I normally use one big load injector and run jvmtop, htop etc

I am not sure if Frontline monitors the JVM or OS metrics yet.

Aidy

I am not sure if Frontline monitors the JVM or OS metrics yet.

We only monitor Gatling load injector hosts.
At some point in time, we'll probably integrate with some APM solutions.

You can assemble several (many) open-source components and build your own
APM platform, but that will require some effort from your side.

Seriously, you can't expect to find an all-featured plug-and-play APM
solution for free.

Hi All, just getting started with Gatling. I’m a long time IBM Rational Performance Tester and Micro Focus Silk Performer user. So far, Gatling looks very interesting - I like the simplicity.

This was the only thread I found on this topic. Thought I’d ask this here rather than start a new thread, unless you think I should.

OK, let’s say I have a multi-tiered application I am performance testing. I can get the resource monitoring information in CSV format quite easily. For example, CPU, Memory, Disk, Network utilization, etc.
Is there a way to read in that information and modify the report to include it in the test results?

Or perhaps there is another way to do this altogether?

Thanks!
Tony

Hi,

That’s not supported by Gatling currently AFAIK.

In terms of monitoring, you could build a stack including InfluxDB and Grafana with collectd (assuming you’re on Linux). You’d be able to graph the metrics you’re after.

If you want to monitor a JVM based application then jmxtrans can be used to get your heap metrics etc into Influxdb.

Thanks,
Barry

Thanks for the reply Barry. Unfortunately, it looks to me like Gatling doesn’t have enough features at this point in time for me to use on a daily basis.

Tony