Закрепление пружинного чехла 2 привода Прометей Конечные точки - PullRequest
0 голосов
/ 18 февраля 2020

У меня есть Spring Boot 2 с микросервисом Spring Security, который я настроил с помощью Micometer / Spring Actuator. Все хорошо, когда я разрешаю All () в конечных точках antMatcher ("/ activator / **"). Я могу получить метрики Prometheus через правильно настроенный файл yaml Prometheus.

Но мой микросервис не защищен брандмауэром и, следовательно, открыт для всего мира. Я только хочу, чтобы Прометей мог получить доступ к моей конечной точке "/ привод / прометей" микросервиса.

У меня есть следующие конфигурации:

В моем микросервисе Spring Boot 2 ResourceServerConfig класс:

@Configuration
@EnableResourceServer
public class ResourceServerConfig extends ResourceServerConfigurerAdapter {

  @Autowired
  private JdbcTokenStore tokenStore;

  @Override
  public void configure(ResourceServerSecurityConfigurer resources) throws Exception {
    resources.resourceId("springsecurity").tokenStore(tokenStore);
  }

  public void configure(HttpSecurity http) throws Exception {
    http.anonymous().and().authorizeRequests()
      .antMatchers("/actuator/**").hasRole("ENDPOINT_ADMIN")
      .antMatchers("/**").authenticated();
  }

Для файла application.properties у меня есть:

spring.security.user.name=user
spring.security.user.password=password
spring.security.user.roles=ENDPOINT_ADMIN

# For Prometheus (and other data loggers)
management.endpoint.metrics.enabled=true
management.endpoints.web.exposure.include=*
management.endpoint.prometheus.enabled=true
management.metrics.export.prometheus.enabled=true

Тогда для моего файла YAML Prometheus у меня есть это:

global:
  scrape_interval: 15s

scrape_configs:
  - job_name: "prometheus"
    static_configs:
    - targets: ["localhost:9090"]

  - job_name: 'myservice'
    metrics_path: '/actuator/prometheus'
    scrape_interval: 5s
    static_configs:
      - targets: ['localhost:8080']
    basic_auth:
      username: 'user'
      password: 'password'

Когда я go к / target в Prometheus я получаю сообщение «сервер вернул HTTP-статус 401».

Я полностью полагаю, что не совсем правильно понял что-то правильное. Есть ли способ для меня, чтобы правильно сделать это? Большое вам спасибо.

1 Ответ

0 голосов
/ 18 февраля 2020

Была система Прометей и система услуг во внутренней сети. Если они находились в одной внутренней сети, вы можете использовать внутренний IP для получения данных привода.

...