LINUX.ORG.RU

BASH, команды для checkstate

 


1

2

Доброго времени суток. Решил оживить один старый проект, суть его - коньки на баше с веб-интерфейсом. Прошерстил по манам полезные команды для сбора информации, вот что выбрал:

df -a
dmesg 
free -h
hostname
ifconfig
netstat
mtr -c1 google.com
uname -a
uptime

Конечно, вывод преобразуется 10 тысяч миллионов раз и получается красивый html. Вопрос следующий: про какие команды в моём хендбуке умолчали? Также рассматривается вариант использования сторонних программ, типа sensors. К таким утилиткам 2 требования: вывод текстом для сохранения в файл, наличие в репозитории. Целевая ОС - Ubuntu 9.10, сам кручу и тестирую это на Kubuntu 12.10. Возможен вариант использования стороннего репозитория (просьба его тоже указать).

P.S. Nagios/Zabbix не нужны


Ответ на: комментарий от zolden

ifconfig заменить на ip,

Ту да же и route. (Всмысле route тоже заменить на ip)

KennyMinigun ★★★★★
()

apt-get source munin-plugins-core munin-plugins-extra

Даст пищу для размышлений.

sjinks ★★★
()
Ответ на: комментарий от sudo-s

is a opensource project

is an opensource project

script on BASH

script written in BASH

that executes by cron

running as a cron job / run by cron

responding of

responding to

If you want to receive codes to use ore improve it

If you want to receive the code to use or improve it

theNamelessOne ★★★★★
()

раз уж решил пилить велосипед, то пили с душой. красоту наведи. у всяких гну уже и то сайты приличнее. также, proc у тебя - это не CPU часом?)

hdparm, /proc/whatever.

cdshines ★★★★★
()
Ответ на: комментарий от sudo-s

to receive codes to use ore

Спасибо, давно так не смеялся.

Deleted
()
Ответ на: комментарий от theNamelessOne

Это альфа. Пока что точу на свой комп. Понравится руководству - будет зеленый свет на более масштабное развитие. Тогда можно будет думать о чем-то серьезном.

Все же цель проекта - не мониторить/админить, а просто демонстрация возможностей БАШа.

sudo-s
() автор топика
Ответ на: комментарий от cdshines

проц у меня - тупо заглушка). Я набил первым, что в голову пришло (например в справке лежит фрагмент книги Мураками). Задумывалось снять запущенные процессы, но top работает до нажатия q. Поэтому пока что в поиске альтернативы.

sudo-s
() автор топика
Ответ на: комментарий от MKuznetsov
nya@BESM6:~$ snmpwalk -v 2c -c public localhost
The program 'snmpwalk' is currently not installed. You can install it by typing:
sudo apt-get install snmp
nya@BESM6:~$ sudo apt-get install snmpwalk
[sudo] password for nya: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package snmpwalk
sudo-s
() автор топика
Ответ на: комментарий от velikS

Всего лишь балуюсь башем. После сессии решил разгрести на компе - нашел исходники. Да, думаю, поковыряю, может чего дельное выйдет. Just 4 fun.

sudo-s
() автор топика
Ответ на: комментарий от sudo-s

сорри, это в убунте это snmp, snmp-mibs-downloader и snmpd; небольшая вечерняя мешанина - net-snmp это так пакет известен в остальном мире, а snmp-mibs-downloader вообще изобретение debian помешанного на лицензионной чистоте;

они все в стандартных репозитариях - это стандарт де-факто.

$ cat /etc/os-release
NAME="Ubuntu"
VERSION="12.10, Quantal Quetzal"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu quantal (12.10)"
VERSION_ID="12.10"
$ cat /etc/apt/sources.list
deb http://packages.linuxmint.com/ nadia main upstream import backport
deb http://archive.ubuntu.com/ubuntu/ quantal main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ quantal-updates main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu/ quantal-security main restricted universe multiverse
deb http://archive.canonical.com/ubuntu/ quantal partner
deb http://packages.medibuntu.org/ quantal free non-free

deb http://archive.getdeb.net/ubuntu quantal-getdeb apps
# deb http://archive.getdeb.net/ubuntu quantal-getdeb games
в дуалбуте mint постарше и усё на месте :) в слаке это в наборе N, в CentOS и в Suse - тоже в основных.

кстати есть такая штука - поиск по репозитариям :)

MKuznetsov ★★★★★
()
Ответ на: комментарий от sudo-s

|Всего лишь балуюсь башем. Just 4 fun.

А! Ну для учебных целей идея, конечно, стОящая. Have a fun!

velikS
()

Столкнулся с одной неприятностью: регэксп s/// в sed заменяет несколько не так, как планировалось. В строке есть куча пробелов, нужно на выходе их все сохранить, но <pre></pre> использовать не хочется, дабы сохранить общую стилистику интерфейса и печать все одним шрифтом. Имею следующее:

while read i; do
	echo '				<div class="line">' >> /var/www/index.html;
	echo $i | sed 's/\s/\&nbsp;/g'>> /var/www/index.html;
	echo '					</div>' >> /var/www/index.html;
done < /var/www/tmp;

Код взят отсюда.

df -a -h дает выхлоп в tmp, который построчно читается и эхается, обрамлённый в див. НО на выходе имею замену всей группы подряд идущих пробелов одним &nbsp. Кто-нибудь сталкивался с подобным?

sudo-s
() автор топика
Ответ на: комментарий от sudo-s

echo $i

пробелы съедаются ещё здесь,
используй двойные кавычки.

ABW ★★★★★
()
Ответ на: комментарий от sudo-s

sed fixed. имею на выходе:


				<div class="line">
Filesystem&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Size&nbsp;&nbsp;Used&nbsp;Avail&nbsp;Use%&nbsp;Mounted&nbsp;on
/dev/sda7&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;12G&nbsp;&nbsp;7.2G&nbsp;&nbsp;4.2G&nbsp;&nbsp;64%&nbsp;/
proc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;/proc
sysfs&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;/sys
none&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;/sys/fs/fuse/connections
none&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;/sys/kernel/debug
none&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;/sys/kernel/security
udev&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.0G&nbsp;&nbsp;4.0K&nbsp;&nbsp;2.0G&nbsp;&nbsp;&nbsp;1%&nbsp;/dev
devpts&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;/dev/pts
tmpfs&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;791M&nbsp;&nbsp;948K&nbsp;&nbsp;790M&nbsp;&nbsp;&nbsp;1%&nbsp;/run
none&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;5.0M&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;5.0M&nbsp;&nbsp;&nbsp;0%&nbsp;/run/lock
none&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.0G&nbsp;&nbsp;612K&nbsp;&nbsp;2.0G&nbsp;&nbsp;&nbsp;1%&nbsp;/run/shm
none&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;100M&nbsp;&nbsp;8.0K&nbsp;&nbsp;100M&nbsp;&nbsp;&nbsp;1%&nbsp;/run/user
/dev/sda5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;142G&nbsp;&nbsp;108G&nbsp;&nbsp;&nbsp;34G&nbsp;&nbsp;77%&nbsp;/media/TORRENTS
/dev/sda1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;141G&nbsp;&nbsp;135G&nbsp;&nbsp;6.5G&nbsp;&nbsp;96%&nbsp;/media/nya/HDD
				</div>

Стало быть, он заходит в цикл один раз, раз все строки в одном диве?

sudo-s
() автор топика

Я хочу напомнить, что велосипед был изобретен еще в 1817 году.

kernelpanic ★★★★★
()
Ответ на: комментарий от sudo-s

Не воспроизводится.
Проверь, не испорчена ли где-нибудь до этого IFS
или не переопределена ли read.

ABW ★★★★★
()
Ответ на: комментарий от ABW

да я уже решил проблему немного умнее:

#! perl -w

open (STREAM_IN, '/var/www/tmp');# || die "Can't open STREAM_IN\n";
open (STREAM_OUT, '>> /var/www/index.html');# || die "Can't open STREAM_OUT\n";
$s1 = '			<div class="line">';
$s2 = '			</div>';
while ($curr = <STREAM_IN>)
{	
	$curr=~s/\s/\&nbsp;/g;
	$out = $s1.$curr.$s2;
	print (STREAM_OUT $out);
};
close STREAM_IN;
close STREAM_OUT;

А по скрипту на баше я вызываю этот перл-скрипт много раз:

df -a -h > /var/www/tmp;
perl /var/www/scr.pl;
echo '			</div>
		</div>
<!--RAM BEGINS HERE-->			
		<div class="block" id="RAM">
			<div class="bl_head">
				RAM
			</div>
			<div class="bl_info">' >> /var/www/index.html;
free -l -h > /var/www/tmp;
perl /var/www/scr.pl;
echo '		</div>
		</div>	
<!--PROC BEGINS HERE-->
		<div class="block" id="PROC">
			<div class="bl_head">
				PROC
			</div>
			<div class="bl_info">' >> /var/www/index.html;	
top -n1 -b > /var/www/tmp;
perl /var/www/scr.pl;
echo '			</div>
		</div>' >> /var/www/index.html;
#footer, closing "content" div and finishing DOM tree

sudo-s
() автор топика
Ответ на: комментарий от MKuznetsov

Всё же не понял я смысла этой команды. Выхлоп:

nya@BESM6:~$ snmpwalk -v 2c -c public localhost
iso.3.6.1.2.1.1.1.0 = STRING: "Linux BESM6 3.5.0-21-generic #32-Ubuntu SMP Tue Dec 11 18:51:59 UTC 2012 x86_64"
iso.3.6.1.2.1.1.2.0 = OID: iso.3.6.1.4.1.8072.3.2.10
iso.3.6.1.2.1.1.3.0 = Timeticks: (14504) 0:02:25.04
iso.3.6.1.2.1.1.4.0 = STRING: "Me <me@example.org>"
iso.3.6.1.2.1.1.5.0 = STRING: "BESM6"
iso.3.6.1.2.1.1.6.0 = STRING: "Sitting on the Dock of the Bay"
iso.3.6.1.2.1.1.7.0 = INTEGER: 72
iso.3.6.1.2.1.1.8.0 = Timeticks: (3) 0:00:00.03
iso.3.6.1.2.1.1.9.1.2.1 = OID: iso.3.6.1.6.3.10.3.1.1
iso.3.6.1.2.1.1.9.1.2.2 = OID: iso.3.6.1.6.3.11.3.1.1
iso.3.6.1.2.1.1.9.1.2.3 = OID: iso.3.6.1.6.3.15.2.1.1
iso.3.6.1.2.1.1.9.1.2.4 = OID: iso.3.6.1.6.3.1
iso.3.6.1.2.1.1.9.1.2.5 = OID: iso.3.6.1.2.1.49
iso.3.6.1.2.1.1.9.1.2.6 = OID: iso.3.6.1.2.1.4
iso.3.6.1.2.1.1.9.1.2.7 = OID: iso.3.6.1.2.1.50
iso.3.6.1.2.1.1.9.1.2.8 = OID: iso.3.6.1.6.3.16.2.2.1
iso.3.6.1.2.1.1.9.1.3.1 = STRING: "The SNMP Management Architecture MIB."
iso.3.6.1.2.1.1.9.1.3.2 = STRING: "The MIB for Message Processing and Dispatching."
iso.3.6.1.2.1.1.9.1.3.3 = STRING: "The management information definitions for the SNMP User-based Security Model."
iso.3.6.1.2.1.1.9.1.3.4 = STRING: "The MIB module for SNMPv2 entities"
iso.3.6.1.2.1.1.9.1.3.5 = STRING: "The MIB module for managing TCP implementations"
iso.3.6.1.2.1.1.9.1.3.6 = STRING: "The MIB module for managing IP and ICMP implementations"
iso.3.6.1.2.1.1.9.1.3.7 = STRING: "The MIB module for managing UDP implementations"
iso.3.6.1.2.1.1.9.1.3.8 = STRING: "View-based Access Control Model for SNMP."
iso.3.6.1.2.1.1.9.1.4.1 = Timeticks: (3) 0:00:00.03
iso.3.6.1.2.1.1.9.1.4.2 = Timeticks: (3) 0:00:00.03
iso.3.6.1.2.1.1.9.1.4.3 = Timeticks: (3) 0:00:00.03
iso.3.6.1.2.1.1.9.1.4.4 = Timeticks: (3) 0:00:00.03
iso.3.6.1.2.1.1.9.1.4.5 = Timeticks: (3) 0:00:00.03
iso.3.6.1.2.1.1.9.1.4.6 = Timeticks: (3) 0:00:00.03
iso.3.6.1.2.1.1.9.1.4.7 = Timeticks: (3) 0:00:00.03
iso.3.6.1.2.1.1.9.1.4.8 = Timeticks: (3) 0:00:00.03
iso.3.6.1.2.1.25.1.1.0 = Timeticks: (4629532) 12:51:35.32
iso.3.6.1.2.1.25.1.2.0 = Hex-STRING: 07 DD 01 08 01 18 00 00 2B 04 00 
iso.3.6.1.2.1.25.1.3.0 = INTEGER: 1536
iso.3.6.1.2.1.25.1.4.0 = STRING: "BOOT_IMAGE=/boot/vmlinuz-3.5.0-21-generic root=UUID=8a38dd97-eb43-4277-a006-b56a4e38e066 ro quiet splash
"
iso.3.6.1.2.1.25.1.5.0 = Gauge32: 5
iso.3.6.1.2.1.25.1.6.0 = Gauge32: 169
iso.3.6.1.2.1.25.1.7.0 = INTEGER: 0
iso.3.6.1.2.1.25.1.7.0 = No more variables left in this MIB View (It is past the end of the MIB tree)

Всё же предоставляемая информация должна быть понятна и полезна для человека.

sudo-s
() автор топика
Ответ на: комментарий от Spirit_of_Stallman

Полистал вику. Судя по всему одной статейкой тут вряд ли обойдешься. Будет желание добивать до конца - можно будет поподробнее пошерстить.

sudo-s
() автор топика
Ответ на: комментарий от sudo-s

чтобы по чтению было доступна вся информация, в snmpd.conf в строке c «rocommunity public» - убрать опцию -V systemonly. С этой опцией по чтению доступна только идентификация. А без неё - от температуры и оборотов пропеллеров до использования дисков и сети.

у чтобы вместо OID`ов видеть внятные слова - в конфиге snmp.conf закоменнтить единственную строку mib: (это путь к базам миб, если не задан берётся системный. По умолчанию в debian`е - пусто, нет поиска в mib)

MKuznetsov ★★★★★
()

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

sudo-s
() автор топика

Совсем забыл, где я нахожусь :) ЛОР, кто подскажет годный моноширинной шрифт и ссылочку на него даст? Таблички сбиваются: http://tau.rghost.ru/42819589/image.png

Критерий: моноширинной, не Г, возможность сконвертировать в .eot, .woff, .svg и .ttf

sudo-s
() автор топика
Ответ на: комментарий от sudo-s

практически да. Попробуй, поюзай - там действительно море информации в удобном виде.

и это не совсем утилита - по стандартным сетевым запросам демон snmpd дёргает свои расширения (и ваши самописные скрипты в частности) и столь же стандартным и понятным для других систем образом отвечает.

MKuznetsov ★★★★★
()
Ответ на: комментарий от MKuznetsov

Ну, в таком случае будет глупо использовать БелАЗ как движитель самоката с моторчиком.

sudo-s
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.