Архив рубрики: Публикации

🖥️ Плагин Nagios для проверки использования памяти на Linux

В современной ИТ-инфраструктуре обеспечение работы серверов на пределе их возможностей имеет решающее значение для поддержания работоспособности и производительности системы.

Одним из ключевых аспектов управления серверами является мониторинг использования памяти.

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

Для решения этой проблемы мы представляем эффективное решение для мониторинга памяти:

Bash-скрипт, предназначенный для запуска пороговых предупреждений, легко интегрируемый с Nagios, широко используемым инструментом мониторинга.

Этот скрипт (https://github.com/tecrahul/nagios-plugins/blob/main/check_memory.sh) – свидетельство силы сотрудничества с открытым исходным кодом.

Вдохновленная работой, доступной на GitHub, эта статья расширяет возможности скрипта , предлагая руководство по его реализации и настройке для вашей среды мониторинга Nagios.

🖧 Основные номера сетевых портов на Linux

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

Память – это ограниченный ресурс, который приложения и процессы потребляют с течением времени.

Без надлежащего мониторинга система может исчерпать память, что приведет к подкачке или свопингу, которые значительно снижают производительность.

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

Объяснение скрипта

Скрипт Bash предназначен для проверки использования памяти в системе в соответствии с заданными пороговыми значениями.

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

#!/bin/bash



# ==============================================================================

# SCRIPT: check_memory.sh

# AUTHOR: Rahul Kumar

# COPYRIGHT: tecadmin.net

# DESCRIPTION:

#   This script is designed to monitor and report on system memory usage. It

#   allows for warning and critical thresholds to be set for memory usage

#   percentages, providing alerts based on the specified criteria. The script

#   supports output in different units (Bytes, Kilobytes, Megabytes, Gigabytes)

#   for flexible monitoring requirements. This utility is particularly useful

#   for system administrators and monitoring tools like Nagios to keep an eye

#   on system health and perform proactive maintenance.

# 

# USAGE:

#   ./check_memory.sh [ -w  ] [ -c  ] [ -u  ]

#   -w, --warning=INTEGER[%]   Warning threshold as a percentage of used memory.

#   -c, --critical=INTEGER[%]  Critical threshold as a percentage of used memory.

#   -u, --unit=UNIT            Unit to use for output (b, K, M, G). Default: M

# 

# EXAMPLES:

#   ./check_memory.sh -w 80 -c 90 -u M

#   This command sets a warning threshold at 80% memory usage and a critical

#   threshold at 90%, with output in Megabytes.

# ==============================================================================



PROGNAME="check_memory"

VERSION='1.0'

FREECMD='/usr/bin/free'

UNIT='M' # Default unit

WARNING_THRESHOLD=80

CRITICAL_THRESHOLD=90



# Function to show usage

usage() {

  echo "Usage: $0 [ -w  ] [ -c  ] [ -u  ]"

  echo "   -w, --warning=INTEGER[%]   Warning threshold as a percentage of used memory."

  echo "   -c, --critical=INTEGER[%]  Critical threshold as a percentage of used memory."

  echo "   -u, --unit=UNIT            Unit to use for output (b, K, M, G). Default: $UNIT"

  exit 3

}



# Parse command line options

while getopts ":w:c:u:" opt; do

  case $opt in

    w) WARNING_THRESHOLD="$OPTARG" ;;

    c) CRITICAL_THRESHOLD="$OPTARG" ;;

    u) UNIT="$OPTARG" ;;

    ?) usage ;;

  esac

done



# Function to convert memory to the specified unit

convert_memory() {

  local memory=$1

  case $UNIT in

    b) echo $memory ;;

    K) echo $((memory / 1024)) ;;

    M) echo $((memory / 1024 / 1024)) ;;

    G) echo $((memory / 1024 / 1024 / 1024)) ;;

    *) echo "Error: Unknown unit $UNIT. Must be one of 'b', 'K', 'M', 'G'."; exit 3 ;;

  esac

}



# Extract memory data

total_bytes=$(grep MemTotal /proc/meminfo | awk '{print $2 * 1024}')

free_bytes=$(grep MemFree /proc/meminfo | awk '{print $2 * 1024}')

buffers_bytes=$(grep Buffers /proc/meminfo | awk '{print $2 * 1024}')

cached_bytes=$(grep "^Cached" /proc/meminfo | awk '{print $2 * 1024}')

available_bytes=$((free_bytes + buffers_bytes + cached_bytes))



# Convert to specified unit

total=$(convert_memory $total_bytes)

available=$(convert_memory $available_bytes)



# Calculate used memory

used=$(convert_memory $((total_bytes - available_bytes)))



# Calculate usage percentage

usage_percentage=$((100 - (available * 100 / total)))



# Compare usage against thresholds

if [ "$usage_percentage" -ge "$CRITICAL_THRESHOLD" ]; then

  echo "CRITICAL: Memory usage is above critical threshold ($CRITICAL_THRESHOLD%). $used$UNIT used ($usage_percentage% of total)."

  exit 2

elif [ "$usage_percentage" -ge "$WARNING_THRESHOLD" ]; then

  echo "WARNING: Memory usage is above warning threshold ($WARNING_THRESHOLD%). $used$UNIT used ($usage_percentage% of total)."

  exit 1

else

  echo "OK: Memory usage is within bounds. $used$UNIT used ($usage_percentage% of total)."

  exit 0

fi


Ключевые особенности

  • Пороговые предупреждения: Определите пользовательские предупреждающие и критические уровни для использования памяти в процентах от общего объема памяти.
  • Гибкие единицы измерения: Отображайте использование памяти в единицах, которые наилучшим образом соответствуют вашим потребностям в мониторинге.
  • Интеграция с Nagios: Разработан для совместной работы с Nagios, что позволяет легко интегрировать его в существующие системы мониторинга.

Руководство по реализации

  • Загрузите скрипт: Клонируйте или загрузите скрипт из репозитория GitHub.
  • Права: Убедитесь, что скрипт является исполняемым, запустив его:

chmod +x check_memory.sh

  • Конфигурация Nagios: Интегрируйте сценарий в среду мониторинга Nagios. Определите команду в конфигурации Nagios, указывающую на сценарий, и настройте проверку служб на узлах для использования этой команды.
  • Конфигурация NRPE: Для мониторинга памяти на удаленных узлах Linux можно использовать этот скрипт с клиентом NRPE. Тогда сервер Nagios сможет выполнять скрипт удаленно.
  • Тестирование: Протестируйте скрипт вручную, чтобы убедиться, что он запускает оповещения так, как ожидается. При необходимости настройте пороговые значения и единицы измерения для точной настройки мониторинга.

Интеграция с Nagios

Чтобы интегрировать скрипт с сервером Nagios для мониторинга памяти локального экземпляра.

Вы можете определить новую команду в конфигурации Nagios:

define command{

    command_name check_memory_usage

    command_line /path/to/check_memory.sh -w $ARG1$ -c $ARG2$ -u $ARG3$

}

Затем используйте эту команду в определениях служб для мониторинга использования памяти на хосте Nagios.

Замените /path/to/ на фактический путь к скрипту.

Следующий шаг поможет вам отслеживать память удаленных узлов с помощью клиента NRPE.

Nagios SNMP-мониторинг хостов Linux на AlienVault USM / OSSIM

Интеграция с клиентом NRPE

Чтобы интегрировать скрипт мониторинга памяти с Nagios через NRPE (Nagios Remote Plugin Executor), вам нужно добавить определение команды в файл nrpe.cfg на удаленном хосте, где запущен NRPE. Это определение будет указывать NRPE, как выполнять скрипт по запросу сервера Nagios.

Конфигурация клиента NRPE: Добавьте приведенную ниже запись в файл nrpe.cfg, чтобы включить скрипт мониторинга памяти:

command[check_memory]=/usr/lib/nagios/plugins/check_memory.sh -w 80 -c 90 -u M


Настройте сервер Nagios: На сервере Nagios определите службу, которая использует команду check_nrpe для запроса выполнения check_memory на удаленном хосте.

Пример определения службы может выглядеть следующим образом:



define service{

    use generic-service

    host_name remote_host_name

    service_description Memory Usage

    check_command check_nrpe!check_memory

}


Замените remote_host_name на имя хоста, определенное в конфигурации Nagios.

Заключение

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

Используя этот скрипт Bash, системные администраторы могут проактивно управлять ресурсами памяти, гарантируя, что серверы останутся здоровыми и отзывчивыми.

Интеграция скрипта с Nagios повышает его полезность, обеспечивая надежное решение для мониторинга памяти в любой ИТ-инфраструктуре.

⛅ Мониторинг хостов Linux с помощью плагина Nagios check_by_ssh

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

Его простота в сочетании с мощью Nagios предлагает простой, но эффективный подход к мониторингу использования памяти, помогая предотвратить потенциальные проблемы в системе до их возникновения.

см. также:



2024-02-21T12:55:07
Скрипты

Miracle-wm, оконный менеджер на базе Wayland и Mir

чудо-WM

чудо-WM захват

Несколько дней тому назад, Мэтью Косарек, инженер-программист Canonical который работает на дисплей-сервере Мир, сделал это известным на форумах Ubuntu появилась первая версия нового составного менеджера под названием чудо-WM, основанное на протоколе Wayland и компоненты для построения композитных менеджеров «Мир».

Чудо-WM предлагает поддержку мозаики окон, аналогично оконному менеджеру i3., композитный менеджер Hyprland и пользовательскую среду Sway, и упоминается, что намерение состоит в том, чтобы создать композитор, который был бы более ярким и многофункциональным, чем любой из этих композиторов, например, swayfx.



Читать

Выходит Wolvic 1.6, устраняющий проблемы и добавляющий новые функции

волчий

Firefox Reality теперь будет жить под названием «Wolvic».

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

Для тех, кто не знает о браузере, следует знать, что это проект, продолжающий развитие браузера Firefox Reality, который ранее был разработан Mozilla, поскольку браузер использует веб-движок GeckoView, вариант движка Mozilla Gecko, упакованный в виде отдельной библиотеки, которую можно обновлять независимо.



Читать

Модель согласованности в распределенной системе

В распределенных системах, где данные распределены по нескольким узлам, обеспечение согласованности, т. е. Чтобы все узлы имели одинаковый вид данных, является фундаментальной задачей. Модель согласованности определяет правила, которые определяют, как и когда распространяются обновления данных, чтобы гарантировать, что все узлы в системе в конечном итоге видят одни и те же данные.

 

Что такое модель согласованности в распределенной системе?

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

 

Типы моделей согласованности в распределенной системе

Существует несколько моделей согласованности, каждая из которых предлагает различные гарантии и компромиссы между согласованностью, доступностью и допуском разделения (согласно теореме CAP). Некоторые распространенные модели согласованности включают:

  • Строгая согласованность: В строго согласованной системе все узлы в системе всегда имеют одинаковое представление данных. Любая операция чтения возвращает самую последнюю запись в этот элемент данных. Для достижения надежной согласованности часто требуются механизмы координации и синхронизации, что может повлиять на производительность и доступность системы.
  • Конечная согласованность: Конечная согласованность допускает временные несоответствия между узлами, но гарантирует, что, если в элемент данных не будут внесены новые обновления, в конечном итоге все обращения к этому элементу вернут одно и то же значение. Эта модель более масштабируема и доступна, чем строгая согласованность, но может привести к временным несоответствиям.
  • Причинно-следственная согласованность: Причинно-следственная согласованность гарантирует, что если одно событие причинно предшествует другому, все узлы будут соблюдать одинаковый причинный порядок событий. Эта модель важна в системах, где важен порядок выполнения операций, например, в распределенных очередях сообщений или приложениях совместного редактирования.
  • Согласованность чтения и записи: Согласованность чтения и записи гарантирует, что после завершения операции записи все последующие операции чтения от того же клиента вернут значение записи или более свежее значение. Эта модель важна для обеспечения согласованного взаимодействия с приложениями, в которых пользователи ожидают немедленного получения собственных обновлений.
  • Монотонная согласованность: Монотонная согласованность гарантирует, что если процесс считывает определенное значение элемента данных, он никогда не увидит более старое значение для этого элемента в будущем. Аналогично, монотонная запись гарантирует, что если процесс записывает определенное значение для элемента данных, он никогда не запишет менее свежее значение в будущем. Эти модели гарантируют, что процессы могут прогрессировать без возврата к более ранним состояниям.

 

Заключение

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

 

Часто задаваемые вопросы, связанные с моделью согласованности в распределенной системе

Вот некоторые из часто задаваемых вопросов, связанных с моделью согласованности в распределенной системе:

Вопрос 1. Что такое теорема CAP и как она соотносится с моделями согласованности?

Теорема CAP утверждает, что в распределенной системе невозможно одновременно достичь всех трех следующих показателей: согласованности, доступности и толерантности к разделению. Модели согласованности используют компромисс между этими тремя свойствами в зависимости от конкретных требований системы.

Вопрос 2. Что такое строгая согласованность и чем она отличается от конечной согласованности?

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

Вопрос 3. Почему в распределенных системах важен правильный выбор модели согласованности?

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

Вопрос 4. Каковы некоторые общие стратегии для достижения согласованности в распределенных системах?

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

Вопрос 5. Что такое конечная согласованность и как она достигается в распределенных системах?

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



2024-02-21T07:52:38
Программирование

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

сырье

RawTherapee — кроссплатформенная программа обработки необработанных изображений.

В новой версии RawTherapee 5.10 уже выпущен и в этой новой версии Реализованы новые функции и улучшения. направлен на улучшение пользовательского опыта и расширение возможностей редактирования изображений, от интеграции новых профилей камеры до усовершенствований инструментов редактирования.

Тем, кто еще не знаком с RawTherapee, следует знать, что это приложение, которое предоставляет набор инструментов для коррекции цветопередачи, настройки баланса белого, яркости и контрастности, а также функций автоматического улучшения изображения и уменьшения шума.



Читать

Популярные приложения на Android в России в 2024 году: взгляд в будущее

Мобильные приложения прочно вошли в нашу жизнь, став неотъемлемой частью повседневной рутины. В 2024 году, Россия не станет исключением. Ожидается, что рынок мобильных приложений, которые можно скачать на Android, в стране продолжит расти, а использование смартфонов станет еще более популярные.

 

Какие же приложения будут наиболее популярны в России в 2024 году?

Социальные сети и мессенджеры:

  • VK: Сохранит лидерство, предлагая функции для общения, обмена контентом, игр, шоппинга и даже работы.
  • Telegram: Продолжит рост, позиционируясь как более безопасная и конфиденциальная платформа.
  • Yappy: Приложение коротких видео, вдохновленное TikTok, станет еще более популярным среди молодежи.

Финансы и платежи:

  • Сбербанк Онлайн: Лидер рынка мобильных банковских приложений.
  • Тинькофф: Привлекает пользователей удобным интерфейсом и широким спектром услуг.
  • ЮMoney: Популярный сервис для онлайн-платежей и переводов.

Доставка еды и продуктов:

  • СберМаркет: Один из лидеров рынка доставки продуктов.
  • Яндекс.Еда: Приложение для заказа готовой еды из ресторанов.
  • Delivery Club: Популярный сервис доставки еды из ресторанов.

Транспорт и такси:

  • Яндекс.Go: Универсальное приложение для заказа такси, каршеринга, еды и других услуг.
  • Ситимобил: Крупный сервис заказа такси.
  • Google Maps: Незаменимое приложение для навигации и поиска мест.

Образование и онлайн-курсы:

  • Учи.ру: Платформа для онлайн-обучения школьников.
  • Skillbox: Сервис онлайн-курсов по востребованным профессиям.
  • Coursera: Платформа для онлайн-курсов от ведущих университетов мира.

Развлечения и игры:

  • YouTube: Самый популярный видеохостинг.
  • TikTok: Приложение коротких видео, которое продолжает завоевывать мир.
  • Genshin Impact: Популярная мобильная игра.

Здоровье и фитнес:

  • СберЗдоровье: Сервис для онлайн-консультаций с врачами и записи на прием.
  • Nike Run Club: Приложение для отслеживания пробежек.
  • Gymbeam: Приложение для тренировок дома.

 

Помимо этих категорий, ожидается рост популярности приложений для:

  • Управления личными финансами: Помогут планировать бюджет, ставить финансовые цели и отслеживать расходы.
  • Инвестирования: Дадут возможность пользователям инвестировать в акции, облигации и другие инструменты.
  • Здорового образа жизни: Помогут пользователям следить за своим здоровьем, питанием и сном.
  • Онлайн-обучения: Окажутся востребованными как для школьников и студентов, так и для взрослых, желающих повысить свою квалификацию.

 

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

 

Что еще будет влиять на популярность приложений в 2024 году?

  • Развитие технологий: Искусственный интеллект, машинное обучение, дополненная реальность и другие технологии будут играть все более важную роль в мобильных приложениях.
  • Безопасность и конфиденциальность: Пользователи будут все больше внимания уделять безопасности своих данных.
  • Персонализация: Приложения, которые могут подстраиваться под индивидуальные потребности пользователей, будут иметь больше шансов на успех.

 

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

 

Помимо списка популярных приложений, вот несколько трендов, которые будут влиять на рынок мобильных приложений в 2024 году:

  • Рост популярности мобильных игр: Ожидается, что рынок мобильных игр в России продолжит расти, и новые игры будут завоевывать популярность.
  • Развитие кросс-платформенных приложений: Приложения, которые работают как на Android, так и на iOS, будут становиться все более популярными.
  • Увеличение использования мобильных приложений для работы: Все больше людей будут использовать свои смартфоны для работы, что приведет к росту спроса на приложения для управления задачами, видеоконференций, электронной почты и других рабочих инструментов.
  • Роль искусственного интеллекта: Искусственный интеллект будет использоваться для создания более персонализированных и удобных приложений.
  • Фокус на конфиденциальности: Пользователи будут все больше внимания уделять конфиденциальности своих данных, что приведет к росту спроса на приложения, которые обеспечивают высокую степень защиты информации.
  • Влияние 5G: Распространение 5G позволит разработчикам создавать более сложные и функциональные приложения.

 

В заключение, рынок мобильных приложений в России в 2024 году будет динамично развиваться. Ожидается, что мы увидим новые тренды, новые приложения и новые способы использования смартфонов.

 

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

  • Читать статьи и блоги о мобильных приложениях.
  • Следить за новостями разработчиков мобильных приложений.
  • Пробовать новые приложения и делиться своим мнением с другими.

 

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



2024-02-20T19:34:26
Программное обеспечение