IT-KB 🤖
6.8K subscribers
640 photos
77 videos
6 files
795 links
Бесплатное обучение по Windows, Linux, сети, программирование, DevOps от IT-KB.RU

Наши ресурсы:
Блог -> it-kb.ru
Wiki -> wiki.it-kb.ru
Соц.сети -> vk.com/blogitkb
Купить рекламу: https://telega.in/c/ITKB_channel

💾 - @ITKB_Archive

👨‍💻 @itkb_ceo 👀
加入频道
Как узнать какой процесс загрузил CPU в момент проблемы

Какой смысл в получении уведомления о повышенной нагрузке на что-то, если вы не знаете о причинах этой проблемы? Не всегда есть возможность оперативно зайти на сервер и глянуть что же там начало неистово потреблять CPU и память. В такой ситуации помогут Actions (Действия), которые Zabbix может выполнить непосредственно в момент возникновения проблемы.

Как именно это сделать, подробно рассказывает Aigars Kadikis у себя на ютуб-канале + есть описание со скриншотами на гитхабе.

Согласимся, очень изящно, указывать диагностическую команду в описании триггера, а потом ее вызывать действием при помощи встроенного макроса {TRIGGER.DESCRIPTION}.

#Zabbix #Monitoring
👍104
Вышел Zabbix 7.4.0beta1

Что нового

🚀 добавлено логирование itemid элемента, по которому запрашивается история из БД для пополнения ValueCache. Теперь найти неоптимально настроенные триггеры будет легче. От себя напомним, что на больших отрезках времени лучше использовать трендовые функции (trendavg, trendmin, trendmax, etc) вместо обычных (avg, min, max, etc).

🚀 теперь пользователи уровня Zabbix User могут настраивать свои Media types (ранее это могли делать только Admin и Super Admin).

🚀наконец-то появилась кнопка Copy для копирования результатов тестирования элемента.

🚀 появился специальный шаблон для Zabbix Server и Zabbix Proxy для выполнения проверок через агенты (ранее для этого приходилось приводить ключи к виду zabbix.stats.

🚀 появился ключ icmppingretry для возможности указания максимального количества проверок.

и другое.

#Zabbix #Monitoring
👍64
Как мониторить диски и избегать аварий

Жесткие диски и SSD рано или поздно выходят из строя, но их отказ редко бывает внезапным. 


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

Какие параметры критичны?

Самый простой способ оценить состояние диска — анализ S.M.A.R.T.-атрибутов. Вот ключевые показатели, на которые стоит обратить внимание:

Reallocated Sectors Count – количество переназначенных секторов. Рост этого значения — первый тревожный сигнал.
Pending Sectors – секторы, ожидающие перераспределения. Если диск не может их исправить, он может скоро выйти из строя.
Uncorrectable Sectors – необратимо поврежденные сектора, которые диск не может ни исправить, ни перенести.
CRC Errors – ошибки интерфейса SATA/NVMe, указывают на проблемы с кабелем или контроллером.
Power-On Hours – возраст диска. HDD редко живут больше 5-7 лет, SSD – до 3-5 лет при высокой нагрузке.
SSD Wear Leveling Count – степень износа ячеек памяти у SSD. Если значение приближается к 100%, диск скоро выйдет из строя.

Эти параметры можно отслеживать вручную, но лучше автоматизировать процесс.

Мониторинг S.M.A.R.T. в Linux

Чтобы проверить диск вручную, можно использовать smartmontools:

smartctl -a /dev/sda


Но вручную это делать неудобно, поэтому подключаем мониторинг в Zabbix и Prometheus.

Автоматический мониторинг дисков в Zabbix

В Zabbix есть готовые шаблоны для S.M.A.R.T. Чтобы подключить мониторинг:

Устанавливаем Zabbix Agent (если он еще не установлен):

sudo apt install zabbix-agent


Для CentOS/RHEL:

sudo yum install zabbix-agent


Добавляем модуль для работы с S.M.A.R.T.

sudo apt install smartmontools


Настраиваем Zabbix Agent для сбора данных о дисках. Добавляем в /etc/zabbix/zabbix_agentd.conf:

UserParameter=smartctl.discovery, sudo /usr/local/bin/smartctl_discovery.sh
UserParameter=smartctl.info[*], sudo smartctl -A /dev/$1 | grep "$2" | awk '{print $10}'


Перезапускаем агент:

sudo systemctl restart zabbix-agent


Импортируем шаблон “SMART Monitoring” в Zabbix и привязываем к хосту.

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

#Zabbix #Monitoring
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1543
Zabbix. Мониторинг больших рассылок

Кейс исключительно практический: возникла необходимость предупреждать и отслеживать потенциальных спамеров (входящих и исходящих). И я решил вывести большие рассылки в Zabbix со следующими полями писем Exchange:
- Domain
- Timestamp
- Sender
- RecipientCount
- Subject
- InternalMessageId



➡️ Подкатом

#Monitoring #Zabbix #Linux #Exchange #Windows
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15👀75
Вышла Grafana 12!

Что нового:

🚀 наблюдаемость как код. В Grafana 12 появился новый набор инструментов наблюдения в виде кода, которые помогут автоматизировать процессы наблюдения в организации. Новая функциональность позволяет версионировать, проверять и развертывать дашборды. Кроме того, есть возможность использования шаблонов кода.

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

🚀 улучшенное отображение таблиц. В Grafana 12 можно загружать, сортировать и фильтровать большие таблицы быстрее, чем раньше. Визуализация таблиц была переработана для использования библиотеки react-data-grid. Дашборд в Grafana теперь легко обрабатывает огромные наборы данных: по 40 000+ строк и почти 20 столбцов с производительностью CPU на 97,8% выше.

🚀 новые темы в дашбордах. Появились темы Sapphire dusk, Tron, Gilded grove, Gloom и Desert bloom.

🚀 объединение и преобразование данных из нескольких источников. Теперь одним выражением в формате SQL-синтаксиса можно забирать данные из разных источников: Loki, MySQL, PostgreSQL и пр.

🚀 легкая миграция в Grafana Alerting. Упрощена миграция правил оповещений, которая позволяет импортировать правила оповещений Prometheus и Loki в правила оповещений, управляемые Grafana.

🚀 Grafana Drilldown в GA. Теперь возможность перехода из одного дашборда в другой перестала быть экспериментальной функцией.

➡️Больше подробностей в блоге Grafana

#Grafana #Monitoring
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11
SELinux Practical Course and How To Monitor With ZABBIX

Новое видео на канале Dmitry Lambert. SELinux может вызвать много проблем, если вы не знаете, как он работает. Выключить его и забыть — всегда вариант, но определенно не лучший, особенно если вы заботитесь о безопасности. В этом видео Dmitry Lambert объясняет все о настройке и обслуживании SELinux. Дополнительно, покажет как можно контролировать его с помощью Zabbix.


📱Посмотреть на Youtube

➡️Публикация в блоге Initmax (партнер Zabbix)

#Zabbix #Monitoring
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10
Совет дня

Есть ли в вашем Zabbix триггеры, на события по которым никто не реагирует? По ощущениям, в 90% случаев это триггеры, связанные с CPU и Memory. На какое-то время вырастает утилизация, а потом, хоба, снова в норме. И непонятно по каким таким причинам это происходит. Зачем гадать, если можно автоматизировать сбор диагностической информации прямо при помощи Zabbix?

Для сбора диагностики понадобится настройка Action (Действия) в виде выполнения SSH-команды на сервере с агентом Zabbix в момент возникновения события. Чтобы качественно собрать диагностику, рекомендуем использовать утилиту sosreport, которая выполняет сразу пачку диагностических команд, бережно складывать все в архив, а при желании может даже выгрузить этот архив на внешнее хранилище
# apt install sosreport
# sosreport --batch -o process (выгрузит данные по процессам)


В примере выше был задействован плагин process, но их у этой утилиты великое множество. Вы можете, например, собирать паки с диагностикой для apache, nginx, elasticsearch, grafana, postgres и многих других. Лёгкой вам диагностики!


#Zabbix #Monitoring
👍2232🍾21
👣 gatus — это инструмент на Go для мониторинга доступности и проверки работоспособности различных сервисов и приложений!

Он позволяет настраивать автоматические проверки (health checks) с использованием YAML-конфигурации для HTTP(S), TCP, DNS и других протоколов. Gatus предоставляет простой интерфейс для визуализации статуса систем, поддерживает интеграцию с такими инструментами, как Prometheus, и уведомления через Slack, Discord, email и другие платформы.

Инструмент популярен благодаря простоте настройки и гибкости использования. Например, его можно развернуть в Docker-контейнере, а метрики можно собирать через Prometheus для дальнейшей обработки и визуализации в Grafana.


📱 Github

#gatus #Monitoring #Devops
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1152🤔1
⚙️ prometheus-benchmark — утилита от VictoriaMetrics для стресс-тестирования Prometheus и других систем мониторинга, совместимых с его API.

Основная функциональность:
— Генерация миллионов метрик с высокой нагрузкой
— Проверка производительности приема данных и запросов в API
— Настройка количества метрик, частоты, меток и запросов


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

#Prometheus #VictoriaMetrics #Monitoring
Please open Telegram to view this post
VIEW IN TELEGRAM
👍94
Please open Telegram to view this post
VIEW IN TELEGRAM
12👍8
Централизованная обработка алертов: интеграция VictoriaMetrics, Alertmanager, Grafana OnCall и Telegram

Эффективный мониторинг является краеугольным камнем надежности любой IT-системы, позволяя своевременно выявлять возникающие проблемы. Однако само по себе обнаружение проблемы – это лишь полдела. Не менее важна быстрая и скоординированная реакция команды. Инструменты вроде Alertmanager и Grafana OnCall играют ключевую роль в автоматизации процесса оповещения и управления инцидентами.


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

➡️Подробнее

🖥 Исходный код

#Monitoring #VictoriaMetrics #Alertmanager #Grafana #OnCall #Telegram
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍53
Prometheus: How We Slashed Memory Usage

Prometheus является компонентом многих стеков обеспечения наблюдаемости, но имеет скрытую стоимость: использование памяти. В корпоративных средах Kubernetes это превращается в бомбу замедленного действия. Это похоже на игру в кошки-мышки - какую бы память вы ей ни предоставили, она ее съедает.

Вот как мы обнаружили и обезвредили его.


➡️Подробнее под катом 🇺🇸

#prometheus #monitoring #observability
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍3👌2
Promxy - прокси-сервер Prometheus, который позволяет нескольким узлам Prometheus выглядеть как одна конечная точка API для пользователя.


Это значительно упрощает операции и использование Prometheus в multinode инсталции (когда у вас более одного хоста Prometheus). Promxy предоставляет эту унифицированную конечную точку доступа, не требуя никаких дополнительных модулей, пользовательских сборок или других изменений в вашей инфраструктуре Prometheus.

Сам Prometheus не предоставляет никакой реальной поддержки HA/кластеризации. Таким образом, лучшей практикой является запуск нескольких (например, N) хостов с одинаковой конфигурацией. Аналогично, у Prometheus нет настоящей встроенной федерации запросов, что означает, что в итоге вы получаете N источников в Grafana, что сбивает с толку пользователей Grafana и не поддерживает агрегацию по всем источникам. Promxy обеспечивает настройку HA Prometheus путем «слияния» данных с дублирующихся хостов (так что если в одном из них есть пробел, Promxy заполнит его другим). Кроме того, Promxy предоставляет единый источник данных для всех запросов Promql — это означает, что у Grafana может быть один источник, а у вас могут быть глобально агрегированные запросы Promql.

📱 Подробнее

P.S. Как решение для миграции тоже годится.

#Monitoring #Prometheus #Grafana #Promxy
Please open Telegram to view this post
VIEW IN TELEGRAM
👍53
Продолжим обсуждение мониторинга жестких дисков HDD/SSD

Мониторинг дисков в Prometheus + Grafana

Если в инфраструктуре уже есть Prometheus, можно использовать node_exporter с поддержкой S.M.A.R.T.:

⚫️Устанавливаем node_exporter:

wget https://github.com/prometheus/node_exporter/releases/latest/download/node_exporter-linux-amd64.tar.gz
tar xvf node_exporter-linux-amd64.tar.gz
cd node_exporter-linux-amd64
sudo ./node_exporter --collector.smartmon


⚫️Добавляем в конфиг Prometheus новый таргет (prometheus.yml):

scrape_configs:
- job_name: 'node'
static_configs:
- targets: ['localhost:9100']


⚫️Настраиваем Grafana для визуализации
В Grafana импортируем готовый Dashboard 12430 “SMART Monitoring.

Теперь мы видим наглядную динамику параметров S.M.A.R.T. и можем заранее предсказать сбои.


Использование AI для предсказания отказов

Если нужно автоматически анализировать аномалии, можно использовать AI-модель для предсказания отказов.
1. Собираем данные за 6-12 месяцев с проблемных и рабочих дисков.
2. Обучаем ML-модель на основе реальных данных.
3. Настраиваем прогнозирование аномалий через TensorFlow/Scikit-Learn и уведомления в Telegram/Slack.

Пример простого скрипта на Python, который анализирует S.M.A.R.T. и ищет аномалии:

import pandas as pd  
from sklearn.ensemble import IsolationForest

# Загружаем данные S.M.A.R.T.
df = pd.read_csv("smart_data.csv")

# Выбираем критичные параметры
features = ["Reallocated_Sectors", "Pending_Sectors", "Uncorrectable_Sectors"]

# Обучаем модель аномалий
model = IsolationForest(contamination=0.01)
model.fit(df[features])

# Предсказываем аномалии
df["anomaly"] = model.predict(df[features])

# Выводим проблемные диски
print(df[df["anomaly"] == -1])


P.S. Вы следите за состоянием дисковой подсистемы?
Да 👍 / Нет 👻


#Monitoring #Prometheus #Grafana #DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
👍223👻32
🔘 Grafana Alloy — open-source агент для сбора, обработки и передачи телеметрии (метрик, логов, трейсов) в экосистеме Grafana. Подходит для мониторинга инфраструктуры, контейнеров и облачных сред.

Основная функциональность:
— Сбор метрик, логов и трейсов с поддержкой Prometheus, OpenTelemetry и других источников.
— Гибкая обработка данных: фильтрация, трансформация, агрегация через конфигурацию.
— Высокая производительность благодаря компиляции в нативный код (на базе Rust).
— Интеграция с Grafana Cloud, Loki, Prometheus и Mimir.
— Конфигурация в декларативном стиле с поддержкой горячей перезагрузки.


Преимущества:
— Кроссплатформенность: установка на Linux и Windows.
— Минимальное потребление ресурсов.
— Единый агент для всех типов телеметрии.

🖥 Git

#Grafana #Alloy #Monitoring
Please open Telegram to view this post
VIEW IN TELEGRAM
👍94
Выпуск Zabbix 7.4

Zabbix – система мониторинга ИТ-инфраструктуры с веб-интерфейсом, которая позволяет собирать различные данные с устройств. С её помощью можно производить мониторинг ОС (Linux и Windows), сети, серверов, виртуальных машин, баз данных, приложений и устройств.


🎓 Что нового

🔺Обнаружение иерархических сред с использованием вложенного низкоуровневого обнаружения
🔺 Автоматизация иерархического обнаружения хостов с помощью вложенных прототипов хостов
🔺 Улучшенный мониторинг с помощью Host Wizard
🔺 Визуализация информации об отдельных показателях с помощью виджета «Карточка товара»
🔺 Улучшение сетевых карт с помощью новейших функций
🔺 Выдающаяся визуализация с помощью последних улучшений панели управления
🔺Экономия времени на устранении неполадок с помощью встроенной проверки полей
🔺Общие улучшения пользовательского интерфейса/UX


➡️ Подробнее (Заметки о выпуске для Zabbix 7.4.0)

📁 Скачать

📖 Upgrade procedure

#Zabbix@ITKB_channel #Monitoring
Please open Telegram to view this post
VIEW IN TELEGRAM
👍105
HyperDX — доступный инструмент для отладки и мониторинга.

Это достаточно комплексное решение для отладки и мониторинга ваших приложений, объединяющее логи, трассировки и ошибки

При этом HyperDX автоматически трассирует каждый запрос от браузера пользователя до ваших серверов и асинхронных обработчиков. Это позволяет быстро находить и устранять ошибки


🖥 Git

#HyperDX #Monitoring #ClickHouse #Logs
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
Совет на каждый день для работы с системой мониторинга Zabbix

В этом коротком посте хотелось бы обратить ваше внимание на вопрос безопасности работы Zabbix-агента. Посмотрим на ключ:
# sudo -u zabbix zabbix_agent -t vfs.file.contents[/etc/passwd]

Что он делает? Да просто читает содержимое файлов. В примере он с удовольствием прочитает /etc/passwd и выведет список пользователей. Возможно, на вашей файловой системе лежать файлы с паролями в открытом виде. При наличии доступа, они тоже могут быть прочитаны.

По умолчанию в Zabbix агент отключены только команды типа system.run[*], все остальные разрешены. Пример конфигурации ниже обезопасит от чтения всех файлов, кроме разрешенных в AllowKey
AllowKey=vfs.file.*[/var/log/app/*]
AllowKey=vfs.file.*[/var/log/db/*]
DenyKey=vfs.file.*[*]

Что стоит запомнить относительно DenyKey / AllowKey

🚀если ключ ограничен конфигурацией, агент будет видеть его как не поддерживаемый

🚀Командная строка Агента Zabbix не будет отображать значения ключей, которые не разрешены

🚀Запрещенные удаленные команды не будут записываться в журнал агента (на всех уровнях отладки)

🚀Правила AllowKey и DenyKey не влияют на параметры конфигурации: HostnameItem, HostMetadataItem, HostInterfaceItem.

#Zabbix #Monitoring
👍1333🙏1🤝1
Вышла новая версия AlertCLI - консольной утилиты для просмотра алертов (CLI для управления Alertmanager)

Alertmanager – это компонент системы мониторинга Prometheus, который занимается обработкой, группировкой, маршрутизацией и отправкой уведомлений.


alertcli alerts list -A -u https://alertmanager.k8s.dev.corp | grep -v ScrapePoolHasNoTargets
ALERT SEVERITY STATE SINCE INSTANCE SUMMARY SILENCED BY INHIBITED BY
KubernetesJobFailed warning active 25h0m0s victoria-metrics-k8s-stack-kube-state-metrics.victoria-metrics.svc:8080 Kubernetes Job failed (instance victoria-metrics-k8s-stack-kube-state-metrics.victoria-metrics.svc:8080)

📱 Git
➡️AlertCLI описание

#AlertCLI #AlertManager #Prometheus #Monitoring #Linux #DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍5👀2
🔍 Coroot — принципиально новый подход к мониторингу приложений. Этот open-source инструмент использует eBPF для автоматического сбора метрик, логов и трейсов без необходимости ручной интеграции. Он не просто собирает данные, а превращает их в готовые инсайты.

Инструмент обладает встроенной аналитикой. Система автоматически строит карту сервисов, выявляет аномалии и даже отслеживает SLO. При этом не нужно настраивать сложные дашборды — достаточно развернуть контейнер в Kubernetes или через Docker.

🖥 GitHub

#Coroot #Linux #DevOps #Monitoring
Please open Telegram to view this post
VIEW IN TELEGRAM
👍96