LINUX.ORG.RU

Выпуск минималистичной программы для мониторинга jsonmon 3

 jsonmon,


0

2

Выпущена третья версия минималистичной программы для мониторинга jsonmon. Программа написала на языке Go, и функциональность её довольно скромна по сравнению с системами мониторинга вроде Nagios или Zabbix. С другой стороны, jsonmon значительно проще конфигурировать. Иными словами:

  • У jsonmon есть конфигурационный файл, в котором описываются web- и shell-проверки.
  • У jsonmon есть JSON API для просмотра статуса и простой пользовательский интерфейс к нему.
  • jsonmon умеет отправлять уведомления по почте и/или с помощью плагинов (в комплекте плагин для Slack).
  • jsonmon не требует ничего, кроме Unix-like-системы, /bin/sh (для shell-команд) и настроенного sendmail (для работы почтовых уведомлений).

В настоящее время официально собираются релизы для Linux и OS X. В планах создание RPM/DEB-репозитория для удобной установки. Переход к версии 3 обусловлен упрощением формата конфигурационного файла с целью избежать ошибок из-за неверного задания конфигурации.

P.S. По следам дискуссии на OpenNet ещё два сравнения:

  • от Monit эта программа отличается тем, что ставится не обязательно на тот сервер, что надо мониторить (удобно, если надо мониторить падение всей площадки, например);
  • от Munin — ориентацией на уведомления, а не на построение графиков.

>>> Документация

anonymous

Проверено: Falcon-peregrinus ()
Последнее исправление: Falcon-peregrinus (всего исправлений: 3)

Ответ на: комментарий от upcFrost

а запрос наличия элемента в массиве нельзя?

смотри: array — это перечисление значений. у них нет индекса, кроме номера в этом списке. если нужен индекс и уникальность значений — для этого есть два других типа данных.

нет, ты можешь пытаться не менять структуру данных и забыть про перебор (хоть явный, хоть неявный), но в результате код у тебя будет как у предшественника, т.е. его после тебя можно будет или не трогать, или переписать всё с нуля — и код предшественника, и твой.

anonymous
()
Ответ на: комментарий от mystery

Ну сделай промежуточный обработчик, который принимает данные и отдает шаблону

конфигуратор не я писал. по сути этот самый конфигуратор и есть «промежуточный обработчик» между базой и реальным конфигом

upcFrost ★★★★★
()
Ответ на: комментарий от anonymous

код предшественника

не предшественника. еще раз - код конфигуратора пишу не я и его писали не там где я работаю. это вообще сторонняя прога.

upcFrost ★★★★★
()
Ответ на: комментарий от upcFrost

ну, если ты вообще не можешь его править и даже высказывать пожелания по тому, как тебе надо отдавать — ты всегда можешь написать промежуточную прослойку для конвертации данных. о чём тебе комрад и намекал.

ну, или пишите уже на руби и не мучайтесь, судя по дизайн-решениям, вам он ближе.

anonymous
()
Ответ на: комментарий от upcFrost

плагин для Slack

в воздухе запахло смузи...

Хотел было спросить, к slack'у-то какое отношение имеет смузи, но прочел комменты ниже.

dexpl ★★★★★
()
Последнее исправление: dexpl (всего исправлений: 1)
Ответ на: комментарий от mystery

А JSON API - ну в наше время уже пора принять, что HTTP, JSON - основа обмена данных в сети Тот же докер - JSON REST API, но слушает и читает UNIX-сокет, хотя может и TCP

Тот же libvirt имеет собственный протокол. Тот же MQTT позволяет гонять JSON прямо в браузер, но не имеет с HTTP вообще ничего общего. Та же terraria имеет базированое на JSON API под плагины, которое не имеет с сетевыми протоколами вообще ничего общего.

И только веб-макаки не могут заглянуть дальше своего носа.

anonymous
()
Ответ на: комментарий от upcFrost

что переменная, которую ты объявил вне цикла, будет по новой создаваться для каждой итерации.

Чего? Можно пример на Go Playground?

Deleted
()
Ответ на: комментарий от upcFrost

точнее, только про то, что может быть внутри него.

т.е. это всё равно, что жаловаться на Node.js, имея в виду синтаксис шаблонизатора Pug (бывш. Jade) :-)

anonymous
()
Ответ на: комментарий от anonymous

text/template - стандартная либа, а Pug - сбоку прибитый модуль.

upcFrost ★★★★★
()
Ответ на: комментарий от anonymous

хотя мне всё равно непонятна ваша модель разработки: к шаблонам у тебя доступ есть, а к коду нет? а эти шаблоны же кто-то рендерить должен, тот самый код, наверное?

anonymous
()
Ответ на: комментарий от anonymous

хотя мне всё равно непонятна ваша модель разработки: к шаблонам у тебя доступ есть, а к коду нет?

да при чем тут блин разработка? софтина. сторонняя. конфигурит шаблоном nginx и другие сервисы. если написание шаблона конфига сервера стало разработкой...

upcFrost ★★★★★
()
Последнее исправление: upcFrost (всего исправлений: 1)
Ответ на: комментарий от upcFrost

да при том. у тебя есть код, который надо засунуть в приложение _до_ рендеринга шаблона (приведение используемых в шаблоне данных к нормальной структуре). а ты упорно хочешь засунуть её в сам шаблон. а виновата в итоге почему-то та же самая text/template и golang вообще.

шаблон на text/template сам не отрендерится, ему надо сказать «отрендерить шаблон».

p.s. что только люди не придумают, чтобы не использовать puppet/ansible/etc

anonymous
()
Ответ на: комментарий от anonymous

да при том. у тебя есть код, который надо засунуть в приложение _до_ рендеринга шаблона

у меня есть nginx, бинарь-конфигуратор и шаблон. ты мне предлагаешь по бинарю лазить? не, безусловно можно скачать исходники бинаря, они открыты, вот только надо сервис конфигурить, а не код править

upcFrost ★★★★★
()
Ответ на: комментарий от upcFrost

сравнивает yaml и его сабсет json
корчит из себя «seasoned» «developer»

Что ещё расскажешь?

anonymous
()
Ответ на: комментарий от mystery

Попробуй как-нибудь распарсить JSON YAML-парсером. Потом расскажешь, кто там что кукарекает. Как вы их вообще различаете-то, охули царя небесного?

anonymous
()
Ответ на: комментарий от anonymous

Сетевое приложение мониторинга на Go
Разве не очевидно, что тут HTTP и JSON?
Это должно быть также очевидно, что транспортное средство такси - машина, а не самолет, вертолет, скутер или скейтборд, хотя они тоже юзабельны в качестве транспортного средства

mystery ★★
()
Ответ на: комментарий от upcFrost

Короче, без полного описания задачи неинтересно.

Deleted
()
Ответ на: комментарий от mystery

вот извините, но нода по сравнению с Python это толстый даже не кит, а какойта Джабба Хатт. Это по скорости какой, то ужас и память и проц жрет.

dmxrand
()
Ответ на: комментарий от upcFrost

не, безусловно можно скачать исходники бинаря, они открыты

Особенно прекрасно когда бинарь ставили в 2001 году. Сейчас 2016, бинарь обслуживает 100 000 клиентов и вдруг выясняется, что надо добавить 100 001-го и там чуть чуть иначе все.... И вот даже исходник есть, но он ссылается на либы которых уже нет например. Или исходник 2001 года уже удален (ибо устарело). И вот тут наступает радость от бинарей.

Это та причина по которой я НИКОГДА на своих серверах не буду использовать бинари если есть альтернатива.

dmxrand
()
Ответ на: комментарий от dmxrand

Да ну блин, не правильно вы ноду используете
Если использовать как язык для локального скриптинга, то тут без разницы, на вкус и цвет
Если веб - то нода просто флеш какой-то
Если математика, то нода не подходит

mystery ★★
()
Ответ на: комментарий от upcFrost

само словосочетание «JSON API» - классическое слово-паразит. Как и слова типа «KPI» и прочего.

http://kpi.ua/en/

atsym ★★★★★
()

jsonmon не требует ничего, кроме Unix-like-системы, /bin/sh (для shell-команд) и настроенного sendmail

Ага, ещё и go тянуть из-за одной поделки.

paran0id ★★★★★
()
Ответ на: комментарий от paran0id

у go на выходе статические бинари, которым не нужен никакой рантайм. бинари под linux есть -> go можно не ставить

anonymous
()
Ответ на: комментарий от mystery

Разве не очевидно, что тут HTTP и JSON?

Тебе десять раз сказали, что нет. Даже для твоего за уши притянутого сравнения - нет. Сколько ещё раз это надо повторить, чтобы ты выбрался из своей криокамеры и почитал чего-нибудь о современных протоколах?

anonymous
()
Ответ на: комментарий от paran0id

go тянуть

Обхохотался. Хейтеры такие хейтеры. Можешь ничего никуда не тянуть, go собирает статически слинкованный бинарь. Надеюсь, необходимость «тянуть» libc и ядро тебя не напрягает?

anonymous
()
Ответ на: комментарий от anonymous

Ты мне весь шаблон помял: уровень снобизма как у лоровского школьника-регистранта, но пишешь аноном. Тебе не стыдно?

anonymous
()
Ответ на: комментарий от anonymous

Ты мне весь шаблон помял: уровень снобизма как у лоровского школьника-регистранта, но пишешь аноном. Тебе не стыдно?

Нет, не стыдно. Попробуй засунуть свой шаблон под словарь с определением слова снобизм.

anonymous
()
Ответ на: комментарий от dmxrand

язык локального скриптинга

Как и куча других популярных инструментов, написанных на JS

mystery ★★
()
Ответ на: комментарий от anonymous

А мне кажется очевидно, так как есть третий аргумент - Go
Если глаза на жопе и не видно, что я указываю также Go - твои проблемы

mystery ★★
()
Ответ на: комментарий от mystery

А мне кажется очевидно, так как есть третий аргумент - Go
Если глаза на жопе и не видно, что я указываю также Go - твои проблемы

Ты в конец упоролся? Ладно, я могу понять, как упёртый в сайтостроение человек может попутать, что весь интернет крутится вокруг http. Но что языки программирования крутятся вокруг http - это вообще песец.

anonymous
()
Ответ на: комментарий от anonymous

Представь себе, го ассоциируется с вебом, как и нода
Питон ассоциируется с прикладным скриптованием, Си - с системным программированием, сишарп - м вендой, objc - с маками
Мне продолжать?
Ах, да, еще php с вебом ассоциируется

mystery ★★
()
Ответ на: комментарий от mystery

го ассоциируется с вебом

Лично у меня — нет. Пишу прикладной софт на го, который вообще с сетью никак не взаимодействует.

ymn ★★★★★
()
Ответ на: комментарий от ymn

Я тоже пробовал писать на Го, прикольный язык, но все же нет смысла отрицать, что его популярность в основном в вебе

mystery ★★
()
Ответ на: комментарий от mystery

все же нет смысла отрицать, что его популярность в основном в вебе

Нет смысла, потому что кроме тебя такую ахинею никто не несёт?

anonymous
()
Ответ на: комментарий от phoen

Как это у тебя вообще в голове сконкатенировалось?

Вчера немного травонулся, дичь сморозил, согласен.

leg0las ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.