вторник, 16 августа 2016 г.

GrayLog

 

CentOS install

 Graylog2


1. Описание

Graylog2 - это система централизованного сбора, хранения и анализа информации, которая пишется в syslog.
Установлена на сервере graylog.int.lv.cox.ru и доступна по ссылке http://graylog.domain.ru:9000.

Graylog2 использует БД mongodb для хранения мета информации и сервис ElasticSearch для хранения сообщений и поиска.

Основные демоны:
  • elasticsearch
  • mongod
  • graylog2-server
  • graylog2-web
Настройки подключения к MongoDB и ElasticSearch указываются в файле /etc/graylog2.conf.
 

2. Настройка rsyslog

Для отправки сообщений syslog с хоста на сервер graylog2 необходимо создать и отредактировать файл /etc/rsyslog.d/00-remote.conf:
$template GRAYLOGRFC5424,"<%pri%>%protocol-version% %timestamp:::date-rfc3339% %$myhostname% %app-name% %procid% %msg%\n"
*.* @graylog.int.lv.cox.ru:514;GRAYLOGRFC5424

3. Настройка прав пользователей

Пользователям системы можно присвоить следующие уровни прав:
  • Права администратора (Administrator persmissions)
  • Права "читателя" (Reader permissions)
Пользователи с правами администратора имеют полный доступ ко всем данным и настройкам системы.
Пользователи с правами читателя по умолчанию могут иметь доступ на чтение и\или редактирование "потоков" (stream) и дашбоардов.

Для настройки уровня прав пользователя:
  • Перейдите в раздел System -> Users
  • Кликните на кнопку редактирования 
  • Выберите нужный уровень прав в разделе "Change Permissions"
  • Нажмите кнопку "Set default permissions"

Для настройки прав пользователя с уровнем прав "Reader" 
  • Перейдите в раздел System -> Users
  • Кликните на кнопку редактирования 
  • Добьте нужные "потоки" в следующих полях:

  • Нажмите кнопку "Save Shanges"

4. Политика хранения данных в ElasticSearch

ElasticSearch использует для хранения "индексы".
Каждый индекс заполняется данными до максимального значения размера, времени или количества сообщений.
Тип ограничения индекса задается параметром "rotation_strategy".
После заполнения одного индекса до "предела" создается и заполняется новый.
Максимальное количество индексов задается параметром "elasticsearch_max_number_of_indices".
После достижения максимального количества индексов самый старый удаляется или отключается в зависимости от значения параметра "retention_strategy".

Текущие настройки:
#elasticsearch_max_docs_per_index = 20000000
#elasticsearch_max_time_per_index = 1d
elasticsearch_max_size_per_index=1073741824
elasticsearch_max_number_of_indices = 20
retention_strategy = delete
rotation_strategy = size

 

5. Настройка сбора логов.


5.1 Настройка сбора логов сетевого оборудования Cisco.


В связи с тем, что оборудование Cisco отправляет нестандартные syslog сообщения, а так же коммутаторы Nexus не поддерживают изменение порта назначения и протокола передачи на сервере graylog добавлен дополнительный адрес, на котором настроен udp syslog сокет.
Для разбора нестандартных сообщений настроены экстракторы по аналогии с FP Catalyst.

Настройка отправки сообщений на syslog сервер на оборудование Cisco:
1. Маршрутизаторы (IOS, IOS-XE)
logging host 172.16.198.6

2. Коммутаторы nexus (NX-OS)
logging server 172.16.198.6 7 use-vrf default

3. Коммутаторы 3750 (IOS)
no logging message-counter syslog
logging 172.16.198.6
 

5.2 Настройка сбора логов с Linux-систем


5.3 Настройка сбора логов с Windows-систем


Для передачи сообщений из Windows Event Log необходимо использовать агент nxlog (http://nxlog.org/products/nxlog-community-edition/download).
После установки необходимо изменить конфигурационный файл: c:\%CommonProgramFiles(x86)%\nxlog\conf\nxlog.conf
#define ROOT C:\Program Files\nxlog
define ROOT C:\Program Files (x86)\nxlog

Moduledir %ROOT%\modules
CacheDir %ROOT%\data
Pidfile %ROOT%\data\nxlog.pid
SpoolDir %ROOT%\data
LogFile %ROOT%\data\nxlog.log

<Extension gelf>
    Module       xm_gelf
    ShortMessageLength 150
</Extension>

<Input in>
    Module       im_msvistalog
    ReadFromLast TRUE
    <QueryXML>
        <QueryList>
            <Query Id='1'>
                <Select Path='Application'>*</Select>
                <Select Path='Security'>*</Select>
                <Select Path='System'>*</Select>
            </Query>
       </QueryList>
   </QueryXML>
</Input>

<Output out>
    Module      om_tcp
    Host        graylog.int.lv.cox.ru
    Port        12201
    OutputType  GELF_TCP

</Output>

<Route 1>
    Path        in => out
</Route>
Запустить сервис nxlog
net start nxlog

TroubleShooting https://t37.net/how-to-fix-your-elasticsearch-cluster-stuck-in-initializing-shards-mode.html

Комментариев нет:

Отправить комментарий