Я пытаюсь отслеживать работоспособность Redis с помощью агента Zabbix и хочу проанализировать вывод для команды redis-cli INFO
:
$ redis-cli INFO
# Server
redis_version:4.0.9
redis_git_sha1:00000000
redis_git_dirty:0
redis_build_id:9435c3c2879311f3
...
с помощью скрипта shell
и создать файл JSON с подмножеством информационных значений:
{
"redis_version": "4.0.9",
"used_memory": 100,
"used_memory_rss": 200
}
Но у меня возникает ошибка при попытке вывести проанализированные значения на консоль. Это мой демонстрационный скрипт:
#!/bin/bash
FILE_ECHO="/tmp/test_out.txt"
FILE_REDIS="/tmp/test_redis.txt"
echo "redis_version:4.0.9" >${FILE_ECHO}
/usr/bin/redis-cli INFO >${FILE_REDIS}
ECHO_VERSION=$(grep "redis_version" "${FILE_ECHO}")
REDIS_VERSION=$(grep "redis_version" "${FILE_REDIS}")
echo "{\"node\": \"${ECHO_VERSION}\"}"
echo "{\"node\": \"${REDIS_VERSION}\"}"
Я ожидаю, что результат будет:
{"node": "redis_version:4.0.9"}
{"node": "redis_version:4.0.9"}
в обоих случаях, но на самом деле у меня есть:
{"node": "redis_version:4.0.9"}
"}node": "redis_version:4.0.9
Это мой test_redis.txt
.