Я пытаюсь импортировать шаблон на мой Zabbix сервер с Zabbix API, я использовал это:
fileJSON=\""$(cat template_file)"\"
curl -s -X POST -H 'Content-Type: application/json-rpc' -d '{
"jsonrpc": "2.0",
"method": "configuration.import",
"params": {
"format": "json",
"rules": {
"templates": {
"createMissing": true,
"updateExisting": true
}
},
"source": $fileJSON
},
"auth": "6a977cd94b26b6156698459ac4d0f769",
"id": 1
}' 'http://127.0.0.1/zabbix/api_jsonrpc.php' | jq '.'
Вот вывод:
{"jsonrpc":"2.0","error":{"code":-32700,"message":"Parse error","data":"Invalid JSON. An error occurred on the server while parsing the JSON text."},"id":null}
Я просто не Я не вижу никакой ошибки ... Я пытался использовать веб-сайт парсера, но он не видит никакой ошибки. Эта переменная напрямую заполняется методом экспорта Zabbix (в JSON). Вот содержимое файла:
{
"jsonrpc": "2.0",
"result": "{\"zabbix_export\":{\"version\":\"4.4\",\"date\":\"2020-02-18T08:47:31Z\",\"groups\":[{\"name\":\"System\"}],\"templates\":[{\"template\":\"Template Systeme\",\"name\":\"Template Systeme\",\"groups\":[{\"name\":\"System\"}],\"discovery_rules\":[{\"name\":\"D\\u00e9couverte des services\",\"key\":\"service.discovery\",\"delay\":\"30s\"}]}]}}",
"id": 1
}
Я думаю, что ошибка в формате файла JSON, как закодировать эту переменную в формате JSON?