Мониторинг серверов · 4 min read · Oct 18, 2025
Централизованный мониторинг сервера RSYSLOG
Централизованный мониторинг сервера RSYSLOG
Этот учебник предоставляет пошаговые инструкции по установке сервера RSYSLOG на Debian 6 (Squeeze) и тому, как отправлять данные syslog на него с нескольких клиентских серверов. Мы также покажем, как установить веб-сервер Apache и сервер базы данных MySQL для сбора данных syslog и как установить LogAnalyzer для удобного просмотра собранных данных с помощью веб-браузера.
Я использую готовый шаблон виртуализации OpenVZ для этой настройки, но это также должно работать на большинстве операционных систем на базе Debian.
Я не даю никаких гарантий, что это сработает для вас!
Установка сервера RSYSLOG
Эта первая часть описывает, как построить сервер RSYSLOG, который будет собирать данные syslog от своих клиентов. В этом примере наш сервер называется rsyslog.domain.com и имеет фиксированный IP-адрес 192.168.0.15.
Сначала мы устанавливаем некоторые зависимости.
apt-get updateapt-get upgradeapt-get install rsyslog rsyslog-mysql unzip zip binutils cpp fetchmail flex gcc libarchive-zip-perl libc6-dev libcompress-zlib-perl libpcre3 libpopt-dev lynx m4 make ncftp nmap openssl perl perl-modules zlib1g-dev autoconf automake1.9 libtool bison autotools-dev g++ mysql-server mysql-client libmysqlclient15-dev apache2 apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert libdb4.6-dev libapache2-mod-php5 php5 php5-common php5-curl php5-dev php5-gd php5-idn php-pear php5-imagick php5-imap php5-json php5-mcrypt php5-memcache php5-mhash php5-ming php5-mysql php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl
Создайте пароль для сервера MySQL, когда установка попросит вас ввести его!
Мой шаблон OpenVZ уже имел это, поэтому эта команда может быть не нужна и вам…
apt-get install linux-kernel-headers** Убедитесь, что службы работают…
/etc/init.d/rsyslog restart
/etc/init.d/mysql restart
/etc/init.d/apache2 restart
Проверьте, что сервер слушает на правильных TCP IP портах. (80 и 3306). RSYSLOG еще не слушает на каком-либо порту в это время.
rsyslog:~# netstat -tapnАктивные интернет-соединения (серверы и установленные)
Proto Recv-Q Send-Q Local Address
Foreign Address
State PID/Program name
tcp
0 0
127.0.0.1:3306
0.0.0.0:*
LISTEN
415/mysqld
tcp
0 0
0.0.0.0:80
0.0.0.0:*
LISTEN 581/apache2
Затем мы можем создать базу данных rsyslog:
mysqladmin -u root -p create rsyslogДалее мы запускаем командную оболочку MySQL и создаем пользователя rsyslog:
mysql -u root -pGRANT SELECT, INSERT, UPDATE, DELETE ON rsyslog.* TO ‘rsyslog’@’localhost’ IDENTIFIED BY ‘ENTER-YOUR-NEW-RSYSLOG-PASSWORD-HERE’;
FLUSH PRIVILEGES;quitЗатем мы настраиваем сервер rsyslog на прослушивание TCP порта 514:
vi /etc/rsyslog.confДобавьте эти строки… (не забудьте изменить ваш пароль на тот, который вы ввели, когда создавали пользователя rsyslog вашего сервера MySQL.)
$ModLoad MySQL
*.* >127.0.0.1,rsyslog,rsyslog,ENTER-YOUR-NEW-RSYSLOG-PASSWORD-HERE…и уберите комментарии перед строками, которые касаются приема TCP syslog.
# /etc/rsyslog.conf Configuration file for rsyslog v3.
#
# For more information see
# /usr/share/doc/rsyslog-doc/html/rsyslog_conf.html
$ModLoad MySQL
*.* >127.0.0.1,rsyslog,rsyslog,ENTER-YOUR-NEW-RSYSLOG-PASSWORD-HERE
#################
#### MODULES ####
#################
$ModLoad imuxsock # provides support for local system logging
$ModLoad imklog # provides kernel logging support (previously done by rklogd)
#$ModLoad immark # provides --MARK-- message capability
# provides UDP syslog reception
#$ModLoad imudp
#$UDPServerRun 514
# provides TCP syslog reception
$ModLoad imtcp
$InputTCPServerRun 514
###########################
#### GLOBAL DIRECTIVES ####
###########################И перезапустите службу rsyslog.
/etc/init.d/rsyslog restartПроверьте, что сервер слушает на правильных TCP IP портах. (80, 514 и 3306.)
rsyslog:~# netstat -tapnАктивные интернет-соединения (серверы и установленные)
Proto Recv-Q Send-Q Local Address
Foreign Address
State PID/Program name
tcp
0 0
0.0.0.0:514
0.0.0.0:*
LISTEN 618/rsyslogd
tcp
0 0
127.0.0.1:3306
0.0.0.0:*
LISTEN
415/mysqld
tcp
0 0
0.0.0.0:80
0.0.0.0:*
LISTEN 581/apache2
Затем мы загружаем LogAnalyzer и настраиваем веб-сервер Apache для отображения журналов.
cd /tmpwget http://download.adiscon.com/loganalyzer/loganalyzer-3.4.1.tar.gz
tar xvzf loganalyzer-3.4.1.tar.gzmv loganalyzer-3.4.1/ /var/www/cd /var/wwwЗатем мы настраиваем права пользователя папок www для веб-сервера Apache.
chown www-data:www-data * . -RfИ затем мы делаем немного “приятной работы” с папками LogAnalyzer.
mv loganalyzer-3.4.1/ loganalyzercd contrib/cp * ./../src/cd ./../src/sh ./configure.shИ мы готовы ввести финальную настройку LogAnalyzer с помощью нашего веб-браузера. Укажите ваш веб-браузер на фиксированный IP-адрес нашего сервера rsyslog, который в этом демонстрационном примере является http://192.168.0.15/loganalyzer/src/install.php
Пройдите через простой скрипт настройки (это в основном… далее -> далее.)
Теперь у вас должен быть работающий сервер rsyslog с LogAnalyzer.
Далее мы настраиваем клиентов RSYSLOG для отправки своих данных syslog на сервер rsyslog:
Настройка клиентов RSYSLOG
Обычно все, что нам нужно сделать, это настроить файл rsyslog.conf и перезапустить службу. (Практически все Debian поставляются с предустановленным rsyslog.)
vi /etc/rsyslog.confДобавьте строки рабочего каталога, которые используются в случае потери сетевого соединения, и измените IP-АДРЕС вашего сервера rsyslog на 192.168.0.15. (Вы также можете создать каталог /rsyslog/work с помощью команды mkdir.)
# provides TCP syslog reception
#$ModLoad imtcp
#$InputTCPServerRun 514
$WorkDirectory /rsyslog/work # default location for work (spool) files
$ActionQueueType LinkedList # use asynchronous processing
$ActionQueueFileName srvrfwd # set file name, also enables disk mode
$ActionResumeRetryCount -1 # infinite retries on insert failure
$ActionQueueSaveOnShutdown on # save in-memory data if rsyslog shuts down
*.* @@YOUR-RSYSLOG-SERVER-ADDRESS-HERE
###########################
#### GLOBAL DIRECTIVES ####
###########################И перезапустите службу rsyslog.
/etc/init.d/rsyslog restartПроверьте, что сервер подключен на правильном TCP IP порту (514).
root@ic1:~# netstat -tapnАктивные интернет-соединения (серверы и установленные)
Proto Recv-Q Send-Q Local Address
Foreign Address
State PID/Program name
tcp
0 0
192.168.0.100:49188
192.168.0.15:514
ESTABLISHED 13289/rsyslogd
Вот как выглядит успешная настройка.

| | Сами Маттила Internet-Content.europa SM OY
Телефон: +358.9.42833310
Мобильный: +358.400.749692
Электронная почта: [email protected]
Магазин: https://shop.internet-content.net
Сайт: http://www.internet-content.net
Блог: http://www.internet-content.net/en/blog |
Get new posts in your inbox
No spam. Unsubscribe anytime.