Agent Install and Status

Methods for determining agent health and operations on a node.

Install  
Install agents on nodes POST /{cluster_id}/agents/
Status  
Get all of the agent statuses GET /{cluster_id}/agents/
Get a single agent status GET /{cluster_id}/agents/{node_ip}

Install

POST /{cluster_id}/rc/install_agents/

Installs agents on nodes

arg cluster_id:

The ID of a cluster returned from GET /cluster-configs.

body:

A JSON dictionary of options, including:

  • ip-list: List of ips for nodes the agent should be installed on.
  • login-user: Username to use to login to the nodes.
  • login-password: Optional. Password to use to login to the nodes.
  • ssh-private-key: Optional. Private key to use to login to the nodes.
  • become-mode: The privilege-escalation mechanism to obtain super-user privileges on target nodes. Can be sudo, su, or direct (if login-name already has super-user privs). Defaults to sudo.
  • become-user: The name of the super-user on target nodes whose privileges will be assumed. Required if become-mode is sudo or su. Defaults to root.
  • become-password: The password that will be used in response to sudo or su prompts on target nodes. Required if the become-mode is sudo or su and the target node prompts for passwords.

Example: Agent install using password:

curl -X POST
    http://127.0.0.1:8888/Test_Cluster/rc/install_agents/
    -d '{
      "ip-list":["10.200.181.17", "10.200.181.18"],
      "login-user":"testuser",
      "login-password":"testpass"
    }'

Output:

{}

Example: Agent install using private key:

curl -X POST
    http://127.0.0.1:8888/Test_Cluster/rc/install_agents/
    -d '{
      "ip-list":["10.200.181.17", "10.200.181.18"],
      "login-user":"testuser",
      "ssh-private-key":"-----BEGIN RSA PRIVATE KEY-----\nMIIEoAIBAAKCAQEAyqzJasqBrHigUmbLyPXb UIvLcshrwHmb6xqYxMnzKUdQk4i\nY4EhLOF9TI5//331ACwtF95UZFL6/mINxiLJzRHL7aU3Ux4S7uUueFYoFA3EqwmZ\nCT4JQuBEMzCFnrEhXQXIHo2cSK1xivdkRaDhP F3xZYeR0xCcy/qlx MhdQJ45WP\npJUr86f2S5dURv/Z4OxAlcCqTbAoHYhUfTLmpyAD1KyqfYKyxEeGcomQALG51bR1\n7 XJThs8 1V4If5Q/8wZj35c9Go OdRCJHQTe9ektBtfo3kUfEzERptwvGQP NVI\nKElIuFudseGokYEHT ddeN7ZK oQ/FKvSyRNcwIDAQABAoIBAFraLcgDUzG/OQ73\nKa7CF4Oa2Y9LmaPb1DKHNYGIGrUv5vfMErpMLlTyF7rzvgkHq4YSR3yFm4sFb6IM\nzmPdQFz 901mXHCT8KTKc5RZ slSirCpMsLj3j7uTWQtAhjrCiuq5dRcYoxpw5Yp\n4/cacR6zsX8PFi bzcXY2u43pERwxXjkAj6iEMIWwEe3d9L4B7j31 NPRPZ5iFYH\n /jk4nGJfZUSqSnTBwknzWT4rr2ZSODeWz ZwWEg6wWc5AiXaOimKgmUyksYsHU0\niyHmZJxOvw U1aBUgLl2G3PtFxSfvfgY14LtPgwc7v BT2ISL3i3XCPwWe5Sy6 D\n/q42bfECgYEA vTQipngQ8afkr7QDYBmkdqA2PBI4I7GHikDyxs413nexgaO/zUG\nuOO2l2Uyh8OCcv3oDskV3BKAusS1Td/M08Rl3cU7yNbjq2WRZQGGIwq49hOI43w8\nSWaGLRaobXPjNvv8eJ1mTvwZ9pcJBYtjcE2Vqa6MK84K24rs4bEvNGcCgYEAzr P\nyN/vhcsgYk72pljfj/555cNG89G2978mfr51swf jVd2wk0iyhr tUEMVpfGdeWx\n yaPObMAD3IA7a7udyYuHADsrVE1ZdS5F6xaefXODFop eLdxEDrlQ QNGXYS9J9\nYwU1DY5/1/gcCmURL2RGVO P9IlrDQ8 9FMaVxUCgYA8OeSSXrtjiJdjMEfd9aKn\n/jhN19ylh54kPtOaOr45eBXukERhGuiyFnQLgU3PJyx3TFgUtE16szYRnIOmXL9b\nUxbfUiY23Ntmlsl95A 8 SXKaIXBkl8lfmVVDMr  YDeATtl9uBGtFnGxBh2LC2B\nFh2Ey074dEpGxeBziYI6oQKBgHwchwZBWBprO/ IA40MoPhh/W8ucPOBG2NSPpur\nXiChVfAnZ0Vw5MeKuQi6CdwZtKulvdhU53ntuMWM3H3Sm5ivNNLewzWwIGwG7S4G\n6zF3m7/SiIxX4mUjy8hp1Vl/If8yVs8Qmy6OMrTFXp/m2BApFAd84GAd9kOauWIW\nWSOZAn8UcMuPV6ksarRx5RgKlfqwiRF0DUpKysu 9Ea0jETGhfviJoz/1fhOlkX \nw60V4IeWEaLdlVwNxdfTYqs1dvNq3pdm  wQzBrmlaQ7qAzxT0XAInDBWlOFKRPo\n0GqhO9gsOq4vXsz75txzKM/J7cGfIyEsJkMzQfgKYL3D6SEf\n-----END RSA PRIVATE KEY-----\n"
    }'

Output:

{}

Status

GET /{cluster_id}/agents/

Displays the status of all agents. Possible agent conditions are: AGENT_INSTALLING, NO_AGENT_DETECTED, AGENT_VERSION_MISMATCH_PACKAGE, AGENT_VERSION_MISMATCH_TAR, AGENT_VERSION_MISMATCH_UNKNOWN, STOMP_ERROR_TAR, STOMP_ERROR_BAD_CONF, STOMP_ERROR_GOOD_CONF, NODE_DOWN, JMX_ERROR_BAD_CONF, JMX_ERROR_GOOD_CONF, CASS_ERROR_BAD_CONF, CASS_ERROR_GOOD_CONF, STORAGE_CASS_ERROR_GOOD_CONF, STORAGE_CASS_ERROR_BAD_CONF, HTTP_SERVER_NO_SSL_ERROR, HTTP_SERVER_SSL_ERROR, HTTP_SERVER_UNREACHABLE, ALL_OK

Path arguments:cluster_id – The ID of a cluster returned from GET /cluster-configs.

Example:

curl http://127.0.0.1:8888/Test_Cluster/agents/

Output:

{
    "127.0.0.1": {
        "rack": "rack1",
        "agent_status": {
            "storage_cassandra": {
                "updated_at": 1543612266,
                "status": "up"
            },
            "last_seen": 1543612269,
            "version": "6.1.12SNAPSHOT",
            "condition": "ALL_OK",
            "install_status": {
                "error-message": null,
                "state": null
            },
            "jmx": {
                "updated_at": 1543612266,
                "status": "up"
            },
            "monitored_cassandra": {
                "updated_at": 1543612266,
                "status": "up"
            },
            "http": {
                "updated_at": 1543612266,
                "status": "up"
            },
            "stomp": {
                "updated_at": 1543612269,
                "status": "up"
            },
            "limitations": []
        },
        "name": "Orions-MBP.PK5001Z",
        "agent_install_type": "tarball",
        "dc": "Cassandra"
    }
}
GET /{cluster_id}/agents/{node_ip}

Displays the status of a single agent.

Path arguments:
  • cluster_id – The ID of a cluster returned from GET /cluster-configs.
  • node_ip – A node’s ip address.

Example:

curl http://127.0.0.1:8888/Test_Cluster/agents/127.0.0.1

Output:

{
    "rack": "rack1",
    "agent_status": {
        "storage_cassandra": {
            "updated_at": 1543612667,
            "status": "up"
        },
        "last_seen": 1543612668,
        "version": "6.1.12SNAPSHOT",
        "condition": "ALL_OK",
        "install_status": {
            "error-message": null,
            "state": null
        },
        "jmx": {
            "updated_at": 1543612667,
            "status": "up"
        },
        "monitored_cassandra": {
            "updated_at": 1543612667,
            "status": "up"
        },
        "http": {
            "updated_at": 1543612667,
            "status": "up"
        },
        "stomp": {
            "updated_at": 1543612668,
            "status": "up"
        },
        "limitations": []
    },
    "name": "Orions-MBP.PK5001Z",
    "agent_install_type": "tarball",
    "dc": "Cassandra"
}