Необходимый: простой способ удаленно контролировать процесс на моем сервере

Сегодняшние процессоры - почти однородно 64 бита. Intel скопировал архитектуру на 64 бита с AMD, когда их собственный Itanic на 64 бита заправил. (Даже мой нетбук Intel Atom составляет 64 бита). Тот, который необходимо использовать, является AMD64 один, x86 составляет 32 бита.

6
19.04.2014, 22:05
5 ответов
[1133295] Есть любое количество мониторинговых приложений, которые могут быть настроены на отправку сигналов тревоги различными способами - по SNMP-ловушкам, по электронной почте, по SMS, если у вас есть аппаратное или программное обеспечение / подписка. Многие из них также могут перезапустить процесс самостоятельно по мере необходимости.[12166]Google for monit, nagios, или просто "программное обеспечение для мониторинга". Также [1133772]https://softwarerecs.stackexchange.com/[1133773] может быть хорошим местом, чтобы попросить рекомендации.[1133298].
1
27.01.2020, 20:28

Все зависит от того, что вы имеете в виду под словом «идет вниз», детали того, что вы выполняете и делаете делаете , как правило, имеют значение при мониторинге ....

Самая тщательная форма мониторинга вашей «службы» - это заставить внешнюю автоматизированную систему делать то, что делают ваши клиенты , и сообщать вам, когда что-то неожиданное встречается.

Исходя из краткого описания вашей почтовой службы, мой первый сквозной тест:

  • Отправить электронное письмо #id через SMTP на локальную учетную запись монитора
  • Подождите максимальное количество секунд, которое вы хотите, чтобы это заняло.
  • Проверьте адрес электронной почты #id @ монитора на POP-сервере.

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

Эти мониторы служб или транзакций, как правило, представляют собой пользовательские сценарии, написанные на чем-то вроде Ruby , Python или Perl , которые имеют модули для простой реализации таких вещей, как SMTP или POP ​​ программно. Затем сценарии обычно подключаются к решению для мониторинга, но даже запуска простого электронного письма или SMS через шлюз из задания cron будет достаточно, если вам нужно что-то простое. Если вы платите за решение для мониторинга, вы, как правило, получите попытку создать дизайнера графического интерфейса для монитора того же типа.

Конечно, в реальном мире это быстро усложняется. Вы можете предложить защищенные порты как для POP, так и для SMTP, требуя повторной проверки. Возможно, IMAP добавлен с небольшим количеством Carddav и Caldav, у вас могут быть службы на нескольких хостах.

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

Мониторинг нижнего уровня

Контролируя отдельные компоненты вашей услуги, вы в основном упрощаете определение (или прогнозирование) проблемы с помощью мониторинга перед выполнением какой-либо работы с ногами. Этот тип мониторинга компонентов - это то, что хорошо умеют такие системы, как Nagios , Zabbix или большие, как Tivoli Monitoring .

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

«Ваша почтовая служба» зависит от

Services:     POP:110 SMTP:25
Application:  devmail
OS:           linux Z
Host:         server Y 
  Components:   diskA diskB cpu1 cpu2  memory          
Ntwork:      ethernetA, Switch B, Router C, Firewall X

Каждый компонент имеет показатели или состояние, о котором вы можете сообщить.

Внешне

Service: 
  POP service   - Are we accepting connections on 110,995
  SMTP service  - Are we accepting connections on 25,587

Локально

Application: 
  devmail process(es) (is it running, memory, cpu, handles, io)
  JMX parameters of the java process (memory, threads, performance, garbage collection)
OS: 
  Disk, Memory, Cpu, IO

etc...

Что, если контролирующий хост выйдет из строя? Или это просто сеть между сервисом и монитором.

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

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

Я вижу, что многие люди склонны неправильно строить свои решения для мониторинга. Они придумывают множество метрик системы нижнего уровня и тысячи мониторов и уровней, которые, по их мнению, подходят для сигнализации, когда ничего не имеет, если это действительно имеет значение.Я имею в виду, что они удобны для анализа и управления мощностью, вы можете построить шикарные графики из всех этих значений, и они могут быть чрезвычайно полезны, но на самом деле не имеют большого значения, когда вы пропустили метрику x на уровне y, что означает, что никто не может электронные письма.

2
27.01.2020, 20:28

Возможно, вы могли бы использовать сценарий в https://github.com/rcaloras/bash-preexec (как обсуждалось в https://superuser.com/questions/175799/does-bash-have-a-hook-that-is-run-before-executing-a-command ) и использовать функцию precmd () для выполнения $? проверка

-121--102724-

В этом ответе необходимо указать количество полей, составляющих «ключ». Видимо, в ваших реальных данных 32, но в ваших выборочных данных первые 7 полей являются ключевыми:

awk -F'|'  -v nKeys=7 '
    NR==FNR {
        suff = ""
        for (i=nKeys+2; i<=NF; i++) suff = suff FS $i
        NF = nKeys
        suffixes[$0]=suff
        next
    } 
    {
        printf "%s", $0
        NF = nKeys
        print line suffixes[$0]
    }
' file2 file1 

Мы можем вычислить количество ключевых полей:

awk -v nKeys=$(( $(head -1 file1 | tr '|' '\n' | wc -l) - 1 )) ...

Но мы, вероятно, можем смело кодировать число.

-121--229637-

Я бы предложил попробовать SeaLion . Это облачное средство мониторинга серверов Linux. Установка занимает всего несколько секунд, и пользовательский интерфейс является чистым и простым. Плюс функция оповещения великолепна. Существует функция «ежедневного дайджеста», которая ежедневно отправляет вам сообщение электронной почты с краткой информацией о производительности серверов.

0
27.01.2020, 20:28

Ну, вы всегда можете выполнить задание cron

echo "100 logout" | nc yourserver.fqdn 143 || \
   {
      echo "The server is down" |\
      mailx -s "Red alert! Red alert! This is not a drill!" user@domain.com;
   }

Зависит от того, что вы называете простым и какие еще функции вам могут понадобиться.

  • 100 logout - это не что иное, как очень тривиальная команда IMAP, которая, если вы еще не входили в систему, заставит сервер разорвать соединение.
  • nc - это инструмент, который открывает TCP-соединения и подключает STDIN и STDOUT к сокету.

Комбинация приводит к установлению соединения с вашим IMAP-сервером и сообщению ему «все готово». Если ваш сервер IMAP запущен и работает, он распознает команду и закрывает TCP-соединение, в результате чего nc завершается нормально.

Если что-то пойдет не так, например, TCP-соединение не устанавливается или время ожидания истекает из-за того, что сервер не обрабатывает команду IMAP, ваш сервер IMAP, очевидно, недоступен. В этом случае вам нужно уведомление, и в этом случае nc всегда будет аварийно завершать работу.

|| означает, что если nc завершается ненормально, выполняется все в {...} .Приведенный здесь пример команды отправляет электронное письмо с использованием mailx на (скрытый) с темой «Красное предупреждение! Красное предупреждение! Это не упражнение» и содержимым «Сервер не работает».

Обратите внимание, однако, что mailx не является частью каждой установки Linux и что существуют разные его версии, которые ведут себя по-разному.

Конечно, вы можете развернуть какое-нибудь программное обеспечение для мониторинга, например Shinken , у которого есть модный веб-интерфейс, который отслеживает, что они отслеживают, и может отправлять электронные письма.

3
27.01.2020, 20:28

Трудно избежать локального использования nagios или monit, но вы можете получить отличную вторую линию защиты, используя что-то вроде https: // cronitor. io для мониторинга самого процесса nagios. Настройте nagios или monit для проверки работоспособности по адресу Cronitor, и вы получите уведомление, если проверка работоспособности не запустится.

0
27.01.2020, 20:28

Теги

Похожие вопросы