AXメンテ監視エージェント

監視エージェントの設置手順

モニタリングをお申込みのお客様向けの案内です。監視エージェント(以下「エージェント」)は、サーバーの稼働状況と使用量の数値を1分ごとに当社へ送るシェルスクリプトです。設置と初期の動作確認は、当社のAXエンジニアが行います。お客様がエージェントを設置する場合は、この手順をご利用ください。

動かす環境

対応OSLinux(bash 4以上、curl、GNU coreutils が入っているもの)。当社では Ubuntu 24.04 で動作を確認しています。
証明書の確認openssl を使います。
権限root で動かします(ログファイルと /proc を読むため)。
通信geosys-it.com の443番ポート(HTTPS)への送信だけです。サーバーに受け付け用のポートを開ける必要はありません。
負荷1分に1回起動し、通常は数秒で終わります。常駐はしません。

送る情報と送らない情報

稼働状況連続稼働時間、プロセス数、ロードアベレージ
使用量CPU・メモリ・スワップの使用率、ディスクの使用率(マウントごと)、ネットワークの送受信量
エラーの件数指定したログファイルで、エラーに当たる行が1分間に増えた件数(行の中身は送りません)
証明書の残り日数指定したドメインのSSL証明書が切れるまでの日数(1時間に1回確認)
独自の指標お客様が用意したスクリプトが出力する数値(例: キューの件数。任意)
サーバーの情報ホスト名、OSの名前、エージェントのバージョン

ログやファイルの本文、データベースの中身、環境変数・パスワード・鍵、ユーザーの個人情報は送りません。取得する情報の範囲は、利用規約第7条のとおりです。

設置の手順

キーはサーバーごとに当社が発行し、ジオシスからお伝えします。エージェントは、キーを設定ファイルから読み込みます。キーをコマンドラインに表示しないためです。

  1. スクリプトを取得してください。

    sudo curl -fsSL https://geosys-it.com/agent/axm-agent.sh -o /usr/local/bin/axm-agent
  2. スクリプトに改ざんがないことを確かめてください。

    echo "3aa4fe402662e73c7569efa7d7281effdf45bcdb86dbc815b4e4149bfed23ee9  /usr/local/bin/axm-agent" | sha256sum -c -
  3. スクリプトに実行権限を付けてください。

    sudo chmod 755 /usr/local/bin/axm-agent
  4. root だけが読める空の設定ファイルを作ってください。

    sudo install -m 600 -o root -g root /dev/null /etc/axm-agent.conf
  5. 設定ファイルにキーを書いてください。

    echo 'AXM_KEY=<ジオシスがお伝えするキー>' | sudo tee /etc/axm-agent.conf >/dev/null
  6. 試しに送信してください。

    sudo /usr/local/bin/axm-agent --test
  7. 1分ごとに動かす設定をしてください。

    echo '* * * * * root /usr/local/bin/axm-agent >/dev/null 2>&1' | sudo tee /etc/cron.d/axm-agent >/dev/null

手順6で「送信しました」と表示されれば、設置は完了です。1分ほどで、ポータルの「稼働状況」にサーバーが表示されます。スクリプトの SHA-256: 3aa4fe402662e73c7569efa7d7281effdf45bcdb86dbc815b4e4149bfed23ee9

ログ・証明書・独自の指標(任意)

ログのエラー件数と証明書の残り日数を監視するときは、設定ファイルに追記してください。エージェントは、設置したあとに増えたログの行だけを数えます。

# /etc/axm-agent.conf に追記します(どれも省略できます)
AXM_LOG_FILES="/var/log/nginx/error.log /var/www/app/storage/logs/laravel.log"
AXM_LOG_PATTERN="error|fatal|critical|panic|exception"
AXM_SSL_HOSTS="www.example.co.jp api.example.co.jp"

業務に合わせた数値(例: キューの件数)も送れます。独自の指標は、/etc/axm-agent.d に置いた実行ファイルの出力です。エージェントは、この出力を最大30個まで送ります。

  1. ディレクトリとファイルの所有者を root にしてください。
  2. ほかのユーザーが書き換えられない権限にしてください。

この2つの条件を満たさないファイルを、エージェントは実行しません。エージェントは、独自の指標のスクリプトを nobody の権限で実行します。

# 例: /etc/axm-agent.d/queue(root 所有・実行権限あり)。「名前 値」を1行ずつ出力します。
#!/bin/sh
echo "queue_depth $(redis-cli llen jobs)"

停止と削除

エージェントを削除する前に、ジオシスへご連絡ください。当社がそのサーバーの監視を止めます。ジオシスに連絡せずに削除した場合は、当社のシステムが障害の通知を送ります。サーバーからの連絡が途絶えたと判断するためです。ご契約の終了時は、当社から削除の手順をご案内します。

sudo rm /etc/cron.d/axm-agent /usr/local/bin/axm-agent /etc/axm-agent.conf
sudo rm -r /var/lib/axm-agent

うまく送れないとき

HTTP 401キーが違うか、キーが作り直されています。ジオシスに新しいキーをお問い合わせください。
接続できないファイアウォールとプロキシの設定を確認してください。geosys-it.com への HTTPS の送信を許可する必要があります。
値を確かめたいsudo axm-agent --dry-run を実行してください。送る内容を、送信せずに表示します。

ご不明な点は、[email protected] までお問い合わせください。