Gentoo Linux сборник статей



Pdf просмотр
страница73/79
Дата14.11.2016
Размер5.55 Mb.
Просмотров11587
Скачиваний1
1   ...   69   70   71   72   73   74   75   76   ...   79
#for GNU/Linux
cp server/etc/show_ipfw_acc.conf /etc/monitoring
#for BSD
cp server/etc/show_network.conf /etc/monitoring
cp server/xinetd.d/show_hdisk /etc/xinetd.d/
cp server/xinetd.d/show_network /etc/xinetd.d/
cp server/xinetd.d/show_sensors /etc/xinetd.d/
cp server/xinetd.d/show_system /etc/xinetd.d/
cp server/bin/show_hdisk.sh /usr/bin
cp server/bin/show_iptables.sh /usr/bin
#for GNU/Linux
cp server/bin/show_ipfw.sh /usr/bin
#for BSD
cp server/bin/show_network.sh /usr/bin
cp server/bin/show_sar.sh /usr/bin
cp server/bin/show_sensors.sh /usr/bin
cp server/bin/show_system.sh /usr/bin
Добавим следующие строки к /etc/service: network
9045/tcp # show network info info
9046/tcp # show server info
877

Русское WIKI
df
9047/tcp # show disk info sys
9048/tcp # show system info sensors
9049/tcp # show sensors info
Создадим специального пользователя: groupadd monitoring useradd -g monitoring -d /home/monitoring -s /bin/bash -c monitoring monitoring mkdir /home/monitoring chmod 700 /home/monitoring chown -R monitoring:monitoring /home/monitoring
В случае использования политик SELinux необходимо также добавить:
# cat /etc/security/selinux/src/policy/users
# BEGIN monitoring selinux:
user monitoring roles user_r;
# END monitoring selinux.
и дополнительно выполнить:
# cd /etc/security/selinux/src/policy
# make load
Перегрузим xinetd:
# /etc/init.d/xinetd restart
и добавьте строки в crontab:
*/10 * * * * monitoring /usr/bin/show_iptables.sh
# для GNU/Linux
*/10 * * * * monitoring /usr/bin/show_ipfw.sh
# для BSD
*/1 * * * * monitoring /usr/bin/show_sar.sh
Перегрузим crond:
# /etc/init.d/crond restart
Все вышесказанное нужно сделать на КАЖДОМ сервере, который вы хотите мониторить...
"Административная" сторона
Для начала убедитесь что все хорошо со стороны серверов
Для каждого сервера проверяем доступность необходимых сервисов:
# telnet server_name 9045
878

Русское WIKI
Trying serverIP...
Connected to serverIP.
Escape character is '^]'.
in_ftp
0
out_ftp
0
in_http
0
out_http
0
in_other
249
out_other
27
Connection closed by foreign host.
# telnet server_name 9046
Trying serverIP...
Connected to server_name.
Escape character is '^]'.
Intel(R) Celeron(R) CPU 2.40GHz | 504 Mb
Connection closed by foreign host.
# telnet server_name 9047
Trying serverIP...
Connected to server_name.
Escape character is '^]'.
/dev/sda3 2007996 411772 1596224 71% /
/dev/sda1 132206 10981 114399 43% /boot
/dev/sda5 248895 4256 231789 2% /tmp
/dev/sda6 5863496 2556028 3307468 64% /var
/dev/sda7 6843432 5128048 1715384 75% /usr
/dev/sda8 1976492 1048740 827348 56% /home
/dev/sda9 5863496 4479752 1383744 77% /usr/portage/distfiles
Connection closed by foreign host.
# telnet server_name 9048
Trying serverIP...
Connected to server_name.
Escape character is '^]'.
Average: proc/s
Average: 3.98
Average: cswch/s
Average: 308.00
Average: CPU %user %nice %system %iowait %idle
Average: all 1.76 0.00 0.47 0.00 97.76
Average: runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15
Average: 1 88 0.05 0.21 0.21
Connection closed by foreign host.
879

Русское WIKI
# telnet server_name 9049
Trying serverIP...
Connected to server_name.
Escape character is '^]'.
lm85b-i2c-0-2e
Adapter: SMBus I801 adapter at c800
Volt1_5: +1.48 V (min = +1.42 V, max = +1.58 V)
VoltCore: +1.50 V (min = +1.45 V, max = +1.60 V)
Volt3_3: +3.33 V (min = +3.13 V, max = +3.47 V)
Volt5: +5.10 V (min = +4.74 V, max = +5.26 V)
Volt12: +12.25 V (min = +11.38 V, max = +12.62 V)
CPU_Fan: 3377 RPM (min = 3000 RPM)
fan2: 0 RPM (min = 0 RPM)
fan3: 0 RPM (min = 0 RPM)
fan4: 0 RPM (min = 0 RPM)
TempCPU: +32 C (low = +10 C, high = +50 C)
TempBoard: +30 C (low = +10 C, high = +45 C)
TempRemot: +30 C (low = +10 C, high = +40 C)
CPU_PWM: 255
Fan2_PWM: 255
Fan3_PWM: 77
vid: +1.525 V (VRM Version 9.0)
Connection closed by foreign host.
Установление необходимых программ
Разархивируйте monitoring-*.tar.bz2.
Для Gentoo есть ебилд, для установления программы monitoring со всеми зависимостями с сайта стоит брать monitoring-*.ebuild.tar.bz2 и распаковать его в /
usr/local дальше выполните:
# emerge -pv monitoring
[ebuild N ] net-analyzer/monitoring-0.11 USE="-admin -apache2 -lm_sensors -server"
Для административной стороны необходимо добавить USE=admin, а для поддержки apache-2* USE=apache2
# export "USE=admin apache2"
# emerge monitoring
Компиляцию и установление rrdtool, apache, Net-Telnet в случае использования
880

Русское WIKI
Gentoo можно пропускать, потому что эти пакеты уже будут установлены как зависимости, а переходить сразу к их настройке.
Инсталляция rrdtool
Базой данных, для хранения информации и инструмент генерации графиков, используется пакет rrdtool (round robin database tool). Зкачать пакет можно отсюда: http://rrdtool.eu.org или http://people.ee.ethz.ch/
oetiker/webtools/rrdtool/ Подробно ознакомиться с этим пакетом можно здесь: http://www.bog.pp.ru/work/rrdtool.html
(Российская). В принципе, программа самостоятельно создаст необходимые базы так, что дополнительных знаний не нужно и следующий пункт Пример расчёта настройки базы RRD можно пропустить.
Пример расчёта настройки базы RRD
Расчёт настроек создания базы RRD файлы /etc/monitoring/*.rrd.cf Количество "слов" в файле будет соотведствовать количеству графиков в разных маштабах времени. например для расчёта подобия MRTG: 5-ти минутный - даные за последние 2 дня: х-доля=0.5 количество отсчётов на ячейку=1 количество ячеек=2*24*12=576 +min+max+avg+cur
650 0.5:1:650 30-ти минутный - дание за последние две недели: х-доля=0.5 количество отсчётов на ячейку=30/5=6 количество ячеек=2*7*24*2=672 +min+max+avg+cur
750 0.5:6:750 2-ух часовой - даные за последние два месяца: х-доля=0.5 количество отсчётов на ячейку=60*2/5=24 количество ячеек=2*31*24/2=744 +min+max+avg+cur
850 0.5:24:850 1-но дневный - даные за последние два года: х-доля=0.5 количество отсчётов на ячейку=60*24/5=288 количество ячеек=2*366=732 +min+max+avg+cur
900 0.5:288:900
Таким образом имеем:
# cat /etc/monitoring/5min.rrd.cf
0.5:1:650 0.5:6:750 0.5:24:850 0.5:288:900
Инсталляция Net-Telnet
Данная версия программы для работы через сеть требует Net-Telnet perl модуль
(можно при желании использовать и netcat): из-за этого нужно установить perl (что
881

Русское WIKI
пожалуй уже сделано). Дальше Net-Telnet perl модуль берем и устанавливаем отсюда: http://cpan.perl.org/modules/by-module/Net/ название файлу Net-Telnet-
*.tar.gz
Инсталляция Apache
Нужно установить и настроить apache сервер, дополнительно можете добавить
(admin/etc/apache/monitoring.conf):
# cat /etc/apache2/vhosts.d/monitoring.conf
### /etc/apache2/vhosts.d/monitoring.conf
### $Id: monitoring.conf,v 0.11 2006/09/28 16:27:12 hse Exp $
###
### For Monitoring *.shtml
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
### For authentication:

AllowOverride All
Options Includes

### For password authentication:
# AuthUserFile /var/www/localhost/htdocs/administration/passwd_file
# AuthGroupFile /dev/null
# AuthName Administrative-information
# AuthType Basic
# Require valid-user
### For host/network authentication:
Order deny,allow
Deny from all
Allow from 127.0.0.1
#
Allow from .cluster.linux


Добавляем пользователя для просмотра веб страницы:
# htpasswd -bcm /var/www/localhost/htdocs/administration/passwd_file username password
Если все хорошо идем дальше.
Установка программ для мониторинга
В файл admin/etc/host (/etc/monitoring/host) вносим перечень серверов, которые нужно мониторить (имена должны разрешаться в IP адреса). Коректируем под
882

Русское WIKI
свои потребности файл admin/etc/monitoring.conf (/etc/monitoring/monitoring.conf)
путь по которому установлено скрипт:
installpath=/usr/
путь к веб страницы:
apachehtmldir=/var/www/html webdirpath=/administration/monitoring
путь к файлу с перечнем серверов для мониторинга:
confpath=$installpath/etc/host
путь к временных файлов:
diskinfopath=/tmp/monitoring/disk.tmp sarinfopath=/tmp/monitoring/sar.tmp sensorsinfopath=/tmp/monitoring/sensors.tmp
путь где установлен пакет rrdtool:
rrdtoolpath=/usr/bin/rrdtool
почтовый адресов:
emailvalue=root@localhost
По желанию (или за потребностью) правим другие файлы с каталога etc/
(/etc/monitoring/):
diskusage memusage quantity cpu memory systemload - содержимое файлов должно отвечать тем параметрам которые Вы хотите мониторить. Все параметры должны выводиться командой sar -A 1 1 |grep Average: Названия файлов отвечают названиям графиков и баз которые создадутся и должны быть записаны в файле system. Значение параметров принадлежащих одном файлу должны быть одного типа!
system - первая колонка определяет какие графики получите и каждый ее элемент отвечать файлу из этого же каталога (см. выше). Вторая указывает через какие периоды времени база rrdtool будет принимать данные. Третья и четвертая колонка определяет минимальное и максимальное значение параметра которое еще может быть записано в базу. Пятая колонка определяет легенду
(размерность).
сolors - файл с номерами цветов в 16-ричной системе.
config - содержит имена конфигурационных файлов из этого же каталога отвечающие веб страницам что создаються (можно добавлять свои, но тогда их должны создать!).
disk - содержит названия графиков, периоды времени через которые база rrdtool будет принимать данные, минимальные и максимальные значение параметров которые мониторите, легенду (размерность).
network - содержит названия графиков, периоды времени через которые база
883

Русское WIKI
rrdtool будет принимать данные, минимальные и максимальные значение параметров которые мониторите, легенду (размерность).
sensors - содержит названия графиков, периоды времени через которые база rrdtool будет принимать данные, минимальные и максимальные значение параметров которые мониторите, легенду (размерность).
disk.rrd.cf network.rrd.cf sensors.rrd.cf system.rrd.cf - описывают структуру базы данных.
disk.msg network.msg sensors.msg system.msg - содержит информацию которую получите почтой в критических ситуациях.
Если хотите осуществить установку вручную, пропустите следующий пункт.
Автоматическая установка программ
Теперь можете воспользоваться скриптом для инсталляции. Для этого нужно откорректировать следующие строки в файле monitoringinstall.sh
(/usr/sbin/monitoringinstall.sh) или пропустить этот пункт и следовать дальнейшей инструкции для установки в ручную.
имя пользователя и группы:
runuser=monitoring rungroup=monitoring
директория где расположены cron настройки:
cronpath=/etc/cron.d
путь к инициализационному скрипту
crond crond=/etc/init.d/crond
директория где находятся настройки apache
apachconfdir=/etc/apache/conf
файл конфигурации apache:
apachconffile=apache.conf
путь к инициализационному скрипту apache
apached=/etc/init.d/apache
Теперь с правами рута выполните (нужно подождать 1 минуту, если не установили мониторинг сети, и 10 минут после установки мониторынга сети на последнем сервере, прежде чем выполнять следующую команду):
# ./monitoringinstall.sh --admin
В Gentoo просто
# monitoringinstall.sh --admin
884

Русское WIKI
Если видите ошибки, наверное надо:
1 поправить файлы конфигурации в admin/etc/ (/etc/monitoring)
2 посмотреть в /home/monitoring/hostname/err/...
3 удалить файлы с /home/monitoring/hostname/ и перезапустити скрипт
4 удалить базы данных с /var/db/monitoring/... и перезапустити скрипт
5 bin/net_telnet.pl читает только 500 строк входа. Если в Вас больше, отредактируйте його:
line 32: while [$и ne 500]
Тогда попробуйте еще, но добавьте имена сервисов, под рутом выполните:
# ./monitoringinstall.sh --admin=disk
# ./monitoringinstall.sh --admin=sensors
# ./monitoringinstall.sh --admin=system
# ./monitoringinstall.sh --admin=network
Если где-то допустили ошибку, можно просто выполнить monitoringuninstall.sh и попытаться еще раз. Можете пропустить следующий пункт.
Ручная установка программ
Устанавливаем скрипти для мониторинга, генерации базы данных и веб страницы скопировав с каталога monitoring/admin в каталог: /usr/ ($INSTALL_PATH), используя опцию –p для сохранения прав. Выполняем:
# cp -p admin/bin/* $INSTALL_PATH/bin/
# mkdir /etc/monitoring
# cp -p admin/etc/* /etc/monitoring/
# mkdir $INSTALL_PATH/share/monitoring
# cp -p admin/share/* $INSTALL_PATH/share/monitoring/
# mkdir -p /var/www/localhost/htdocs/administration/monitoring
# chmod 755 /var/www/localhost/htdocs/administration/monitoring/
# groupadd -g 1111 monitoring
# useradd -u 1111 -g monitoring -d /home/monitoring -s /bin/bash -c monitoring monitoring
# chmod -R 700 /home/monitoring
# chown -R monitoring:monitoring /home/monitoring
# chown -R monitoring:monitoring /var/www/localhost/htdocs/administration/monitoring/
И тогда выполняйте (подождите 1 минуту, если не устанавливали мониторинг сети, и 10 минут после установки мониторынга сети на последнем сервере,
885

Русское WIKI
прежде чем выполнять следующую команду):
# su monitoring
$ $INSTALL_PATH/bin/net.vert.1.sh
$ $INSTALL_PATH/bin/net.vert.10.sh создаются базы данных в каталоге /var/db/monitoring/имя_сервера/ для всех серверов с файлу /etc/monitoring/host и дополнительная конфигурация в
/home/monitoring
Выполняем:
$ $INSTALL_PATH/bin/png_graph.sh disk -1week 30min
$ $INSTALL_PATH/bin/png_graph.sh disk -1month 2hour
$ $INSTALL_PATH/bin/png_graph.sh disk -1year 1day
$ $INSTALL_PATH/bin/png_graph.sh network -1week 30min
$ $INSTALL_PATH/bin/png_graph.sh network -1month 2hour
$ $INSTALL_PATH/bin/png_graph.sh network -1year 1day
$ $INSTALL_PATH/bin/png_graph.sh sensors -2day 5min
$ $INSTALL_PATH/bin/png_graph.sh sensors -1week 30min
$ $INSTALL_PATH/bin/png_graph.sh sensors -1month 2hour
$ $INSTALL_PATH/bin/png_graph.sh sensors -1year 1day
$ $INSTALL_PATH/bin/png_graph.sh system -2day 5min
$ $INSTALL_PATH/bin/png_graph.sh system -1week 30min
$ $INSTALL_PATH/bin/png_graph.sh system -1month 2hour
$ $INSTALL_PATH/bin/png_graph.sh system -1year 1day
Если видите ошибки, наверное нужно:
1 поправить файлы конфигурации в /etc/monitoring
2 посмотреть в /home/monitoring/hostname/err/...
3 удалить файлы с /home/monitoring/hostname/ и перезапустить скрипт
4 удалить базы данных с /var/db/monitoring/... и перезапустить скрипт
5 bin/net_telnet.pl читает только 500 строк входа. Если в Вас больше, отредактируйте его:
line 32: while [$и ne 500]
Тогда попробуйте еще раз.
В каталоге /var/www/localhost/htdocs/administration/monitoring создаются начальная страница и каталоги с веб страницами для каждого сервера.
Если не возникло больше ошибок, используйте следующий файл для автоматизации всей работы с crond:
$ exit
# cat /etc/cron.d/monitoring
886

Русское WIKI
SHELL=/bin/bash
PATH=/bin:/usr/bin
MAILTO=root
HOME=/home/monitoring
LANG=POSIX
# Begin server part (may be you wont monitoring "admin" computer too)
*/1 * * * * monitoring /usr/bin/show_sar.sh
*/10 * * * * monitoring /usr/bin/show_iptables.sh
#GNU/Linux
#*/10 * * * * monitoring /usr/bin/show_ipfw.sh
#BSD
# End server part
# Begin disk admin part
*/30 * * * * monitoring /usr/bin/png_graph.sh hdisk -1week 30min
0 */2 * * * monitoring /usr/bin/png_graph.sh hdisk -1month 2hour
0 0 * * * monitoring /usr/bin/png_graph.sh hdisk -1year 1day
# End disk admin part
# Begin network admin part
*/30 * * * * monitoring /usr/bin/png_graph.sh network -1week 30min
0 */2 * * * monitoring /usr/bin/png_graph.sh network -1month 2hour
0 0 * * * monitoring /usr/bin/png_graph.sh network -1year 1day
# End network admin part
# Begin system admin part
*/5 * * * * monitoring /usr/bin/png_graph.sh system -2day 5min
*/30 * * * * monitoring /usr/bin/png_graph.sh system -1week 30min
0 */2 * * * monitoring /usr/bin/png_graph.sh system -1month 2hour
0 0 * * * monitoring /usr/bin/png_graph.sh system -1year 1day
# End system admin part
# Begin sensors admin part
*/5 * * * * monitoring /usr/bin/png_graph.sh sensors -2day 5min
*/30 * * * * monitoring /usr/bin/png_graph.sh sensors -1week 30min
0 */2 * * * monitoring /usr/bin/png_graph.sh sensors -1month 2hour
0 0 * * * monitoring /usr/bin/png_graph.sh sensors -1year 1day
# End sensors admin part
# Begin vert admin part
*/1 * * * * monitoring /usr/bin/net.vert.1.sh
887

Русское WIKI
*/10 * * * * monitoring /usr/bin/net.vert.10.sh
# End vert admin part
Выполняем:
# /etc/init.d/crond restart
Если все хорошо
Теперь заходим Вашим любимым браузером на страницу http://servername/administration/monitoring/index.html. Здесь уже можем выбрать ссылки на сервер, который вас интересует :)
Добавление новых серверов
Если Вам когда-то придется добавить новый сервер, достаточно будет сделать следующее:
1. Выполнить для него пункт 2 („Серверная” сторона)
2. Добавить его имя в файл /etc/monitoring/host
Всё остальное создастся само !!! Наслаждайтесь :)))
Альтернативы
Если Вы недовольны реализацией мониторинга таким образом (по моему мнению достаточно неплохое решение ;)) подберите себе лучшую. Вот некоторый перечень альтернатив или дополнений :=)
Angel Network Monitor http://www.paganini.net/angel/
Autostatus http://www.angio.net/consult/autostatus/
Cacti http://cacti.net
HiWAyS http://www.hiways.org/
MARS http://www.altara.org/mars.html
Mon http://www.kernel.org/software/mon/
Monit http://www.tildeslash.com/monit/
Nagios http://www.nagios.org
Netup (French) http://www.pasteur.fr/units/sis/netup/
NocMonitor http://www2.discpro.org/nocmon/
NodeWatch http://www.skendric.com/nodewatch/
Penemo http://www.communityprojects.org/apps/penemo/
PIKT http://pikt.org/
888

Русское WIKI
RITW http://www.terravista.pt/Ancora/1883/ritw_e.html
RRDWorld http://oss.oetiker.ch/rrdtool/rrdworld/index.en.html
Scotty http://wwwhome.cs.utwente.nl/
schoenw/scotty/
Spong http://spong.sourceforge.net/
Sysmon http://www.sysmon.org/
ZABBIX http://www.zabbix.com
ZEUS http://www.zeus.com/
Настройка X
Настройка русских шрифтов в X
Введение
Введение временное
Ну вот и начался этот проект, призванный восполнить достаточно широкий пробел в документации по настройке шрифтов в Иксах. Надеюсь многочисленные русские пользователи проявят некую сознательность и отпишут сюда пару строчек.
Кто принимает участие
Macil - линуксоид из Ярославля. Обитает на yar.lancktelecom.ru/talk, forum.median.ru, а также Macil [at] jabber.ru
Wanderer - пользователь Linux из Москвы. Всерьез занимаюсь изучением и использоваением Linux последние 4 года, до этого просто приглядывался ;-). На
Gentoo пересел почти год назад и ничуть не жалею и даже наоборот, очень этим доволен. Связаться со мной можно посредством e-mail (wanderer_mg [at] mail.ru) или jabber (wanderer [at] jabber.ru).
Две системы рисования шрифтов
Исторически в X Window System существует 2 системы рисования шрифтов.
Родная (core) и Xft.
Родная система – прямой потомок системы рисования шрифтов, введенной в
X11R1, выпущенной в 1987 году. Изначально она могла рисовать только монохромные растровые шрифты, но на протяжении всех этих лет предпринимались более-менее успешные попытки заставить ее работать с векторными шрифтами.
889

Русское WIKI
Xft не является неотъемлемой частью X, хотя возможно будет ей в будущем. Это значит, что она распространяется не со всеми реализациями X. Она проектировалась для работы с векторными шрифтами, и делает это достаточно эффективно. В отличие от родной системы рисования, Xft поддерживает anti- aliasing и sub-pixel rasterisation. Кроме того, она позволяет приложениям полностью контролировать то, как будут рисоваться шрифты, обеспечивая возможность создания WYSIWYG приложений.
Нужно ли уточнять что эти две подсистемы совершенно не совместимы на уровне
API? Из-за достаточно анархичного развития X в последнее время, возникла большая путаница в определениях и версиях используемых библиотек.
//Источник: вольный перевод файла README.fonts
Хft
Введение в Xft
Xft это библиотека, которая предоставляет клиентский API для рисования шрифтов. В настоящее время версия Xft 2.0 использует библиотеки fontconfig и freetype для выбора шрифтов и их рисования, соответственно. Xft 1.0 использовала внутренний механизм конфигурации, что было не очень хорошей идеей так как KDE и Pango "заимствовали" механизм конфигурации шрифтов и создали еще большую путаницу. Подробности можно посмотреть [здесь].
Нужно запомнить 3 вещи:
fontconfig - для конфигурации
freetype - для рисования
XFT - связывает все во едино
Freetype - библиотека рисования шрифтов
[Freetype] - совершенно независимый от кого-либо проект по созданию библиотеки рисования шрифтов. Библиотека предоставляет достаточно простой
API, но поскольку обычные приложения заинтересованы в более высокоуровневых сервисах, в чистом виде не используется. Вместе с X идет модифицированная freetype, предназначенная для поддержки векторных шрифтов родной системой рисования. Я не вижу смысла даже пытаться ее компилировать
(она компилируется в модуль freetype), так как большинство приложений перешли на использование Xft и путанице со шрифтами приходит конец. Рендеринг векторных шрифтов очень сложный процесс, и к сожалению, freetype не может его выполнять до конца и в некоторых шрифтах появляются не очень приятные артефакты. Но ничего лучшего (открытого и бесплатного) пока нет... Как обычно, существует 2 версии freetype: freetype1 и freetype2. Отличия их в том, что freetype1 890

Русское WIKI
может рисовать тоько шрифты формата TrueType. Сложно найти современный дистрибутив, где отсутствует freetype2.
Теория рендеринга векторных шрифтов
Что такое hinting
На английском много информации о hinting можно найти тут http://www.myfonts.com/activity/hinting/
Не уверен, однако, что можно тут публиковать такие ссылки.
Это — незавершённая статья. Вы можете помочь проекту, исправив и дополнив материал.



Поделитесь с Вашими друзьями:
1   ...   69   70   71   72   73   74   75   76   ...   79


База данных защищена авторским правом ©nethash.ru 2019
обратиться к администрации

войти | регистрация
    Главная страница


загрузить материал