Поиск по сайту:
Сознание царствует, но не управляет (П. Валери).

Как управлять журналами с Graylog 2 в Ubuntu 16.04

26.04.2017
Как управлять журналами с Graylog 2 в Ubuntu 16.04

Введение

Graylog является мощной платформой для управления журналами с открытым исходным кодом. Он собирает и извлекает важные данные из сервера журналов, которые часто посылаемых с использованием протокола Syslog. Она также позволяет искать и визуализировать журналы в веб – интерфейсе.

В этой статье, мы установим и настроим Graylog на Ubuntu 16.04, и создадим простой вход, который будет обрабатывать системные журналы.

Предпосылки

Перед тем, как начать этот урок, вам нужно:

  • Один сервер Ubuntu 16.04, по крайней мере 2 Гб оперативной памяти, включенные частные сети, и не корневой пользователь. Это может быть создано с помощью статьи: Начальная настройка сервера Ubuntu 16.04.
  • Установленный Oracle JDK 8.
  • Elasticsearch 2.x. Некоторые версии Graylog работают только с определенными версиями Elasticearch. Например, Graylog 2.x не работает с Elasticsearch 5.x. В этом руководстве используется Elasticsearch 2.4.4 и Graylog 2.2.
  • Установленный MongoDB.

Шаг 1 – Настройка Elasticsearch

Нам нужно изменить файл конфигурации Elasticsearch так, чтобы имени кластера соответствовал один набор в файле конфигурации Graylog. Для простоты, мы установим имя кластера Elasticsearch по имени Graylog по умолчанию graylog. Вы можете установить какой вы хотите, но убедитесь, что вы обновляете файл конфигурации Graylog, чтобы отразить это изменение.

Откройте файл конфигурации Elasticsearch в редакторе:

sudo nano /etc/elasticsearch/elasticsearch.yml

 

Найдите следующую строку:

/etc/elasticsearch/elasticsearch.yml
cluster.name: <CURRENT CLUSTER NAME>

 

Измените cluster.name на значение graylog:

/etc/elasticsearch/elasticsearch.yml
cluster.name: graylog

 

Сохраните файл и выйдите из редактора.

Так как мы изменили файл конфигурации, мы должны перезапустить службу, чтобы изменения вступили в силу.

sudo systemctl restart elasticsearch

 

Теперь, когда вы настроили Elasticsearch, давайте перейдем к установке Graylog.

Шаг 2 – Установка Graylog

На этом шаге мы будем устанавливать сервер Graylog.

Во-первых, загрузите файл пакета, содержащий конфигурацию хранилища Graylog. Посетите страницу загрузки Graylog и найдите номер текущей версии. Мы будем использовать версию 2.2 для этого урока.

wget https://packages.graylog2.org/repo/packages/graylog-2.2-repository_latest.deb

 

Затем установите конфигурацию хранилища из файла пакета .deb, снова замените 2.2 на версию, которую вы скачали.

sudo dpkg -i graylog-2.2-repository_latest.deb

 

Теперь, когда конфигурация хранилища была обновлена, мы должны извлечь новый список пакетов. Выполните следующую команду:

sudo apt-get update

 

Затем установите пакет graylog-server:

sudo apt-get install graylog-server

 

И, наконец, запустите автоматическую загрузку Graylog при старте системы с помощью следующей команды:

sudo systemctl enable graylog-server.service

 

Graylog теперь успешно установлен, но это еще начало. Мы должны настроить его, прежде чем он заработает.

Шаг 3 – Настройка Graylog

Теперь, когда мы настроили Elasticsearch и установили Graylog, нам нужно изменить несколько параметров в файле конфигурации Graylog по умолчанию, прежде чем мы сможем использовать его. Файл конфигурации Graylog находится по адресу /etc/graylog/server/server.conf по умолчанию.

Во-первых, нам нужно установить значение password_secret. Graylog использует это значение для защиты сохраненных паролей пользователей. Мы будем использовать сгенерированный случайным образом значение 128 символов.

Мы будем использовать pwgen для создания пароля, поэтому установить его, если он еще не установлен:

sudo apt install pwgen

 

Сгенерировать пароль и поместить его в файл конфигурации Graylog. Мы будем использовать программу sed, чтобы установить значение password_secret в файл конфигурации Graylog. Таким образом, мы не должны копировать и вставлять любые значения. Выполните эту команду, чтобы создать секрет и сохранить его в файле:

sudo -E sed -i -e "s/password_secret =.*/password_secret = $(pwgen -s 128 1)/" /etc/graylog/server/server.conf

 

Далее, нам необходимо установить значение root_password_sha2. Это SHA-256 хэш вашего желаемого пароля. Еще раз, мы будем использовать команду sed для изменения файла конфигурации Graylog поэтому мы не должны вручную сгенерировать хеш SHA-256 с использованием shasum и вставить его в файл конфигурации.

Выполните эту команду, и замените password ниже на нужный пароль администратора по умолчанию:

Примечание:
Существует ведущее место в команде, которая предотвращает пароль от хранятся в виде обычного текста в истории Bash.

sudo sed -i -e "s/root_password_sha2 =.*/root_password_sha2 = $(echo -n 'password' | shasum -a 256 | cut -d' ' -f1)/" /etc/graylog/server/server.conf

 

Теперь нам нужно сделать еще пару изменений в файл конфигурации. Откройте файл конфигурации Graylog вашим редактором:

sudo nano /etc/graylog/server/server.conf

 

Найдите и измените следующие строки, раскомментируйте их и замените graylog_public_ip на публичный IP вашего сервера. Это может быть IP – адрес или полное доменное имя.

/etc/graylog/server/server.conf

...
rest_listen_uri = http://your_server_ip_or_domain:9000/api/

...
web_listen_uri = http://your_server_ip_or_domain:9000/

...

Сохраните файл и выйдите из редактора.

Так как мы изменили файл конфигурации, мы должны перезапустить (или запустить) службу graylog-server. Команда перезагрузки запустит сервер, даже если он в настоящее время остановлен.

sudo systemctl restart graylog-server

 

Затем проверьте состояние сервера.

sudo systemctl status graylog-server

 

Вывод должен выглядеть следующим образом:

● graylog-server.service - Graylog server
   Loaded: loaded (/usr/lib/systemd/system/graylog-server.service; enabled; vendor preset: enabled)
   Active: active (running) since Fri 2017-03-03 20:10:34 PST; 1 months 7 days ago
     Docs: http://docs.graylog.org/
 Main PID: 1300 (graylog-server)
    Tasks: 191 (limit: 9830)
   Memory: 1.2G
      CPU: 14h 57min 21.475s
   CGroup: /system.slice/graylog-server.service
           ├─1300 /bin/sh /usr/share/graylog-server/bin/graylog-server
           └─1388 /usr/bin/java -Xms1g -Xmx1g -XX:NewRatio=1 -server -XX:+ResizeTLAB -XX:+UseConcMarkSweepGC -XX:+CMSCon

 

Вы должны увидеть active в статус.

Если выход сообщает о том, что система не работает, проверьте /var/log/syslog на наличие ошибок. Убедитесь, что вы установили Java при установке Elasticsearch, и что вы изменили все значения в шаге 3. Затем снова перезапустить службу Graylog.

Если вы настроили брандмауэр с ufw, добавьте исключение брандмауэра для порта TCP , 9000 так чтобы вы могли получить доступ к веб – интерфейсу:

sudo ufw allow 9000/tcp

 

После того, как Graylog заработает, вы должны быть в состоянии получить доступ с помощью веб – браузера. Вам, возможно, придется подождать до пяти минут после перезагрузки перед запуском веб – интерфейса. Кроме того, убедитесь, что MongoDB работает. http://your_server_ip:9000graylog-server

Теперь, когда Graylog работает должным образом, мы можем перейти к обработке логов.

Шаг 4 – Создание входа

Давайте добавим новый вход в Graylog для получения журналов. Входы скажут Graylog, какой порт для прослушивания и какой протокол использовать при получении журналов. Мы будем добавлять вход Syslog UDP, который обычно использует протокол регистрации.

Когда вы посетите ваш браузер по адресу http://your_server_ip:9000, вы увидите страницу входа в систему. Используйте имя пользователя admin и пароль, введенный на шаге 3 для вашего пароля.

После входа в систему, вы увидите страницу с названием «Начало работы», которая выглядит как на рисунке:

страница «Начало работы»

Чтобы просмотреть страницу входов, нажмите System в выпадающем меню в навигационной панели и выберите inputs.

После этого вы увидите выпадающее окно, содержащее текст Select Input. Выберите Syslog UDP из этого выпадающего списка, а затем нажмите на кнопку Launch new input.

Должно появиться модальная форма. Заполните следующие детали, чтобы создать свой input:

  1. Для Node, выберите сервер. Он должен быть единственным пунктом в списке.
  2. Для Title, введите подходящее название, например Linux Server Logs.
  3. Для Bind address, используйте частный IP вашего сервера. Если вы хотите иметь возможность собирать журналы с внешних серверов (не рекомендуется, так как Syslog не поддерживает аутентификацию), вы можете установить его на 0.0.0.0(все интерфейсы).
  4. Для Port, введите 8514. Обратите внимание, что мы используем порт 8514 в этой статье, потому что порты 0 до 1024 могут быть использованы только корневым пользователем. Вы можете использовать любой номер порта выше 1024 и должно все работать, пока он не конфликтует с другими службами.

Нажмите кнопку Сохранить. Локальный входящий список будет обновляться и показывать свой новый вход, как показано на следующем рисунке:

Снимок экрана локальных входов

Теперь, когда вход был создан, мы можем послать некоторые журналы Graylog.

Шаг 5 – Настройка серверов для отправки журналов в Graylog

У нас есть вход, настроенный и прослушивает порт 8514, но мы не посылаем никаких данных на вход еще, так что мы не увидим никаких результатов. rsyslog это утилита используется для пересылки журналов и предварительно установленных на Ubuntu, поэтому мы настроим отправлять журналы Graylog. На этом уроке мы настроим сервер Ubuntu для работы Graylog, чтобы отправлять свои системные журналы на вход мы только что создали, но вы можете выполнить следующие действия на других серверах.

Если вы хотите отправить данные на Graylog с других серверов, необходимо добавить исключение брандмауэра для порта UDP 8514.

sudo ufw allow 8514/udp

 

Создайте и откройте новый конфигурационный файл rsyslog в редакторе.

sudo nano /etc/rsyslog.d/60-graylog.conf

 

Добавьте следующую строку в файл, заменяя your_server_private_ip на частный IP вашего сервера Graylog.

/etc/rsyslog.d/60-graylog.conf
*.* @your_server_private_ip:8514;RSYSLOG_SyslogProtocol23Format

 

Сохраните и выйдите из редактора.

Перезапустите службу rsyslog, чтобы изменения вступили в силу.

sudo systemctl restart rsyslog

 

Повторите эти действия для каждого сервера, куда вы хотите отправлять журналы.

Теперь вы должны иметь возможность просматривать журналы в веб – интерфейсе. Нажмите вкладку Sources в панели навигации, чтобы просмотреть график источников. Это должно выглядеть примерно так:

Снимок экрана источников

Вы также можете нажать вкладку Search в панели навигации, чтобы просмотреть обзор самых последних журналов.

Вывод

Теперь у вас есть работающий сервер Graylog с источником входного сигнала, который может собирать журналы с других серверов.

Далее, вы можете посмотреть в настройке панелей мониторинга, оповещения и потоки. Сводки обеспечивают быстрый обзор журналов. Потоки классифицировать сообщения, которые вы можете контролировать с помощью предупреждений. Чтобы узнать больше о настройке расширенных функций Graylog, вы можете найти инструкции в документации Graylog.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...
Поделиться в соц. сетях:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

**ссылки nofollow

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

Читайте также

Спасибо!

Теперь редакторы в курсе.