Search in sources :

Example 1 with SystemProcessBufferDumpResponse

use of org.graylog2.rest.models.system.responses.SystemProcessBufferDumpResponse in project graylog2-server by Graylog2.

the class ClusterSystemResource method processBufferDump.

@GET
@Timed
@ApiOperation(value = "Get a process buffer dump of the given node")
@RequiresPermissions(RestPermissions.PROCESSBUFFER_DUMP)
@Path("{nodeId}/processbufferdump")
public SystemProcessBufferDumpResponse processBufferDump(@ApiParam(name = "nodeId", value = "The id of the node to get a process buffer dump.", required = true) @PathParam("nodeId") String nodeId) throws IOException, NodeNotFoundException {
    final Node targetNode = nodeService.byNodeId(nodeId);
    final RemoteSystemResource remoteSystemResource = remoteInterfaceProvider.get(targetNode, this.authenticationToken, RemoteSystemResource.class);
    final Response<SystemProcessBufferDumpResponse> response = remoteSystemResource.processBufferDump().execute();
    if (response.isSuccessful()) {
        return response.body();
    } else {
        LOG.warn("Unable to get process buffer dump on node {}: {}", nodeId, response.message());
        throw new WebApplicationException(response.message(), BAD_GATEWAY);
    }
}
Also used : WebApplicationException(javax.ws.rs.WebApplicationException) RemoteSystemResource(org.graylog2.shared.rest.resources.system.RemoteSystemResource) Node(org.graylog2.cluster.Node) SystemProcessBufferDumpResponse(org.graylog2.rest.models.system.responses.SystemProcessBufferDumpResponse) Path(javax.ws.rs.Path) RequiresPermissions(org.apache.shiro.authz.annotation.RequiresPermissions) Timed(com.codahale.metrics.annotation.Timed) GET(javax.ws.rs.GET) ApiOperation(io.swagger.annotations.ApiOperation)

Aggregations

Timed (com.codahale.metrics.annotation.Timed)1 ApiOperation (io.swagger.annotations.ApiOperation)1 GET (javax.ws.rs.GET)1 Path (javax.ws.rs.Path)1 WebApplicationException (javax.ws.rs.WebApplicationException)1 RequiresPermissions (org.apache.shiro.authz.annotation.RequiresPermissions)1 Node (org.graylog2.cluster.Node)1 SystemProcessBufferDumpResponse (org.graylog2.rest.models.system.responses.SystemProcessBufferDumpResponse)1 RemoteSystemResource (org.graylog2.shared.rest.resources.system.RemoteSystemResource)1