こんにちは、LinuCエバンジェリストこと、鯨井貴博@opensourcetechです。
今回は、Zabbix4.2のフロントエンドにnginx unitを使用してみます。
一応、記事としては以下のような流れで進んできています。
①Zabbix4.2 + PostgreSQL11 + Apache(httpd)で構築
PostgreSQL11を使ってZabbix 4.2を構築する - Opensourcetechブログ
↓
②Zabbix4.2 + PostgreSQL11 + nginx
Zabbix4.2のフロントエンドをApache(httpd)からnginxに変更する - Opensourcetechブログ
↓
③Zabbix4.2 + PostgreSQL11(TimescaleDB拡張含む) + nginx
Zabbix4.2でデータベースにTimescaleDBを使ってみた - Opensourcetechブログ
↓
今回の記事
nginx unitのインストール
まず、yumのレポジトリファイルを追加します。
[root@localhost ~]# ls /etc/yum.repos.d/
CentOS-Base.repo CentOS-Sources.repo pgdg-redhat-all.repo
CentOS-CR.repo CentOS-Vault.repo timescale_timescaledb.repo
CentOS-Debuginfo.repo CentOS-fasttrack.repo zabbix.repo
CentOS-Media.repo nginx.repo
[root@localhost ~]# vi /etc/yum.repos.d/unit.repo
[root@localhost ~]# cat /etc/yum.repos.d/unit.repo
[unit]
name=unit repo
baseurl=https://packages.nginx.org/unit/centos/$releasever/$basearch/
gpgcheck=0
enabled=1
続いて、パッケージ(unitや各言語用の関連パッケージ)をインストールします。
[root@localhost ~]# yum install unit
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
* base: ftp.jaist.ac.jp
* extras: ftp.jaist.ac.jp
* updates: ftp.jaist.ac.jp
base | 3.6 kB 00:00
extras | 3.4 kB 00:00
nginx | 2.9 kB 00:00
pgdg10 | 4.1 kB 00:00
pgdg11 | 4.1 kB 00:00
pgdg94 | 4.1 kB 00:00
pgdg95 | 4.1 kB 00:00
pgdg96 | 4.1 kB 00:00
timescale_timescaledb/x86_64/signature | 833 B 00:00
timescale_timescaledb/x86_64/signature | 1.0 kB 00:00 !!!
unit | 2.9 kB 00:00
updates | 3.4 kB 00:00
zabbix | 2.9 kB 00:00
zabbix-non-supported | 951 B 00:00
unit/7/x86_64/primary_db | 40 kB 00:01
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ unit.x86_64 0:1.8.0-1.el7.ngx を インストール
--> 依存性解決を終了しました。
依存性を解決しました
================================================================================
Package アーキテクチャー バージョン リポジトリー 容量
================================================================================
インストール中:
unit x86_64 1.8.0-1.el7.ngx unit 236 k
トランザクションの要約
================================================================================
インストール 1 パッケージ
総ダウンロード容量: 236 k
インストール容量: 734 k
Is this ok [y/d/N]: y
Downloading packages:
unit-1.8.0-1.el7.ngx.x86_64.rpm | 236 kB 00:02
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
インストール中 : unit-1.8.0-1.el7.ngx.x86_64 1/1
----------------------------------------------------------------------
Thank you for installing NGINX Unit!
Additional modules are available in standalone packages.
To see the available modules, run "yum list available unit-\*".
Online documentation is available at https://unit.nginx.org/
----------------------------------------------------------------------
検証中 : unit-1.8.0-1.el7.ngx.x86_64 1/1
インストール:
unit.x86_64 0:1.8.0-1.el7.ngx
完了しました!
[root@localhost ~]# yum install unit-devel unit-go unit-jsc8 unit-php unit-perl unit-python
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
* base: ftp.jaist.ac.jp
* extras: ftp.jaist.ac.jp
* updates: ftp.jaist.ac.jp
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ unit-devel.x86_64 0:1.8.0-1.el7.ngx を インストール
---> パッケージ unit-go.x86_64 0:1.8.0-1.el7.ngx を インストール
---> パッケージ unit-jsc8.x86_64 0:1.8.0-1.el7.ngx を インストール
--> 依存性の処理をしています: unit-jsc-common = 1.8.0-1.el7.ngx のパッケージ: unit-jsc8-1.8.0-1.el7.ngx.x86_64
--> 依存性の処理をしています: libjvm.so(SUNWprivate_1.1)(64bit) のパッケージ: unit-jsc8-1.8.0-1.el7.ngx.x86_64
--> 依存性の処理をしています: libjvm.so()(64bit) のパッケージ: unit-jsc8-1.8.0-1.el7.ngx.x86_64
---> パッケージ unit-perl.x86_64 0:1.8.0-1.el7.ngx を インストール
---> パッケージ unit-php.x86_64 0:1.8.0-1.el7.ngx を インストール
--> 依存性の処理をしています: libphp5-5.4.so()(64bit) のパッケージ: unit-php-1.8.0-1.el7.ngx.x86_64
---> パッケージ unit-python.x86_64 0:1.8.0-1.el7.ngx を インストール
--> トランザクションの確認を実行しています。
---> パッケージ java-11-openjdk-headless.x86_64 1:11.0.3.7-0.el7_6 を インストール
--> 依存性の処理をしています: tzdata-java >= 2015d のパッケージ: 1:java-11-openjdk-headless-11.0.3.7-0.el7_6.x86_64
--> 依存性の処理をしています: copy-jdk-configs >= 3.3 のパッケージ: 1:java-11-openjdk-headless-11.0.3.7-0.el7_6.x86_64
--> 依存性の処理をしています: lksctp-tools(x86-64) のパッケージ: 1:java-11-openjdk-headless-11.0.3.7-0.el7_6.x86_64
--> 依存性の処理をしています: javapackages-tools のパッケージ: 1:java-11-openjdk-headless-11.0.3.7-0.el7_6.x86_64
---> パッケージ php-embedded.x86_64 0:5.4.16-46.el7 を インストール
---> パッケージ unit-jsc-common.noarch 0:1.8.0-1.el7.ngx を インストール
--> トランザクションの確認を実行しています。
---> パッケージ copy-jdk-configs.noarch 0:3.3-10.el7_5 を インストール
---> パッケージ javapackages-tools.noarch 0:3.4.1-11.el7 を インストール
--> 依存性の処理をしています: python-javapackages = 3.4.1-11.el7 のパッケージ: javapackages-tools-3.4.1-11.el7.noarch
---> パッケージ lksctp-tools.x86_64 0:1.0.17-2.el7 を インストール
---> パッケージ tzdata-java.noarch 0:2019a-1.el7 を インストール
--> トランザクションの確認を実行しています。
---> パッケージ python-javapackages.noarch 0:3.4.1-11.el7 を インストール
--> 依存性の処理をしています: python-lxml のパッケージ: python-javapackages-3.4.1-11.el7.noarch
--> トランザクションの確認を実行しています。
---> パッケージ python-lxml.x86_64 0:3.2.1-4.el7 を インストール
--> 依存性解決を終了しました。
依存性を解決しました
================================================================================
Package アーキテクチャー
バージョン リポジトリー
容量
================================================================================
インストール中:
unit-devel x86_64 1.8.0-1.el7.ngx unit 43 k
unit-go x86_64 1.8.0-1.el7.ngx unit 103 k
unit-jsc8 x86_64 1.8.0-1.el7.ngx unit 125 k
unit-perl x86_64 1.8.0-1.el7.ngx unit 43 k
unit-php x86_64 1.8.0-1.el7.ngx unit 38 k
unit-python x86_64 1.8.0-1.el7.ngx unit 39 k
依存性関連でのインストールをします:
copy-jdk-configs noarch 3.3-10.el7_5 base 21 k
java-11-openjdk-headless x86_64 1:11.0.3.7-0.el7_6 updates 38 M
javapackages-tools noarch 3.4.1-11.el7 base 73 k
lksctp-tools x86_64 1.0.17-2.el7 base 88 k
php-embedded x86_64 5.4.16-46.el7 base 1.3 M
python-javapackages noarch 3.4.1-11.el7 base 31 k
python-lxml x86_64 3.2.1-4.el7 base 758 k
tzdata-java noarch 2019a-1.el7 updates 187 k
unit-jsc-common noarch 1.8.0-1.el7.ngx unit 5.4 M
トランザクションの要約
================================================================================
インストール 6 パッケージ (+9 個の依存関係のパッケージ)
総ダウンロード容量: 46 M
インストール容量: 174 M
Is this ok [y/d/N]: y
Downloading packages:
(1/15): copy-jdk-configs-3.3-10.el7_5.noarch.rpm | 21 kB 00:00
(2/15): python-javapackages-3.4.1-11.el7.noarch.rpm | 31 kB 00:00
(3/15): python-lxml-3.2.1-4.el7.x86_64.rpm | 758 kB 00:00
(4/15): javapackages-tools-3.4.1-11.el7.noarch.rpm | 73 kB 00:00
(5/15): lksctp-tools-1.0.17-2.el7.x86_64.rpm | 88 kB 00:00
(6/15): php-embedded-5.4.16-46.el7.x86_64.rpm | 1.3 MB 00:00
(7/15): tzdata-java-2019a-1.el7.noarch.rpm | 187 kB 00:00
(8/15): unit-devel-1.8.0-1.el7.ngx.x86_64.rpm | 43 kB 00:01
(9/15): unit-go-1.8.0-1.el7.ngx.x86_64.rpm | 103 kB 00:04
(10/15): java-11-openjdk-headless-11.0.3.7-0.el7_6.x86_64. | 38 MB 00:06
(11/15): unit-jsc8-1.8.0-1.el7.ngx.x86_64.rpm | 125 kB 00:01
(12/15): unit-perl-1.8.0-1.el7.ngx.x86_64.rpm | 43 kB 00:00
(13/15): unit-php-1.8.0-1.el7.ngx.x86_64.rpm | 38 kB 00:00
(14/15): unit-python-1.8.0-1.el7.ngx.x86_64.rpm | 39 kB 00:00
(15/15): unit-jsc-common-1.8.0-1.el7.ngx.noarch.rpm | 5.4 MB 00:07
--------------------------------------------------------------------------------
合計 4.2 MB/s | 46 MB 00:11
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
インストール中 : lksctp-tools-1.0.17-2.el7.x86_64 1/15
インストール中 : tzdata-java-2019a-1.el7.noarch 2/15
インストール中 : python-lxml-3.2.1-4.el7.x86_64 3/15
インストール中 : python-javapackages-3.4.1-11.el7.noarch 4/15
インストール中 : javapackages-tools-3.4.1-11.el7.noarch 5/15
インストール中 : copy-jdk-configs-3.3-10.el7_5.noarch 6/15
インストール中 : 1:java-11-openjdk-hea [################### ] 7/15
インストール中 : 1:java-11-openjdk-headless-11.0.3.7-0.el7_6 7/15
インストール中 : php-embedded-5.4.16-46.el7.x86_64 8/15
インストール中 : unit-jsc-common-1.8.0-1.el7.ngx.noarch 9/15
----------------------------------------------------------------------
The Java shared packages for NGINX Unit have been installed.
Please find licenses and related information here:
/usr/share/doc/unit-jsc-common/COPYRIGHT
----------------------------------------------------------------------
インストール中 : unit-jsc8-1.8.0-1.el7.ngx.x86_64 10/15
----------------------------------------------------------------------
The Java 8 module for NGINX Unit has been installed.
To check out the sample app, run these commands:
sudo service unit restart
cd /usr/share/doc/unit-jsc8/examples
sudo curl -X PUT --data-binary @unit.config --unix-socket /var/run/unit/control.sock http://localhost/config
curl http://localhost:8800/
Online documentation is available at https://unit.nginx.org
NOTICE:
This version of Unit code is made available in support of the open source
development process. This is an intermediate build made available for
testing purposes only. This Unit code is untested and presumed incompatible
with the JSR 340 Java Servlet 3.1 specification. You should not deploy or
write to this code. You should instead deploy and write production
applications on pre-built binaries that have been tested and certified
to meet the JSR-340 compatibility requirements such as certified binaries
published for the JSR-340 reference implementation available at
https://javaee.github.io/glassfish/.
Redistribution of any Intermediate Build must retain this notice.
Oracle and Java are registered trademarks of Oracle and/or its affiliates.
Other names may be trademarks of their respective owners.
----------------------------------------------------------------------
インストール中 : unit-php-1.8.0-1.el7.ngx.x86_64 11/15
----------------------------------------------------------------------
The PHP module for NGINX Unit has been installed.
To check out the sample app, run these commands:
sudo service unit start
cd /usr/share/doc/unit-php/examples
sudo curl -X PUT --data-binary @unit.config --unix-socket /var/run/unit/control.sock http://localhost/config
curl http://localhost:8300/
Online documentation is available at https://unit.nginx.org
----------------------------------------------------------------------
インストール中 : unit-python-1.8.0-1.el7.ngx.x86_64 12/15
----------------------------------------------------------------------
The Python module for NGINX Unit has been installed.
To check the sample app, run these commands:
sudo service unit start
cd /usr/share/doc/unit-python/examples
sudo curl -X PUT --data-binary @unit.config --unix-socket /var/run/unit/control.sock http://localhost/config
curl http://localhost:8400/
Online documentation is available at https://unit.nginx.org
----------------------------------------------------------------------
インストール中 : unit-go-1.8.0-1.el7.ngx.x86_64 13/15
----------------------------------------------------------------------
The Go module for NGINX Unit has been installed.
To check the sample app, run these commands:
GOPATH=/usr/share/gocode go build -o /tmp/go-app /usr/share/doc/unit-go/examples/go-app/let-my-people.go
sudo service unit start
cd /usr/share/doc/unit-go/examples
sudo curl -X PUT --data-binary @unit.config --unix-socket /var/run/unit/control.sock http://localhost/config
curl http://localhost:8500/
Online documentation is available at https://unit.nginx.org
----------------------------------------------------------------------
インストール中 : unit-devel-1.8.0-1.el7.ngx.x86_64 14/15
インストール中 : unit-perl-1.8.0-1.el7.ngx.x86_64 15/15
----------------------------------------------------------------------
The Perl module for NGINX Unit has been installed.
To check out the sample app, run these commands:
sudo service unit start
cd /usr/share/doc/unit-perl/examples
sudo curl -X PUT --data-binary @unit.config --unix-socket /var/run/unit/control.sock http://localhost/config
curl http://localhost:8600/
Online documentation is available at https://unit.nginx.org
----------------------------------------------------------------------
検証中 : unit-jsc-common-1.8.0-1.el7.ngx.noarch 1/15
検証中 : unit-php-1.8.0-1.el7.ngx.x86_64 2/15
検証中 : unit-perl-1.8.0-1.el7.ngx.x86_64 3/15
検証中 : php-embedded-5.4.16-46.el7.x86_64 4/15
検証中 : unit-devel-1.8.0-1.el7.ngx.x86_64 5/15
検証中 : copy-jdk-configs-3.3-10.el7_5.noarch 6/15
検証中 : python-javapackages-3.4.1-11.el7.noarch 7/15
検証中 : python-lxml-3.2.1-4.el7.x86_64 8/15
検証中 : unit-jsc8-1.8.0-1.el7.ngx.x86_64 9/15
検証中 : tzdata-java-2019a-1.el7.noarch 10/15
検証中 : unit-go-1.8.0-1.el7.ngx.x86_64 11/15
検証中 : javapackages-tools-3.4.1-11.el7.noarch 12/15
検証中 : lksctp-tools-1.0.17-2.el7.x86_64 13/15
検証中 : unit-python-1.8.0-1.el7.ngx.x86_64 14/15
検証中 : 1:java-11-openjdk-headless-11.0.3.7-0.el7_6 15/15
インストール:
unit-devel.x86_64 0:1.8.0-1.el7.ngx unit-go.x86_64 0:1.8.0-1.el7.ngx
unit-jsc8.x86_64 0:1.8.0-1.el7.ngx unit-perl.x86_64 0:1.8.0-1.el7.ngx
unit-php.x86_64 0:1.8.0-1.el7.ngx unit-python.x86_64 0:1.8.0-1.el7.ngx
依存性関連をインストールしました:
copy-jdk-configs.noarch 0:3.3-10.el7_5
java-11-openjdk-headless.x86_64 1:11.0.3.7-0.el7_6
javapackages-tools.noarch 0:3.4.1-11.el7
lksctp-tools.x86_64 0:1.0.17-2.el7
php-embedded.x86_64 0:5.4.16-46.el7
python-javapackages.noarch 0:3.4.1-11.el7
python-lxml.x86_64 0:3.2.1-4.el7
tzdata-java.noarch 0:2019a-1.el7
unit-jsc-common.noarch 0:1.8.0-1.el7.ngx
完了しました!
nginx unitの起動
nginx unitを起動し、一応ステータスをチェックしておきます。
[root@localhost ~]# systemctl status unit
● unit.service - NGINX Unit
Loaded: loaded (/usr/lib/systemd/system/unit.service; disabled; vendor preset: disabled)
Active: inactive (dead)
[root@localhost ~]# systemctl start unit
[root@localhost ~]# systemctl status unit
● unit.service - NGINX Unit
Loaded: loaded (/usr/lib/systemd/system/unit.service; disabled; vendor preset: disabled)
Active: active (running) since 日 2019-05-12 11:34:29 JST; 3s ago
Main PID: 5222 (unitd)
CGroup: /system.slice/unit.service
├─5222 unit: main v1.8.0 [/usr/sbin/unitd --log /var/log/unit/unit...
├─5224 unit: controller
└─5225 unit: router
5月 12 11:34:29 localhost.localdomain systemd[1]: Started NGINX Unit.
5月 12 11:34:29 localhost.localdomain unitd[5222]: 2019/05/12 11:34:29 [inf...
5月 12 11:34:29 localhost.localdomain overy[5223]: [alert] 5223#5223 dlopen...
Hint: Some lines were ellipsized, use -l to show in full.
nginx unitの設定
nginx unitを起動しただけだと、以下のように設定が何もない状態です。
{
"certificates": {},
"config": {
"listeners": {},
"applications": {}
}
}
なので、投入したい設定をJSONファイルに記述し、読み込みます。
[root@localhost ~]# vi /var/tmp/zabbix_unit.json
[root@localhost ~]# cat /var/tmp/zabbix_unit.json
{
"listeners": {
"*:8888": {
"application": "zabbix"
}
},
"applications": {
"zabbix": {
"type": "php",
"processes": 10,
"user": "nginx",
"group": "nginx",
"root": "/usr/share/nginx/html/zabbix/zabbix",
"index": "index.php"
}
}
}
なお、上記JSONファイルの中の「root」にあるのはZabbix関連のPHPなどが格納されているディレクトリを指定します。
また、user/groupはnginx unitではデフォルトで「nobody」が使用されるので、
使用する「nginx」を指定します。
実際に動かしてみたい方は、以下の記事にあるようにパーミッション周りがハマりやすいので、気をつけてください。
Zabbix4.2のフロントエンドをApache(httpd)からnginxに変更する - Opensourcetechブログ
actionconf.php httpdetails.php
adm.gui.php image.php
adm.housekeeper.php images
adm.iconmapping.php img
adm.images.php imgstore.php
adm.macros.php include
adm.other.php index.php
adm.regexps.php index_http.php
adm.triggerdisplayoptions.php items.php
adm.triggerseverities.php js
adm.valuemapping.php jsLoader.php
adm.workingtime.php jsrpc.php
api_jsonrpc.php latest.php
app local
applications.php locale
audio maintenance.php
auditacts.php map.import.php
auditlogs.php map.php
browserwarning.php overview.php
chart.php profile.php
chart2.php queue.php
chart3.php report2.php
chart4.php report4.php
chart5.php robots.txt
chart6.php screen.import.php
chart7.php screenconf.php
charts.php screenedit.php
conf screens.php
conf.import.php services.php
correlation.php setup.php
disc_prototypes.php slideconf.php
discoveryconf.php slides.php
favicon.ico srv_status.php
fonts styles
graphs.php sysmap.php
history.php sysmaps.php
host_discovery.php templates.php
host_prototypes.php toptriggers.php
host_screen.php tr_events.php
hostgroups.php trigger_prototypes.php
hostinventories.php triggers.php
hostinventoriesoverview.php usergrps.php
hosts.php users.php
httpconf.php zabbix.php
設定したJSONを読み込みます。
[root@localhost ~]# curl -X PUT -d@/var/tmp/zabbix_unit.json --unix-socket /var/run/unit/control.sock http://localhost/config/
{
"success": "Reconfiguration done."
}
[root@localhost ~]# curl --unix-socket /var/run/unit/control.sock http://localhost/
{
"certificates": {},
"config": {
"listeners": {
"*:8888": {
"application": "zabbix"
}
},
"applications": {
"zabbix": {
"type": "php",
"processes": 10,
"user": "nginx",
"group": "nginx",
"root": "/usr/share/nginx/html/zabbix/zabbix",
"index": "index.php"
}
}
}
}
プロセスの状態を確認すると、設定通り10の子プロセスがいることがわかります。
[root@localhost ~]# systemctl status unit
● unit.service - NGINX Unit
Loaded: loaded (/usr/lib/systemd/system/unit.service; disabled; vendor preset: disabled)
Active: active (running) since 日 2019-05-12 11:34:29 JST; 7min ago
Main PID: 5222 (unitd)
CGroup: /system.slice/unit.service
├─5222 unit: main v1.8.0 [/usr/sbin/unitd --log /var/log/unit/unit...
├─5224 unit: controller
├─5225 unit: router
├─5371 unit: "zabbix" application
├─5372 unit: "zabbix" application
├─5373 unit: "zabbix" application
├─5374 unit: "zabbix" application
├─5375 unit: "zabbix" application
├─5376 unit: "zabbix" application
├─5377 unit: "zabbix" application
├─5378 unit: "zabbix" application
├─5379 unit: "zabbix" application
└─5380 unit: "zabbix" application
5月 12 11:34:29 localhost.localdomain systemd[1]: Started NGINX Unit.
5月 12 11:34:29 localhost.localdomain unitd[5222]: 2019/05/12 11:34:29 [inf...
5月 12 11:34:29 localhost.localdomain overy[5223]: [alert] 5223#5223 dlopen...
Hint: Some lines were ellipsized, use -l to show in full.
また、ssでも念の為確認。
設定で指定したTCP8888が解放されています。
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 127.0.0.1:cslistener *:*
LISTEN 0 128 *:http *:*
LISTEN 0 128 *:ssh *:*
LISTEN 0 128 *:ddi-tcp-1 *:*
LISTEN 0 128 *:postgres *:*
LISTEN 0 100 127.0.0.1:smtp *:*
LISTEN 0 128 *:zabbix-agent *:*
LISTEN 0 128 *:zabbix-trapper *:*
LISTEN 0 128 :::ssh :::*
LISTEN 0 128 :::postgres :::*
LISTEN 0 100 ::1:smtp :::*
LISTEN 0 128 :::zabbix-agent :::*
LISTEN 0 128 :::zabbix-trapper :::*
[root@localhost log]# ss -taln
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 127.0.0.1:9000 *:*
LISTEN 0 128 *:80 *:*
LISTEN 0 128 *:22 *:*
LISTEN 0 128 *:8888 *:*
LISTEN 0 128 *:5432 *:*
LISTEN 0 100 127.0.0.1:25 *:*
LISTEN 0 128 *:10050 *:*
LISTEN 0 128 *:10051 *:*
LISTEN 0 128 :::22 :::*
LISTEN 0 128 :::5432 :::*
LISTEN 0 100 ::1:25 :::*
クライアントからのアクセス
いざ、ブラウザを使ってZabbixへアクセス!
あれ!?
なんか違う??
そうです、画像が一切ありません。
ログインは可能であり、ログインしてみると以下のようにやはり画像が表示されません。
文字情報だけしか表示されていませんが、操作は可能です(全く意味はないですが)。
原因
nginxをフロントエンドにした場合は、以下のように画像が表示されるので、
nginx unitから画像ファイルをどうも読み込めていないようです。
ログイン画面のHTMLソースをみると以下のようになっており、
画像ファイルをクリックしてみます。
フロントエンドがngixの場合、きちんと画像が読み込まれます。
しかし、フロントエンドがnginx unitの場合、画像が読めません。
次回に続く、、、かもしれない
今回は最後の最後でうまくいかないという残念な結果でしたが、
引き続き調査をしてうまくいけば続編を書こうと思います。