воскресенье, 7 февраля 2016 г.

Установка Graylog на Ubuntu 14.04

Graylog - бесплатная open source система централизованного сбора, хранения и анализа информации, которая пишется в syslog.

Graylog состоит из таких компонент:
- Graylog server node - Java TCP/UDP лог-коллектор;
- Elasticsearch node - хранение сообщений/логов;
- MognoDB - хранение конфигурации и метаданных;
- Web Interface - пользовательский веб-интерфейс.



Установка MongoDB

Добавим ключ:
# apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10

Добавим репозиторий
#echo "deb http://repo.mongodb.org/apt/ubuntu "$(lsb_release -sc)"/mongodb-org/3.0 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-3.0.list

Обновим кеш:
# apt-get update

Установим сам пакет:
# apt-get install mongodb-org

Запустим сервис:
# service mongod start

Добавим в автозугразку при старте системы
# update-rc.d mongod defaults

Установка Java


Добавим репозиторий:
# add-apt-repository ppa:webupd8team/java

Обновим кеш:
# apt-get update

Установим Java 8:
# apt-get install oracle-java8-installer


Установка Elasticsearch


Добавим ключ:
# wget -qO - https://packages.elastic.co/GPG-KEY-elasticsearch | apt-key add -

Добавим репозиторий:
# echo "deb http://packages.elastic.co/elasticsearch/1.7/debian stable main" | tee -a /etc/apt/sources.list.d/elasticsearch-1.7.x.list

Обновим кеш:
# apt-get update

Установим пакет:
# apt-get install elasticsearch

Поправим конфигурационный файл:
# vim /etc/elasticsearch/elasticsearch.yml
cluster.name: graylog-development - Имя кластера
network.host: localhost - Сетевой интерфейс где доступен elasticsearch
script.disable_dynamic: true - для безопасности, что бы не могли запустать динамические скрипты

Запустим сервис:
# service elasticsearch restart

Добавим в автозагрузку:
# update-rc.d elasticsearch defaults

Проверим доступность ElasticSearch:
# curl -XGET 'http://localhost:9200/_cluster/health?pretty=true'
{
  "cluster_name" : "graylog-development",
  "status" : "green",
  "timed_out" : false,
  "number_of_nodes" : 1,
  "number_of_data_nodes" : 1,
  "active_primary_shards" : 0,
  "active_shards" : 0,
  "relocating_shards" : 0,
  "initializing_shards" : 0,
  "unassigned_shards" : 0,
  "delayed_unassigned_shards" : 0,
  "number_of_pending_tasks" : 0,
  "number_of_in_flight_fetch" : 0
}

Если status = green , то все хорошо


Установка Graylog


Скачаем и установим репозиторий:
# cd ~
# wget https://packages.graylog2.org/repo/packages/graylog-1.3-repository-ubuntu14.04_latest.deb
# dpkg -i graylog-1.3-repository-ubuntu14.04_latest.deb 

Обновим кеш:
# apt-get update

Установим пакет, для корректной работы с репозиториями по протоколу HTTPS:
# apt-get install apt-transport-https

Установим сам пакет:
# apt-get install graylog-server

Установим пакет для генерации пароля:
# apt-get install pwgen

Сгенерируем серкетный пароль:
# SECRET=$(pwgen -s 96 1)

Добавим его в конфигцрационный файл Graylog-server:
# sed -i -e 's/password_secret =.*/password_secret = '${SECRET}'/' /etc/graylog/server/server.conf

Сгенерируем пароль администратора:
# PASSWORD=$(echo -n password | shasum -a 256 | awk '{print $1}')

Установим пароль администратора:
# sed -i -e 's/root_password_sha2 =.*/root_password_sha2 = '${PASSWORD}'/' /etc/graylog/server/server.conf 

Поправим конфигурационный файл:
# vim /etc/graylog/server/server.conf
rest_transport_uri = http://127.0.0.1:12900/ - работать с локалхостом
root_email = "root@domain.com" - почтовый ящик администратора
root_timezone = UTC - часовой пояс
elasticsearch_cluster_name = graylog-development - ElasticSearch cluster.name
elasticsearch_discovery_zen_ping_unicast_hosts = 127.0.0.1:9300
elasticsearch_discovery_zen_ping_multicast_enabled = false
elasticsearch_max_docs_per_index = 20000000
elasticsearch_max_number_of_indices = 20
elasticsearch_shards = 1

Запустим сервис:
# start graylog-server

Добавим в автозагрузку:
# update-rc.d graylog-server defaults


Установка graylog Web


Установим сам пакет:
# apt-get install graylog-web

Сгенерируем ключ:
# SECRET=$(pwgen -s 96 1)

Установим ключ:
# sed -i -e 's/application\.secret=""/application\.secret="'${SECRET}'"/' /etc/graylog/web/web.conf

Поправим конфигурационный файл:
# vim /etc/graylog/web/web.conf
timezone="Europe/Moscow"
graylog2-server.uris="http://127.0.0.1:12900/"

Запустим службу:
# start graylog-web

Добавим в автозагрузку:
# update-rc.d graylog-web defaults


Теперь Graylog web будет доступен по адресу: http://ip_address:9000  с пользователем admin и паролем, который мы устанавливали ранее в root_password_sha2.




Подключение клиента CentOS 6


Мне необходимо было добавить сервера на CentOS 6, как клиенты. Для этого на клиенте правим файл:
# vim /etc/rsyslog.conf
$WorkDirectory /var/spppl/rsyslog # where to place spool files
$ActionQueueFileName fwdRule1 # unique name prefix for spool files
$ActionQueueMaxDiskSpace 1g   # 1gb space limit (use as much as possible)
$ActionQueueSaveOnShutdown on # save messages to disk on shutdown
$ActionQueueType LinkedList   # run asynchronously
$ActionResumeRetryCount -1    # infinite retries if host is down
# remote host is: name/ip:port, e.g. 192.168.0.1:514, port optional
*.* @Ip_address:port

# service rsyslog restart


Полезные ссылки:
http://www.server-world.info/en/note?os=CentOS_6&p=rsyslog
http://www.itzgeek.com/how-tos/linux/ubuntu-how-tos/how-to-install-graylog2-on-ubuntu-14-04.html
https://www.lisenet.com/2015/install-graylog2-server-on-centos-6/
http://www.richardyau.com/?p=377
https://marketplace.graylog.org/addons/a47beb3b-0bd9-4792-a56a-33b27b567856
https://www.digitalocean.com/community/tutorials/how-to-install-graylog-1-x-on-ubuntu-14-04

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

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