Рубрики
syslog \ rsyslog \ zabbix

Debian \ rsyslog \ loganalyzer \ linux \ windows \ Evtsys \ rsyslog

Сборка и просмотр логов
rsyslog — колектор логов
loganalyzer — просмотр логов

Источники:

http://www.k-max.name/linux/rsyslog-na-debian-nastrojka-servera/ - подробно о rsyslog
https://habrahabr.ru/post/125410/
https://wiki.yola.ru/evtsys:evtsys
https://habrahabr.ru/post/213519/
https://code.google.com/archive/p/eventlog-to-syslog/downloads - клиент для windows 
http://yakim.org.ua/articles/servers/113-rsyslog-loganalizer.html
Install Rsyslog and LogAnalyzer on Centos 6
https://habrahabr.ru/post/321262/ http://terraltech.com/syslog-server-with-rsyslog-and-loganalyzer/ https://letsclearitup.com.ua/debian/sbor-i-prosmotr-logov-s-pomoshhyu-loganalyzer.html
Системные журналы Linux (управление логированием)
http://viking-k.livejournal.com/23689.html

Установка коллектора логов:

0. rsyslog - по умолчанию установлен в debian и в дистрибутивах на его основе( например ubuntu -> linuxmint)
apt-get install rsyslog - установка rsyslog

1. Приём на сервере
nano /etc/rsyslog.conf
В /etc/rsyslog.conf должны быть раскомментированы строки:
------------------------------------------------------
$ModLoad imudp
$UDPServerRun 514
$ModLoad imtcp
$InputTCPServerRun 514
------------------------------------------------------

Файлы rsyslog
/etc/default/rsyslog -  файл задает опции, передаваемые демону rsyslogd при запуске
/etc/init.d/rsyslog - стартовый скрипт
/etc/logrotate.d/rsyslog - настройки ротации логов
/etc/rsyslog.conf - основной конфиг
/usr/lib/rsyslog/* - библиотеки для работы сислога
/usr/sbin/rsyslogd - бинарник демона, который работает в фоне
/usr/share/doc/rsyslog/* - файлы документации

2. Перечитываем настройки 
/etc/init.d/rsyslog restart

3. Нам требуется установить rsyslog-mysql для хранения логов в mysql
!!! Внимание запоминаем все введенные данные (логины, пароли) 
apt-get install rsyslog-mysql

P.s. На случай забывчивости
dpkg-reconfigure rsyslog-mysql

Установка loganalyzer — просмотр логов
Можно подключить любую базу с логами (текс, mysql, и т.д.)

0. Установка 
apt-get install apache2 php5 php5-mysql php5-gd phpmyadmin - ставим LAMP
apt-get install loganalyzer - ставим loganalyzer
1. создаем базу для loganalyzer
2. очистим файл конфигурации /etc/loganalyzer/config.php
3. Теперь мы можем установить loganalyzer с настройками
в браузере откроем http://server_name/loganalyzer/install.php
Step 1 - жмем next
Step 2 - жмем next
Step 3 Basic configuration - заполняем (рекомендую создать свою базу loganalyzer)
------------------------------------------------------
database host     - localhost
database port     - 3306
database name     - loganalyzer
databasr user     - loganalyzer
table prefix      - пофиг
database password - наш пароль
Require user to be logged in - yes (позволит создаст пароль для входа)
------------------------------------------------------
Step 4 Create tables - создать таблицы для loganalyzer
Step 5 - тут нам напишут удалось или нет
Step 6 Create The Main Useraccount - создаем пользователя для логина
Step 7 Create the first source for syslog messages - Подключаем базу с логами  
cat  /etc/rsyslog.d/mysql.conf - если требуется смотрим  rsyslog параметры базы
------------------------------------------------------
database host      - localhost
database port      - 3306
database name      - Syslog
database tablename - SystemEvents
databasr user      - rsyslog
database password  - наш пароль
------------------------------------------------------
P.S. Файлы :
/etc/rsyslog.d/mysql.conf - тут можно подсмотреть параметры подключения к mysql у rsyslog
/etc/loganalyzer/config.php - файл конфигурации
/usr/share/doc/loganalyzer - документация
/usr/share/loganalyzer - каталог с файлами loganalyzer
http://server_name/loganalyzer/ - вход в loganalyzer
http://server_name/loganalyzer/install.php - установочный скрипт (следует удалить после настройки)

Установка клиента для windows
брать тут:

https://code.google.com/archive/p/eventlog-to-syslog/downloads
copy evtsys.* %systemroot%\system32

%systemroot%\system32\evtsys.exe -i -h hostname_ip -s 240 
net start evtsys

Параметры evtsys.exe

evtsys.exe -i -h 192.168.1.246
evtsys.exe -i -l 0 -h 192.168.1.246
------------------------------------------------------
-i	        Установить сервис
-u	        Удалить сервис
-d	        Режим отладки. Запуститься как консольная программа
-h syslog	Имя хоста куда отправлять логи
-b syslog2	Имя второго хоста кому дублировать логи
-f 3	        Facility
-l 0	        Минимальный уровень отсылаемых сообщений: 
                0=Всё, 1=Критические, 2=Ошибки, 3=Предупреждение, 4=Информация
-n	        Отправлять только события включенные в evtsys.cfg
-p 514	        Номер порта syslog
-q 0	        Опросить DHCP чтобы получить имя хоста syslog и порт. 0=Включить, 1=Выключить
-s 60	        Интервал между сообщениями о статусе (в минутах). 0=Отключить
------------------------------------------------------
Facility -f 
0 kernel messages
1 user-level messages
2 mail system
3 system daemons
4 security/authorization messages
5 messages generated internally by syslogd
6 line printer subsystem
7 network news subsystem
8 UUCP subsystem
9 clock daemon
10 security/authorization messages
11 FTP daemon
12 NTP subsystem
13 log audit
14 log alert
15 clock daemon
16 local use 0 (local0)
17 local use 1 (local1)
18 local use 2 (local2)
19 local use 3 (local3)
20 local use 4 (local4)
21 local use 5 (local5)
22 local use 6 (local6)
23 local use 7 (local7)

Установка клиента rsyslog linux ( передаем на другой сервер rsyslog)

0) Установим (на debian скорее уже он установлен)
apt-get install rsyslog

1) редактируем rsyslog.conf добавим строку *.* @@192.168.1.51
nano /etc/rsyslog.conf
------------------------------------------------------
---конфиг---
*.* @@192.168.1.51
*.* @@nagios.b14esh.com
---конфиг---
------------------------------------------------------

Описание:
*.* — описание всех логов по важности и программах, которые их пишет.
@@ — отсылать логи по TCP
@ — отсылать логи по UDP
192.168.1.51 — сервер, на который будут направлены логи.

service rsyslog restart
Звездочка перед точкой соответствует любому источнику, после точки - любому уровню. 
Слово none после точки - никакому уровню для данного источника. 
Можно указывать несколько источников в одном селекторе (через запятую).

*.*;auth,authpriv.none -/var/log/syslog
*.*;auth,authpriv.none;cron.none -/var/log/syslog


Источник (он же категория) может быть следующим:
------------------------------------------------------
0 - kern -  Сообщения ядра
1 - user -  Сообщения пользовательских программ
2 - mail -  Сообщения от почтовой системы.
3 - daemon - Сообщения от тех системных демонов, которые в отличие от FTP или LPR не имеют выделенных специально для них категорий.
4 - auth - Все что связано с авторизацией пользователей, вроде login и su (безопасность/права доступа)
5 - syslog - Система протоколирования может протоколировать сообщения от самой себя.
6 - lpr - Сообщения от системы печати.
7 - news - Сообщения от сервера новостей. (в настоящее время не используется)
8 - uucp - Сообщения от UNIX-to-UNIX Copy Protocol. Это часть истории UNIX и вероятнее всего она вам 
           никогда не понадобится (хотя до сих пор определенная часть почтовых сообщений доставляется через UUCP).
9 - cron - Сообщения от системного планировщика.
10 - authpriv - То же самое, что и auth, однако сообщения этой категории записываются в файл, 
                который могут читать лишь некоторые пользователи (возможно, эта категория выделена потому, 
                что принадлежащие ей сообщения могут содержать открытые пароли пользователей, 
                которые не должны попадать на глаза посторонним людям, 
                и следовательно файлы протоколов должны иметь соответствующие права доступа).
11 - ftp - При помощи этой категории вы сможете конфигурировать ваш FTP сервер, что бы он записывал свои действия.
12 - NTP - сообщения сервера времени
13 - log audit
14 - log alert
15 - clock daemon - сообщения демона времени с 16 по 23   
local0\local7 - Зарезервированные категории для использования администратором системы. 
                  Категория local7 обычно используется для сообщений, генерируемых на этапе загрузки системы.
                  mark (не имеющая цифрового эквивалента) - присваивается отдельным сообщениям, формируемым самим демоном syslogd 
------------------------------------------------------



Под приоритет (степени важности) сообщений заданы 8 уровней важности, которые кодируются числами от 0 до 7:
------------------------------------------------------
0 - emerg (старое название PANIC) - Чрезвычайная ситуация. Система неработоспособна.
1 - alert - Тревога! Требуется немедленное вмешательство.
2 - crit - Критическая ошибка (критическое состояние).
3 - err (старое название ERROR) - Сообщение об ошибке.
4 - warning (старое название WARN) - Предупреждение.
5 - notice - Информация о каком-то нормальном, но важном событии.
6 - info - Информационное сообщение.
7 - debug - Сообщения, формируемые в процессе отладки.
------------------------------------------------------

Очистка базы

Очистка базы данных от лишней информации возможна двумя способами:
1. Вручную.В web-интерфейсе заходим в Центр администрирования, выбираем Источники данных и в открывшемся 
   списке источников изем иконку с изображением мусорного ведерка. 
   Дальше все делается в соответствующем  мастере.
    
2.Автоматически. 
cd /var/www/loganalyzer/cron
chmod +x maintenance.sh
nano maintenance.sh
cd /var/www/loganalyzer/cron/
php ./maintenance.php cleandata 1 olderthan 2592000
crontab -e
# Удаляем лишнее из BD loganalyzer
1 3 * * * /var/www/loganalyzer/cron/maintenance.sh >> /tmp/maintenance.log