Graylog: различия между версиями
Sirmax (обсуждение | вклад) |
Sirmax (обсуждение | вклад) |
||
(не показано 16 промежуточных версий этого же участника) | |||
Строка 2: | Строка 2: | ||
[[Категория:Graylog]] |
[[Категория:Graylog]] |
||
=Устновка Graylog2 на CentOS 6.3= |
=Устновка Graylog2 на CentOS 6.3= |
||
+ | |||
+ | <BR> |
||
+ | |||
+ | Полностью устарело - используйте RPM |
||
+ | |||
Добавлю epel репозиторий. |
Добавлю epel репозиторий. |
||
Строка 21: | Строка 26: | ||
<PRE> |
<PRE> |
||
yum -y install mongodb.x86_64 mongodb-devel.x86_64 mongodb-server.x86_64 |
yum -y install mongodb.x86_64 mongodb-devel.x86_64 mongodb-server.x86_64 |
||
+ | </PRE> |
||
+ | |||
+ | Ява и прочее необходимое барахло |
||
+ | <PRE> |
||
+ | yum -y install lsb gcc make java-1.6.0-openjdk curl-devel zlib-devel openssl-devel |
||
</PRE> |
</PRE> |
||
+ | |||
+ | |||
+ | Секрктничать с монго смысла пока не вижу, на всякий случай привожу как это сделать |
||
+ | <PRE> |
||
+ | Устанавливаем mongodb-server |
||
+ | |||
+ | # yum -y install mongodb mongodb-server |
||
+ | |||
+ | Создаем пользователя: |
||
+ | |||
+ | # mongo |
||
+ | MongoDB shell version: 1.8.2 |
||
+ | connecting to: test |
||
+ | |||
+ | > use admin |
||
+ | switched to db admin |
||
+ | |||
+ | > db.addUser('admin', 'Password') |
||
+ | { |
||
+ | "user" : "admin", |
||
+ | "readOnly" : false, |
||
+ | "pwd" : "Password" |
||
+ | } |
||
+ | |||
+ | > db.auth('admin', 'Password') |
||
+ | 1 |
||
+ | |||
+ | > use graylog2 |
||
+ | switched to db graylog2 |
||
+ | |||
+ | > db.addUser('grayloguser', 'Password') |
||
+ | { |
||
+ | "user" : "grayloguser", |
||
+ | "readOnly" : false, |
||
+ | "pwd" : "Password" |
||
+ | } |
||
+ | |||
+ | > db.auth('grayloguser', 'Password') |
||
+ | 1 |
||
+ | |||
+ | > exit |
||
+ | bye |
||
+ | |||
+ | Делаем Mongodb более безопастной |
||
+ | |||
+ | /etc/mongodb.conf |
||
+ | auth = true |
||
+ | |||
+ | Перестартуем Mongodb |
||
+ | |||
+ | # service mongod restart |
||
+ | |||
+ | Добавляем в автозагрузку |
||
+ | |||
+ | # chkconfig mongod on |
||
+ | # chkconfig --list | grep mongod |
||
+ | mongod 0:off 1:off 2:on 3:on 4:on 5:on 6:off |
||
+ | </PRE> |
||
+ | |||
+ | |||
Строка 28: | Строка 98: | ||
rvm pkg install openssl |
rvm pkg install openssl |
||
rvm install 1.9.2 --with-openssl-dir=$HOME/.rvm/usr |
rvm install 1.9.2 --with-openssl-dir=$HOME/.rvm/usr |
||
+ | </PRE> |
||
+ | ==Устанавливаем Elasticsearch== |
||
+ | Я решил собрать РПМку. на сайте подробная инструкция.https://github.com/tavisto/elasticsearch-rpms |
||
+ | У меня (я делал по шагам_ все собралось сразу и без проблем. |
||
+ | |||
+ | <PRE> |
||
+ | rpm -ivh elasticsearch-0.19.0-1.el6.x86_64.rpm |
||
+ | /etc/init.d/elasticsearch start |
||
+ | chkconfig elasticsearch on |
||
+ | </PRE> |
||
+ | Подробнее на русском я читал тут: http://habrahabr.ru/post/122531/ |
||
+ | |||
+ | ==Graylog2.rpm== |
||
+ | Сборка как обычно, спек конфиг и инит ниже: |
||
+ | ==SPEC== |
||
+ | <PRE> |
||
+ | %define real_name graylog2-server |
||
+ | %define version 0.9.6 |
||
+ | %define vers 096 |
||
+ | %define prefix /opt/%{real_name}/%{version} |
||
+ | |||
+ | |||
+ | Name: %{real_name}-%{vers} |
||
+ | Summary: Graylog2 is an log management solution that stores your logs in ElasticSearch. |
||
+ | Version: %{version} |
||
+ | Release: 1 |
||
+ | AutoReqProv: on |
||
+ | License: BSD |
||
+ | Group: Applications/Searchengines |
||
+ | URL: http://www.graylog2.org |
||
+ | #Source: https://github.com/downloads/Graylog2/graylog2-server/%{real_name}-%{version}.tar.gz |
||
+ | Source: %{real_name}-%{version}.tar.gz |
||
+ | Source1: graylogd2 |
||
+ | Source2: graylog2.conf |
||
+ | Buildarch: noarch |
||
+ | BuildRoot: %{_tmppath}/%{name}-%{version}-build |
||
+ | |||
+ | %if 0%{?suse_version} >= 1100 |
||
+ | BuildRequires: -post-build-checks |
||
+ | %endif |
||
+ | |||
+ | |||
+ | %description |
||
+ | Graylog2 is an open source log management solution that stores your logs in ElasticSearch. It consists of a server written in Java that accepts your syslog messages via TCP, UDP or AMQP and stores it in the database. The second part is a web interface that allows you to manage the log messages from your web browser. |
||
+ | |||
+ | |||
+ | %prep |
||
+ | %setup -q -n %{real_name}-%{version} |
||
+ | |||
+ | |||
+ | %build |
||
+ | |||
+ | |||
+ | %install |
||
+ | %{__mkdir_p} %{buildroot}%{prefix} |
||
+ | %{__mkdir_p} %{buildroot}%{_sysconfdir}/rc.d/init.d |
||
+ | %{__install} -m 755 %{SOURCE1} %{buildroot}%{_sysconfdir}/rc.d/init.d/graylogd2 |
||
+ | %{__install} -m 644 %{SOURCE2} %{buildroot}%{_sysconfdir}/graylog2.conf |
||
+ | |||
+ | %{__cp} -av ./* %{buildroot}%{prefix}/ |
||
+ | |||
+ | %post |
||
+ | cd %{prefix}/.. |
||
+ | %{__ln_s} -f %{version} 0.9.latest |
||
+ | |||
+ | |||
+ | %clean |
||
+ | %{__rm} -rf %{buildroot} |
||
+ | |||
+ | |||
+ | %files |
||
+ | %defattr(-,root,root) |
||
+ | %dir %{prefix} |
||
+ | %{prefix} |
||
+ | %{_sysconfdir}/rc.d/init.d/graylogd2 |
||
+ | |||
+ | %config(noreplace) %{_sysconfdir}/graylog2.conf |
||
+ | |||
+ | %changelog |
||
+ | * Mon Sep 24 2012 Max Mazur <sirmax123@gmail.com> |
||
+ | - Added init script, moved from DBA --> /opt, added config |
||
+ | |||
+ | * Fri May 11 2012 Holger Manthey <holger.manthey@bertelsmann.de> |
||
+ | - inital version |
||
+ | </PRE> |
||
+ | ==init script== |
||
+ | <PRE> |
||
+ | cat graylogd2 |
||
+ | #!/bin/bash |
||
+ | # |
||
+ | # graylog2-server - This script starts and stops the graylog2-server daemon |
||
+ | # |
||
+ | # chkconfig: - 85 15 |
||
+ | # description: graylog2 is a syslog implementation that stores logs in MongoDB |
||
+ | |||
+ | ### BEGIN INIT INFO |
||
+ | # Provides: |
||
+ | # Required-Start: $network |
||
+ | # Required-Stop: $network |
||
+ | # Default-Stop: 0 1 2 6 |
||
+ | # Short-Description: Start/stop the graylog2-server daemon |
||
+ | # Description: A syslog implementation that stores logs in MongoDB |
||
+ | ### END INIT INFO |
||
+ | |||
+ | |||
+ | |||
+ | # Source function library. |
||
+ | . /etc/init.d/functions |
||
+ | |||
+ | # Check networking |
||
+ | . /etc/sysconfig/network |
||
+ | [[ $NETWORKING == no ]] && exit 0 |
||
+ | |||
+ | prog="graylog2-server" |
||
+ | version="0.9.6" |
||
+ | vers="096" |
||
+ | prefix="/opt/${prog}/${version}/" |
||
+ | jar="${prefix}/$prog.jar" |
||
+ | lockfile="/var/lock/$prog" |
||
+ | logfile="/var/log/graylog2.log" |
||
+ | pidfile="/var/run/$prog.pid" |
||
+ | |||
+ | JAVA_BIN="/usr/bin/java" |
||
+ | |||
+ | unset pid |
||
+ | |||
+ | gl2_run() { |
||
+ | # Disable csh style history expansion for safety |
||
+ | set +H |
||
+ | daemon "( $JAVA_BIN -jar \"$jar\" >\"$logfile\" 2>&1 & echo \"\$!\" >\"$pidfile\" )" |
||
+ | pid=$(<"$pidfile") |
||
+ | sleep 1 |
||
+ | if kill -0 "$pid" >/dev/null 2>&1 |
||
+ | then |
||
+ | return 0 |
||
+ | else |
||
+ | return 1 |
||
+ | fi |
||
+ | } |
||
+ | |||
+ | gl2_status() { |
||
+ | [[ -f $pidfile ]] && pid=$(<"$pidfile") |
||
+ | [[ -z $pid ]] && return 1 |
||
+ | if kill -0 "$pid" >/dev/null 2>&1 |
||
+ | then |
||
+ | return 0 |
||
+ | else |
||
+ | return 1 |
||
+ | fi |
||
+ | } |
||
+ | |||
+ | status() { |
||
+ | if gl2_status |
||
+ | then |
||
+ | echo $"$prog (pid $pid) is running..." |
||
+ | return 0 |
||
+ | else |
||
+ | if [[ -f $lockfile ]] |
||
+ | then |
||
+ | echo $"$prog dead but subsys locked" |
||
+ | return 2 |
||
+ | fi |
||
+ | echo $"$prog is stopped" |
||
+ | return 3 |
||
+ | fi |
||
+ | } |
||
+ | |||
+ | start() { |
||
+ | [[ -r $jar ]] || exit 5 |
||
+ | gl2_run >/dev/null 2>&1 |
||
+ | if [[ $? -eq 0 ]] |
||
+ | then |
||
+ | retval=0 |
||
+ | touch "$lockfile" |
||
+ | success |
||
+ | else |
||
+ | retval=1 |
||
+ | failure |
||
+ | fi |
||
+ | |||
+ | echo $"Starting $prog: " |
||
+ | return "$retval" |
||
+ | } |
||
+ | |||
+ | stop() { |
||
+ | killproc -p "$pidfile" |
||
+ | if [[ $? -eq 0 ]] |
||
+ | then |
||
+ | retval=0 |
||
+ | rm -f "$lockfile" |
||
+ | success |
||
+ | else |
||
+ | retval=1 |
||
+ | failure |
||
+ | fi |
||
+ | |||
+ | echo $"Stopping $prog: " |
||
+ | return "$retval" |
||
+ | } |
||
+ | |||
+ | restart() { |
||
+ | stop |
||
+ | start |
||
+ | } |
||
+ | |||
+ | reload() { |
||
+ | restart |
||
+ | } |
||
+ | |||
+ | force_reload() { |
||
+ | restart |
||
+ | } |
||
+ | |||
+ | case "$1" in |
||
+ | start) |
||
+ | gl2_status && exit 0 |
||
+ | $1 |
||
+ | ;; |
||
+ | stop) |
||
+ | gl2_status || exit 0 |
||
+ | $1 |
||
+ | ;; |
||
+ | restart) |
||
+ | $1 |
||
+ | ;; |
||
+ | reload) |
||
+ | gl2_status || exit 7 |
||
+ | $1 |
||
+ | ;; |
||
+ | force-reload) |
||
+ | force_reload |
||
+ | ;; |
||
+ | status) |
||
+ | $1 |
||
+ | ;; |
||
+ | condrestart|try-restart) |
||
+ | gl2_status || exit 0 |
||
+ | restart |
||
+ | ;; |
||
+ | *) |
||
+ | echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}" |
||
+ | exit 2 |
||
+ | esac |
||
+ | exit $? |
||
+ | </PRE> |
||
+ | |||
+ | |||
+ | ==www-интерфейс== |
||
+ | Доставилд мне массу гиммороя при установке и я до сих пор не доконца понимаю смысл делать так как он сделан. но это детали. |
||
+ | <BR> |
||
+ | |||
+ | <PRE> |
||
+ | wget https://github.com/downloads/Graylog2/graylog2-web-interface/graylog2-web-interface-0.9.6.tar.gz |
||
+ | </PRE> |
||
+ | Распаковать в /usr/local/graylog2-web-interface, добавить юзера graylog |
||
+ | <PRE> |
||
+ | |||
+ | bash -s stable < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer) |
||
+ | </PRE> |
||
+ | rvm это утилита для работы с руби. Ставится довольно необычно. |
||
+ | После чего поставить |
||
+ | <PRE> |
||
+ | yum install -y gcc-c++ patch readline readline-devel zlib zlib-devel libyaml-devel libffi-devel openssl-devel make bzip2 autoconf automake libtool bison iconv-devel |
||
+ | </PRE> |
||
+ | |||
+ | И обновить руби |
||
+ | <PRE>rvm install ruby-1.9.2-p320</PRE> |
||
+ | |||
+ | |||
+ | <BR> |
||
+ | Устанавливаем gem bundle (у меня в системе не было , но возможно есть дистрибутивы которым это не надо. предположительно - gentoo) |
||
+ | <PRE> |
||
+ | rvm use 1.9.2 |
||
+ | cd /usr/local/graylog2-web-interface |
||
+ | gem install bundler |
||
+ | bundle install |
||
+ | </PRE> |
||
+ | |||
+ | |||
+ | интерфейс конфиггурится отдельно. Насколько я понимаю graylog2 хранит настройки в монго а вебморда их оттуда просто считывает потому достаточно указать монго. У меня авторизации как таковой нет. |
||
+ | |||
+ | <PRE> |
||
+ | # mongoid.yml |
||
+ | production: |
||
+ | host: localhost |
||
+ | port: 27017 |
||
+ | username: |
||
+ | password: |
||
+ | database: graylog2 |
||
+ | </PRE> |
||
+ | |||
+ | Устанавливаем passenger-standalone (и заодно nginx) При установке будет сообщение о списке пакетов которые нужны - вроде gcc-c++ и openssl-devel. <B>Это ВАЖНО!</B> |
||
+ | |||
+ | <PRE> |
||
+ | gem install passenger |
||
+ | gem install file-tail |
||
+ | cd /urs/local/graylog2-web-interface |
||
+ | mkdir tmp log |
||
+ | chmod -R 777 tmp log |
||
+ | </PRE> |
||
+ | |||
+ | Стратовый скрипт я честно нашел в инете, писать самому было лень |
||
+ | <PRE> |
||
+ | #!/bin/bash |
||
+ | # |
||
+ | # graylog2-web-interface: graylog2 web interface |
||
+ | # |
||
+ | # chkconfig: - 98 02 |
||
+ | # description: Starts graylog2-web-interface using passenger-standalone. \ |
||
+ | # Uses RVM to use switch to a specific ruby version. |
||
+ | # |
||
+ | |||
+ | # config |
||
+ | USER=graylog |
||
+ | APP_DIR=/usr/local/graylog2-web-interface |
||
+ | RVM_RUBY=1.9.2 |
||
+ | ADDR=127.0.0.1 |
||
+ | PORT=3000 |
||
+ | ENVIRONMENT=production |
||
+ | LOG_FILE=/var/log/graylog2-web-interface.log |
||
+ | |||
+ | # -- |
||
+ | |||
+ | CMD_START="cd $APP_DIR; rvm use $RVM_RUBY; passenger start -d \ |
||
+ | -a $ADDR \ |
||
+ | -p $PORT \ |
||
+ | -e $ENVIRONMENT \ |
||
+ | --user $USER" |
||
+ | CMD_STOP="cd $APP_DIR; rvm use $RVM_RUBY; passenger stop -p $PORT" |
||
+ | |||
+ | CMD_STATUS="cd $APP_DIR; rvm use $RVM_RUBY; passenger status -p $PORT" |
||
+ | |||
+ | . /lib/lsb/init-functions |
||
+ | case "$1" in |
||
+ | start) |
||
+ | echo "Starting graylog2-web-interface" |
||
+ | su - $USER -c "$CMD_START" |
||
+ | ;; |
||
+ | stop) |
||
+ | echo "Stopping graylog2-web-interface" |
||
+ | su - $USER -c "$CMD_STOP" |
||
+ | ;; |
||
+ | status) |
||
+ | su - $USER -c "$CMD_STATUS" |
||
+ | ;; |
||
+ | *) |
||
+ | echo "Usage: $0 start|stop|status" |
||
+ | exit 3 |
||
+ | ;; |
||
+ | esac |
||
</PRE> |
</PRE> |
Текущая версия на 17:42, 26 марта 2014
Устновка Graylog2 на CentOS 6.3
Полностью устарело - используйте RPM
Добавлю epel репозиторий.
У меня он локальный
/etc/yum.repos.d/epel.repo [epel] name=Extra Packages for Enterprise Linux 6 baseurl=http://172.16.250.1/cobbler/repo_mirror/epel/x86_64 failovermethod=priority enabled=1
или из сети
rpm -i http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-7.noarch.rpm
Установить mongodb
yum -y install mongodb.x86_64 mongodb-devel.x86_64 mongodb-server.x86_64
Ява и прочее необходимое барахло
yum -y install lsb gcc make java-1.6.0-openjdk curl-devel zlib-devel openssl-devel
Секрктничать с монго смысла пока не вижу, на всякий случай привожу как это сделать
Устанавливаем mongodb-server # yum -y install mongodb mongodb-server Создаем пользователя: # mongo MongoDB shell version: 1.8.2 connecting to: test > use admin switched to db admin > db.addUser('admin', 'Password') { "user" : "admin", "readOnly" : false, "pwd" : "Password" } > db.auth('admin', 'Password') 1 > use graylog2 switched to db graylog2 > db.addUser('grayloguser', 'Password') { "user" : "grayloguser", "readOnly" : false, "pwd" : "Password" } > db.auth('grayloguser', 'Password') 1 > exit bye Делаем Mongodb более безопастной /etc/mongodb.conf auth = true Перестартуем Mongodb # service mongod restart Добавляем в автозагрузку # chkconfig mongod on # chkconfig --list | grep mongod mongod 0:off 1:off 2:on 3:on 4:on 5:on 6:off
rvm remove 1.9.2 rvm pkg install openssl rvm install 1.9.2 --with-openssl-dir=$HOME/.rvm/usr
Устанавливаем Elasticsearch
Я решил собрать РПМку. на сайте подробная инструкция.https://github.com/tavisto/elasticsearch-rpms У меня (я делал по шагам_ все собралось сразу и без проблем.
rpm -ivh elasticsearch-0.19.0-1.el6.x86_64.rpm /etc/init.d/elasticsearch start chkconfig elasticsearch on
Подробнее на русском я читал тут: http://habrahabr.ru/post/122531/
Graylog2.rpm
Сборка как обычно, спек конфиг и инит ниже:
SPEC
%define real_name graylog2-server %define version 0.9.6 %define vers 096 %define prefix /opt/%{real_name}/%{version} Name: %{real_name}-%{vers} Summary: Graylog2 is an log management solution that stores your logs in ElasticSearch. Version: %{version} Release: 1 AutoReqProv: on License: BSD Group: Applications/Searchengines URL: http://www.graylog2.org #Source: https://github.com/downloads/Graylog2/graylog2-server/%{real_name}-%{version}.tar.gz Source: %{real_name}-%{version}.tar.gz Source1: graylogd2 Source2: graylog2.conf Buildarch: noarch BuildRoot: %{_tmppath}/%{name}-%{version}-build %if 0%{?suse_version} >= 1100 BuildRequires: -post-build-checks %endif %description Graylog2 is an open source log management solution that stores your logs in ElasticSearch. It consists of a server written in Java that accepts your syslog messages via TCP, UDP or AMQP and stores it in the database. The second part is a web interface that allows you to manage the log messages from your web browser. %prep %setup -q -n %{real_name}-%{version} %build %install %{__mkdir_p} %{buildroot}%{prefix} %{__mkdir_p} %{buildroot}%{_sysconfdir}/rc.d/init.d %{__install} -m 755 %{SOURCE1} %{buildroot}%{_sysconfdir}/rc.d/init.d/graylogd2 %{__install} -m 644 %{SOURCE2} %{buildroot}%{_sysconfdir}/graylog2.conf %{__cp} -av ./* %{buildroot}%{prefix}/ %post cd %{prefix}/.. %{__ln_s} -f %{version} 0.9.latest %clean %{__rm} -rf %{buildroot} %files %defattr(-,root,root) %dir %{prefix} %{prefix} %{_sysconfdir}/rc.d/init.d/graylogd2 %config(noreplace) %{_sysconfdir}/graylog2.conf %changelog * Mon Sep 24 2012 Max Mazur <sirmax123@gmail.com> - Added init script, moved from DBA --> /opt, added config * Fri May 11 2012 Holger Manthey <holger.manthey@bertelsmann.de> - inital version
init script
cat graylogd2 #!/bin/bash # # graylog2-server - This script starts and stops the graylog2-server daemon # # chkconfig: - 85 15 # description: graylog2 is a syslog implementation that stores logs in MongoDB ### BEGIN INIT INFO # Provides: # Required-Start: $network # Required-Stop: $network # Default-Stop: 0 1 2 6 # Short-Description: Start/stop the graylog2-server daemon # Description: A syslog implementation that stores logs in MongoDB ### END INIT INFO # Source function library. . /etc/init.d/functions # Check networking . /etc/sysconfig/network [[ $NETWORKING == no ]] && exit 0 prog="graylog2-server" version="0.9.6" vers="096" prefix="/opt/${prog}/${version}/" jar="${prefix}/$prog.jar" lockfile="/var/lock/$prog" logfile="/var/log/graylog2.log" pidfile="/var/run/$prog.pid" JAVA_BIN="/usr/bin/java" unset pid gl2_run() { # Disable csh style history expansion for safety set +H daemon "( $JAVA_BIN -jar \"$jar\" >\"$logfile\" 2>&1 & echo \"\$!\" >\"$pidfile\" )" pid=$(<"$pidfile") sleep 1 if kill -0 "$pid" >/dev/null 2>&1 then return 0 else return 1 fi } gl2_status() { [[ -f $pidfile ]] && pid=$(<"$pidfile") [[ -z $pid ]] && return 1 if kill -0 "$pid" >/dev/null 2>&1 then return 0 else return 1 fi } status() { if gl2_status then echo $"$prog (pid $pid) is running..." return 0 else if [[ -f $lockfile ]] then echo $"$prog dead but subsys locked" return 2 fi echo $"$prog is stopped" return 3 fi } start() { [[ -r $jar ]] || exit 5 gl2_run >/dev/null 2>&1 if [[ $? -eq 0 ]] then retval=0 touch "$lockfile" success else retval=1 failure fi echo $"Starting $prog: " return "$retval" } stop() { killproc -p "$pidfile" if [[ $? -eq 0 ]] then retval=0 rm -f "$lockfile" success else retval=1 failure fi echo $"Stopping $prog: " return "$retval" } restart() { stop start } reload() { restart } force_reload() { restart } case "$1" in start) gl2_status && exit 0 $1 ;; stop) gl2_status || exit 0 $1 ;; restart) $1 ;; reload) gl2_status || exit 7 $1 ;; force-reload) force_reload ;; status) $1 ;; condrestart|try-restart) gl2_status || exit 0 restart ;; *) echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}" exit 2 esac exit $?
www-интерфейс
Доставилд мне массу гиммороя при установке и я до сих пор не доконца понимаю смысл делать так как он сделан. но это детали.
wget https://github.com/downloads/Graylog2/graylog2-web-interface/graylog2-web-interface-0.9.6.tar.gz
Распаковать в /usr/local/graylog2-web-interface, добавить юзера graylog
bash -s stable < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer)
rvm это утилита для работы с руби. Ставится довольно необычно. После чего поставить
yum install -y gcc-c++ patch readline readline-devel zlib zlib-devel libyaml-devel libffi-devel openssl-devel make bzip2 autoconf automake libtool bison iconv-devel
И обновить руби
rvm install ruby-1.9.2-p320
Устанавливаем gem bundle (у меня в системе не было , но возможно есть дистрибутивы которым это не надо. предположительно - gentoo)
rvm use 1.9.2 cd /usr/local/graylog2-web-interface gem install bundler bundle install
интерфейс конфиггурится отдельно. Насколько я понимаю graylog2 хранит настройки в монго а вебморда их оттуда просто считывает потому достаточно указать монго. У меня авторизации как таковой нет.
# mongoid.yml production: host: localhost port: 27017 username: password: database: graylog2
Устанавливаем passenger-standalone (и заодно nginx) При установке будет сообщение о списке пакетов которые нужны - вроде gcc-c++ и openssl-devel. Это ВАЖНО!
gem install passenger gem install file-tail cd /urs/local/graylog2-web-interface mkdir tmp log chmod -R 777 tmp log
Стратовый скрипт я честно нашел в инете, писать самому было лень
#!/bin/bash # # graylog2-web-interface: graylog2 web interface # # chkconfig: - 98 02 # description: Starts graylog2-web-interface using passenger-standalone. \ # Uses RVM to use switch to a specific ruby version. # # config USER=graylog APP_DIR=/usr/local/graylog2-web-interface RVM_RUBY=1.9.2 ADDR=127.0.0.1 PORT=3000 ENVIRONMENT=production LOG_FILE=/var/log/graylog2-web-interface.log # -- CMD_START="cd $APP_DIR; rvm use $RVM_RUBY; passenger start -d \ -a $ADDR \ -p $PORT \ -e $ENVIRONMENT \ --user $USER" CMD_STOP="cd $APP_DIR; rvm use $RVM_RUBY; passenger stop -p $PORT" CMD_STATUS="cd $APP_DIR; rvm use $RVM_RUBY; passenger status -p $PORT" . /lib/lsb/init-functions case "$1" in start) echo "Starting graylog2-web-interface" su - $USER -c "$CMD_START" ;; stop) echo "Stopping graylog2-web-interface" su - $USER -c "$CMD_STOP" ;; status) su - $USER -c "$CMD_STATUS" ;; *) echo "Usage: $0 start|stop|status" exit 3 ;; esac