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フレームワーク(
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
次に 共通設定 の手順に従って設定を行ってください。