Template OS Linux rus

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

Template OS Linux rus

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


Группа Прокси Линукс шаблон + проверки SSH, Squid, dhcpd, xinetd, Bind 1:57
автоматический перезапуск служб линукс тег 3:00 -3:49



Template OS Linux rus
Template OS Linux rus.jpg
Template OS Linux rus.jpg
Обновлено 24.12.2020 добавлено проверка расхождения времени
Скачать
Template OS Linux rus.zip
Template OS Linux rus.zip
(9.61 КБ) 31 скачивание
Присоединенные шаблоны
Template App Zabbix Agent

Мониторинг служб Linux
Автоматический перезапуск Служб Linux


Группы
Центральный процессор
Файловая система
Сетевой интерфейс
Процессы
Производительность
Память
Операционная система
Общее
Безопасность
Template App Zabbix Agent: Zabbix агент
Отображено 10

Элементы данных
Общая память vm.memory.size[total] 1h 1w 365d Zabbix агент Память Активировано

Загрузка процессора (1 мин в среднем) Триггеры 1 system.cpu.load[percpu,avg1] 1m 1w 365d Zabbix агент Производительность, Центральный процессор Активировано

Максимальное количество открытых файлов Триггеры 1 kernel.maxfiles 1h 1w 365d Zabbix агент Операционная система Активировано

Центральный процессор interrupt время system.cpu.util[,interrupt] 1m 1w 365d Zabbix агент Производительность, Центральный процессор Активировано

Центральный процессор idle время system.cpu.util[,idle] 1m 1w 365d Zabbix агент Производительность, Центральный процессор Активировано

Переключений контекста в секунду system.cpu.switches 1m 1w 365d Zabbix агент Производительность, Центральный процессор Активировано

Нагрузка процессора (среднее 15 минут) system.cpu.load[percpu,avg15] 1m 1w 365d Zabbix агент Производительность, Центральный процессор Активировано

Нагрузка на процессор (в среднем 5 мин ) system.cpu.load[percpu,avg5] 1m 1w 365d Zabbix агент Производительность, Центральный процессор Активировано

Прерывания в секунду system.cpu.intr 1m 1w 365d Zabbix агент Производительность, Центральный процессор Активировано

Центральный процессор softirq время system.cpu.util[,softirq] 1m 1w 365d Zabbix агент Производительность, Центральный процессор Активировано

Время загрузки хоста system.boottime 10m 1w 365d Zabbix агент Общее, Операционная система Активировано

Число процессов Триггеры 1 proc.num[] 1m 1w 365d Zabbix агент Процессы Активировано

Service xinetd Триггеры 1 proc.num[xinetd] 30s 90d 365d Zabbix агент Процессы Активировано

Service Squid Триггеры 1 proc.num[squid] 60 90d 365d Zabbix агент Процессы Активировано

Service dhcpd Триггеры 1 proc.num[dhcpd] 60 90d 65d Zabbix агент Процессы Активировано

Количество запущенных процессов Триггеры 1 proc.num[,,run] 1m 1w 365d Zabbix агент Процессы Активировано

Центральный процессор iowait время Триггеры 1 system.cpu.util[,iowait] 1m 1w 365d Zabbix агент Производительность,
Центральный процессор Активировано

Центральный процессор steal время system.cpu.util[,steal] 1m 1w 365d Zabbix агент Производительность, Центральный процессор Активировано

Template App Zabbix Agent: Имя хоста запущенного zabbix_агентаd Триггеры 1 agent.hostname 1h 1w Zabbix агент Zabbix агент Активировано

Число пользователей system.users.num 1m 1w 365d Zabbix агент Безопасность, Операционная система Активировано

Template App Zabbix Agent: Агент пинг ping Триггеры 1 agent.ping 1m 1w 365d Zabbix агент Zabbix агент Активировано

Template App Zabbix Agent: Версия zabbix_агента(d) работает Триггеры 1 agent.version 1h 1w Zabbix агент Zabbix агент Активировано

Bind Триггеры 1 bind 5m 90d Zabbix агент Процессы Активировано

Центральный процессор nice время system.cpu.util[,nice] 1m 1w 365d Zabbix агент Производительность, Центральный процессор Активировано

Доступная память Триггеры 1 vm.memory.size[available] 1m 1w 365d Zabbix агент Память Активировано

Контрольная сумма /etc/passwd Триггеры 1 vfs.file.cksum[/etc/passwd] 1h 1w 365d Zabbix агент Безопасность Активировано

Работоспособность системы Триггеры 1 system.uptime 10m 1w 365d Zabbix агент Общее, Операционная система Активировано

CPU system Время system.cpu.util[,system] 1m 1w 90d Zabbix агент Производительность, Центральный процессор Активировано

Системная информация Триггеры 1 system.uname 1h 1w Zabbix агент Общее, Операционная система Активировано

Общее пространство подкачки system.swap.size[,total] 1h 1w 365d Zabbix агент Память Активировано

Свободное место подкачки внутри % Триггеры 1 system.swap.size[,pfree] 1m 1w 365d Zabbix агент Память Активировано

Свободное место подкачки system.swap.size[,free] 1m 1w 365d Zabbix агент Память Активировано

Местное время хоста system.localtime 1m 1w 365d Zabbix агент Общее, Операционная система Активировано

Host name имя хоста Триггеры 1 system.hostname 1h 1w Zabbix агент Общее, Операционная система Активировано

Центральный процессор user время system.cpu.util[,user] 1m 1w 365d Zabbix агент Производительность, Центральный процессор Активировано

Максимальное количество процессов Триггеры 1 kernel.maxproc 1h 1w 365d Zabbix агент Операционная система Активировано
Отображено 36

Триггеры
Информационная Template App Zabbix Agent: RenameHostOn {HOST.NAME} {Template OS Linux:agent.hostname.diff(0)}>0 Активировано

Информационная Настроенное Максимальное число процессов слишком мало {HOST.NAME} {Template OS Linux:kernel.maxproc.last(0)}<256 Активировано

Высокая SQUID is not running on {HOSTNAME} {Template OS Linux:proc.num[squid].max(20m)}<1 Активировано squid

Высокая dhcpd is not running on {HOSTNAME} {Template OS Linux:proc.num[dhcpd].max(20m)}<1 Активировано dhcpd

Средняя Отсутствие доступной памяти на сервере {HOST.NAME} {Template OS Linux:vm.memory.size[available].last(0)}<100M Активировано

Внимание Предупреждение Слишком много процессов{HOST.NAME} {Template OS Linux:proc.num[].avg(5m)}>480 Активировано

Внимание Предупреждение /etc/passwd пароль был изменен на {HOST.NAME} {Template OS Linux:vfs.file.cksum[/etc/passwd].diff(0)}>0 Активировано

Внимание Предупреждение Слишком много процессов {HOST.NAME} {Template OS Linux:proc.num[,,run].avg(5m)}>30 Активировано

Информационная {HOST.NAME} только что был перезапущен {Template OS Linux:system.uptime.change(0)}<0 Активировано

Информационная Информация о хосте была изменена {HOST.NAME} {Template OS Linux:system.uname.diff(0)}>0 Активировано

Внимание Предупреждение Загрузка процессора слишком высока {HOST.NAME} {Template OS Linux:system.cpu.load[percpu,avg1].avg(5m)}>5 Активировано

Информационная Настроено Максимальное число открытых файлов слишком мало {HOST.NAME} {Template OS Linux:kernel.maxfiles.last(0)}<1024 Активировано

Внимание Предупреждение Отсутствие свободного места подкачки на {HOST.NAME} {Template OS Linux:system.swap.size[,pfree].last(0)}<50 Активировано

Высокая bind is not running on {HOST.NAME} {Template OS Linux:bind.str(192.168.60.4)}=0 Активировано bind

Информационная Имя было изменено на {HOST.NAME} {Template OS Linux:system.hostname.diff(0)}>0 Активировано

Информационная Template App Zabbix Agent: VersionAgent= {HOST.NAME} {Template OS Linux:agent.version.diff(0)}>0 Активировано

Информационная Диск перегружен на {HOST.NAME} {Template OS Linux:system.cpu.util[,iowait].avg(5m)}>20 Активировано

Средняя Template App Zabbix Agent: NoPingAgent {HOST.NAME} {Template OS Linux:agent.ping.nodata(6m)}=1 Активировано

Высокая xinetd is not running on {HOSTNAME} {Template OS Linux:proc.num[xinetd].max(3m)}<1 Активировано xinetd


Графики
Скачки ЦП
Использование свопа
Использование процессора
Использование памяти
Загрузка процессора

Комплексные экраны
Производительность системы

Правила обнаружения
Обнаружение сетевого интерфейса Прототипы элементов данных 3 Прототипы триггеров 10 Прототипы графиков 1 Прототипы узлов сети net.if.discovery 1h Zabbix агент Активировано
Смонтированная файловая система обнаружения Прототипы элементов данных 5 Прототипы триггеров 3 Прототипы графиков 1 Прототипы узлов сети vfs.fs.discovery 1h Zabbix агент Активировано

Данные настройки шаблона связаны с настройками шаблона графаны
Внизу поста

Добавлено расхождение времени критично для активных проверок и элементов сравнения в секундах
Местное время хоста.jpg
Местное время хоста.jpg
Ключ system.localtime
Единица измерения unixtime

Триггер
Время Linux {HOST.HOST} отличается от времени Zabbix Server
Время Linux {HOST.HOST} отличается от времени Zabbix Server
Имя Время Linux {HOST.HOST} отличается от времени Zabbix Server
Выражение {Template OS Linux:system.localtime.fuzzytime(60)}=0
описание
fuzzytime (сек)
проверка на отличие 60 секунд
1 - если разница между штампом времени значения элемента данных и штампом времени Zabbix сервера меньше или равна сек секунд
0 - в противном случае
Последнее значение:
{ITEM.LASTVALUE}

Действие Время корректировка Linux
Имя триггера содержит Время Linux

Команды
date +%T -s "{TIME}"
ntpdate 192.168.XXX.XXX
Действие Время корректировка Linux.jpg
Действие Время корректировка Linux.jpg
количество слов: 701
Аватара пользователя
Артём Мамзиков
Admin
Сообщения: 367
Стаж: 2 года 9 месяцев
Откуда: Вологодская область
Контактная информация:

Template OS Linux rus

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

Проверка запущен ли сервис и отвечает ли на TCP подключения
Имя SSH Имя работа сервиса TCP
Тип Простая проверка
Ключ net.tcp.service[ssh,192.168.ххх.ххх,22]
Интерфейс узла сети 192.168.ххх.ххх:10050
Имя пользователя root
Пароль Пароль
Тип информации Числовой целое положительное
Интервал обновления 60s
Проверка запущен ли сервис и отвечает ли на TCP подключен
Проверка запущен ли сервис и отвечает ли на TCP подключен
Триггер
Имя NoSSHConnect ProxyИмя(IP)
Важность Высокая
Выражение {proxyalt.Имя.local:net.tcp.service[ssh,192.168.ххх.ххх,22].max(5m)}=0
Триггер запущен сервис TCP подключения.jpg
Триггер запущен сервис TCP подключения.jpg

Проверка Squid status
Имя Squid status Имя
Тип Простая проверка
Ключ net.tcp.service[tcp,192.168.ххх.ххх,3128]
Интерфейс узла сети 192.168.ххх.ххх:10050
Тип информации Числовой целое положительное
Интервал обновления 5m
Squid status элемент заббикс.jpg
Squid status элемент заббикс.jpg
Триггер
Имя Squid status proxy
Важность Высокая
Выражение {proxyalt.ИМЯ.local:net.tcp.service[tcp,192.168.ххх.ххх,3128].max(10m)}=0
Squid status триггер заббикс.jpg
Squid status триггер заббикс.jpg

Мониторинг некоторых служб Линукс/linux добавленных в шаблон

Служба dhcp
Имя Service dhcpd
Тип Zabbix агент
Ключ proc.num[dhcpd]
Интерфейс узла сети 192.168.ххх.ххх:10050
Тип информации Числовой целое положительное
Интервал обновления 60
Группа Службы
Описание dhcpd - сервера от Internet Systems Consortium
Элемент заббикс Service dhcpd linux.jpg
Элемент заббикс Service dhcpd linux.jpg
Триггер
Имя dhcpd is not running on {HOSTNAME}
Важность Высокая
Выражение {proxyalt.Имя.local:proc.num[dhcpd].max(20m)}<1
Описание dhcpd - сервера от Internet Systems Consortium
Теги имя dhcpd
Триггер заббикс Service dhcpd linux.jpg
Триггер заббикс Service dhcpd linux.jpg
Служба Squid
Имя Service Squid
Тип Zabbix агент
Ключ proc.num[squid]
Интерфейс узла сети 192.168.ххх.ххх:10050
Тип информации Числовой целое положительное
Интервал обновления 60
Группа Службы
Описание Squid — программный пакет, реализующий функцию кэширующего прокси-сервера для протоколов HTTP, FTP, Gopher и (в случае соответствующих настроек) HTTPS.
Элемент заббикс Service Squid linux.jpg
Элемент заббикс Service Squid linux.jpg
Триггер
Имя SQUID is not running on {HOSTNAME}
Важность Высокая
Выражение {proxyalt.Имя.local:proc.num[squid].max(20m)}<1
Описание Squid — программный пакет, реализующий функцию кэширующего прокси-сервера для протоколов HTTP, FTP, Gopher и (в случае соответствующих настроек) HTTPS.
b]Теги[/b] имя squid
Триггер заббикс Service Squid linux.jpg
Триггер заббикс Service Squid linux.jpg
Служба xinetd
Имя Service xinetd
Тип Zabbix агент
Ключ proc.num[xinetd]
Интерфейс узла сети 192.168.ххх.ххх:10050
Тип информации Числовой целое положительное
Интервал обновления 30s
Группа Службы
Описание eXtended InterNET Daemon) — это служба с открытым исходным кодом, работающая во многих Unix-подобных системах и управляющая сетевыми соединениями. Она представляет собой более защищённую версию inetd (Internet daemon).
Элемент заббикс Service xinetd linux
Элемент заббикс Service xinetd linux
Триггер
Имя xinetd is not running on {HOSTNAME}
Важность Высокая
Выражение {proxyalt.RayonCSV01.local:proc.num[xinetd].max(3m)}<1
Описание eXtended InterNET Daemon) — это служба с открытым исходным кодом, работающая во многих Unix-подобных системах и управляющая сетевыми соединениями. Она представляет собой более защищённую версию inetd (Internet daemon).
b]Теги[/b] имя xinetd
Триггер заббикс Service xinetd linux
Триггер заббикс Service xinetd linux
Проверка Bind с помощью скрипта
Имя Bind
Тип Zabbix агент
Ключ bind
Интерфейс узла сети 192.168.ххх.ххх:10050
Тип информации текст
Интервал обновления 5m
Группа Процессы

Описание bind - наиболее распространённый DNS сервер
nslookup сайт.ru 127.0.0.1 | awk '/Name:/{val=$NF;flag=1;next} /Address:/ && flag{print $NF,val;val=""}'
Элемент заббикс Bind
Элемент заббикс Bind
Создаем на узле скрипт
nano /etc/zabbix/scripts/bind
nslookup сайт.ru 127.0.0.1 | awk '/Name:/{val=$NF;flag=1;next} /Address:/ && flag{print $NF,val;val=""}'

Даем права
chmod 755 /etc/zabbix/scripts/bind

Прописываем пользовательский параметр в заббикс агенте конфигурации
nano /etc/zabbix/zabbix_agentd.conf
bind,/etc/zabbix/scripts/bind

Образец проверки
[root@proxyalt ~]# nslookup сайт.ru 127.0.0.1
Server: 127.0.0.1
Address: 127.0.0.1#53

Non-authoritative answer:
Name: сайт.ru
Address: наш IP

В заббикс будет прилетать Наш IP сайт.ru

Триггер
Имя bind is not running on {HOST.NAME}
Важность Высокая
Выражение {proxyalt.Имя.local:bind.str(192.168.xx.xx)}=0
Описание bind - наиболее распространённый DNS сервер

Теги имя bind
Триггер заббикс Bind
Триггер заббикс Bind
Планировалось так
Добавить проверку DNS трех случаев
а) через IP-1 получаем наш DNS должен отстрелиться IP-2
б) через IP-1 получаем IP-2 должен отстрелиться наш DNS
в) через 8.8.8.8 получаем наш сайт ответ IP нашего сайта
г) через 8.8.8.8 получаем IP нашего сайта ответ наш сайт
количество слов: 347
Аватара пользователя
Артём Мамзиков
Admin
Сообщения: 367
Стаж: 2 года 9 месяцев
Откуда: Вологодская область
Контактная информация:

Template OS Linux rus

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

Автоматический перезапуск Служб Сервисов Линкус / Linux через заббикс





При крахе падении службы чтоб заббикс сам ее рестартанул (перезапустил)

Предварительно В шаблонах в триггерах в тегах должно быть прописано точное название службы!!!

Заходим Настройка > Действия > раздел Триггеры > Создать действие

Имя Запуск служб Linux
в разных шаблонах название в триггерах служб немного разное
Тип вычисления И/ИЛИ A or B or C

У меня следующие условия
Условия
Подпись Имя Действие
A Имя триггера содержит Нет процесса
B Имя триггера содержит No Web Moodle
C Имя триггера содержит is not running

Вкладка Операции
Длительность шага операции по умолчанию 1m
Тема по умолчанию Problem: {EVENT.NAME}
Сообщение по умолчанию
Problem started at {EVENT.TIME} on {EVENT.DATE}
Problem name: {EVENT.NAME}
Host: {HOST.NAME}
Severity: {EVENT.SEVERITY}
Original problem ID: {EVENT.ID}
{TRIGGER.URL}


Приостановить операции для подавленных проблем V

Операции
Выполнить удаленные команды на текущем узле сети Незамедлительно По умолчанию
Детали операции
Шаги 1 - 1
Длительность шага 0
Тип операции Удаленная команда
Список целей Текущий узел сети
Тип Пользовательский скрипт
Команды
service {EVENT.TAGS} stop
service {EVENT.TAGS} start


Если служба зависла делаем наверняка сперва останавливаем после запускаем, макрос {EVENT.TAGS} это имя службы указанное в теге триггера!

Ну в принципе и все остальное все по дефолту больше ничего не настраиваем!

Учитывайте тот момент что при остановке служб вручную для каких то работ заббикс ее так же стартанет её обратно!
Запуск служб Linux автоматически в Заббикс
Запуск служб Linux автоматически в Заббикс
Запуск служб Linux автоматически в Заббикс Операции
Запуск служб Linux автоматически в Заббикс Операции
Добавлены Операции вместо одной попытки перезапуска стало 3
изменено только шаг 4-4 и шаг 11-11
Запуск служб Linux атоматически в Заббикс Операции 3 попытки
Запуск служб Linux атоматически в Заббикс Операции 3 попытки
количество слов: 99
Аватара пользователя
Артём Мамзиков
Admin
Сообщения: 367
Стаж: 2 года 9 месяцев
Откуда: Вологодская область
Контактная информация:

Template OS Linux rus

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

Выход Из Учетной записи Linux (завершение сеанса) Скрипт

Запускаем на 1 сервере для всех подсетей

Скачать
KillUserLinuxALL.zip
KillUserLinuxALL.zip
(951 байт) 13 скачиваний
Настраиваем скрипт в cron ежедневно в 23 00 ч будет запускаться с заббикс сервера Настройка Cron

Добавим задачу в crontab -e
и вводим
1 23 * * * root /root/CronScript/KillUserLinuxALL 2>/dev/null

Должно добавится в /var/spool/cron/crontabs/имя пользователя

Перезапуск крона service cron restart Вывод логов крона grep CRON /var/log/syslog

Скрипт в оболочке Bash содержанием блока expect
#!/bin/bash

echo "Script Kill User Exit"

# Переменные логина пароля
USER=Логин root
PASS=Пароль

# Переменные IP для перебора подсетей
ip="23 30"
for c in $ip
do

for (( i=501; i <= 529; i++ ))
do

/usr/bin/expect<<EOF
# spawn - вызов программы
# expect - ожидание вывода запущенной программой строки (дословно: ожидаем, что скажет выполняемая программа);
# send - передача данных или команд в вызванную программу (выполняется так, как будто вы сами набираете команды в консоли)
# close - завершение сценария

# Время ожидания
set timeout 2

# Подключаемся по ssh
spawn ssh -p 22 $USER@192.168.$i.$c
# Если выходит запрос потверждаем yes
expect {
"(yes/no)?*" {
send "yes\r"
}
}
# Ждем строку запроса пароля password:
expect "word:"
# Водим пароль
send "$PASS\r"
# Ждем строку для ввода команд от root #
expect "#*"
expect "#*"
# Убиваем сеансы пользователей
send "who -u|egrep '(tty.*|pts.*)'|sed -e 's/.* \\\(.*\\\) (.*/\\\1/p'|xargs -n 1 kill -9\r"
expect eof
# Выполняем выход из сеанса
# send "exit\r"
EOF

done
done




Другая версия скрипта чисто на expect
#!/usr/bin/expect -f

# spawn - вызов программы
# expect - ожидание вывода запущенной программой строки (дословно: ожидаем, что "скажет" выполняемая программа);
# send - передача данных или команд в вызванную программу (выполняется так, как будто вы сами набираете команды в консоли)
# close - завершение сценария

# Время ожидания
set timeout 2
# Переменные логина пароля
set USER "root Логин"
set PASS "Пароль"

# Перебор подсетей циклом
for {set a 501} {$a <= 529} {incr a} {
# Подключаемся по ssh
spawn ssh $USER@192.168.$a.30
# Если выходит запрос потверждаем yes
expect {
"(yes/no)?*" {
send "yes\r"
}
}
# Ждем строку запроса пароля password:
expect "word:"
# Водим пароль
send "$PASS\r"
# Ждем строку для ввода команд от root #
expect "#*"
expect "#*"
# Убить сеансы пользователей
# send "ps aux|egrep '(tty.*|pts.*)'| awk '{print $2}'|xargs -n 1 kill -9\r"
# send "who -u|egrep '(tty.*|pts.*)'|awk '{print $6}'|xargs -n 1 kill -9\r"
send "who -u|egrep '(tty.*|pts.*)'|sed -e 's/.* \\\(.*\\\) (.*/\\\1/p'|xargs -n 1 kill -9\r"
# Выполняем выход из сеанса
# send "exit\r"
expect eof
}


Одиночная команда
who -u|egrep '(tty.*|pts.*)'|awk '{print $6}'|xargs -n 1 kill -9
или
ps aux|egrep '(tty.*|pts.*)'| awk '{print $2}'|xargs -n 1 kill -9

Подробнее о команде who

Вся проблема когда команда находится в expect то она ждет переменную $6 из скрипта, а не выполнения строковой команды При изменении send "команда" на send {команда} переменная не ищется но и не выполняется.

Еще команды как убить сеанс пользователей
позволяющий отправить системный сигнал лишь процессу указанного пользователя и параметр -w
killall -w -u $USER

pkill -9 -u username
/usr/bin/killall -9 -u user

определить pid пользователей в системе команда who -u
root pts/0 2020-05-20 09:15 00:05 10087 (192.168.xxx.xxx)
root pts/1 2020-05-20 10:19 . 2758 (192.168.xxx.xxx)
root pts/0 2020-05-20 10:21 . 26356 (192.168.xxx.xxx)
root pts/1 2020-05-20 10:42 . 26784 (192.168.xxx.xxx)
и убиваем этот пид kill "pid

Для принудительного выхода всех пользователей из любого сервера Ubuntu / Linux используйте следующую команду:
ps aux | egrep '(tty.*|pts.*) '| awk ' {print $2}' | xargs -n 1 kill -9 Эта команда получит все пид-коды сеансов входа в систему и убьет их.
получение списка| поиск строк содержащие tty|pts |оставить только 2ой столбец| xargs [опции_xargs] [команда] программа берет данные из стандартного ввода или из файла, разбивает их в соответствии с указанными параметрами, а затем передает другой программе в качестве аргумента.

expect Нам нужен чтоб авторизоваться по ssh на удаленных хостах, но есть ограницение с переменным и \ по этому такая команда нам не подходит
who -u|egrep '(tty.*|pts.*)'|awk '{print $6}'|xargs -n 1 kill -9

Делаем через sed
who -u|egrep '(tty.*|pts.*)'|sed -e 's/.*. \(.*\) (.*/\1/p'|xargs -n 1 kill -9

Так же expect убирает \ делаем так
send "who -u|egrep '(tty.*|pts.*)'|sed -e 's/.* \\\(.*\\\) (.*/\\\1/p'|xargs -n 1 kill -9\r"

expect — инструмент, основанный на языке Tcl
Символы, имеющие особое значение
$ — вызывает подстановку значения переменной.
[] — вызывает подстановку результата выполнения команды внутри скобок.
"" — группирует аргументы в один с подстановкой значений переменных.
{} — группирует аргументы в один без подстановки значений переменных.
\ — экранирует следующий символ или вызывает подстановку управляющего символа.
# — начало однострочного комментария, должен быть после неэкранированного символа перевода строки или «;» (точки с запятой).

Подробнее о Tcl


Выход из Сеанса Linux При помощи Заббикса

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

Будем выкидывать после входа через 12 часов

Настройка > Действия > Триггеры > Создать действие

Имя Завершение Сеанса Пользователей Linux
Условия Имя триггера содержит SSH auth
Активировано V
Завершение Сеанса Пользователей Linux Действие Заббикс
Завершение Сеанса Пользователей Linux Действие Заббикс
Вкладка Операции
Длительность шага операции по умолчанию 12h
Тема по умолчанию Problem: {EVENT.NAME}
Сообщение по умолчанию
Problem started at {EVENT.TIME} on {EVENT.DATE}
Problem name: {EVENT.NAME}
Host: {HOST.NAME}
Severity: {EVENT.SEVERITY}

Original problem ID: {EVENT.ID}
{TRIGGER.URL}

Приостановить операции для подавленных проблем V

Операции
Выполнить удаленные команды на текущем узле сети

Шаги 2-2
Длительность шага 0
Тип операции Удаленная команда
Список целей Текущий узел сети
Тип Пользовательский скрипт
Выполнять на Zabbix агент (быстрее всего агент должен работать от root) что отработала данная команда
Команды who -u|egrep '(tty.*|pts.*)'|awk '{print $6}'|xargs -n 1 kill -9
Лучше команда
Команды who -u|egrep '(tty.*|pts.*)'|sed -e 's/.*. \(.*\) (.*/\1/p'|xargs -n 1 kill -9
Завершение Сеанса Пользователей Linux Действие Операции Заббикс
Завершение Сеанса Пользователей Linux Действие Операции Заббикс
Проверяем можно ли убить процесс например на alt Linux не хватает прав
root@ZABBIXSERVER:~# zabbix_get -s 192.168.ххх.ххх -p 10050 -k system.run["who -u|egrep '(tty.*|pts.*)'|sed -e 's/.*. \(.*\) (.*/\1/p'|xargs -n 1 kill -9"]
kill: «30038»: Операция не позволена
kill: «30038»: Операция не позволена
количество слов: 507
Ответить Вложения 23 Пред. темаСлед. тема

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