Мониторинг-аккаунт в Unix

Ситуация

Пользователям Unix, а особенно разработчикам иногда бывает необходимо узнать насколько загружена система. Все хорошо если есть доступ к консоли — текстовой или GUI (например через SSH). Используя стандартные утилиты (например top для Linux) задача решается очень просто.

Однако бывают ситуации, когда у вас этого доступа нет и предоставлять вам его не очень хотят или что чаще — очень не хотят.

Пример 1
У вас есть схема на базе данных (Oracle, MySql, ...) и вам не хватает ресурсов или наоборот вы хотите понять, что базе ресурсов достаточно.
Доступа к консоли нет. Метрик производительности админ не дает.

Пример 2
Ваше WAR-приложение работает на «где-то там далеко» и не очень быстро.
Тот же вопрос — хватает ли ресурсов?

Пример 3
Вы — админ и вас завалил просьбами выдть отчет о производительности «С» и «По» в связи с «Тем» и «Этим».
Консоль давать не хочется.

Решение

Создать пользователя с SHELL равной мониторинговой утилите и выдать реквизиты пользователям.
  1. Заводим пользователя: useradd user
  2. Выбираем или пишем утилиту мониторинга
  3. Меняем 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 комментариев

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.