Rumah > Java > javaTutorial > teks badan

Panduan Pemula untuk Menggunakan Spring Boot Actuator

WBOY
Lepaskan: 2024-08-02 10:00:24
asal
736 orang telah melayarinya

A Beginners Guide to Using Spring Boot Actuator

Spring Boot Actuator ialah sub-projek Spring Boot yang menyediakan ciri sedia pengeluaran untuk membantu anda memantau dan mengurus aplikasi anda. Ia menawarkan satu set titik akhir terbina dalam yang membolehkan anda memperoleh cerapan tentang kesihatan, metrik dan persekitaran aplikasi anda, serta mengawalnya secara dinamik.

Apakah Spring Boot Actuator?

Spring Boot Actuator menyediakan beberapa titik akhir luar biasa yang boleh digunakan untuk memantau dan berinteraksi dengan aplikasi anda. Titik akhir ini boleh diakses melalui HTTP, JMX atau menggunakan Spring Boot Admin.

Ciri Utama Spring Boot Actuator

  1. Pemeriksaan Kesihatan: Pantau kesihatan aplikasi anda dan kebergantungannya.
  2. Metrik: Kumpulkan pelbagai metrik seperti penggunaan memori, pengumpulan sampah, butiran permintaan web, dsb.
  3. Maklumat Alam Sekitar: Akses sifat persekitaran aplikasi.
  4. Maklumat Aplikasi: Dapatkan maklumat tentang binaan aplikasi, seperti versi dan nama.
  5. Tahap Log Dinamik: Tukar tahap log tanpa memulakan semula aplikasi.
  6. Penjejakan HTTP: Jejaki permintaan HTTP.

Menyediakan Spring Boot Actuator

1. Menambah Kebergantungan Penggerak

Untuk menggunakan Actuator dalam aplikasi Spring Boot anda, anda perlu menambah kebergantungan Actuator pada fail pom.xml anda:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
Salin selepas log masuk

Jika anda menggunakan Gradle, tambahkan yang berikut pada fail build.gradle anda:

implementation 'org.springframework.boot:spring-boot-starter-actuator'
Salin selepas log masuk

2. Mendayakan Titik Akhir Penggerak

Secara lalai, hanya beberapa titik akhir didayakan. Anda boleh mendayakan titik akhir tambahan dalam fail application.yml anda:

management:
  endpoints:
    web:
      exposure:
        include: "*"  # This exposes all available endpoints
  endpoint:
    health:
      show-details: always  # Show detailed health information
Salin selepas log masuk

Menggunakan Titik Akhir Penggerak

Setelah Penggerak disediakan, anda boleh mengakses pelbagai titik akhir yang disediakan olehnya. Berikut ialah beberapa titik akhir yang biasa digunakan:

1. Titik Akhir Kesihatan

Titik akhir /actuator/kesihatan memberikan maklumat tentang kesihatan aplikasi anda:

GET http://localhost:8080/actuator/health
Salin selepas log masuk

Contoh respons:

{
  "status": "UP",
  "components": {
    "db": {
      "status": "UP",
      "details": {
        "database": "H2",
        "result": 1
      }
    },
    "diskSpace": {
      "status": "UP",
      "details": {
        "total": 499963174912,
        "free": 16989374464,
        "threshold": 10485760,
        "exists": true
      }
    }
  }
}
Salin selepas log masuk

2. Titik Akhir Metrik

Titik akhir /actuator/metrics menyediakan pelbagai metrik yang berkaitan dengan aplikasi anda:

GET http://localhost:8080/actuator/metrics
Salin selepas log masuk

Contoh respons:

{
  "names": [
    "jvm.memory.used",
    "jvm.gc.pause",
    "system.cpu.usage",
    "system.memory.usage",
    "http.server.requests"
  ]
}
Salin selepas log masuk

Untuk mendapatkan butiran metrik tertentu:

GET http://localhost:8080/actuator/metrics/jvm.memory.used
Salin selepas log masuk

Contoh respons:

{
  "name": "jvm.memory.used",
  "description": "The amount of used memory",
  "baseUnit": "bytes",
  "measurements": [
    {
      "statistic": "VALUE",
      "value": 5.1234567E7
    }
  ],
  "availableTags": [
    {
      "tag": "area",
      "values": [
        "heap",
        "nonheap"
      ]
    },
    {
      "tag": "id",
      "values": [
        "PS Eden Space",
        "PS Survivor Space",
        "PS Old Gen",
        "Metaspace",
        "Compressed Class Space"
      ]
    }
  ]
}
Salin selepas log masuk

3. Titik Akhir Persekitaran

Titik akhir /actuator/env memberikan maklumat tentang sifat persekitaran:

GET http://localhost:8080/actuator/env
Salin selepas log masuk

Contoh respons:

{
  "activeProfiles": [],
  "propertySources": [
    {
      "name": "systemProperties",
      "properties": {
        "java.runtime.name": {
          "value": "Java(TM) SE Runtime Environment"
        },
        "java.vm.version": {
          "value": "25.181-b13"
        }
      }
    },
    {
      "name": "systemEnvironment",
      "properties": {
        "PATH": {
          "value": "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
        },
        "HOME": {
          "value": "/root"
        }
      }
    }
  ]
}
Salin selepas log masuk

4. Titik Akhir Maklumat

Titik akhir / actuator/info memberikan maklumat tentang aplikasi:

GET http://localhost:8080/actuator/info
Salin selepas log masuk

Untuk menyesuaikan maklumat, tambahkan sifat dalam aplikasi anda.yml:

info:
  app:
    name: My Spring Boot Application
    description: This is a sample Spring Boot application
    version: 1.0.0
Salin selepas log masuk

Menjaga Titik Akhir Penggerak

Secara lalai, semua titik akhir Penggerak boleh diakses tanpa pengesahan. Untuk menjamin titik akhir ini, anda boleh menggunakan Spring Security. Tambahkan kebergantungan Spring Security pada pom.xml anda:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-security</artifactId>
</dependency>
Salin selepas log masuk

Kemas kini application.yml anda untuk menyekat akses:

management:
  endpoints:
    web:
      exposure:
        include: "*"  # Expose all endpoints
  endpoint:
    health:
      show-details: always  # Show detailed health information

spring:
  security:
    user:
      name: admin  # Default username
      password: admin  # Default password

# Restrict actuator endpoints to authenticated users
management:
  endpoints:
    web:
      exposure:
        include: "*"
  endpoint:
    health:
      show-details: always
  security:
    enabled: true
    roles: ACTUATOR
Salin selepas log masuk

Buat kelas konfigurasi keselamatan untuk mengkonfigurasi keselamatan HTTP:

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

@Configuration
public class SecurityConfig extends WebSecurityConfigurerAdapter {

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http
            .authorizeRequests()
                .antMatchers("/actuator/**").hasRole("ACTUATOR")
                .anyRequest().authenticated()
            .and()
            .httpBasic();
    }
}
Salin selepas log masuk

Dengan konfigurasi ini, hanya pengguna yang disahkan dengan peranan ACTUATOR boleh mengakses titik akhir Actuator.

Menyesuaikan Titik Akhir Penggerak

Anda boleh membuat titik akhir Penggerak tersuai untuk mendedahkan maklumat tambahan atau fungsi khusus untuk aplikasi anda. Berikut ialah contoh membuat titik akhir tersuai:

import org.springframework.boot.actuate.endpoint.annotation.Endpoint;
import org.springframework.boot.actuate.endpoint.annotation.ReadOperation;
import org.springframework.stereotype.Component;

@Endpoint(id = "custom")
@Component
public class CustomEndpoint {

    @ReadOperation
    public String customEndpoint() {
        return "Custom Actuator Endpoint";
    }
}
Salin selepas log masuk

Akses titik akhir tersuai anda di:

GET http://localhost:8080/actuator/custom
Salin selepas log masuk

Kesimpulan

Spring Boot Actuator menyediakan set alat yang mantap untuk membantu anda memantau dan mengurus aplikasi anda. Dengan memanfaatkan titik akhir terbina dalamnya dan keupayaan untuk mencipta titik akhir tersuai, anda boleh memperoleh cerapan berharga tentang prestasi dan kesihatan aplikasi anda. Lindungi titik akhir ini dengan Spring Security untuk memastikan bahawa hanya pengguna yang dibenarkan mempunyai akses dan anda akan mempunyai aplikasi sedia pengeluaran yang mudah diurus dan dipantau.

Actuator ialah bahagian penting dalam mana-mana aplikasi Spring Boot, membolehkan anda mengekalkan jari anda pada nadi persekitaran masa jalan aplikasi anda dan bertindak balas dengan cepat kepada isu apabila ia timbul. Mula menggunakan Spring Boot Actuator hari ini untuk meningkatkan kebolehmerhatian dan keupayaan operasi aplikasi anda.

Atas ialah kandungan terperinci Panduan Pemula untuk Menggunakan Spring Boot Actuator. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!