Мониторинг Служб и Процессов Linux

Шаблоны OS Операционных систем
Аватара пользователя
Артём Мамзиков
Admin
Сообщения: 804
Стаж: 5 лет 1 месяц
Откуда: Вологодская область
Поблагодарили: 33 раза
Контактная информация:

Мониторинг Служб и Процессов Linux

Сообщение Артём Мамзиков »

Тут будут некоторые команды для поиска запущенных процессов и команд

Можно просмотреть в графическом виде например в htop

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

Один из примеров
Если не видит процесс proc.num[rstpass]
zabbix_get -s IP -k 'proc.num[rstpass]'
Ответ 0

Но видно что запущенно
# service rstpass status
? rstpass.service
Loaded: loaded (/lib/systemd/system/rstpass.service; enabled)
Active: active (running) since Fri 2020-10-02 13:24:28 MSK; 3 days ago
Main PID: 8441 (bash)
CGroup: /system.slice/rstpass.service
+- 8441 /bin/bash /usr/share/rst/rstpass.sh
L-22507 /usr/bin/php -f /usr/share/rst/pass.php
Oct 02 13:24:28 monitor systemd[1]: Started rstpass.service

Проверка командами смотрим есть ли такой процесс
ps -A
ps -ef
ps -u
ps -fu
ps -ux
ps -e
service --status-all
ps -fu root или ps -u root - Список процессов запущенных от root
пример для заббикс агента
proc.num[zabbix_agentd,root]


proc.num[<имя>,<пользователь>,<состояние>,<cmdline>,<зона>]
Описание ключа
Показать
Находим ключ proc.num
10 Заметки по выбору процес

Количество процессов. Целое число
имя - имя процесса (по умолчанию “все процессы”)
пользователь - имя пользователя (по умолчанию “все пользователи”)
состояние - возможные значения:
all (по умолчанию),
disk - непрерывный сон,
run - в процессе работы,
sleep - прерываемый сон,
trace - остановлен,
zomb - зомби
cmdline - фильтр по командной строке (является регулярным выражением)
зона - целевая зона: current (по умолчанию), all. Этот параметр поддерживается только на Solaris платформе.

Имя процесса в файле status обрезается до 15 символов
проверка ps -u имя процесса
Будучи не в состоянии найти совпадение имени процесса в файле status Zabbix агент обращается к файлу /proc/<pid>/cmdline
Использование параметра cmdline с надлежащим регулярным выражением даст правильный результат
Будьте осторожны в использовании элементов данных proc.mem[] и proc.num[] при наблюдении за программами, которые модифицируют свои командные строки
Делаем так
zabbix_get -s IP -k 'proc.num[,,,rstpass]'
Ответ 1

Если разные имя есть у нас сервис с одним какими то именем например jestx , а процесса или самой работы службы мы не видим работает под другим именем например jes можно посмотреть в автозагрузочном файле данной службы пример пути /etc/rc.d/rc0.d находим нужный файл и смотрим по синтаксису что он запускает какие процессы файлы с каким именем и проверяем есть ли такие запущенные у нас при работе данной службе , а при остановке пропали ли они. Если да ставим их на мониторинг а в тегах триггера прописываем нормальное название сервиса для его перезапуска!

Пример tomcat служба называется tomcat3 а проверяем tomcat
Поиск запущенных Томкат
ps auxwww | grep /opt/open510 | grep 'java' | grep 'tomcat' | grep -v 'grep'

Найти ИД процесса
ps auxwww | grep /opt/open510 | grep 'java' | grep 'tomcat' | grep -v 'grep' | awk '{ print $2}'

/etc/init.d/tomcat3 status
service tomcat3 status

proc.num[,,,tomcat] - получаем ключ

Проверка на Киоске что запущенна Mozilla Firefox и открыта нужная ссылка
proc.num[firefox,kiosk2] - запущенный процесс Мозиллы от пользователя kiosk2

Проверка ссылки процесса
ps -ef|grep -E "firefox -url https://сайт.ru/kiosk/"

proc.num[firefox,kiosk2,all,сайт.ru/kiosk]
Триггер
{host-190.localdomain:proc.num[firefox,kiosk2,all,сайт.ru/kiosk].max(3m)}<1

proc.num[<имя>,<пользователь>,<состояние>,<рег.выражение>,<зона>]
zabbix_get -s 192.168.ххх.ххх -k 'proc.num[firefox,kiosk2,all,сайт.ru/kiosk]'

Пример шаблонов
Шаблон для ВКС OpenMeetings
Сервер Видеоконференцсвязи Jitsi Meet ВКС

стандартный шаблон Linux Template OS Linux rus
количество слов: 253

Вернуться в «OS Операционные системы»