Обложка канала

ServerAdmin.ru

12437 @srv_admin

Авторская информация о системном администрировании.

ServerAdmin.ru

4 года назад
Открыть в
​​Делюсь с вами информацией об очень полезной консольной утилите JC. С её помощью можно поток данных из стандартных команд Linux конвертировать в json. Покажу сразу на простом примере: # free | jc --free Вывод имеет смысл сразу через jq пропустить, чтобы было удобнее смотреть. # free | jc --free | jq [  {   "type": "Mem",   "total": 1014640,   "used": 197868,   "free": 276000,   "shared": 31280,   "buff_cache": 540772,   "available": 634004  },  {   "type": "Swap",   "total": 999996,   "used": 175740,   "free": 824256  } ] JC поддерживает большое количество утилит. Это делает её удобной для настройки мониторинга. Например, очень просто сделать мониторинг бэкапов в виде файлов. # ls -lh | jc --ls | jq Отправляем вывод на Zabbix Server и парсим с помощью JSONPath нужные данные. Например, имя файла, дату и размер. А дальше делаем нужные триггеры. Я раньше всё это на баше через grep, awk, sed и т.д. делал. Но тут намного удобнее. В репозитории приведён полный список утилит, которые поддерживает jc. Написана программа на python, ставится через pip: # pip3 install jc С помощью jc можно парсить вывод STDOUT у Ansible. В статье приведён простой и наглядный пример. Утилита по нынешним временам очень актуальна и востребована. Рекомендую обратить внимание и сохранить информацию, если прямо сейчас не нужно. ⇨ Исходники / Много примеров #json