Sidebar

Zabbix Summit 2022
Register for Zabbix Summit 2022

script.get

Descrição

integer/array script.get(object parameters)

O método permite recuperar scripts de acordo com os parâmetros fornecidos.

Este método está disponível para usuários de qualquer tipo. As permissões para chamar o método podem ser revogadas nas configurações de função do usuário. Consulte Funções do usuário para obter mais informações.

Parâmetros

(object) Parâmetros que definem a saída desejada.

O método oferece suporte aos parâmetros a seguir.

Parâmetro Tipo Descrição
groupids string/array Retorna apenas scripts que podem ser executados nos grupos de hosts fornecidos.
hostids string/array Retorna apenas scripts que podem ser executados nos hosts fornecidos.
scriptids string/array Retornar apenas scripts com os IDs fornecidos.
usrgrpids string/array Retorna apenas scripts que podem ser executados por usuários em determinados grupos de usuários.
selectGroups query Retorna uma propriedade groups com grupos de hosts nos quais o script pode ser executado.
selectHosts query Retorna uma propriedade hosts com hosts nos quais o script pode ser executado.
selectActions query Retorna uma propriedade actions com ações às quais o script está associado.
sortfield string/array Classifique o resultado pelas propriedades fornecidas.

Os valores possíveis são: scriptid e name.
countOutput boolean Esses parâmetros sendo comuns para todos os métodos get são descritos em detalhes no comentário de referência.
editable boolean
excludeSearch boolean
filter object
limit integer
output query
preservekeys boolean
search object
searchByAny boolean
searchWildcardsEnabled boolean
sortorder string/array
startSearch boolean

Valores de retorno

(integer/array) Retorna:

  • uma array de objetos;
  • a contagem de objetos recuperados, se o parâmetro countOutput foi usado.

Exemplos

Recuperar todos os scripts

Recupere todos os scripts configurados.

Request:

{
           "jsonrpc": "2.0",
           "method": "script.get",
           "params": {
               "output": "extend"
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Response:

{
           "jsonrpc": "2.0",
           "result": [    
               {
                   "scriptid": "1",
                   "name": "Ping",
                   "command": "/bin/ping -c 3 {HOST.CONN} 2>&1",
                   "host_access": "2",
                   "usrgrpid": "0",
                   "groupid": "0",
                   "description": "",
                   "confirmation": "",
                   "type": "0",
                   "execute_on": "1",
                   "timeout": "30s",
                   "parameters": []
               },
               {
                   "scriptid": "2",
                   "name": "Traceroute",
                   "command": "/usr/bin/traceroute {HOST.CONN} 2>&1",
                   "host_access": "2",
                   "usrgrpid": "0",
                   "groupid": "0",
                   "description": "",
                   "confirmation": "",
                   "type": "0",
                   "execute_on": "1",
                   "timeout": "30s",
                   "parameters": []
               },
               {
                   "scriptid": "3",
                   "name": "Detect operating system",
                   "command": "sudo /usr/bin/nmap -O {HOST.CONN} 2>&1",
                   "host_access": "2",
                   "usrgrpid": "7",
                   "groupid": "0",
                   "description": "",
                   "confirmation": "",
                   "type": "0",
                   "execute_on": "1",
                   "timeout": "30s",
                   "parameters": []
               },
               {
                   "scriptid": "4",
                   "name": "Webhook",
                   "command": "try {\n var request = new HttpRequest(),\n response,\n data;\n\n request.addHeader('Content-Type: application/json');\n\n response = request.post('https://localhost/post', value);\n\n try {\n response = JSON.parse(response);\n }\n catch (error) {\n response = null;\n }\n\n if (request.getStatus() !== 200 || !('data' in response)) {\n throw 'Unexpected response.';\n }\n\n data = JSON.stringify(response.data);\n\n Zabbix.Log(3, '[Webhook Script] response data: ' + data);\n\n return data;\n}\ncatch (error) {\n Zabbix.Log(3, '[Webhook Script] script execution failed: ' + error);\n throw 'Execution failed: ' + error + '.';\n}",
                   "host_access": "2",
                   "usrgrpid": "7",
                   "groupid": "0",
                   "description": "",
                   "confirmation": "",
                   "type": "5",
                   "execute_on": "1",
                   "timeout": "30s",
                   "parameters": [
                       {
                           "name": "token",
                           "value": "{$WEBHOOK.TOKEN}"
                       },
                       {
                           "name": "host",
                           "value": "{HOST.HOST}"
                       },
                       {
                           "name": "v",
                           "value": "2.2"
                       }
                   ]
               }
           ],
           "id": 1
       }

Veja também

Fonte

CScript::get() in ui/include/classes/api/services/CScript.php.