====== [В процессе] Централизованный сбор, хранение и просмотр логов ======
===== Задачи =====
* Централизованный сбор, хранение и просмотр логов
* Хранение данных в SQL (PostgreSQL)
* Сбор с *nix, windows, сетевого оборудования
* Просмотр при помощи веб-интерфейса
===== Установка =====
==== PostgreSQL ====
Обновления выходят регулярно, версии 8.4.* вполне подходят
# sudo apt-get install postgresql postgresql-contrib
Изменяем пароль администратора БД по-умолчанию на что-нибудь более безопасное:
$ sudo su postgres -c psql template1
template1=# ALTER USER postgres WITH PASSWORD 'your-password-here';
template1=# \q
Изменяем пароль пользователя, под которым запускается PostgreSQL:
$ sudo passwd -d postgres
$ sudo su postgres -c passwd
Устанавливаем так называемый "admin pack", который включает логирование и мониторинг для сервера:
$ sudo su postgres -c psql < /usr/share/postgresql/8.4/contrib/adminpack.sql
Если нужно иметь возможность доступа к PostgreSQL снаружи, редактируем файл /etc/postgresql/8.4/main/postgresql.conf
Меняем
#listen_addresses = 'localhost'
на
listen_addresses = '*'
и включаем шифрование пароля:
password_encryption = on
Для нормальной работы лучше поступить классически, а именно завести двух пользователей: syslog и logwriter. Пользователь syslog будет администратором базы syslog, а пользователь logwriter будет только добавлять данные.
Таблицы в нашу базу syslog-ng добавит автоматически.
$ sudo su postgres -c psql
postgres=# CREATE ROLE syslog WITH LOGIN;
postgres=# CREATE ROLE logwriter WITH LOGIN;
postgres=# \password syslog # Использование функции \password безопаснее,
postgres=# \password logwriter # так как пароль не сохранится в истории.
postgres=# CREATE DATABASE syslog OWNER syslog;
postgres=# \q
Добавляем в файл /etc/postgresql/8.4/main/pg_hba.conf разрешение для этих двух пользователей (чтобы они могли подключиться к PostgreSQL.
# TYPE DATABASE USER CIDR-ADDRESS METHOD
host syslog logwriter 192.168.0.1/24 md5
host syslog syslog 192.168.0.10/32 md5
При необходимости прописываем всех пользователей, кто может подключаться к серверу.
Перезапускаем демона:
$ sudo service postgresql-8.4 restart
==== Syslog-ng ====
Ubuntu 10.04.4 LTS
# aptitude show syslog-ng | grep Version
Version: 2.0.9-4.2
А текущая актуальная версия уже 3.4.
Поэтому ищем PPA поновее.
Можно использовать http://asylum.madhouse-project.org/projects/debian/
# sudo echo " " >> /etc/apt/sources.list
# sudo echo "## Syslog-ng repository" >> /etc/apt/sources.list
# sudo echo "deb http://packages.madhouse-project.org/ubuntu lucid syslog-ng" >> /etc/apt/sources.list
# sudo echo "deb-src http://packages.madhouse-project.org/ubuntu lucid syslog-ng" >> /etc/apt/sources.list
#
# wget http://packages.madhouse-project.org/debian/archive-key.txt | sudo apt-key add -
#
# sudo apt-get update
# sudo apt-get install syslog-ng syslog-ng-mod-sql
{{tag>syslog-ng сбор хранение анализ логи}}