0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

劔"Tsurugi"をZabbixで監視する

Last updated at Posted at 2024-12-17

劔"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をインストールします。

  1. 公式のDownloadページで以下のようにパラメータを設定し、Agent2のインストール手順を確認します。

    • ZABBIX VERSION: 7.2
    • OS DISTRIBUTION: Ubuntu
    • OS VERSION: 22.04 Jammy
    • ZABBIX COMPONENT: Agent2
  2. 表示された手順で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-*
    
  3. Agent2の設定ファイルを編集し、zabbixサーバからの監視を受け入れられるように設定します。Server=127.0.0.1という箇所をzabbixサーバのアドレスで設定します。

    tsurugi1$ sudo vi /etc/zabbix/zabbix_agent2.conf
    
  4. Agent2を起動します。

    tsurugi1$ sudo systemctl restart zabbix-agent2
    tsurugi1$ sudo systemctl enable zabbix-agent2
    

2. ZabbixにTsurugiホストを登録

以下の手順でTsurugiホストを登録します。

  1. zabbixにログインします。設定変更していなければポートは8080、初期アカウントはAdmin / zabbixです。
  2. 左のメニューからData collection/Hostsを選択します。
  3. Create hostをクリックし、Tsurugiノードを登録します。必要な登録内容は以下の通りです。
    • Host name: tsurugi1
    • Templates: Linux by Zabbix agent
    • Host groups: database
    • Interfaces: TsurugiホストのIPアドレスかホスト名を指定します。ポートの初期値は10050です。
  4. Createボタンで登録してしばらく待つと一覧の表示がAvailableになります。ならなければAvailability列をクリックするとエラー内容が表示されるので、それに沿って対処します。

3. TsurugiDBテンプレートを追加

以下の手順でTsurugiDBテンプレートを追加します。

  1. 左のメニューからData collection/Templatesを選択します。
  2. Create templateをクリックし、Templateを登録します。必要な登録内容は以下の通りです。
    • Template name: Tsurugi server health
    • Template group: Templates/Databases
    • Tags: class=software, target=server, target=tsurugi
  3. Createボタンを登録した後、Items、Create Itemの順にクリックしてItemを登録します。
  4. 以下の内容でtsurugidb.proc_memアイテムを作成します。
    • Name: tsurugidb.proc_mem
    • Type: Zabbix agent
    • Key: proc.mem[tsurugidb]
    • Type of information: Numeric(unsigned)
    • Update interval: 1m
  5. 同様にtsurugidb.proc_numアイテムを作成します。
    • Name: tsurugidb.proc_num
    • Type: Zabbix agent
    • Key: proc.num[tsurugidb]
    • Type of information: Numeric(unsigned)
    • Update interval: 1m
  6. Data collection/Hosts画面からTsurugiノードを選択し、TemplatesにTsurugi server healthを追加します。

4. ダッシュボードにウィジェットを追加

以下の手順でダッシュボードにウィジェットを追加します。

  1. 左のメニューからDashboardsを選択します。

  2. Edit dashboardボタンで編集モードに遷移します。

  3. ダッシュボードの適当な場所をクリックしてAdd widgetダイアログを開いてメモリ使用率のグラフを設定します。

    • Type: Graph
    • Name: Tsuguri Memory utilization
    • Refresh interval: Default(1 minute)
    • Data set #1
      • host patterns: tsurugi1
      • item patterns: Available memory
    • Data set #2
      • host patterns: tsurugi1
      • item patterns: tsurugidb.proc_mem
        tsurugi_zabbix_mem.png
  4. 同様にAdd widgetダイアログを開いてCPU使用率のグラフを設定します。

    • Type: Graph
    • Name: Tsurugi CPU utilization
    • Refresh interval: Default(1 minute)
    • Data set #1
      • host patterns: tsurugi1
      • item patterns: CPU utilization
        tsurugi_zabbix_cpu.png
  5. 同様にAdd widgetダイアログを開いてディスク使用量のグラフを設定します。

    • Type: Graph
    • Name: Tsurugi FS[/] Used
    • Refresh interval: Default(1 minute)
    • Data set #1
      • host patterns: tsurugi1
      • item patterns: FS[/]: Space: Total
    • Data set #2
      • host patterns: tsurugi1
      • item patterns: FS[/]: Space: Used
        tsurugi_zabbix_disk.png
  6. 同様にAdd widgetダイアログを開いてネットワーク使用量のグラフを設定します。

    • Type: Graph
    • Name: Tsurugi Network utilization
    • Refresh interval: Default(1 minute)
    • Data set #1
      • host patterns: tsurugi1
      • item patterns: Interface enx5: Bits received
    • Data set #2
      • host patterns: tsurugi1
      • item patterns: Interface enx5: Bits sent
        tsurugi_zabbix_net.png
  7. 同様にAdd widgetダイアログを開いてプロセス数を設定します。

    • Type: Item value
    • Name: TsurugiDB stats
    • Refresh interval: Default(1 minute)
    • Item: tsurugi1: tsuruguidb.proc_num
    • Show: Description, Value, Change indicator
    • Description: TsurugiDBインスタンス数
      tsurugi_zabbix_proc.png
  8. ダッシュボード画面は以下のようになります。これでTsurugiDBの状態を監視できるようになりました。
    tsurugi_zabbix_graph.png

今後

まだ劔を使い始めたばかりなので勘所が掴めていませんが、各種閾値が分かってきたらAlertを仕掛けて自動監視したいと思います。

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?