劔"Tsurugi"をZabbixで監視する
背景
劔"Tsurugi"は、NEDOとNEC、ノーチラス・テクノロジーズが開発した次世代RDBです。2024年9月にGA版がリリースされました。
その後もDB本体の開発はオープンソースで進んでいるものの、残念ながら運用支援ツールはサポート契約しないと使えません。
劔はオンメモリDBのため、メモリの利用状況を監視しないで使うのは不安です。そこで、Zabbixから最低限の監視を行えるよう設定してみました。
方針
劔は現時点で最新の1.1.0を使います。劔の本体は公式の手順に沿ってビルドしておきます。以下の例でホスト名はtsurugi1としています。
Zabbixは現時点で最新の7.2を使います。こちらも公式の手順でインストールしておきます。以下の例でホスト名はzabbix1としています。Zabbixの構成は以下の通りです。
* ZABBIX VERSION: 7.2
* OS DISTRIBUTION: Ubuntu
* OS VERSION: 22.04 Jammy
* ZABBIX COMPONENT: Server, Frontend, Agent
* DATABASE: PostgreSQL
* WEB SERVER: Nginx
環境はAWS EC2のc5.xlargeインスタンスに作ります。OSはUbuntu 22.04です。
Zabbixから劔のインスタンスの死活監視、メモリ使用量、CPU使用率、ディスク使用量、ネットワーク使用量を監視できるように設定することがゴールです。
設定手順
1. TsurugiホストにZabbix Agent2をインストール
以下の手順でTsurugiホストにAgent2をインストールします。
-
公式のDownloadページで以下のようにパラメータを設定し、Agent2のインストール手順を確認します。
- ZABBIX VERSION: 7.2
- OS DISTRIBUTION: Ubuntu
- OS VERSION: 22.04 Jammy
- ZABBIX COMPONENT: Agent2
-
表示された手順でAgent2をインストールします。
tsurugi1$ wget https://repo.zabbix.com/zabbix/7.2/release/ubuntu/pool/main/z/zabbix-release/zabbix-release_latest_7.2+ubuntu22.04_all.deb tsurugi1$ sudo dpkg -i zabbix-release_latest_7.2+ubuntu22.04_all.deb tsurugi1$ sudo apt update tsurugi1$ sudo apt install zabbix-agent2 zabbix-agent2-plugin-*
-
Agent2の設定ファイルを編集し、zabbixサーバからの監視を受け入れられるように設定します。Server=127.0.0.1という箇所をzabbixサーバのアドレスで設定します。
tsurugi1$ sudo vi /etc/zabbix/zabbix_agent2.conf
-
Agent2を起動します。
tsurugi1$ sudo systemctl restart zabbix-agent2 tsurugi1$ sudo systemctl enable zabbix-agent2
2. ZabbixにTsurugiホストを登録
以下の手順でTsurugiホストを登録します。
- zabbixにログインします。設定変更していなければポートは8080、初期アカウントはAdmin / zabbixです。
- 左のメニューからData collection/Hostsを選択します。
- Create hostをクリックし、Tsurugiノードを登録します。必要な登録内容は以下の通りです。
- Host name: tsurugi1
- Templates: Linux by Zabbix agent
- Host groups: database
- Interfaces: TsurugiホストのIPアドレスかホスト名を指定します。ポートの初期値は10050です。
- Createボタンで登録してしばらく待つと一覧の表示がAvailableになります。ならなければAvailability列をクリックするとエラー内容が表示されるので、それに沿って対処します。
3. TsurugiDBテンプレートを追加
以下の手順でTsurugiDBテンプレートを追加します。
- 左のメニューからData collection/Templatesを選択します。
- Create templateをクリックし、Templateを登録します。必要な登録内容は以下の通りです。
- Template name: Tsurugi server health
- Template group: Templates/Databases
- Tags: class=software, target=server, target=tsurugi
- Createボタンを登録した後、Items、Create Itemの順にクリックしてItemを登録します。
- 以下の内容でtsurugidb.proc_memアイテムを作成します。
- Name: tsurugidb.proc_mem
- Type: Zabbix agent
- Key: proc.mem[tsurugidb]
- Type of information: Numeric(unsigned)
- Update interval: 1m
- 同様にtsurugidb.proc_numアイテムを作成します。
- Name: tsurugidb.proc_num
- Type: Zabbix agent
- Key: proc.num[tsurugidb]
- Type of information: Numeric(unsigned)
- Update interval: 1m
- Data collection/Hosts画面からTsurugiノードを選択し、TemplatesにTsurugi server healthを追加します。
4. ダッシュボードにウィジェットを追加
以下の手順でダッシュボードにウィジェットを追加します。
-
左のメニューからDashboardsを選択します。
-
Edit dashboardボタンで編集モードに遷移します。
-
ダッシュボードの適当な場所をクリックしてAdd widgetダイアログを開いてメモリ使用率のグラフを設定します。
-
同様にAdd widgetダイアログを開いてCPU使用率のグラフを設定します。
-
同様にAdd widgetダイアログを開いてディスク使用量のグラフを設定します。
-
同様にAdd widgetダイアログを開いてネットワーク使用量のグラフを設定します。
-
同様にAdd widgetダイアログを開いてプロセス数を設定します。
今後
まだ劔を使い始めたばかりなので勘所が掴めていませんが、各種閾値が分かってきたらAlertを仕掛けて自動監視したいと思います。