Report service instance status
-
Service Instance Properties Service instance contains more information than just a name. In order for the agent to report service instance status, use
ManagementService#reportInstanceProperties
service to provide a string-key/string-value pair list as the parameter. Thelanguage
of target instance must be provided as the minimum requirement. -
Service Ping Service instance should keep alive with the backend. The agent should set a scheduler using
ManagementService#keepAlive
service every minute.
syntax = "proto3"; package skywalking.v3; option java_multiple_files = true; option java_package = "org.apache.skywalking.apm.network.management.v3"; option csharp_namespace = "SkyWalking.NetworkProtocol.V3"; option go_package = "skywalking.apache.org/repo/goapi/collect/management/v3"; import "common/Common.proto"; import "common/Command.proto"; // Define the service reporting the extra information of the instance. service ManagementService { // Report custom properties of a service instance. rpc reportInstanceProperties (InstanceProperties) returns (Commands) { } // Keep the instance alive in the backend analysis. // Only recommend to do separate keepAlive report when no trace and metrics needs to be reported. // Otherwise, it is duplicated. rpc keepAlive (InstancePingPkg) returns (Commands) { } } message InstanceProperties { string service = 1; string serviceInstance = 2; repeated KeyStringValuePair properties = 3; // Instance belong layer name which define in the backend, general is default. string layer = 4; } message InstancePingPkg { string service = 1; string serviceInstance = 2; // Instance belong layer name which define in the backend, general is default. string layer = 3; }
Via HTTP Endpoint
- Report service instance properties
POST http://localhost:12800/v3/management/reportProperties
Input:
{ "service": "User Service Name", "serviceInstance": "User Service Instance Name", "properties": [ { "key": "language", "value": "Lua" } ] }
Output JSON Array:
{}
- Service instance ping
POST http://localhost:12800/v3/management/keepAlive
Input:
{ "service": "User Service Name", "serviceInstance": "User Service Instance Name" }
OutPut:
{}