IBM портировало с AIX свой замечательный пакет RSCT (что является частью IBM Cluster Systems Management) на Линукс:
http://www14.software.ibm.com/webapp/set2/sas/f/csm/home.html
В связи с чем могу сказать, что старый добрый monit можно отправлять на пенсию Я уже установил RSCT на несколько продуктивных серверов и могу сказать, что полет нормальный. Работает стабильно и различий с версией под AIX нет, разве что не определены conditions.
Небольшой HowTo для начинающих (и не только):
Обзор технологии
---------------------
Система RSCT позволяет проводить мониторинг состояния системных ресурсов и реагировать на определенные события системы согласно предустановленым действиям.
Термины
----------
* condition - событие (условие срабатывания)
* response - действие системы на срабатывание условия
Можно использовать существующие события/действия или описать новые.
Обзор команд
----------------
* lscondition - просмотр всех заданных событий и их статусов
* mkcondition - создать новое событие
* rmcondition - удалить событие
* lsresponse - просмотр всех действий системы (ответов на событие)
* mkresponse - создать новое действие системы
* rmresponse - удалить действие системы
* lscondresp - информация о событиях и соответствующим им действиям системы
* mkcondresp - создать линк (соответствие) между событием и одним или несколькими действиями системы
* rmcondresp - удалить линк (соответствие) между событием и одним или несколькими действиями системы
* startcondresp - стартовать слежение за событием
* stopcondresp - остановить слежение за событием
* lsrsrcdef - список предустановленных ресурсов или классов ресурсов
How-To
--------
Мы хотит мониторить раздел /app на предмет переполнения файловой системы.
* Вводим новое условие срабатывания - "предупреждение в случае достижения 95 процентов"
# mkcondition -r "IBM.FileSystem" -e "PercentTotUsed > 95" -E "PercentTotUsed < 90"
-d "Event for /app" -D "React event for /app" -s "Name == \"/app\"" -S "i" -m "l" "/app filesystem threshold"
* Проверяем новое условие:
# lscondition "/app filesystem threshold"
Displaying condition information:
condition 1:
Name = "/app filesystem threshold"
MonitorStatus = "Not monitored"
ResourceClass = "IBM.FileSystem"
EventExpression = "PercentTotUsed > 95"
EventDescription = "Event for /app"
RearmExpression = "PercentTotUsed < 90"
RearmDescription = "React event for /app"
SelectionString = "Name == \"/app\""
Severity = "i"
NodeNames = {}
MgtScope = "l"
* Ключ -C позволяет получить командную строку с параметрами:
# lscondition -C "/app filesystem threshold"
Sample mkcondition command for condition "/app filesystem threshold":
mkcondition -r "IBM.FileSystem" -e "PercentTotUsed > 95" -E "PercentTotUsed < 90"
-d "Event for /app" -D "React event for /app" -s "Name == \"/app\"" -S "i" -m "l" "/app filesystem threshold"
* Уточняем, какие ответы системы нам доступны:
# lsresponse
Displaying response information:
ResponseName
"Generate SNMP trap"
"Critical notifications"
"Warning notifications"
"Informational notifications"
"Log event anytime"
"E-mail root anytime"
"E-mail root off-shift"
"Broadcast event on-shift"
* Назначаем нашему событию выбранное действие системы:
# mkcondresp "/app filesystem threshold" "E-mail root anytime"
* Проверяем:
# lscondresp
Displaying condition with response information:
Condition Response State
"/app filesystem threshold" "E-mail root anytime" "Not active"
* Запускаем:
# startcondresp "/app filesystem threshold"
* Проверяем статус нового события:
# lscondresp
Displaying condition with response information:
Condition Response State
"/app filesystem threshold" "E-mail root anytime" "Active"
Еще один пример (скрипт)
-------------------------------
# mkcondition -r "IBM.FileSystem" -e "PercentTotUsed > 90" -E "PercentTotUsed < 75" -d "An event will be generated when more than 90 percent of the total space in the /var directory is in use." -D "The event will be rearmed when the percent of the space used in the /var directory falls below 75 percent." -s "Name == \"/var\"" -S "i" -m "l" "/var space used"
# mkcondition -r "IBM.FileSystem" -e "PercentTotUsed > 90" -E "PercentTotUsed < 75" -d "An event will be generated when more than 90 percent of the total space in the / directory is in use." -D "The event will be rearmed when the percent of the space used in the / directory falls below 75 percent." -s "Name == \"/\"" -S "i" -m "l" "/ space used"
# mkcondition -r "IBM.FileSystem" -e "PercentTotUsed > 90" -E "PercentTotUsed < 75" -d "An event will be generated when more than 90 percent of the total space in the /usr directory is in use." -D "The event will be rearmed when the percent of the space used in the /usr directory falls below 75 percent." -s "Name == \"/usr\"" -S "i" -m "l" "/usr space used"
# mkcondition -r "IBM.FileSystem" -e "PercentTotUsed > 90" -E "PercentTotUsed < 75" -d "An event will be generated when more than 90 percent of the total space in the /opt directory is in use." -D "The event will be rearmed when the percent of the space used in the /opt directory falls below 75 percent." -s "Name == \"/opt\"" -S "i" -m "l" "/opt space used"
# mkcondition -r "IBM.FileSystem" -e "PercentTotUsed > 90" -E "PercentTotUsed < 75" -d "An event will be generated when more than 90 percent of the total space in the /mnt/yum directory is in use." -D "The event will be rearmed when the percent of the space used in the /mnt/yum directory falls below 75 percent." -s "Name == \"/mnt/yum\"" -S "i" -m "l" "/mnt/yum space used"
# mkcondition -r "IBM.Host" -e "PctTotalPgSpUsed > 90" -E "PctTotalPgSpUsed < 85" -d "An event will be generated when more than 90 percent of the total paging space is in use." -D "The event will be rearmed when it falls below 85 percent." -S "i" -m "l" "Paging percent space used"
# mkcondresp "/mnt/yum space used" "E-mail root anytime"
# mkcondresp "/ space used" "E-mail root anytime"
# mkcondresp "/usr space used" "E-mail root anytime"
# mkcondresp "/var space used" "E-mail root anytime"
# mkcondresp "/opt space used" "E-mail root anytime"
# mkcondresp "Paging percent space used" "E-mail root anytime"
# startcondresp "Paging percent space used"
# startcondresp "/opt space used"
# startcondresp "/var space used"
# startcondresp "/usr space used"
# startcondresp "/ space used"
# startcondresp "/mnt/yum space used"
Результат
------------
# lscondresp
Displaying condition with response information:
Condition Response State
"Paging percent space used" "E-mail root anytime" "Active"
"/opt space used" "E-mail root anytime" "Active"
"/var space used" "E-mail root anytime" "Active"
"/usr space used" "E-mail root anytime" "Active"
"/ space used" "E-mail root anytime" "Active"
"/mnt/yum space used" "E-mail root anytime" "Active"
Алерты выглядят таким образом
--------------------------------------
Переполнение файловой системы:
=====================================
Saturday 07/05/08 18:02:51
Condition Name: /trash space used
Severity: Informational
Event Type: Event
Expression: PercentTotUsed > 90
Resource Name: /trash
Resource Class: IBM.FileSystem
Data Type: CT_INT32
Data Value: 92
Node Name: informix2
Node NameList: {informix2}
Resource Type: 0
=====================================
Алерт на превышение процессорного времени:
=====================================
Saturday 07/05/08 10:01:11
Condition Name: Processors user time
Severity: Informational
Event Type: Event
Expression: PctTotalTimeUser >= 70
Resource Name: xxxxx-backup
Resource Class: IBM.Host
Data Type: CT_FLOAT64
Data Value: 94.7053
Node Name: xxxxx-backup
Node NameList: {xxxxx-backup}
Resource Type: 0
=====================================
Алерт на остановку процесса java:
=====================================
Thursday 07/03/08 17:04:30
Condition Name: Java process state
Severity: Informational
Event Type: Event
Expression: Processes.CurPidCount <= 0
Resource Name: ProgramName == 'java' && Filter == 'ruser== root '
Resource Class: IBM.Program
Data Type: CT_SD_PTR
Data Value: [0,1,{},{385270}]
Node Name: xxxxx-int
Node NameList: {xxxxx-int}
Resource Type: 0
=====================================
Надеюсь, эта тема будет интересна многим.
http://www14.software.ibm.com/webapp/set2/sas/f/csm/home.html
В связи с чем могу сказать, что старый добрый monit можно отправлять на пенсию Я уже установил RSCT на несколько продуктивных серверов и могу сказать, что полет нормальный. Работает стабильно и различий с версией под AIX нет, разве что не определены conditions.
Небольшой HowTo для начинающих (и не только):
Обзор технологии
---------------------
Система RSCT позволяет проводить мониторинг состояния системных ресурсов и реагировать на определенные события системы согласно предустановленым действиям.
Термины
----------
* condition - событие (условие срабатывания)
* response - действие системы на срабатывание условия
Можно использовать существующие события/действия или описать новые.
Обзор команд
----------------
* lscondition - просмотр всех заданных событий и их статусов
* mkcondition - создать новое событие
* rmcondition - удалить событие
* lsresponse - просмотр всех действий системы (ответов на событие)
* mkresponse - создать новое действие системы
* rmresponse - удалить действие системы
* lscondresp - информация о событиях и соответствующим им действиям системы
* mkcondresp - создать линк (соответствие) между событием и одним или несколькими действиями системы
* rmcondresp - удалить линк (соответствие) между событием и одним или несколькими действиями системы
* startcondresp - стартовать слежение за событием
* stopcondresp - остановить слежение за событием
* lsrsrcdef - список предустановленных ресурсов или классов ресурсов
How-To
--------
Мы хотит мониторить раздел /app на предмет переполнения файловой системы.
* Вводим новое условие срабатывания - "предупреждение в случае достижения 95 процентов"
# mkcondition -r "IBM.FileSystem" -e "PercentTotUsed > 95" -E "PercentTotUsed < 90"
-d "Event for /app" -D "React event for /app" -s "Name == \"/app\"" -S "i" -m "l" "/app filesystem threshold"
* Проверяем новое условие:
# lscondition "/app filesystem threshold"
Displaying condition information:
condition 1:
Name = "/app filesystem threshold"
MonitorStatus = "Not monitored"
ResourceClass = "IBM.FileSystem"
EventExpression = "PercentTotUsed > 95"
EventDescription = "Event for /app"
RearmExpression = "PercentTotUsed < 90"
RearmDescription = "React event for /app"
SelectionString = "Name == \"/app\""
Severity = "i"
NodeNames = {}
MgtScope = "l"
* Ключ -C позволяет получить командную строку с параметрами:
# lscondition -C "/app filesystem threshold"
Sample mkcondition command for condition "/app filesystem threshold":
mkcondition -r "IBM.FileSystem" -e "PercentTotUsed > 95" -E "PercentTotUsed < 90"
-d "Event for /app" -D "React event for /app" -s "Name == \"/app\"" -S "i" -m "l" "/app filesystem threshold"
* Уточняем, какие ответы системы нам доступны:
# lsresponse
Displaying response information:
ResponseName
"Generate SNMP trap"
"Critical notifications"
"Warning notifications"
"Informational notifications"
"Log event anytime"
"E-mail root anytime"
"E-mail root off-shift"
"Broadcast event on-shift"
* Назначаем нашему событию выбранное действие системы:
# mkcondresp "/app filesystem threshold" "E-mail root anytime"
* Проверяем:
# lscondresp
Displaying condition with response information:
Condition Response State
"/app filesystem threshold" "E-mail root anytime" "Not active"
* Запускаем:
# startcondresp "/app filesystem threshold"
* Проверяем статус нового события:
# lscondresp
Displaying condition with response information:
Condition Response State
"/app filesystem threshold" "E-mail root anytime" "Active"
Еще один пример (скрипт)
-------------------------------
# mkcondition -r "IBM.FileSystem" -e "PercentTotUsed > 90" -E "PercentTotUsed < 75" -d "An event will be generated when more than 90 percent of the total space in the /var directory is in use." -D "The event will be rearmed when the percent of the space used in the /var directory falls below 75 percent." -s "Name == \"/var\"" -S "i" -m "l" "/var space used"
# mkcondition -r "IBM.FileSystem" -e "PercentTotUsed > 90" -E "PercentTotUsed < 75" -d "An event will be generated when more than 90 percent of the total space in the / directory is in use." -D "The event will be rearmed when the percent of the space used in the / directory falls below 75 percent." -s "Name == \"/\"" -S "i" -m "l" "/ space used"
# mkcondition -r "IBM.FileSystem" -e "PercentTotUsed > 90" -E "PercentTotUsed < 75" -d "An event will be generated when more than 90 percent of the total space in the /usr directory is in use." -D "The event will be rearmed when the percent of the space used in the /usr directory falls below 75 percent." -s "Name == \"/usr\"" -S "i" -m "l" "/usr space used"
# mkcondition -r "IBM.FileSystem" -e "PercentTotUsed > 90" -E "PercentTotUsed < 75" -d "An event will be generated when more than 90 percent of the total space in the /opt directory is in use." -D "The event will be rearmed when the percent of the space used in the /opt directory falls below 75 percent." -s "Name == \"/opt\"" -S "i" -m "l" "/opt space used"
# mkcondition -r "IBM.FileSystem" -e "PercentTotUsed > 90" -E "PercentTotUsed < 75" -d "An event will be generated when more than 90 percent of the total space in the /mnt/yum directory is in use." -D "The event will be rearmed when the percent of the space used in the /mnt/yum directory falls below 75 percent." -s "Name == \"/mnt/yum\"" -S "i" -m "l" "/mnt/yum space used"
# mkcondition -r "IBM.Host" -e "PctTotalPgSpUsed > 90" -E "PctTotalPgSpUsed < 85" -d "An event will be generated when more than 90 percent of the total paging space is in use." -D "The event will be rearmed when it falls below 85 percent." -S "i" -m "l" "Paging percent space used"
# mkcondresp "/mnt/yum space used" "E-mail root anytime"
# mkcondresp "/ space used" "E-mail root anytime"
# mkcondresp "/usr space used" "E-mail root anytime"
# mkcondresp "/var space used" "E-mail root anytime"
# mkcondresp "/opt space used" "E-mail root anytime"
# mkcondresp "Paging percent space used" "E-mail root anytime"
# startcondresp "Paging percent space used"
# startcondresp "/opt space used"
# startcondresp "/var space used"
# startcondresp "/usr space used"
# startcondresp "/ space used"
# startcondresp "/mnt/yum space used"
Результат
------------
# lscondresp
Displaying condition with response information:
Condition Response State
"Paging percent space used" "E-mail root anytime" "Active"
"/opt space used" "E-mail root anytime" "Active"
"/var space used" "E-mail root anytime" "Active"
"/usr space used" "E-mail root anytime" "Active"
"/ space used" "E-mail root anytime" "Active"
"/mnt/yum space used" "E-mail root anytime" "Active"
Алерты выглядят таким образом
--------------------------------------
Переполнение файловой системы:
=====================================
Saturday 07/05/08 18:02:51
Condition Name: /trash space used
Severity: Informational
Event Type: Event
Expression: PercentTotUsed > 90
Resource Name: /trash
Resource Class: IBM.FileSystem
Data Type: CT_INT32
Data Value: 92
Node Name: informix2
Node NameList: {informix2}
Resource Type: 0
=====================================
Алерт на превышение процессорного времени:
=====================================
Saturday 07/05/08 10:01:11
Condition Name: Processors user time
Severity: Informational
Event Type: Event
Expression: PctTotalTimeUser >= 70
Resource Name: xxxxx-backup
Resource Class: IBM.Host
Data Type: CT_FLOAT64
Data Value: 94.7053
Node Name: xxxxx-backup
Node NameList: {xxxxx-backup}
Resource Type: 0
=====================================
Алерт на остановку процесса java:
=====================================
Thursday 07/03/08 17:04:30
Condition Name: Java process state
Severity: Informational
Event Type: Event
Expression: Processes.CurPidCount <= 0
Resource Name: ProgramName == 'java' && Filter == 'ruser== root '
Resource Class: IBM.Program
Data Type: CT_SD_PTR
Data Value: [0,1,{},{385270}]
Node Name: xxxxx-int
Node NameList: {xxxxx-int}
Resource Type: 0
=====================================
Надеюсь, эта тема будет интересна многим.