====== [В процессе] Централизованный сбор, хранение и просмотр логов ====== ===== Задачи ===== * Централизованный сбор, хранение и просмотр логов * Хранение данных в 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 сбор хранение анализ логи}}