GRPC API Specs - cloud-barista/cb-dragonfly GitHub Wiki

gRPC ์„œ๋ฒ„ ์‚ฌ์šฉ๋ฒ•

  • CB-Dragonfly FW๋Š” REST API ์„œ๋ฒ„, gRPC ์„œ๋ฒ„๋ฅผ ์ง€์›

  • REST API ์„œ๋ฒ„ ๊ธฐ๋ณธ ํฌํŠธ 9090, gRPC ์„œ๋ฒ„ ๊ธฐ๋ณธ ํฌํŠธ 9999

  • cb-dragonfly FW์—์„œ grpc_conf.yaml ํŒŒ์ผ์„ ์ˆ˜์ •ํ•ด gRPC ์„œ๋ฒ„ ์ •๋ณด ์„ค์ •

  • grpc_config.yaml

    grpcServer:
      ip: 0.0.0.0
      port: 9999
    

gRPC ์„œ๋ฒ„ ๋ฆฌํ€˜์ŠคํŠธ ์š”์ฒญ ์˜ˆ์ œ

  • grpc/request ํŒจํ‚ค์ง€์—์„œ gRPC ๋ฆฌํ€˜์ŠคํŠธ๋ฅผ ์š”์ฒญ
  • ์˜ˆ์ œ ์ฝ”๋“œ
    // Initialize gRPC server connection
    monApi := request.InitMonitoringAPI()
    err := monApi.SetServerAddr("127.0.0.1:9999")
    if err != nil {
    	  t.Error(fmt.Sprintf("failed to set CB-Draognfly gRPC server config, error=%s", err))
    }
    err = monApi.Open()
    if err != nil {
    	  t.Error(fmt.Sprintf("failed to connect CB-Draognfly gRPC server, error=%s", err))
    }
    
    // Request to gRPC server for getting monitoring configuration
    result, err := monApi.GetMonitoringConfig()
    if err != nil {
        return err
    }
    

gRPC ์„œ๋ฒ„ ์ œ๊ณต ๊ธฐ๋Šฅ

CB-Dragonfly FW ๋ชจ๋‹ˆํ„ฐ๋ง ์ •์ฑ… ์„ค์ • ๋ฐ ์กฐํšŒ ๊ธฐ๋Šฅ ์ œ๊ณต ์ˆ˜์ง‘๋œ ๋ชจ๋‹ˆํ„ฐ๋ง ๋ฉ”ํŠธ๋ฆญ ์กฐํšŒ ๊ธฐ๋Šฅ ์ œ๊ณต (์ง€์› ๋ชจ๋‹ˆํ„ฐ๋ง ๋ฉ”ํŠธ๋ฆญ: VM ๋ชจ๋‹ˆํ„ฐ๋ง, ์˜จ๋””๋ฉ˜๋“œ ๋ชจ๋‹ˆํ„ฐ๋ง, MCIS ๋ชจ๋‹ˆํ„ฐ๋ง)

Resources Functions
config ์กฐํšŒ, ์ˆ˜์ •, ์ดˆ๊ธฐํ™”
metric ์กฐํšŒ
ondemand-metric ์กฐํšŒ
mcis-metric ์กฐํšŒ
agent ์„ค์น˜, ์‚ญ์ œ