
Dmitry
20.09.2018
08:47:37
А вот тяжесть или легкость

Navern
20.09.2018
08:48:17
А вообще я думаю тяжелый может значить(если оперировать таким термином), что у микросервиса несколько зон ответственности
То есть он делает разные вещи

Google

Bogdan (SirEdvin)
20.09.2018
08:50:00

Евгений
20.09.2018
08:50:06
Ну это всё условно же

Ivan
20.09.2018
08:50:56
Вот вам бы это всё обсуждать в чате хайлоада, где присутствую спикеры

Dmitry
20.09.2018
08:51:01

Евгений
20.09.2018
08:51:04
Две функции в апи уже можно сказать, что сервис делает разные вещи. Всё-таки по-моему важно один ли сервис одинёшенек или есть ещё 80 таких же

Navern
20.09.2018
08:51:39

Bogdan (SirEdvin)
20.09.2018
08:51:41

Navern
20.09.2018
08:51:50
А так философские понятия на все можно натянвть

Dmitry
20.09.2018
08:51:56

Александр
20.09.2018
08:51:57

Dmitry
20.09.2018
08:52:40

Евгений
20.09.2018
08:53:04

Google

Bogdan (SirEdvin)
20.09.2018
08:53:16
Нет, у вас микросервис )
Я смотрю на этот код, который мы не сможем переписать месяцов за 6 и как-то это не очень похоже на микросервис

Dmitry
20.09.2018
08:53:22

Евгений
20.09.2018
08:53:31
Почему?

Bogdan (SirEdvin)
20.09.2018
08:53:37
Как по мне, если сервис нельзя переписать меньше чем за месяц он не очень то и микро

Dmitry
20.09.2018
08:54:02

Евгений
20.09.2018
08:54:09

Bogdan (SirEdvin)
20.09.2018
08:54:35
Окей, тогда еще докину, что он реализует несколько (много) бизнес-процессов.

Dmitry
20.09.2018
08:54:38
В остальных докладах были ещё и другие признаки

Bogdan (SirEdvin)
20.09.2018
08:54:42
А микросервис вроде так делать не должен)

Евгений
20.09.2018
08:54:55
Например команда, которая писала сервис перепишет за месяц, а какая-нибудь левая будет полгода въезжать чо происходит

Александр
20.09.2018
08:55:28

Navern
20.09.2018
08:55:38

Александр
20.09.2018
08:55:38
Или имеется ввиду логика?

Navern
20.09.2018
08:55:45

Александр
20.09.2018
08:56:06

Евгений
20.09.2018
08:56:22

Bogdan (SirEdvin)
20.09.2018
08:57:14
Код устаревает, если что. А управлять техническим долгом так, что бы компенсировать устаревание вроде как очень сложно.

Dmitry
20.09.2018
09:00:09

Navern
20.09.2018
09:01:27
ура, сингл респонсибилити))
зона ответственности)

Google

Александр
20.09.2018
09:03:40
С козырей зашел

Dmitry
20.09.2018
09:04:40

Viktor
20.09.2018
09:44:11

Иван
20.09.2018
09:53:58
Добрый день!
есть кто докеры нагиосом мониторит?
можете подсказать как это можно нормально сделать.
а то я уже перепробовал куча разных скриптов, и ничего нормально не работает
вот этот локольно показывает всё, но с нагиоса нахер шлет(
https://gist.github.com/ekristen/11254304

Stanislav
20.09.2018
09:58:56
с правами/таймаутами всё ок?

Иван
20.09.2018
10:01:54

Alexander
20.09.2018
10:02:53
if [ "x$(which docker)" == "x" ]; then
echo "UNKNOWN - Missing docker binary"
exit 3
fi

Stanislav
20.09.2018
10:03:39
а от какого пользователя запускается скрипт, если его вызывает нагиос? Проверьте path у этого пользователя.

Alexander
20.09.2018
10:03:55
nagios ALL=(root) NOPASSWD: /etc/nagios/plugins-custom/check_docker.sh
у меня так
в скрипте docker ps

Stanislav
20.09.2018
10:04:45
ну скорее всего в path нет путей до бинарников докера.

Иван
20.09.2018
10:12:58

Navern
20.09.2018
10:17:20
и посмотри чо и как

Иван
20.09.2018
10:19:16
в скрпт вмажь env|grep PATH
локально от nagios и nrpe выдает
PATH=/usr/local/bin:/bin:/usr/bin
а с сервера c nagios ничего, так же UNKNOWN - Missing docker binary

Navern
20.09.2018
10:22:20

Google

Navern
20.09.2018
10:22:26
подебажь нормально

Иван
20.09.2018
10:25:51

Ivan
20.09.2018
10:26:15
Он проще

Navern
20.09.2018
10:27:10
извиняюсь, но я что то не понимаю как это сделать(
печаль) ну у тебя есть твой скрипт проверки, модифицируй его, чтобы увидеть как нагиос с ним работает. Ты скрипты вообще дебажишь? умеешь в это?
можно из скрпта проверки отладочную инфу в лог писать. Нагиос дернет скрипт, а ты чекнешь лог

Ivan
20.09.2018
10:27:13
У @count0ru есть опыт мониторинга микросервисов заббиксом

Admin
ERROR: S client not available

Stanislav
20.09.2018
10:27:16
но я смотрю вы пользователю шелл указываете.
и при удаленном вызове скрипта sudo требует реального tty
попробуйте поиграться с этим флагом:
requiretty If set, sudo will only run when the user is logged in to a real tty. When this flag is set, sudo can only be run from a login session and
not via other means such as cron(8) or cgi-bin scripts. This flag is off by default.

Иван
20.09.2018
10:41:07

Stanislav
20.09.2018
10:41:56
теперь пробуйте с сервера с нагиосом тоже самое сделать.
как там нагиос внешние скрипты вызывает?
я просто давно уже с ним не работал.

Alexander
20.09.2018
11:02:14
cat /etc/nagios/plugins-custom/check_docker.sh
#!/bin/bash
docker_name=$1
check_docker=docker ps | awk '{print $2}' | grep -x "$docker_name" | wc -l
if [[ $check_docker = 1 ]]; then
echo "OK,$docker_name is up!"
exit 0
else
echo "CRITICAL,$docker_name is down"
exit 2
fi
.....
nagios ALL=(root) NOPASSWD: /etc/nagios/plugins-custom/check_docker.sh
так работает

Navern
20.09.2018
11:03:55

Alexander
20.09.2018
11:04:01
command[check_docker_container]=sudo /etc/nagios/plugins.d/check_docker.sh "container"

Navern
20.09.2018
11:08:47
одна из подстав такого скрипта
что если у тебя
контейнеры называются
bla
и
bla_bla

Google

Navern
20.09.2018
11:09:15
то падение контейнера бла ты не заметишь
так лучше работать должно

Alexander
20.09.2018
11:10:53

Navern
20.09.2018
11:11:35
а, да, я пропустил) значит проблема ток в моем варианте
docker ps --format '{{.Names}}'
кстати так нет потребности в авк

Alexander
20.09.2018
11:12:23
да я уже понял

Дмитрий
20.09.2018
12:30:42
Доброго дня.
Вопрос:
есть исинга2.
есть вендо-хост. использую nscp-local-uptime для получения аптайма.
не подскажите как в темплейте хоста переопределить критикал и варнинг ? читаю https://docs.nsclient.org/reference/windows/CheckSystem/#check_uptime и не фига не понимаю (
пример темплейта хоста:
object Host "server.ru" {
check_command = "hostalive"
vars.ping_address = "10.192.168.0.1"
vars.client_endpoint = name
vars.os_type = "windows"
vars.cheked__host = true
}
object Endpoint "server.ru" {
}
object Zone "server.ru" {
endpoints = ["server.ru"]
parent = "master"
}

Vladimir
20.09.2018
12:42:58
Какой смысл отвечать на твои вопросы людям в чате, если бы ты мог уже дважды документацию прочитать?

ptchol
20.09.2018
12:44:13

Vladimir
20.09.2018
12:45:33
@terrifilch короче я бы настоятельно посоветовал бы быть добрее и вежливее к людям, это полезно как для тебя как личности, так и для твоей карьеры

ptchol
20.09.2018
12:48:22

Дмитрий
20.09.2018
12:49:12

ptchol
20.09.2018
12:49:33
Понял
а вот группы, это уже "высокоуровневый контейнер". тут главное не запутаться.
в группах, ты уже описываешь создание группы путём создания правила assign, тоесть ты её применяешь по правилам (как раз таки наличие каких то значений у сервисов \ хостов)
но к примеру само значение аля host.vatrs.groups ты можешь задать в темплейте ) Тоесть навесив темплейт ты как бы добавляешь хост в группу которая описана опредленными правилами ))

Navern
20.09.2018
12:57:10
Мне казалось в нагиосе трешхолды для критикал/варнинг определяются на стороне чеков?