3. インストール方法(MySQL) 一覧へ 5. 共通設定
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フレームワーク 4.01( 
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 (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_opensearch.json を作成します。
$ curl -XPUT -H "Content-type: application/json" '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-YYYY-MM-DD のフォーマットになっている必要があります。
設定の詳細は omelasticsearch のマニュアル を参照してください。
https://www.rsyslog.com/doc/v8-stable/configuration/modules/omelasticsearch.html
次に 共通設定 の手順に従って設定を行ってください。

