Ubuntu20.04にgraylog3.2をインストールする


Ubuntu20.04にgraylog3.2をインストールします。インストール作業自体はオフィシャルサイトのInstalling Graylogを参考にUbuntu20.04用に改編しています。

インストール要件

出来る限り、Ubuntu20.04デフォルトのパッケージを利用したいため、以下の要件でインストールを行いました。

  • メジャーなLinuxである事(本インストール作業はUbuntu20.04)
  • Elasticsearch 6
  • MongoDB 3.6
  • OpenJDK8.0
  • localhost:9000のGUI画面にはApacheからリバースプロキシを行う
  • ローカル環境に構築する(セキュリティの考慮事項を減らせるため)
  • リモートサーバのログは適宜取得する設定を行う

メモリをたくさん使う組み合わせの為、メモリに余裕のあるサーバである事が好ましいです。以前、2GBしかメモリの無いサーバにインストールしたときには、実用に耐えませんでした。

インストール作業

以下の流れでインストールを実施します。

mongoDB3.6.xのインストール

sudo apt update ;sudo apt upgrade
sudo apt install apt-transport-https openjdk-8-jre-headless uuid-runtime pwgen
sudo apt install mongodb

sudo systemctl daemon-reload
sudo systemctl enable mongodb

elasticsearchのインストール

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
echo "deb https://artifacts.elastic.co/packages/6.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-6.x.list
sudo apt update
sudo apt install elasticsearch

/etc/elasticsearch/elasticsearch.ymlに以下を追記する。(以下手順でsedで追加している)

  • cluster.name: graylog
  • action.auto_create_index: false
# デフォルトの設定ファイルをバックアップ
sudo cp /etc/elasticsearch/elasticsearch.yml /etc/elasticsearch/elasticsearch.yml.org

# 設定値を追加
sudo sed -i 's/^[# ]*action.auto_create_index:.*/action.auto_create_index: true/g' /etc/elasticsearch/elasticsearch.yml
sudo sed -i 's/^[# ]*cluster\.name:.*/cluster.name: graylog/g' /etc/elasticsearch/elasticsearch.yml
cat <<- __EOF__ | sudo tee -a /etc/elasticsearch/elasticsearch.yml
action.auto_create_index: false
__EOF__

# 設定結果をdiffで確認
sudo diff /etc/elasticsearch/elasticsearch.yml /etc/elasticsearch/elasticsearch.yml.org

# サービスが自動で起動するように設定
sudo systemctl daemon-reload
sudo systemctl enable elasticsearch.service
sudo systemctl restart elasticsearch.service
sudo systemctl list-unit-files --type service  | grep elasticsearch

graylog3.2のインストール

以下でroot_password変数に設定しているのがgraylog管理画面にログインする際のadminユーザーのパスワードです。忘れないようにしてください。

なお、以下手順中でパスワードに適当な文字列を設定していますが、一例ですので適当に変更してください。私のサーバも以下パスワードから変更しています。

cd /tmp
wget https://packages.graylog2.org/repo/packages/graylog-3.2-repository_latest.deb
sudo dpkg -i graylog-3.2-repository_latest.deb

# plugin系は不要ならインストールしないでください。
sudo apt update && sudo apt install graylog-server 

# パスワードの設定
export password_secret="MXdscj890dsfs()d"
export root_password="nZX()jdsdsa()D9sankosdf"
export root_password_sha2=`echo -n "${root_password}" | shasum -a 256 | cut -d" " -f1`

# 設定値を登録
sudo cp /etc/graylog/server/server.conf /etc/graylog/server/server.conf.org
sudo sed -i "s/^[# ]*root_password_sha2 *=.*/root_password_sha2 = ${root_password_sha2}/g" /etc/graylog/server/server.conf
sudo sed -i "s/^[# ]*password_secret *=.*/password_secret = ${password_secret}/g" /etc/graylog/server/server.conf

# タイムゾーンを設定する
sudo sed -i "s/^[# ]*root_timezone *=.*/root_timezone = Asia\/Tokyo/g" /etc/graylog/server/server.conf

sudo diff /etc/graylog/server/server.conf /etc/graylog/server/server.conf.org

# サービスが自動で起動するように設定
sudo systemctl daemon-reload
sudo systemctl enable graylog-server.service
sudo systemctl start graylog-server.service
sudo systemctl list-unit-files --type service | grep graylog

Apacheへリバースプロキシの設定を入れる

上記までで、localhost:9000からアクセスできるようになっています。Listenするアドレスを0.0.0.0:9000とすることもできますが、WEB画面の表示は全てApache経由としたいため、Apacheにリバースプロキシの設定をします。

apt install apache

export servername=graylog.local
sudo a2enmod headers


cat <<- __EOF__ | sudo tee -a /etc/apache2/sites-available/${servername}.conf
<VirtualHost *:80>
    ServerName ${servername}
    ProxyRequests Off
    <Proxy *>
        Order deny,allow
        Allow from all
    </Proxy>

    <Location />
        RequestHeader set X-Graylog-Server-URL "http://${servername}/"
        ProxyPass http://127.0.0.1:9000/
        ProxyPassReverse http://127.0.0.1:9000/
    </Location>
</VirtualHost>
__EOF__

cd /etc/apache2/sites-enabled
sudo ln -s  ../sites-available/${servername}.conf  ${servername}.conf

sudo systemctl daemon-reload
sudo systemctl enable apache2.service
sudo systemctl restart apache2.service

echo "hostsファイルに「サーバのIPアドレス 	${servername}」の設定を追加してから、ブラウザで http://${servername} へアクセスします。"
echo "ユーザー名:admin / パスワード:${root_password}"

管理課面へのログイン

管理画面のログイン前に、作業用のPCのホストファイル(windowsの場合はC:\Windows\System32\drivers\etc\hosts)にサーバのIPとホスト名を登録してください。

そのうえで、ブラウザでgraylog管理画面にアクセスします。

graylog管理画面へのログイン
ログイン後の画面

以上で一通りのインストールを実施しました。設定値は環境によりけりなので、以下参考ページを参考に設定してください。

参考

タグ . ブックマークする パーマリンク.

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください