オープンソース

一覧へ

4. インストール方法(OpenSearch)

4.1. 必要なソフトウェア

SyLAS(OpenSearchバックエンド)を利用するためには、次のソフトウェアが必要です。

  • WEBサーバ
  • PHP 5.4以上
    • mbstring拡張
    • openssl拡張
    • pdo/mysql拡張
    • curl拡張
  • rsyslog
  • MariaDB/MySQL
  • rsyslog
  • OpenSearch
  • java
  • rsyslog-elasticsearchモジュール
  • MTA(Postfix等)
  • postLDAPadminフレームワーク( https://github.com/designet-inc-oss/postLDAPadmin )

4.2. 環境について

本章では、次の環境での構築方法を解説します。

  • OS
    • Almalinux9
  • WEBサーバ
    • Apache HTTP Server 2.4(Almalinux標準パッケージ)
  • PHP
    • php-8.0.30(Almalinux標準パッケージ)
    • php-mbstring-8.0.30(Almalinux標準パッケージ)
    • php-pdo-8.0.30(Almalinux標準パッケージ)
    • php-mysqlnd-8.0.30(Almalinux標準パッケージ)
    • php-pecl-mcrypt-1.0.6(Epelパッケージ)
  • rsyslog
    • rsyslog 8(Almalinux標準パッケージ)
    • rsyslog-elasticsearch(Almalinux標準パッケージ)
  • OpenSearch
    • OpenSearch 2.15(OpenSearch公式パッケージ)
  • DB
    • mariadb-server-10.5.22(Almalinux標準パッケージ)
  • MTA
    • postfix-3.5.9(Almalinux標準パッケージ)

4.3. 必要なソフトウェアのインストール

4.3.1. EPELリポジトリのインストール

dnf コマンドを利用して、EPELリポジトリをインストールします。

# dnf install -y epel-release

4.3.2. ソフトウェアのインストール

dnf コマンドを利用して、Almalinuxの標準で利用できるパッケージをインストールします。

# dnf install -y httpd php php-common php-cli php-mbstring php-pdo php-mysqlnd php-mcrypt rsyslog rsyslog-elasticsearch postfix mariadb-server

Note

rsyslogとpostfixは、OSインストールの際にインストール済かもしれません。

4.3.3. OpenSearchのインストール

OpenSearchの公式リポジトリを登録します。

# curl -SL https://artifacts.opensearch.org/releases/bundle/opensearch/2.x/opensearch-2.x.repo -o /etc/yum.repos.d/opensearch-2.x.repo
# dnf clean all

インストールの前に、OpenSearchの管理者パスワードを指定します。

# env OPENSEARCH_INITIAL_ADMIN_PASSWORD=adminadmin

OpenSearchをインストールします。

# dnf install -y opensearch

4.3.4. postLDAPadminフレームワークのインストール

SyLASは、postLDAPadminフレームワークを使って動作します。 そのため、まず次のURLから postLDAPadmin のアーカイブをダウンロードします。:

https://github.com/designet-inc-oss/postLDAPadmin

必要なアーカイブは次の通りです。

  • postLDAPadmin_frame
  • postLDAPadmin_admin
  • postLDAPadmin_user
  • postLDAPadmin_lib

ダウンロード後、次のようにアーカイブを展開します。

# tar xzf postLDAPadmin_frame-*.tar.gz -C /usr/local
# tar xzf postLDAPadmin_admin-*.tar.gz -C /usr/local/postldapadmin/htdocs/admin
# tar xzf postLDAPadmin_lib-*.tar.gz -C /usr/local/postldapadmin/lib

4.3.5. SyLASのインストール

次のURLから SyLAS のアーカイブをダウンロードします。:

https://github.com/designet-inc-oss/SyLAS

必要なアーカイブは次の通りです。

  • sylas

ダウンロード後、次のようにアーカイブを展開します。

# tar xzf sylas-*.tar.gz -C /usr/local/postldapadmin

アーカイブ展開後のディレクトリ構成は次のようになります。

ディレクトリ構成
ディレクトリ 説明
/usr/local/postldapadmin/htdocs/admin/sylas/ SyLASの公開ディレクトリ
/usr/local/postldapadmin/tmpl/ 画面テンプレート
/usr/local/postldapadmin/lib/ ライブラリディレクトリ
/usr/local/postldapadmin/etc/ 設定ファイル配置ディレクトリ

ここまでの手順で、必要なソフトウェアが揃いました。 次の手順から、設定に入ります。

4.4. ログの受信設定

本章では、rsyslogとOpenSearchを連携し、rsyslogが受け取ったログをOpenSearchに保存する設定を行います。

4.4.1. OpenSearchの設定

まずOpenSearchを起動します。

# systemctl start opensearch

必要に応じて自動起動設定を行ってください。

# systemctl enable opensearch

次にOpenSearchのインデックステンプレート sylas.json を作成します。

$ curl -XPUT 'http://localhost:9200/_template/sylas_template' -d @/usr/local/postldapadmin/db/sylas_opensearch.json

Note

OpenSearchが利用するメモリサイズやOpenSearchクラスタの設定は、利用する環境に合わせて行ってください。

4.4.2. 設定情報保存用データベースの設定

4.4.2.1. データベースの起動

データベースを起動します。

# systemctl start mariadb

必要に応じて、自動起動の設定を行ってください。

# systemctl enable mariadb

4.4.2.2. データベースの作成

SyLASの設定保存用のデータベースを作成します。

# mysql -u root -p
Enter password:******** ←rootのパスワードを入力して[Enter]を押す
> create database Syslog;

Hint

必要に応じて事前にmysql_secure_installationなどのコマンドで、MySQLのrootユーザのパスワード等の設定を行ってください。

4.4.2.3. データベース操作ユーザの作成

データベース操作用のユーザを作成してください。

# mysql -u root -p
Enter password:
> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER ON Syslog.* TO
  syslog@localhost IDENTIFIED BY 'password';
> FLUSH PRIVILEGES;

Note

passwordは、任意のパスワードを設定してください。

4.4.2.4. データベースの初期化

SyLASに同梱されているファイルを利用して、データベースを初期化します。

# mysql -u syslog -p Syslog < /usr/local/postldapadmin/db/sylas.sql
Enter password:

4.4.3. rsyslogのログ受信設定

4.4.3.1. ログ受信設定

次にrsyslogが外部からログを受信し、受信したログをOpenSearchに保存する設定を行います。 設定は /etc/rsyslog.conf に行います。次は514ポート(TCP/UDP)でSyslogを受信する設定例です。:

$ModLoad imudp
$UDPServerRun 514

$ModLoad imtcp
$InputTCPServerRun 514

4.4.3.2. OpenSearchへのログ保存設定

次にOpenSearchに保存する設定を行います。 設定は /etc/rsyslog.d/opensearch.conf に行います。:

$ModLoad /usr/lib64/rsyslog/omelasticsearch.so

$template customSchema, "{ \
   \"message\":\"%msg:::json%\", \
   \"host\":\"%HOSTNAME:::json%\", \
   \"facility\":\"%syslogfacility-text%\", \
   \"priority\":\"%syslogpriority%\", \
   \"date\":\"%timereported:1:19:date-rfc3339%.%timereported:1:3:date-subseconds%\", \
   \"tag\":\"%syslogtag:::json%\" \
}"

$template srchidx,"syslog-%timereported:1:10:date-rfc3339%"

*.*     action(type="omelasticsearch"
               template="customSchema"
               searchIndex="srchidx"
               dynSearchIndex="on"
               server="127.0.0.1"
               bulkmode="on"
               queue.type="linkedlist"
               queue.size="5000"
               queue.dequeuebatchsize="300"
               action.resumeretrycount="-1"
               esVersion.major="8"
              )

Warning

$template srchidx はOpenSearchのインデックスフォーマットです。このフォーマットは syslog-2018-01-01 のフォーマットになっている必要があります。

設定の詳細は omelasticsearch のマニュアル を参照してください。

https://www.rsyslog.com/doc/v8-stable/configuration/modules/omelasticsearch.html

次に 共通設定 の手順に従って設定を行ってください。

一覧へ