Сегодняшние процессоры - почти однородно 64 бита. Intel скопировал архитектуру на 64 бита с AMD, когда их собственный Itanic на 64 бита заправил. (Даже мой нетбук Intel Atom составляет 64 бита). Тот, который необходимо использовать, является AMD64 один, x86 составляет 32 бита.
Все зависит от того, что вы имеете в виду под словом «идет вниз», детали того, что вы выполняете и делаете делаете , как правило, имеют значение при мониторинге ....
Самая тщательная форма мониторинга вашей «службы» - это заставить внешнюю автоматизированную систему делать то, что делают ваши клиенты , и сообщать вам, когда что-то неожиданное встречается.
Исходя из краткого описания вашей почтовой службы, мой первый сквозной тест:
#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, что означает, что никто не может электронные письма.
Возможно, вы могли бы использовать сценарий в 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. Установка занимает всего несколько секунд, и пользовательский интерфейс является чистым и простым. Плюс функция оповещения великолепна. Существует функция «ежедневного дайджеста», которая ежедневно отправляет вам сообщение электронной почты с краткой информацией о производительности серверов.
Ну, вы всегда можете выполнить задание 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 , у которого есть модный веб-интерфейс, который отслеживает, что они отслеживают, и может отправлять электронные письма.
Трудно избежать локального использования nagios или monit, но вы можете получить отличную вторую линию защиты, используя что-то вроде https: // cronitor. io для мониторинга самого процесса nagios. Настройте nagios или monit для проверки работоспособности по адресу Cronitor, и вы получите уведомление, если проверка работоспособности не запустится.