Иногда есть необходимость понаблюдать за определенными метриками на сервере в течение небольшого промежутка времени. Например, когда выполняется миграции или другие одноразовые системные процессы. В нашем арсенале [https://ss64.com/bash/watch.html watch], но он не показывает трендов.
Для таких случаев мы запилили мега простой инструмент, который позволяет затрекать метрики и понаблюдать за ними из браузера без регистраций и смс. Для начала необходимо определить метрики и привести их в нужный формат:
[название_метрики_1] [значение_метрики_1] [название_метрики_2] [значение_метрики_2] ...
## Универсальный формат для слежения за метриками
Например, если мы выполняем сложные ритуалы в Mysql’e, хотим понаблюдать за тем, как выглядят в динамике основные InnoDB-метрики:
mysql -e "show status like '%innodb%'"
## выведет статус по нужным метрикам
+---------------------------------------+--------------------------------------------------+ | Variable_name | Value | +---------------------------------------+--------------------------------------------------+ | Innodb_buffer_pool_dump_status | Dumping of buffer pool not started | | Innodb_buffer_pool_load_status | Buffer pool(s) load completed at 190423 8:56:51 | | Innodb_buffer_pool_resize_status | | | Innodb_buffer_pool_pages_data | 2319323 | | Innodb_buffer_pool_bytes_data | 37999788032 | | Innodb_buffer_pool_pages_dirty | 37729 | | Innodb_buffer_pool_bytes_dirty | 618151936 | | Innodb_buffer_pool_pages_flushed | 17250691 | | Innodb_buffer_pool_pages_free | 177529 | ...
Теперь, чтобы последить за ними в мониторе, достаточно выполнить такую команду:
curl -s https://rt.onthe.io/watch --data "**mysql -e "show status like '%innodb%'"**" | bash
## Просто делаем POST этой команды на rt.onthe.io/watch и выполняем итоговый bash скрипт
После этого, увидим в терминале ссылку на онлайн-дашборд метрик:
Web watcher: **https://rt.onthe.io/?key=5cc0cdcce398b** Ctrl + C to stop watching ...^C
## По ссылке будут доступны тренды по всем метрикам
Вот и все. Пара примеров:
curl -s https://rt.onthe.io/watch --data "**mysql -e "show status like '%rows%'"**" | bash
## Будет следить за всеми *rows* метриками базы данных
curl -s https://rt.onthe.io/watch --data " echo status | netcat 127.0.0.1 4730 -w 1" | bash
## Следим за всеми очередями Gearman’a
curl -s https://rt.onthe.io/watch --data " echo stats | netcat 127.0.0.1 11211 -w 1" | bash
## Будут отслеживаться все метрики Memcache’a
Можно слать любые метрики в указанном формате. Монитор сейчас умеет следить только за целочисленными метриками. Если в названиях метрик есть пробелы, они будут заменены на символы подчеркивания. Любые символы справа от числа в той же строке будут проигнорированы.
<h2>TL;DR
Видео вместо слов:
Прокси (proxy), или прокси-сервер — это программа-посредник, которая обеспечивает соединение между пользователем и интернет-ресурсом. Принцип…
Согласитесь, было бы неплохо соединить в одно сайт и приложение для смартфона. Если вы еще…
Повсеместное распространение смартфонов привело к огромному спросу на мобильные игры и приложения. Миллиарды пользователей гаджетов…
В перечне популярных чат-ботов с искусственным интеллектом Google Bard (Gemini) еще не пользуется такой популярностью…
Скрипт (англ. — сценарий), — это небольшая программа, как правило, для веб-интерфейса, выполняющая определенную задачу.…
Дедлайн (от англ. deadline — «крайний срок») — это конечная дата стачи проекта или задачи…