Şuayb'in BloguŞuayb'in Blogu
Ana Sayfa
Kategoriler
Oyunlar
MediumHakkındaİletişim
Dil
Tema
    1. Blog
    2. Programlama
    3. Spring Boot Actuator

Spring Boot Actuator

İlk yayın18 Aralık 2024
Son güncelleme19 Aralık 2024
Okuma süresi3 dk okuma
JavaKotlinSpring BootActuatorİzleme
XLinkedInFacebook
Spring Boot Actuator

Beğeni yükleniyor...

Spring Boot Actuator, uygulamalarınızı izlemek ve yönetmek için prodüksiyon seviyesinde hazır özellikler sunar. Bu rehber, Actuator'ın yeteneklerini, nasıl etkinleştirileceğini ve endpointlerin nasıl güvenlik altına alınacağını incelemektedir.


Son güncelleme19 Aralık 2024

Toplam görüntülenmeGörüntülenme yükleniyor...

Önceki makaleSpring Boot ile Aspect-Oriented ProgrammingSonraki makaleSpring Boot DevTools
Şuayb Şimşek

Yazan

Şuayb Şimşek

Spring Boot, güvenlik, mikroservis ve cloud-native mimari konularında pratik teknik notlar paylaşan backend odaklı fullstack geliştirici.

Uzmanlık

  • Spring Boot
  • Go
  • Mikroservis
  • Next.js
  • Cloud Native

Bağlantılar

GitHubLinkedInMedium

Benzer yazılar

Spring Boot Configuration Properties
Programlama

Spring Boot Configuration Properties

@ConfigurationProperties ile tip-güvenli yapılandırma tanımlamayı, @Validated ile ayarları doğrulamayı ve profile-specific application-{profile}.yml dosyalarıyla ortama göre değer yönetimini öğrenin.

4 Şubat 20263 dk okuma
JavaKotlinSpring BootYapılandırma
Spring Boot GraphQL JWE Kimlik Doğrulama
Programlama

Spring Boot GraphQL JWE Kimlik Doğrulama

Stateless şifreli JWT’ler (JWE) ile Spring Boot GraphQL API’lerinizi güvenli hale getirmeyi; kullanıcı kimliği ve rolleri JPA ile bir veritabanında saklamayı öğrenin.

17 Mayıs 20256 dk okuma
JavaKotlinSpring BootGüvenlikJWTJWEGraphQL
Spring Boot JPA ile JWE Kimlik Doğrulaması
Programlama

Spring Boot JPA ile JWE Kimlik Doğrulaması

Stateless şifreli JWT’ler (JWE) kullanarak Spring Boot API’lerinizi güvenli hale getirirken, kullanıcı kimliklerini ve rolleri JPA destekli bir veritabanında nasıl saklayacağınızı öğrenin.

11 Mayıs 20254 dk okuma
JavaKotlinSpring BootGüvenlikJWTJWEJPA

Hakkımda

Spring Boot, mikroservis, güvenlik ve daha fazlası hakkında yazılar.

İletişimYeni başladıysan

Son yazılar

  • Captain Tsubasa 2: World Fighters
  • Captain Tsubasa: Rise of New Champions
  • Spring Boot Configuration Properties
  • Spring Boot GraphQL JWE Kimlik Doğrulama
  • Spring Boot JPA ile JWE Kimlik Doğrulaması

Popüler konular

JavaKotlinSpring BootGüvenlikJWEJWT

Abone ol

Yeni yazılar yayınlandığında pratik backend ve fullstack notlarını al.

Sosyal

© 2024-2026 Şuayb'in Blogu. Tüm hakları saklıdır.

🌟 Neden Spring Boot Actuator Kullanılır?

Spring Boot Actuator geliştiricilere şunları sağlar:

  • Uygulama sağlığını izleme
  • Metrik ve bilgi toplama
  • Operasyonel görevler için yönetim endpointlerini yayınlamış olma

📋 Gereksinimler

📋 Aşağıdaki şartların karşılandığından emin olun:

  • ☕ Java Development Kit (JDK) 17+
  • 📦 Maven veya Gradle yüklenmiş olmalı
  • 🔤 Bir Java IDE (IntelliJ IDEA, Eclipse vb.)

🛠️ Adım 1: Bağımlılıkları Ekleyin

Actuator'ı etkinleştirmek için, projenize aşağıdaki bağımlılıkları ekleyin:

  • Maven:
XMLpom.xml
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
  • Gradle:
GROOVYbuild.gradle
implementation 'org.springframework.boot:spring-boot-starter-actuator'

🛠️ Adım 2: Actuator Endpointlerini Etkinleştirin

Varsayılan olarak, Actuator uygulama bilgilerinin sağlanması için çeşitli endpointler yayınlar. Bu endpointleri application.properties veya application.yml dosyasında etkinleştirebilirsiniz.

Örnek Konfigürasyon:

Bu yapılandırmayı başlangıç noktası olarak alın, sonra ortamınıza göre değerleri uyarlayın.

PROPERTIESconfig.properties
management.endpoints.web.exposure.include=health,info,metrics
management.endpoint.health.show-details=always

🛠️ Adım 3: Actuator Endpointlerini Kullanmaya Başlayın

İşte sık kullanılan Actuator endpointleri:

  • /actuator/health: Uygulama sağlık durumu sağlar.
  • /actuator/info: Uygulama metadatasını gösterir.
  • /actuator/metrics: Uygulama performans metriklerini sunar.

Bu endpointlere bir tarayıcı veya cURL gibi API araçları kullanarak erişebilirsiniz.

Örnek:

BASH
curl -X GET http://localhost:8080/actuator/health

🛠️ Adım 4: Actuator Endpointlerini Özelleştirin

Actuator endpointlerini ihtiyaçlarınıza göre özelleştirin. Örneğin, /actuator/info endpointi için ek metadata tanımlayabilirsiniz:

PROPERTIESconfig.properties
info.app.name=Benim Uygulamam
info.app.version=1.0.0
info.app.description=Spring Boot Actuator Örneği

🛠️ Adım 5: Actuator Endpointlerini Güvenli Hale Getirin

Prodüksiyon ortamlarında, Actuator endpointlerinin güvenli hale getirilmesi önemlidir. Spring Security kullanarak erişimi sınırlayabilirsiniz.


▶️ Uygulamayı Çalıştırma

Uygulamayı aşağıdaki komutla çalıştırın:

BASH
./mvnw spring-boot:run

Actuator endpointlerine erişim sağlamak için:

FILENAME
http://localhost:8080/actuator/health

🧪 API'ı Test Edin

Actuator endpointlerini cURL veya tarayıcı kullanarak test edebilirsiniz:

  • Health Endpoint:
BASH
curl -X GET http://localhost:8080/actuator/health
  • Info Endpoint:
BASH
curl -X GET http://localhost:8080/actuator/info

🏁 Sonuç

Artık Spring Boot Actuator için üretim odaklı bir Spring Boot temeliniz var. Sonraki adımda ayarları kendi domainine uyarlayıp test ve gözlemlenebilirlik katmanını ekleyerek gerçek trafik altında doğrulayın.

JAVASecurityConfig.java
package com.example.demo.config;

import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.web.SecurityFilterChain;

@Configuration
public class SecurityConfig {

    public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {
        http
            .authorizeHttpRequests()
                .requestMatchers("/actuator/**").hasRole("ADMIN")
                .anyRequest().authenticated()
            .and()
            .httpBasic();
        return http.build();
    }
}
KOTLINSecurityConfig.kt
package com.example.demo.config

import org.springframework.context.annotation.Bean
import org.springframework.context.annotation.Configuration
import org.springframework.security.config.annotation.web.builders.HttpSecurity
import org.springframework.security.web.SecurityFilterChain

@Configuration
class SecurityConfig {

    @Bean
    fun securityFilterChain(http: HttpSecurity): SecurityFilterChain {
        http
            .authorizeHttpRequests()
                .requestMatchers("/actuator/**").hasRole("ADMIN")
                .anyRequest().authenticated()
            .and()
            .httpBasic()
        return http.build()
    }
}