Symon удобна система за наблюдение, Linuxoid
отворен код завинаги
Лош е администраторът, който не контролира състоянието на системите на отделенията. Не си струва да мързелувате по този въпрос. Времето за инсталиране дори на най-простата система за наблюдение по-късно ще се изплати с лихва. Задачата се опростява от факта, че днес изборът на готови решения, разпространявани под безплатни лицензи, е доста голям. Системният монитор Symon има добра функционалност, много лесен за настройка, а графиките, които генерира, са ясни и информативни.
Symon инсталация
Symon System Monitor (www.xs4all.nl/
- сървърът symon всъщност е системен монитор, чиято задача е да събира и изпраща данни. За да събере някои системни параметри, които не изискват привилегирован достъп (CPU, RAM и други), може да работи с правата на обикновен потребител. По подразбиране, след стартиране, той преминава в chroot.
- symux клиент - получава symon потоци и ги съхранява в RRD файлове.
В същото време един symux може да получава и съответно да натрупва данни не само от локални, но и от няколко отдалечени сървъра. За анализ на събраните данни и издаване на информация на потребителя в удобна форма са предоставени още три приложения:
- syweb - набор от PHP скриптове, които използват RRDtool за създаване на графики въз основа на събраната информация;
- sylcd е клиент, предназначен да показва данни за мрежовото натоварване на текущия възел на различни LCD устройства (CrystalFontz и HD44780);

- SymuxClient.pm е "роден" модул на Perl, който идва с програмата getssymonitem.pl като пример за използване.
Освен това наРедица свързани проекти могат да бъдат намерени в мрежата. Например phpSymon (www.ryanflannery.net/works/phpsymon), подобно на syweb, събира данни от определен порт и ги показва в красиви графики. Ще бъдат дадени примери за конфигурационни файлове за FreeBSD, въпреки че всичко, което беше казано, с изключение на инсталационния процес и конвенциите за именуване на устройства, е приложимо и за други системи. Инсталирането чрез системата от портове е стандартно:
В допълнение към самия Symon ще бъде инсталирана голяма група зависимости, включително RRDTool. Ние проверяваме:
Всичко си е на мястото. Сега можете да започнете настройките.
Конфигурационни файлове на Symon
Symon и symux се управляват с помощта на конфигурационните файлове symon.conf и symux.conf. Копирайте техните шаблони в директорията /etc/:
И да започнем разбора. Конфигурационният файл за демона на symon е /etc/symon.conf. Правилото за наблюдение изглежда така:
Настройките, зададени в шаблона, ви позволяват да наблюдавате само 4 параметъра на локалната система и да изпратите резултата до порт 2100 на локалния хост (UDP протокол):
Това контролира натоварването на процесора, RAM, loopback интерфейса и твърдия диск. Това е най-простият пример. Вижте man страницатаsymon(8) за всички възможни опции. Ето само няколко от тях:
-
cpu/cpuiow – използване на процесора в състояния ( >Между другото, корените на OpenBSD се виждат незабавно, тъй като в списъците няма iptables или IPFW, само PF. В противен случай ще трябва да деактивирате този модул, така че грешка като: „fatal: pf module not available“. извикана отifconfig, дисковеще ви помогне да намеритеfdisk илиdmesg. Списъкът със сензори също е специфичен за всеки хардуер, можете да го получите с помощта на командата "sysctl hw.sensors ". За да опростят създаването на конфигурационен файл, разработчиците предлагат скрипта c_config.sh. След стартирането му ще получим празно място, където ще бъдат записани настройките за текущата система (мрежови интерфейси, io дискови дялове, CPU и RAM):
Сега остава само да го допълните със собствени параметри. За пълно наблюдение на „бойния“ сървър, работещ с прокси, Apache, демон за сив списък, MySQL и Clamd, ние пишем приблизително следната конфигурация:
# /usr/local/libexec/symon -t
Добре, можете да започнете. Когато се изпълнява без опции, symon преминава в режим на демон, така че не е веднага ясно какво прави там. За да тествате работата му, по-добре е да изпълните командата с превключвателите ‘-d ’ и ‘–u ’:
# /usr/local/libexec/symon -d -u
програма symon версия 2.79 >
И така нататък. Ако не се получат съобщения за грешка, можете да стартирате в производствен режим:
# /usr/local/libexec/symon
Тъй като всички данни се изпращат към мрежовия порт, изправността на демона в тази ситуация може да бъде проследена чрез анализиране на изхода на "tcpdump -i lo0", telnetting към порт 2100, присъствието на файла /var/run/symon.pid и процеса на symon в изхода на "ps au".

Остава само да добавите symon към автоматично зареждане:
#vi /etc/rc.local
if [ -x /usr/local/libexec/symon ]; след това echo 'starting symon'; /usr/local/libexec/symon fi
Данните са изпратени, време е да ги хванем.
Настройка на Symux
Нека започнем да настройваме Symux. Конфигурационният файл symux.conf описва източниците, скои ще бъдат получени данните, самите данни и директорията/файла, където да бъдат записани. Един файл може да съдържа връзки към няколко източника:
#vi /etc/symux.conf
# На кой порт да слушате за входящи връзки symon # mux 192.168.10.10 2100 mux 127.0.0.1 2100 # Определяне на входящите данни за всеки източник source 127.0.0.1 accept # Опишете каква информация приемаме (тук просто изброяваме източниците от symon.conf) c pu(0), mem, mbuf, pf, df(sd0a), df(sd0d), df(sd0e), сензор(lm0.temp0), сензор(lm0.temp1), сензор(lm0.fan0), proc(squid), proc(httpd), proc(spamd), proc(mysqld), proc(clam d), if(fxp0), if(fxp1), if(fxp2), if(tun0), io(wd0), io(wd1) > # Директорията, където ще запишем данните datadir "/var/www/symon/rrds/localhost" # По желание можете да посочите имената на файловете # write sensor(lm0.fan1) в "/var/www/symon/rrds/localhost/sensor_lm0.fan0.rrd" > # Всички други сървъри, изпълняващи symon, са описани по подобен начин
Както можете да видите, всичко е просто. Конфигурационният файл е компилиран, проверете:
# /usr/local/libexec/symux -t предупреждение: /etc/symux.conf:7: файл '/var/www/symon/rrds/localhost/df_sd0e.rrd', предполага се, че не се отваря предупреждение: /etc/symux.conf: не е указано име на файл за потока 'df(sd0e)'
В допълнение към самата конфигурация, тази команда ще провери наличността на всички посочени ресурси, както и правата за достъп до директорията, където ще бъдат запазени данните. Все още няма такава директория, създайте я:
# mkdir -p /var/www/symon/rrds/localhost
Демонът symux не може сам да създава RRD файлове. За целта се използва специален скрипт c_smrrds.sh, който е включен в дистрибуцията на Symon. Командата за изпълнение изглежда така:
c_smrrds.sh [един ден] [интервал] [всички]
В този случай ние просто правим:
# cd /usr/local/share/symon/ # ./c_smrrds.sh всички
В резултат на това скриптът ще даде списък на създадените файлове. Да проверим отново:
# /usr/local/libexec/symux -t
Можете да работите, добавете symux към автоматично зареждане:
#vi /etc/rc.local
ако [ -x /usr/local/libexec/symux]; след това ехо 'стартиране на symux'; /usr/local/libexec/symux fi
# /usr/local/libexec/symux -d
отстраняване на грешки: rrdupdate - /var/www/symon/rrds/localhost/df_sd0e.rrd 1233494631:15630616:8801288:8801288:0:0:0:0

Данните пристигнаха. Сега трябва да ги разгледаме по някакъв начин.
Анализиране на данни
Както вече споменахме, проектът предлага няколко скрипта за анализ на събраната информация. Един от тях (модулът SymuxClient.pm и скриптът getsymonitem.pl) може да бъде намерен в /usr/local/share/symon/client след инсталирането. Скриптът е доста лесен за работа, като цяло обаждането изглежда така:
# cd /usr/local/share/symon/client # ./getsymonitem.pl 127.0.0.1 2100 127.0.0.1 ‘cpu(0)’ потребител 12.80
Като последен параметър използваме информация от "man 8 symux". По отношение на процесора това са: потребител, nice, system, interrupt, idle. Скриптовете, написани на PHP, като syweb или phpSymon, представят информацията по-ясно. За тяхната работа се нуждаем от куп Apache + PHP. Изтеглете и разопаковайте архива на syweb:
# wget -c http://www.xs4all.nl/
# tar zxf syweb-0.58.tar.gz
Копирайте директориите htdocs и symon вътре в DocumentRoot на уеб сървъра. Имам /var/www:# cd syweb
# cp -rv htdocs/syweb /var/www
# cp -rv symon /var/www
Уеб сървърът трябва да чете данни от тях, така че сменяме собственика на директорията (във FreeBSD Apache работи от името на www акаунта):
# chown -R www:www /var/www/syweb/
# chown -R www:www /var/www/symon/
Във файла syweb/setup.inc трябва да променим няколко променливи, за да отговарят на нашите реалности. Има няколко предварително зададени настройки за различни Free/OpenBSD системи и ситуации (chroot или не):
#vi /var/www/syweb/setup.inc
Вече създадохме всички посочени директории, остава директорията на кеша:
# mkdir /var/www/symon/cache
# chown www:www /var/www/symon/cache
Ако уеб сървърът работи в chroot, трябва допълнително да изпълните скрипта, намиращ се в архиваinstall_rrdtool.sh, който ще прехвърли rrd библиотеките в chroot средата. Всичко е готово, отидете на страницата http://localhost/syweb и вижте красивите графики.

С помощта на менюто можете да промените интервала от време и техния размер; PF статистиката се поставя в отделен елемент.

Ако има нужда да защитите тази информация от неоторизирани лица, можете да използвате .htaccess:
#vi /var/www/syweb/.htaccess
AuthName "Syweb зона"
Ние създаваме парола с помощта на помощната програмаhtpasswd, която е част от Apache:
# htpasswd -c /usr/local/etc/apache/httpd_access admin
Както можете да видите, Symon е доста прост и ясен инструмент в настройките, с който можете да вземете статистически данни за основните параметри от няколко сървъра наведнъж.

с форматирането на конфигурациите - пълна и абсолютна глупост ...
Благодаря ти.Някакъв бъг, вероятно трябва да смените темата.