# Report service instance status 1. 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. The `language` of target instance must be provided as the minimum requirement. 2. Service Ping Service instance should keep alive with the backend. The agent should set a scheduler using `ManagementService#keepAlive` service every minute. ```protobuf 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: ```json { "service": "User Service Name", "serviceInstance": "User Service Instance Name", "properties": [ { "key": "language", "value": "Lua" } ] } ``` Output JSON Array: ```json {} ``` - Service instance ping > POST http://localhost:12800/v3/management/keepAlive Input: ```json { "service": "User Service Name", "serviceInstance": "User Service Instance Name" } ``` OutPut: ```json {} ```