Use grpcurl to check the Longhorn gRPC service in Linux - shuo-wu/longhorn GitHub Wiki

  1. Install grpcurl
apt-get update
apt-get install -y wget
wget https://github.com/fullstorydev/grpcurl/releases/download/v1.8.0/grpcurl_1.8.0_linux_x86_64.tar.gz
tar -zxvf grpcurl_1.8.0_linux_x86_64.tar.gz
mv grpcurl /usr/local/bin/
  1. Check Instance Manager gRPC service by calling ProcessList
wget https://raw.githubusercontent.com/longhorn/longhorn-instance-manager/master/pkg/rpc/rpc.proto
grpcurl -d '' -plaintext -import-path ./ -proto rpc.proto 10.42.4.168:8500 ProcessManagerService/ProcessList

The result should be similar to the following:

{
  "processes": {
    "vol-e-e4037718": {
      "spec": {
        "name": "vol-e-e4037718",
        "binary": "/engine-binaries/longhornio-longhorn-engine-master/longhorn",
        "args": [
          "controller",
          "vol",
          "--frontend",
          "tgt-blockdev",
          "--replica",
          "tcp://10.42.1.143:10000",
          "--replica",
          "tcp://10.42.4.154:10000",
          "--replica",
          "tcp://10.42.2.150:10000",
          "--listen",
          "0.0.0.0:10000"
        ],
        "portCount": 1,
        "portArgs": [
          "--listen,0.0.0.0:"
        ]
      },
      "status": {
        "state": "running",
        "portStart": 10000,
        "portEnd": 10000
      }
    }
  }
}