Сборник статей Handbook inside ! : Linux не для идиотов inside ! : Версия 1 от 15. 07. 2007 2007


Руководство по настройке Samba в режиме PDC с использованием



Pdf просмотр
страница38/50
Дата14.11.2016
Размер5.65 Mb.
Просмотров7984
Скачиваний0
ТипСборник статей
1   ...   34   35   36   37   38   39   40   41   ...   50
Руководство по настройке Samba в режиме PDC с использованием
LDAP
Устанавливаемые пакеты
Установим нужные пакеты:
# USE="ldap acl ldapsam pam gdbm samba ssl tcpd winbind" emerge samba openldap acl nss_ldap pam_ldap
ВАЖНО: Версия nss_ldap должна быть не ниже 250-r1 (>=sys-auth/nss_ldap-250-r1)
[править]
OpenLDAP
[править]
Конфигурирование OpenLDAP
Для примера используется домен amber.global.com который является дочерним доменом домена global.com, который работает под управлением Win2003 Server.
Примечание: Не решенной задачей осталось создание доверительных отношений между доменами и включение домена amber в лес global.com
Файл: /etc/openldap/slapd.conf include /etc/openldap/schema/core.schema include /etc/openldap/schema/cosine.schema include /etc/openldap/schema/inetorgperson.schema include /etc/openldap/schema/misc.schema include /etc/openldap/schema/nis.schema include /etc/openldap/schema/openldap.schema include /etc/openldap/schema/samba.schema pidfile
/var/run/openldap/slapd.pid argsfile
/var/run/openldap/slapd.args access to dn.base=""
by self write by * auth
554
access to attr=userPassword by self write by * auth access to attr=shadowLastChange by self write by * read access to *
by * read by anonymous auth
#loglevel 1
database ldbm suffix "dc=amber,dc=global,dc=com"
rootdn "cn=Manager,dc=amber,dc=global,dc=com"
# Пароль rootpw лучше всего указывать в зашифрованном виде.
# Для генерации шифрованного пароля используйте утилиту slappasswd
# Например: slappasswd -h {MD5}
# rootpw = secret rootpw
{MD5}Xr4ilOzQ4PCOq3aQ0qbuaQ==
directory
/var/lib/openldap-ldbm index objectClass eq index cn eq,subinitial index sn eq,subinitial index uid eq,subinitial index displayName eq,subinitial index uidNumber eq index gidNumber eq index memberUID eq index sambaSID eq index sambaPrimaryGroupSID eq index sambaDomainName eq
Файл: /etc/openldap/ldap.conf
HOST 127.0.0.1
BASE dc=sanaa,dc=global,dc=com
555

Проверяем разрешения на каталоги /var/lib/openldap-*
ls -la /var/lib/
ВАЖНО: drwx------ 2 ldap ldap 104 Июн 8 18:31 openldap-data drwx------ 2 ldap ldap 72 Июн 8 18:31 openldap-ldbm drwx------ 2 ldap ldap 72 Июн 8 18:31 openldap-slurp
[править]
Запуск сервера OpenLDAP
пока работаем без шифрования трафика, так как сервер LDAP и SAMBA работают на одном сервере, подправляем конфиг чтобы LDAP слушал 389 порт только на localhost. Файл: /etc/conf.d/sldap
# conf.d file for the openldap-2.1 series
#
# To enable both the standard unciphered server and the ssl encrypted
# one uncomment this line or set any other server starting options
# you may desire.
#
# OPTS="-h 'ldaps:// ldap:// ldapi://%2fvar%2frun%2fopenldap%2fslapd.sock'"
OPTS="-h 'ldap://127.0.0.1'"
и запускаем OpenLDAP
/etc/init.d/slapd start
[править]
SAMBA
[править]
Миграция OpenLDAP
Существует 2 пути создания учетных записей пользователей: домен уже существует и создание нового домена. В первом случае самбу нужно настроить в режиме BDC, перенести все учетные записи, и потом изолировав PDC, перезапустить самбу в режиме PDC. Во втором случае все еще проще, самбу сразу запускаем в режиме
PDC и создаем стандарные учетные записи при помощи замечательного пакета smbldap-tools.
556
emerge smbldap-tools
/etc/init.d/samba start
Code: configure.pl
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- smbldap-tools script configuration
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Before starting, check
. if your samba controller is up and running.
. if the domain SID is defined (you can get it with the 'net getlocalsid')
. you can leave the configuration using the Crtl-c key combination
. empty value can be set with the "." character
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Looking for configuration files...
Samba Configuration File Path [/etc/samba/smb.conf] >
The default directory in which the smbldap configuration files are stored is shown.
If you need to change this, enter the full directory path, then press enter to continue.
Smbldap-tools Configuration Directory Path [/etc/smbldap-tools/] >
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Let's start configuring the smbldap-tools scripts ...
. workgroup name: name of the domain Samba act as a PDC
workgroup name [amber] >
. netbios name: netbios name of the samba controler netbios name [neptun] >
. logon drive: local path to which the home directory will be connected
(for NT Workstations). Ex: 'H:'
logon drive [U:] >
. logon home: home directory location (for Win95/98 or NT Workstation).
(use %U as username) Ex:'\\neptun\%U'
logon home (press the "." character if you don't want homeDirectory) [\\%L\users\%U] >
. logon path: directory where roaming profiles are stored. Ex:'\\neptun\profiles\%U'
logon path (press the "." character if you don't want roaming profile) [\\%L\Profiles\%a\%U] >
557

. home directory prefix (use %U as username) [/home/%U] >
. default users' homeDirectory mode [700] >
. default user netlogon script (use %U as username) [] >
default password validation time (time in days) [45] > 900
. ldap suffix [dc=amber,dc=global,dc=com] >
. ldap group suffix [ou=Groups] >
. ldap user suffix [ou=Users] >
. ldap machine suffix [ou=Users] >
. Idmap suffix [ou=Idmap] >
. sambaUnixIdPooldn: object where you want to store the next uidNumber and gidNumber available for new users and groups sambaUnixIdPooldn object (relative to ${suffix}) [sambaDomainName=amber] >
. ldap master server: IP adress or DNS name of the master (writable) ldap server ldap master server [127.0.0.1] >
. ldap master port [389] >
. ldap master bind dn [cn=Manager,dc=amber,dc=global,dc=com] >
. ldap master bind password [] >
. ldap slave server: IP adress or DNS name of the slave ldap server: can also be the master one ldap slave server [127.0.0.1] >
. ldap slave port [389] >
. ldap slave bind dn [cn=Manager,dc=amber,dc=global,dc=com] >
. ldap slave bind password [] >
. ldap tls support (1/0) [0] >
. SID for domain amber: SID of the domain (can be obtained with 'net getlocalsid neptun')
SID for domain amber [S-1-5-21-1918777035-593721947-2697221154] >
. unix password encryption: encryption used for unix passwords unix password encryption (CRYPT, MD5, SMD5, SSHA, SHA) [SSHA] > MD5
. default user gidNumber [513] >
. default computer gidNumber [515] >
. default login shell [/bin/bash] >
. default skeleton directory [/etc/skel] >
. default domain name to append to mail adress [] >
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
backup old configuration files:
/etc/smbldap-tools/smbldap.conf->/etc/smbldap-tools/smbldap.conf.old
/etc/smbldap-tools/smbldap_bind.conf->/etc/smbldap-tools/smbldap_bind.conf.old
558
writing new configuration file:
/etc/smbldap-tools/smbldap.conf done.
/etc/smbldap-tools/smbldap_bind.conf done.
Если мы не хотим, что бы у всех пользователей профили были перемещаемыми, то в файле /etc/smbldap-tools/smbldap.conf установим следующее значение: Файл:
/etc/smbldap-tools/smbldap.conf userProfile=""
Инициализируем каталоги самбы в LDAP: smbldap-populate -a Administrator -k 0 -m 0
[править]
Конфигурация SAMBAФайл: /etc/samba/smb.conf
[global]
workgroup = amber netbios name = neptun realm = amber.global.com nt acl support = yes acl compatibility = win2k map acl inherit = yes server string = Samba Server %v interfaces = eth0
bind interfaces only = yes hosts allow = 192.168.7. 127.
log file = /var/log/samba/log.%m debug level = 9
max log size = 500
socket options = TCP_NODELAY SO_SNDBUF=8192 SO_RCVBUF=8192
security = user
559
os level = 250
passdb backend = ldapsam:"ldap://127.0.0.1/"
enable privileges = yes passwd program = /usr/sbin/smbldap-passwd "%u"
passwd chat = *new*password* %n\n *new*password* %n\n *successfully*
passdb expand explicit = no unix password sync = no ldap passwd sync = no ldap suffix = dc=amber,dc=global,dc=com ldap admin dn = cn=Manager,dc=amber,dc=global,dc=com ldap user suffix = ou=Users ldap group suffix = ou=Groups
# Т.к. для самбы компьютеры и пользователи - одно и то же,
# и искать она в дальнейшем записи компьютеров будет в пользователях,
# то для избежания дальнейших проблем при добавлении рабочих станций
# к домену мы вместо следующей строки
#
#
ldap machine suffix = ou=Computers
#
# напишем другую:
ldap machine suffix = ou=Users ldap idmap suffix = ou=Idmap idmap backend = ldapsam:ldap://127.0.0.1/
idmap uid = 10000-20000
idmap gid = 10000-20000
ldap delete dn = Yes ldap ssl = no add user script = /usr/sbin/smbldap-useradd -n -a "%u"
delete user script = /usr/sbin/smbldap-userdel "%u"
add group script = /usr/sbin/smbldap-groupadd -p "%g"
delete group script = /usr/sbin/smbldap-userdel "%g"
560
add user to group script = /usr/sbin/smbldap-groupmod -m "%u" "%g"
delete user from group script = /usr/sbin/smbldap-groupmod -x "%u" "%g"
set primary group script = /usr/sbin/smbldap-usermod -g "%g" "%u"
add machine script = /usr/sbin/smbldap-useradd -w "%u"
#PDC
domain master = yes preferred master = yes
#BDC
#
domain master = no
#
preferred master = no domain logons = Yes logon script =
# Если хотите, что бы профили всех пользователей были перемещаемыми
# и хранились на сервере (со всеми гигабайтами фильмов и личных фотографий)
# то укажите такое значение следующего параметра:
#
#
logon path = \\%L\Profiles\%a\%U
#
# Если вы не хотите гонять профили по сети, оставьте значение пустым,
# (но ни в коем случае не комментируйте эту строку, она просто получит
# значение по умолчанию), вот так:
logon path =
logon drive = U: logon home = \\%L\users\%U
#============================ Share Definitions
==============================
[netlogon]
comment = Network Logon Service path = /var/lib/samba/netlogon browseable = yes
561
guest ok = yes writable = no share modes = no
[Profiles]
admin users = admin create mode = 600
directory mode = 700
path = /var/lib/samba/profiles browseable = yes guest ok = yes writable = yes
[homes]
comment = Home Directories browseable = no read only = no
[public]
path = /pub guest ok = yes read only = no
[users]
path = /home/users writable = yes printable = no
Добавим запуск winbind с самбой (если нужно): Файл: /etc/conf.d/samba daemon_list="smbd nmbd winbind"
562

Введём пароль рабочей станции: smbpasswd -w secret
Введём контроллёр домена, собственно в домен net rpc join -S neptun -U Administrator
[править]
Настройка системы на авторизацию в LDAP
--ladserg 14:05, 28 июля 2006 (UTC) У меня честно говоря не получилось сделать авторизацию пользователей samba через LDAP без настройки поддержки авторизации системных пользователей в LDAP, пришлось настраивать и это.
Сначала поправим файл /etc/ldap.conf, приведя его примерно к следующему виду:
Файл: /etc/ldap.conf host 127.0.0.1
base dc=amber,dc=global,dc=com ldap_version 3
rootbinddn cn=Manager,dc=amber,dc=global,dc=com bind_timelimit 10
bind_policy soft pam_filter objectClass=posixAccount pam_password exop nss_base_passwd ou=Users,dc=tty,dc=perm,dc=ru?one nss_base_shadow ou=Users,dc=tty,dc=perm,dc=ru?one nss_base_group ou=Groups,dc=tty,dc=perm,dc=ru?one nss_base_hosts ou=Hosts,dc=tty,dc=perm,dc=ru?one nss_base_services ou=Services,dc=tty,dc=perm,dc=ru?one nss_base_networks ou=Networks,dc=tty,dc=perm,dc=ru?one nss_base_protocols ou=Protocols,dc=tty,dc=perm,dc=ru?one nss_base_rpc ou=Rpc,dc=tty,dc=perm,dc=ru?one nss_base_ethers ou=Ethers,dc=tty,dc=perm,dc=ru?one nss_base_netmasks ou=Networks,dc=tty,dc=perm,dc=ru?one nss_base_bootparams ou=Ethers,dc=tty,dc=perm,dc=ru?one nss_base_aliases ou=Aliases,dc=tty,dc=perm,dc=ru?one
563
nss_base_netgroup ou=Netgroup,dc=tty,dc=perm,dc=ru?one ssl off nss_reconnect_tries 4
nss_reconnect_sleeptime 1
nss_reconnect_maxsleeptime 16
nss_reconnect_maxconntries 2
Сим мы скажем nss_ldap где и как искать зписи пользователей и групп.
Теперь сзодадим файл /etc/ldap.secret и при помощи лбого текстого редактора в plain/text виде занесём туда пароль пользователя, который выше у нас указан в опции rootbinddn, нпример пароль secret: Файл: /etc/ldap.secret secret
Затем непременно установим на него нужные права: Code: Установка прав на файл
/etc/ldap.secret
#chmod 600 /etc/ldap.secret
#chown root:root /etc/ldap.secret
Далее приведём файл /etc/pam.d/system-auth к следующему виду: Файл:
/etc/pam.d/system-auth auth required pam_env.so auth sufficient pam_unix.so likeauth nullok auth sufficient pam_ldap.so use_first_pass auth required pam_deny.so account sufficient pam_ldap.so account required pam_unix.so password required pam_cracklib.so difok=2 minlen=8 dcredit=2 ocredit=2 retry=3
password sufficient pam_unix.so nullok md5 shadow use_authtok password sufficient pam_ldap.so use_authtok password required pam_deny.so
564
session required pam_limits.so session required pam_unix.so session required pam_mkhomedir.so skel=/etc/skel/ umask=077
session optional pam_ldap.so
Обратите внимание на строку: session required pam_mkhomedir.so skel=/etc/skel/ umask=077
Она заставляет систему создавать домашние каталоги для тех пользоватей у которых они ещё не созданы, при этом в новый каталог помещается содержимое директории /etc/skel/ и задаётся маска каталога 0x700
После чего правим файл /etc/nsswitch.conf, приводя его к следующему виду: Файл:
/etc/nsswitch.conf passwd: files ldap shadow: files ldap group: files ldap hosts: files dns networks: files dns services: db files protocols: db files rpc: ldap [NOTFOUND=return] db files ethers: ldap [NOTFOUND=return] db files netmasks: files netgroup: ldap [NOTFOUND=return] files bootparams: files automount: files aliases: files
Предупреждение: Ни в коем случае не добавляйте значение ldap к следующим базам: hosts, networks, protocols, services. Иначе вы рискуете не дождаться следующей загрузки системы.
565

Всё, теперь мы указали системе брать пользователей как из системных файлов, так и из LDAP.
Перезагрузим наш компьютер, дабы убедиться что система грузится нормально.
Если система останавливается на загрузке udev, то смотрите ошибки в файле
/etc/nsswitch.conf, может вы указали использовать ldap не в той базе.
[править]
Управление пользователями
Ранее мы установили пакет smbldap-tools, теперь рассмотрим возможность управления пользователями с его помощью.
[править]
Создание пользователя smbldap-useradd [-o] [-a] [-b] [-w] [-i] [-u uid] [-g gid ] [-G groups,,,]
[-n] [-d home] [-s shell] [-c gecos] [-m [-k]] [-t] [-P] [-A 0|1] [-B 0|1]
[-C sambaHomePath] [-D sambaHomeDrive] [-E sambaLogonScript] [-F sambaProfilePath]
[-H sambaAcctFlags] [-N surname] [-S family name] [-M local mailAddress,,,]
[-T mailToAddress] [-?] user
Где: user - системное имя создаваемого пользователя
-o - add the user in the organizational unit (relative to the user suffix)
-a - is a Windows User (otherwise, Posix stuff only)
-b - is a AIX User
-w - is a Windows Workstation (otherwise, Posix stuff only)
-i - is a trust account (Windows Workstation)
-u - uid
-g - gid
-G - список групп пользователя, разделённых запятой.
-n - do not create a group
-d - домашний каталог пользователя (по умолчанию /home/имя_пользователя)
-s - оболочка пользователя (по умолчанию /bin/false)
-c - отображаемое в Windows имя пользователя
-m - создать домашний каталог и скопировать в него файлы из /etc/skel
-k - указать иной каталог, из которого будут копироваться файлы при создании домашнего каталога пользователя (используется с ключём -m)
-t - time. Wait 'time' seconds before exiting (when adding Windows Workstation)
-P - ends by invoking smbldap-passwd
566

-A - возможность менять пароль пользователем, значение 0 если нет, 1 если да
-B - пользователь должен поменять пароль, значение 0 если нет, 1 если да
-C - домашний каталог samba (например '\\PDC-SRV\homes')
-D - буква диска для монтирования домашнего каталога samba (например 'H:')
-E - скрипт, выполняемый при входе в систему
-F - каталог профиля пользователя (например '\\PDC-SRV\profiles\foo')
-H - sambaAcctFlags (samba account control bits like '[NDHTUMWSLKI]')
-N - настоящее имя пользователя (для русских ещё и отчество)
-S - фамилия пользователя
-M - local mailAddress (comma seperated)
-T - mailToAddress (forward address) (comma seperated)
-? - отобразить помощь
Например создание пользователя ladserg: smbldap-useradd -a -c 'Serg Alex Lad' -N 'Serg Alex' -S 'Lad' -s /bin/bash ladserg
К сожалению подружить smbldap-tools с русским мне не удалось, даже при использовании кодировки UTF-8.
Итак, в приведённом выше примере будет создан пользователь с системным именем ladserg, фамилией Lad, именем Serg Alex, оболочкой /bin/bash, домашним каталогом /home/ladserg. Флаг -a укажет, что пользователь также будет являться пользователем домена.
[править]
Изменение пароля smbldap-passwd [-s] [-u] [-h] username
Где: username - имя пользователя
-h, -?, --help - показать помощь
-s - обновить только samba пароль
-u - обновить только UNIX пароль
Например: smbldap-passwd ladserg
567

После чего дважды будет запрошен пароль.
Теперь можно попробовать зайти в систему под учётной записью только что созданного пользователя.
[править]
Модификация пользователя smbldap-usermod [-a] [-c comment] [-d home_dir] [-e expiration_date]
[-g initial_group] [-r new_login_name] [-p passwd] [-s shell] [-u uid [ -o]] [-x]
[-A canchange] [-B mustchange] [-C smbhome] [-D homedrive] [-E scriptpath]
[-F profilepath] [-G group[,...]] [-H acctfl ags] [-N canonical_name]
[-S surname] [-P] login
Где:
-c - Полное имя
-d - Домашний каталог
-r - новое имя пользователя (cn, sn и dn будут обновлены)
-u - uid
-o - uid может быть не уникальным
-g - gid
-G - список групп пользователя, разделённых запятой.
-s - оболочка
-N - настоящее имя пользователя (для русских ещё и отчество)
-S - фамилия пользователя
-P - ends by invoking smbldap-passwd
For samba users:
-a - add sambaSAMAccount objectclass
-e - expire date ("YYYY-MM-DD HH:MM:SS")
-A - возможность менять пароль пользователем, значение 0 если нет, 1 если да
-B - пользователь должен поменять пароль, значение 0 если нет, 1 если да
-C - домашний каталог samba (например '\\PDC-SRV\homes')
-D - буква диска для монтирования домашнего каталога samba (например 'H:')
-E - скрипт, выполняемый при входе в систему
-F - каталог профиля пользователя (например '\\PDC-SRV\profiles\foo')
-H - sambaAcctFlags (samba account control bits like '[NDHTUMWSLKI]')
-I - disable an user. Can't be used with -H or -J
-J - enable an user. Can't be used with -H or -I
-M - mailAddresses (comma seperated)
-T - mailToAddress (forward address) (comma seperated)
568

-?|-h - отобразить помощь
Например комманда: smbldap-usermod -A 1 ladserg
Позволит пользователю ladserg менять пароль. А комманда: smbldap-usermod -a slad-adm
Добавит к учётной записи пользователя slad-adm класс sambaSAMAccount, что сделает его пользователем samba.
[править]
Удаление пользователя smbldap-userdel [-r|-R|-?] username
Где:
-r удалить домашний каталог
-R удалить домашний каталог с запросом на удаление каждого файла
-? отобразить помощь
Например команда: smbldap-userdel -r slad-adm удалит пользователя slad-adm, и его домашний каталог.
[править]
Управление пользователями в оффтопике
Если вы вводите в домен компьютеры под управлением Windows, то вам пригодятся пара утилит, архив которых можно скачать отсюда: ftp://ftp.microsoft.com/Softlib/MSLFILES/SRVTOOLS.EXE
Мониторинг работы системы
Введение
В данной статье описывается, как осуществить мониторинг разных системных и физических параметров компьютеров, работающих под GNU/Linux или другими
569

UNIX.
[править]
Постановка задачи
Нужно осуществлять постоянный мониторинг основных параметров работы компьютеров (физических и системных) через сеть, собирать и выдавать эту информацию в удобной форме.
Для примера см: http://monitoring.sourceforge.net/example.html
К основным системным параметрам относят: загрузка процессоров
(пользователями, системой, привилегированными программами, свободное процессорное время), использования оперативной памяти (и многие другие, всего больше 100), дисков, сетевого трафика. Для получения необходимых нам значений параметров работы системы используем программы df, sar и iptables или ipfw.
К физическим параметрам относят: температуру процессора и материнской платы, скорость вращения вентиляторов, напряжения питания. Для получения показателей датчиков материнских плат используется модуль ядра I2C и программа lm_sensors.
Для передачи информации через сеть используем клент-серверную модель и программу Net-Telnet. Базу данных строим пакетом rrdtool, информацию предоставляем через сервер apache и/или по почте. С помощью скриптов постараемся максимально упростить и автоматизировать поставленную задачу, это избавит вас от рутинной работы.
Программа работает по клиент-серверной технологии. На компьютерах, которые нужно мониторить, размещается часть программы, которая снимает различные показатели работы компьютера и выдает их по запросу через сеть. На одном административном компьютере осуществляется периодический опрос всех компьютеров, за которыми ведется наблюдение, данные записываются в специально созданную базу, и на её основе формируется html страница, которая экспортируется через apache для просмотра обычным браузером.
Теперь подробно о том, что нам нужно сделать:
Загружаем последнюю версию программы для мониторинга с сайта http://monitoring.sourceforge.net/ Файл monitoring-*.tar.bz2 размещаем в доступном месте, например в папке локального ftp: /var/ftp/pub/linux.
[править]
"Серверная" сторона
Разархивируйте monitoring-*.tar.bz2.
570

У 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="server", а для поддержки мониторинга датчиков USE="lm_sensors"
# export "USE=lm_sensors server"
# emerge monitoring
Компиляция и установка lm_sensors, sysstat, iptables, coreutils, xinetd в случае использования Gentoo можно пропустить, потому что эти пакеты уже установлены как зависимости, и перейти сразу к их настройке.
[править]
Мониторинг физических параметров
Определяем на базе какого чипсета сделаны платы: материнская, видеокарта
(некоторые имеют датчики) и прочие, заходим на страницы: http://secure.netroedge.com/
lm78/supported.html и http://www.lm- sensors.nu/
lm78/newdrivers.html и ищем, есть ли драйверы для мониторинга этих плат под Линуксом. Если определили, что ваши чипсеты поддерживаются и драйвер стабильный, можете продолжить выполнение этого пункта.
Внимание, если версия ядра меньше за 2.4.9, нужно обновить ядро или воспользоваться старой версией программы! смотрите: i2c. Если ядро версии 2.4.*, вам дополнительно нужен СООТВЕТСТВУЮЩИЙ! модуль i2c-*.*.*.tar.gz, родной
Линуксовый не подходит. В версии ядра 2.6.* все хорошо - отлично работает родной модуль ядра i2c.
[править]
Компиляция ядра
Подробную инструкцию по сборке нового ядра можно прочесть по ссылке "Ставим ядро 2.6, или Ядерная физика для домохозяйки. Версия 2.0"
Обратите особое внимание на пункты, которые добавляют к ядру GNU/Linux поддержку сенсоров:
Для поддержания ACPI:
571

Power management options (ACPI, APM) ---> ACPI (Advanced Configuration and Power
Interface) Support --->
Для поддержки IPMI стандарта управления сенсорами.
Device Drivers ---> Character devices ---> IPMI --->
Включаем поддержку сенсоров в ядре
Device Drivers ---> I2C support --->
Выбираем алгоритмы, использующие ваши чипы
Device Drivers ---> I2C support ---> I2C Algorithms --->
Вибираем ваш чипсет (внимание, здесь нужно указать чипсет именно вашей системной платы, или видеокарты, см. ниже):
Device Drivers ---> I2C support ---> I2C Hardware Bus support --->
Device Drivers ---> I2C support ---> Miscellaneous I2C Chip support --->
Выбираем драйверы ко всем вашим сенсорам (внимание, именно тех, соответствующих вашим чипам, предыдущим пунктам):
Device Drivers ---> Hardware Monitoring support --->
Можно собрать необходимые драйверы как модули, хотя это несколько добавит работы при настройке (нужно будет запустить программу sensors-detect). Для мониторинга сети можно использовать netfilter (iptables) и прочие опции...
[править]
Если Ваше аппаратное обеспечения поддерживается, установите lm_sensors
Загружаем с: lm_sensors, свеженькую версию lm_sensors-*.*.*.tar.gz. Разархивируем lm_sensors-*.*.*.tar.gz Заходим в директорию, какая создалась и выполняем:
# make user
# make user_install
# depmod -a
Проверяем, есть ли строка /usr/local/lib в файле /etc/ld.so.conf, если нет, добавляем и выполняем команду:
# ldconfig
[править]
Настройка lm_sensors
572

Выполняем команду
# prog/mkdev/mkdev.sh
Чтобы правильно определить ваше оборудование и знать, какие модули нужно загрузить, выполним:
# prog/detect/sensors-detect именно этот скрипт и указывает, какие у вас чипсеты, и какие в них сенсоры!
Добавляем строки, созданные программой для modules.conf в /etc/modules.conf
Копируем prog/init/lm_sensors.init в каталог /etc/rc.d/init.d/lm_sensors (назначить права для исполнения).
Добавляем строки, которые создала программа prog/detect/sensors-detect с modprobe и sensors -s например, в конец файла /etc/conf.d/local.start - чтобы они загружались при старте системы или можно запускать как сервис:
для Gentoo выполняем:
# rc-update -a lm_sensors default
Только для клонов RedHat выполняем:
# chkconfig --add lm_sensors копируем prog/init/lm_sensors.sysconfig в /etc/sysconfig/lm_sensors копируем etc/sensors.conf.eg в /etc/sensors.conf копируем prog/sensors/sensors в каталог /usr/bin/sensors (предоставить права на выполнение)
Все теперь выполняют modprobe с параметрами, которые указала программа sensors-detect для загрузки модулей, потом выполняем:
# sensors -s
Корректируем /etc/sensors.conf таким образом, чтобы названия напряжений, скорости вентиляторов и температур, именно Ваших чипов содержали соответственно: "Volt", "Fan", "Temp". При этом, названия меток допускают только малые и большие латинские буквы, цифры, знак "_", и не должны содержать знаков
„.”, ”/” или ”+”! Выполнение этих условий обязательно!!!
Пример /etc/sensors.conf можно найти в server/etc/sensors.conf
Например, для lm85*:
# cat /etc/sensors.conf
573

# Voltage inputs label in0 "VoltA1_5" # AGP on Intel S845WD1-E
label in1 "Volt1_5"
label in2 "Volt3_3"
label in3 "Volt5"
label in4 "Volt12"
# Temperature inputs label temp1 "TempCPU"
label temp2 "TempMB1"
label temp3 "TempMB2"
# Fan inputs label fan1 "FanCPU"
label fan2 "FanSys1"
label fan3 "FanSys2"
label fan4 "FanSys3"
# PWM Outputs label pwm1 "CPUF_PWM"
label pwm2 "SysF1_PWM"
label pwm3 "SysF2_PWM"
Теперь выполним команду sensors, и если у нас все получилось, то увидим примерно следующее:
# sensors lm85b-i2c-0-2e
Adapter: SMBus I801 adapter at c800
VoltA1_5: +1.48 V (min = +1.42 V, max = +1.58 V)
Volt1_5: +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.31 V (min = +11.38 V, max = +12.62 V)
FanCPU: 3360 RPM (min = 3000 RPM)
TempCPU: +36C (low = +10C, high = +60C)
TempMB1: +33C (low = +10C, high = +45C)
TempMB2: +33C (low = +10C, high = +45C)
CPUF_PWM: 255
SysF1_PWM: 255
SysF2_PWM: 77 574
vid: +1.525 V (VRM Version 9.1)
Если у вас названия напряжений, скорости вентиляторов и температуры не содержат соответственно: "Volt", "Fan", "Temp" - обязательно отредактируйте файл
/etc/sensors.conf как показано выше.
[править]
Мониторинг системных параметров
[править]
Установка sysstat
Загружаем последнюю версию пакета sysstat с сайта http://perso.wanadoo.fr/sebastien.godard/ или ftp://ibiblio.org/pub/Linux/system/status/
Розархивируем файл sysstat-*.*.*.tar.bz2 в /usr/src
Заходим в созданный каталог и выполняем:
# make config
#Отвечаем на вопросы только 'y' или 'n'
# make
# make install
Теперь из командной строки пробуем:
# sar -A 1 1 |grep Average:
Average: proc/s
Average: 0.00
Average: cswch/s
Average: 258.00
Average: CPU %user %nice %system %iowait %idle
Average: all 1.90 0.00 0.40 0.00 97.70
Average: runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15
Average: 0 83 0.06 0.15 0.16
[править]
Проверка df
# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda3 2007996 411772 1596224 71% /
/dev/sda1 132206 10981 114399 43% /boot
/dev/sda5 248895 4256 231789 2% /tmp
575

/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 none 254752 0 254752 0% /dev/shm
/usr/portage/distfiles 5863496 4479752 1383744 77% /var/ftp/pub/linux/distfiles
/usr/portage/packages 6843432 5128048 1715384 75% /var/ftp/pub/linux/packages
Если Вам выдало: bash: df: command not found установите df из пакета coreutils.
[править]
Мониторинг сети
Мониторинг сети основывается на подсчете байт, попадающих в правила сетевых экранов - iptables или ipfw, и поэтому они достаточно гибкие, но является зависимым от конфигурации сетевого экрана.
Если Вы хотите осуществлять мониторинг сети: просмотрите server/etc/show_network.conf (/etc/monitoring/show_network.conf) – это список графиков, которые Вы получите. Он должен отвечать названиям графиков в admin/etc/network (/etc/monitoring/network).
[править]
Linux iptables
Нужно откорректировать server/etc/show_iptables_acc.conf
(/etc/monitoring/show_network.conf)
1 колонка – название графика (должна отвечать show_network.conf, но с “in_*.N” или
“out_*.N”, где N – некоторый идентификатор, например число)
2 колонка – название таблицы
3 колонка – название цепочки с таблицы
4 колонка – порядковый номер правила с цепочки
Это всё должно отвечать Вашим правилам!
Простые примеры экранов находятся в server/firewall/* и если подходит Вам, можете использовать их.
Проверьте работу /usr/bin/show_iptables.sh. Результат найдёте в /home/monitoring
576

[править]
FreeBSD ipfw
Для BSD, надо откорректировать server/bin/show_ipf_acc.conf:
1 колонка – название графика
2 колонка – номер правила
3 колонка – порядковый номер правила в ipfw show
Это должно отвечать Вашим правилам!
Проверьте работу /usr/bin/show_ipfw.sh Результат в /home/monitoring
[править]
Некоторые важные системные настройки
Если нет xinetd – установите его. Загляньте в server/etc/host.allow (/etc/host.allow):
# BEGIN allow services for monitoring show_hdisk.sh:127.0.0.1 # IP ком п'ютера что мониторит show_sensors.sh:127.0.0.1 # IP ком п'ютера что мониторит show_info.sh:127.0.0.1 # IP ком п'ютера что мониторит show_system.sh:127.0.0.1 # IP ком п'ютера что мониторит show_network.sh:127.0.0.1 # IP ком п'ютера что мониторит
# END allow services for monitoring
Также некоторые из них вы можете изменить в server/bin/show_* и строки "only_from",
"bind" и "disable" в server/xinetd.d/show_*
$ cat server/xinetd.d/show_hdisk
# default: on
# description: The showdisk server show disk useg on the server.
# It dont uses authentication !!!!!!!!!!!!!!!.
service df
{
socket_type = stream wait = no user = monitoring bind = 127.0.0.1 # IP сетевого интерфейса, на котором мониторят
577
server = /usr/bin/show_hdisk.sh only_from = 127.0.0.1 # IP комп'ютера, который мониторит disable = no # Вкл./Выкл.
}
Откройте доступ к следующим портам: 9045/tcp 9046/tcp 9047/tcp 9048/tcp 9049/tcp с административного компьютера в случае наличия сетевых экранов. Если Вы хотите осуществить установку вручную, пропустите следующий пункт.
[править]
Автоматическая инсталляция
Для автоматической установки отредактируйте следующие строки в monitoringinstall.sh (/usr/sbin/monitoringinstall.sh):
# Edit this first:
# all command will execute user:
runuser=monitoring rungroup=monitoring
# cron cfg directory cronpath=/etc/cron.d
# init script locations:
crond=/etc/init.d/crond
# Edit only for server side:
# init script location:
xinetd=/etc/init.d/xinetd
# program location:
dfpath=/bin/df sarpath=/usr/bin/sar sensorspath=/usr/bin/sensors
Теперь с правами суперпользователя выполните:
# ./monitoringinstall.sh --server
В Gentoo просто:
# monitoringinstall.sh --server
Вы можете пропустить пункт следующий пункт и перейти к „административной” части системы.
[править]
Ручная установка
578

Копируем следующие файлы: cp server/etc/show_iptables_acc.conf /etc/monitoring #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 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.
579
и дополнительно выполнить:
# 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
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...
580

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.
# telnet server_name 9049
Trying serverIP...
Connected to server_name.
Escape character is '^]'.
581
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
582

Компиляцию и установление rrdtool, apache, Net-Telnet в случае использования
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
583

0.5:1:650 0.5:6:750 0.5:24:850 0.5:288:900
[править]
Инсталляция Net-Telnet
Данная версия программы для работы через сеть требует Net-Telnet perl модуль
(можно при желании использовать и netcat): из-за этого нужно установить perl (что пожалуй уже сделано). Дальше 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

584


Добавляем пользователя для просмотра веб страницы:
# htpasswd -bcm /var/www/localhost/htdocs/administration/passwd_file username password
Если все хорошо идем дальше.
[править]
Установка прграмм для мониторинга
В файл admin/etc/host (/etc/monitoring/host) вносим перечень серверов, которые нужно мониторить (имена должны разрешаться в IP адреса). Коректируем под свои потребности файл 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. Значение параметров принадлежащих одном файлу должны быть одного
585
типа!
system - первая колонка определяет какие графики получите и каждый ее элемент отвечать файлу из этого же каталога (см. выше). Вторая указывает через какие периоды времени база rrdtool будет принимать данные. Третья и четвертая колонка определяет минимальное и максимальное значение параметра которое еще может быть записано в базу. Пятая колонка определяет легенду (размерность).
colors - файл с номерами цветов в 16-ричной системе.
config - содержит имена конфигурационных файлов из этого же каталога отвечающие веб страницам что создаються (можно добавлять свои, но тогда их должны создать!).
disk - содержит названия графиков, периоды времени через которые база rrdtool будет принимать данные, минимальные и максимальные значение параметров которые мониторите, легенду (размерность).
network - содержит названия графиков, периоды времени через которые база 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) или пропустить этот пункт и следовать дальнейшей инструкции для установки в ручную. имя пользователя и группы:
586
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
Если видите ошибки, наверное надо:
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 и попытаться еще раз. Можете пропустить следующий пункт.
587

[править]
Ручная установка программ
Устанавливаем скрипти для мониторинга, генерации базы данных и веб страницы скопировав с каталога 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 минут после установки мониторынга сети на последнем сервере, прежде чем выполнять следующую команду):
# 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
588

$ $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
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
589

# 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
*/10 * * * * monitoring /usr/bin/net.vert.10.sh
# End vert admin part
Выполняем:
# /etc/init.d/crond restart
[править]
590

Если все хорошо
Теперь заходим Вашим любимым браузером на страницу 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/
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/
591
1   ...   34   35   36   37   38   39   40   41   ...   50


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

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


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