Skip to content
This repository has been archived by the owner on Jul 3, 2020. It is now read-only.

Commit

Permalink
Merge pull request #265 from dacrome/introduce-monitoring
Browse files Browse the repository at this point in the history
Introduce monitoring
  • Loading branch information
tkrille committed Oct 26, 2016
2 parents 2ebe95c + 5620831 commit 2f40840
Show file tree
Hide file tree
Showing 9 changed files with 27 additions and 125 deletions.
13 changes: 13 additions & 0 deletions CHANGELOG.md
@@ -1,5 +1,18 @@
# OSIAM

## 3.1 - unreleased

### Features

- Add `/management` endpoint which provides monitoring information about the
running OSIAM app. Take a look at the
[Spring Boot documentation](http://docs.spring.io/spring-boot/docs/1.4.1.RELEASE/reference/html/production-ready-endpoints.html)
if you like to get more details.

### Changes

- Remove `/Metrics` endpoint

## 3.0 - 2016-08-09

**Breaking changes!**
Expand Down
6 changes: 6 additions & 0 deletions docs/api_documentation.md
Expand Up @@ -35,6 +35,7 @@
- [Replace an existing Group](#replace-an-existing-group)
- [Update a Group](#update-a-group)
- [Delete a Group](#delete-a-group)
- [Monitoring](#monitoring)

## Basics

Expand Down Expand Up @@ -787,3 +788,8 @@ e.g.:
```sh
curl -i -H "Accept: application/json" -H "Content-type: application/json" -H "Authorization: Bearer $YOUR_ACCESS_TOKEN" -X DELETE http://localhost:8080/Groups/$ID
```
## Monitoring

To monitor the running OSIAM you can call
[one of the endpoints](http://docs.spring.io/spring-boot/docs/1.4.1.RELEASE/reference/html/production-ready-endpoints.html)
which are grouped under `/management`.
21 changes: 4 additions & 17 deletions pom.xml
Expand Up @@ -123,26 +123,13 @@
</dependency>

<dependency>
<groupId>org.flywaydb</groupId>
<artifactId>flyway-core</artifactId>
</dependency>

<dependency>
<groupId>com.ryantenney.metrics</groupId>
<artifactId>metrics-spring</artifactId>
<version>3.1.3</version>
</dependency>

<dependency>
<groupId>io.dropwizard.metrics</groupId>
<artifactId>metrics-json</artifactId>
<version>3.1.2</version>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

<dependency>
<groupId>io.dropwizard.metrics</groupId>
<artifactId>metrics-jvm</artifactId>
<version>3.1.2</version>
<groupId>org.flywaydb</groupId>
<artifactId>flyway-core</artifactId>
</dependency>

<dependency>
Expand Down
2 changes: 0 additions & 2 deletions src/main/java/org/osiam/Osiam.java
Expand Up @@ -24,7 +24,6 @@
package org.osiam;

import com.google.common.collect.ImmutableMap;
import com.ryantenney.metrics.spring.config.annotation.EnableMetrics;
import org.osiam.cli.InitHome;
import org.osiam.cli.MigrateDb;
import org.springframework.boot.SpringApplication;
Expand All @@ -45,7 +44,6 @@

@SpringBootApplication
@EnableWebSecurity
@EnableMetrics
@EnableAspectJAutoProxy(proxyTargetClass = true)
@ComponentScan(excludeFilters = {
@ComponentScan.Filter(type = FilterType.REGEX, pattern = "org\\.osiam\\.cli.*")
Expand Down
9 changes: 1 addition & 8 deletions src/main/java/org/osiam/configuration/JacksonConfig.java
Expand Up @@ -23,7 +23,6 @@
*/
package org.osiam.configuration;

import com.codahale.metrics.json.MetricsModule;
import com.fasterxml.jackson.core.Version;
import com.fasterxml.jackson.databind.Module;
import com.fasterxml.jackson.databind.module.SimpleModule;
Expand All @@ -34,25 +33,19 @@
import org.springframework.context.annotation.Configuration;
import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder;

import java.util.concurrent.TimeUnit;

@Configuration
public class JacksonConfig {

@Bean
public Jackson2ObjectMapperBuilder jacksonBuilder() {
Jackson2ObjectMapperBuilder jacksonBuilder = new Jackson2ObjectMapperBuilder();
jacksonBuilder.filters(new SimpleFilterProvider().setFailOnUnknownId(false));
jacksonBuilder.modules(jacksonUserDeserializerModule(), metricsModule());
jacksonBuilder.modules(jacksonUserDeserializerModule());
return jacksonBuilder;
}

private Module jacksonUserDeserializerModule() {
return new SimpleModule("userDeserializerModule", new Version(1, 0, 0, null, "org.osiam", "osiam"))
.addDeserializer(User.class, new UserDeserializer(User.SCHEMA));
}

private Module metricsModule() {
return new MetricsModule(TimeUnit.SECONDS, TimeUnit.SECONDS, false);
}
}
40 changes: 0 additions & 40 deletions src/main/java/org/osiam/configuration/MetricsConfiguration.java

This file was deleted.

Expand Up @@ -52,6 +52,7 @@ public void configure(HttpSecurity http) throws Exception {
// @formatter:off
http.authorizeRequests()
.antMatchers("/ServiceProviderConfig").permitAll()
.antMatchers("/management/**").access("#oauth2.hasScope('ADMIN')")
.antMatchers("/Me/**").access("#oauth2.hasScope('ADMIN') or #oauth2.hasScope('ME')")
.antMatchers(HttpMethod.POST, "/Users/**").access("#oauth2.hasScope('ADMIN')")
.regexMatchers(HttpMethod.GET, "/Users/?").access("#oauth2.hasScope('ADMIN')")
Expand Down
58 changes: 0 additions & 58 deletions src/main/java/org/osiam/metrics/controller/MetricsController.java

This file was deleted.

2 changes: 2 additions & 0 deletions src/main/resources/application.yml
Expand Up @@ -37,6 +37,8 @@ spring.thymeleaf.prefix: file:${osiam.home}/templates/web/
spring.jpa.hibernate.ddl-auto: none
server.port: ${osiam.port:8080}

management.context-path: /management

flyway:
locations: db/migration/${osiam.db.vendor}
baseline-on-migrate: true

0 comments on commit 2f40840

Please sign in to comment.