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);

система
LCD екраните на някои производители могат да се използват за четене на данните
  • 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".

система
Какво ще покаже tcpdump?

Остава само да добавите 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

система
Стартиране на Symux с опция '-d'

Данните пристигнаха. Сега трябва да ги разгледаме по някакъв начин.

Анализиране на данни

Както вече споменахме, проектът предлага няколко скрипта за анализ на събраната информация. Един от тях (модулът 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 и вижте красивите графики.

система
Syweb генерира визуални графики

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

symon
Syweb менюто ви позволява да изберете времевия интервал и вида на графиките

Ако има нужда да защитите тази информация от неоторизирани лица, можете да използвате .htaccess:

#vi /var/www/syweb/.htaccess

AuthName "Syweb зона"

Ние създаваме парола с помощта на помощната програмаhtpasswd, която е част от Apache:

# htpasswd -c /usr/local/etc/apache/httpd_access admin

Както можете да видите, Symon е доста прост и ясен инструмент в настройките, с който можете да вземете статистически данни за основните параметри от няколко сървъра наведнъж.

удобна
Скриптът phpSymon създава и визуални графики

с форматирането на конфигурациите - пълна и абсолютна глупост ...

Благодаря ти.Някакъв бъг, вероятно трябва да смените темата.