Мониторинг-аккаунт в Unix
Ситуация
Пользователям Unix, а особенно разработчикам иногда бывает необходимо узнать насколько загружена система. Все хорошо если есть доступ к консоли — текстовой или GUI (например через SSH). Используя стандартные утилиты (например top для Linux) задача решается очень просто.Однако бывают ситуации, когда у вас этого доступа нет и предоставлять вам его не очень хотят или что чаще — очень не хотят.
Пример 1
У вас есть схема на базе данных (Oracle, MySql, ...) и вам не хватает ресурсов или наоборот вы хотите понять, что базе ресурсов достаточно.Доступа к консоли нет. Метрик производительности админ не дает.
Пример 2
Ваше WAR-приложение работает на «где-то там далеко» и не очень быстро.Тот же вопрос — хватает ли ресурсов?
Пример 3
Вы — админ и вас завалил просьбами выдть отчет о производительности «С» и «По» в связи с «Тем» и «Этим».Консоль давать не хочется.
Решение
Создать пользователя с SHELL равной мониторинговой утилите и выдать реквизиты пользователям.- Заводим пользователя: useradd user
- Выбираем или пишем утилиту мониторинга
- Меняем SHELL на выбранную утилиту в /etc/passwd
Стандартные утилиты для разных платформ
AIX
/usr/bin/topas
Linux, Solaris 10, HPUX
/usr/bin/top
Пример строки /etc/passwd для пользователя «top» в Linux:
Было:
top:x:501:502::/home/top:/bin/bash
Стало:
top:x:501:502::/home/top:/usr/bin/top
Результат
login as: top
top@server's password:
Last login: Thu Dec 30 16:26:12 2010 from 192.168.0.01
-top - 16:23:02 up 127 days, 19:34, 1 user, load average: 1.26, 1.20, 1.10
Tasks: 241 total, 2 running, 239 sleeping, 0 stopped, 0 zombie
Cpu(s): 13.0%us, 1.7%sy, 0.0%ni, 85.2%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 3916436k total, 3835512k used, 80924k free, 86420k buffers
Swap: 8385920k total, 122204k used, 8263716k free, 1550936k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
26056 oracle 16 0 1239m 402m 396m S 14.6 10.5 331:31.57 oracle
24613 top 15 0 12736 1188 812 R 0.7 0.0 0:00.06 top
5452 oracle 15 0 1253m 330m 321m S 0.3 8.6 145:05.75 oracle
1 root 15 0 10344 676 564 S 0.0 0.0 1:11.96 init
2 root RT -5 0 0 0 S 0.0 0.0 0:09.43 migration/0
3 root 34 19 0 0 0 S 0.0 0.0 0:07.61 ksoftirqd/0
4 root RT -5 0 0 0 S 0.0 0.0 0:00.00 watchdog/0
5 root RT -5 0 0 0 S 0.0 0.0 0:10.04 migration/1
6 root 34 19 0 0 0 S 0.0 0.0 0:23.28 ksoftirqd/1
7 root RT -5 0 0 0 S 0.0 0.0 0:00.00 watchdog/1
8 root RT -5 0 0 0 S 0.0 0.0 0:19.15 migration/2
9 root 34 19 0 0 0 S 0.0 0.0 0:37.63 ksoftirqd/2
10 root RT -5 0 0 0 S 0.0 0.0 0:00.00 watchdog/2
11 root RT -5 0 0 0 S 0.0 0.0 0:54.51 migration/3
12 root 34 19 0 0 0 S 0.0 0.0 0:41.74 ksoftirqd/3
13 root RT -5 0 0 0 S 0.0 0.0 0:00.00 watchdog/3
0 комментариев