オープンソース

一覧へ

3. Windows OSでのSnipe-IT-Agentセットアップ

3.1. Snipe-IT-Agentをインストールする

3.1.1. Snipe-IT-Agentに必要なソフトウェアをインストールする

次のソフトウェアをインストールします。
  • Python3 (バージョン3.9以上)
  • 次のPython3モジュール
    • requests
    • psutil

Python3は、下記のURLからダウンロードします。


ダウンロードしたPython3のインストーラー(python-バージョン-amd64.exe)を実行し、Python3をインストールします。
Python3をインストールした後、「Windows PowerShell」または「コマンド プロンプト」にて、必要なPython3モジュールをインストールします。
> pip install requests psutil

3.1.2. 公式サイトからSnipe-IT-Agentソフトウェアアーカイブをダウンロードする

下記のURLからソフトウェアアーカイブをダウンロードします。
アーカイブは、snipe-it-agent-バージョン.zipです。


3.1.3. Snipe-IT-Agentソフトウェアアーカイブを展開する

ダウンロードしたsnipe-it-agent-バージョン.zipを、任意のローカルフォルダに展開します。

3.1.4. 環境設定ファイルを編集する

環境設定ファイルは、snipe_config.pyです。
環境設定ファイルの書式は「項目名 = 設定値」で、 1行に1項目ずつ記載します。
項目名は大文字と小文字を厳密に区別します。

3.1.4.1. Snipe-ITのAPI設定

「SNIPE_URL」には、SnipeITのAPIのURLを記載します。
典型的なSnipe-ITのインストールでは、https://ホスト名/api/v1 です。
ホスト名の部分を、実際にSnipe-ITが稼働しているホスト名に書き換えます。

設定例は次の通りです。
SNIPE_URL = "https://snipe-it-example.com/api/v1"

「API_TOKEN」には、Snipe-ITのAPIキーを記載します。
Snipe-ITのAPIキーは、Snipe-ITの画面上で生成します。

最初に、APIキー作成用の専用ユーザ(以降APIユーザと呼ぶ)を作成します。
ユーザの設定画面への移動は、メニューバーの「人物」を選択します。
_images/apiuser1.png

右上の「新規作成」をクリックします。
_images/apiuser2.png

ユーザ新規作成画面にて、APIユーザを作成します。
「情報」タブにて、以下を設定します。
  • 名前
    • APIユーザ名を指定します。
  • ユーザ名
    • APIユーザ名を指定します。(名前に指定したものと同じで問題ありません)
  • パスワード
    • APIユーザのログインパスワードを指定します。
  • パスワードを確認
    • APIユーザのログインパスワードを再入力します。
  • このユーザはログインすることができます。
    • チェックする
_images/apiuser3.png

「権限」タブにて、以下を設定します。
  • Global: Super User
    • 拒否
  • Admin
    • 拒否
  • CSV Import
    • 拒否
  • Reports: View
    • 拒否
_images/apiuser4.png
  • Assets
    • View を付与
    • Create を付与
    • Edit を付与
    • その他はすべて拒否
_images/apiuser5.png
  • Models
    • View を付与
    • その他はすべて拒否
_images/apiuser6.png
  • Custom Fields
    • View を付与
    • その他はすべて拒否
_images/apiuser7.png
  • Self
    • Create API Keys を付与
    • その他はすべて拒否
_images/apiuser8.png
  • 上記以外の項目(AccessoriesやConsumablesなど)は、以下のようにすべて拒否
_images/apiuser9.png

画面右下の「保存」ボタンをクリックします。
_images/apiuser10.png

一度ログアウトし、作成したAPIユーザでログインします。

次の手順に沿って、APIキーを生成します。

1. 画面上部のAPIユーザ名の部分をクリックし、開いたタブの「APIキーの管理」をクリックします。
_images/apikey1.png

2. 開いたキー管理画面の左上の「新規作成」をクリックします。
_images/apikey2.png

3. ポップアップしたウィンドウのName欄に適当な一意な名前を入力し、「Create」ボタンをクリックします。
_images/apikey3.png

4. 表示されたAPIキーをクリップボードにコピーします。
  • 非常に長いキーが表示されます
  • ひとたび「Close」ボタンをクリックすると二度と表示されませんので、クリップボードにコピーし忘れたら、一度作成したキーを削除した上で再度作成し直してください
_images/apikey4.png

5. 生成されたキーを環境設定ファイル「API_TOKEN」に記載します。
API_TOKEN = "クリップボードにコピーしたAPIキーをペースト"

以上でSnipe-ITのAPI設定は完了です。

万一、APIユーザのログイン情報が漏洩した場合、APIキーの書き換えがされる恐れがあるため、APIキー作成後は、該当のAPIユーザをログイン不可とすることを推奨します。
ログイン不可とする場合、APIユーザのユーザ情報を変更します。

管理者ユーザでログインし直し、メニューバーの「人物」を選択し、ユーザ設定画面へ移動します。
_images/apiuser1.png

該当のAPIユーザのアクションメニュー内の鉛筆マーク(更新)をクリックします。
_images/apiuser11.png

「情報」タブにて、以下を設定します。
  • このユーザはログインすることができます。
    • チェックを外す
_images/apiuser12.png

画面右下の「保存」ボタンをクリックします。
_images/apiuser13.png

3.1.4.2. カスタムフィールドの設定

以下の項目は、Snipe-ITにて実際に管理する項目です。
  • HostnameField
  • IPField
  • CPUField
  • MemoryField
  • DiskField
  • DiskInfoField
  • AppsField
  • ComputerInfoField
  • DeviceInfoField
  • NetworkInfoField
  • OSinfoField

Snipe-ITで作成したカスタムフィールドのDBフィールド名を記載します。
カスタムフィールドのDBフィールド名は、カスタムフィールド一覧の右上の表の形のアイコンをクリックし、「DBフィールド」をチェックします。
_images/check_dbfield.png

カスタムフィールド一覧の表示項目に「DBフィールド」が表示されます。
ここに表示されている値を、各項目に紐づくように記載します。
_images/display_dbfield.png

設定例は次の通りです。
HostnameField = "_snipeit__2"
IPField = "_snipeit_ip_4"
CPUField = "_snipeit_cpu_5"
MemoryField = "_snipeit_gb_6"
DiskField = "_snipeit_gb_7"
DiskInfoField = "_snipeit__8"
AppsField = "_snipeit__9"
ComputerInfoField = "_snipeit__10"
DeviceInfoField = "_snipeit__11"
NetworkInfoField = "_snipeit__12"
OSinfoField = "_snipeit_os_13"

管理しない項目(カスタムフィールドで設定しなかった項目)については、以下のように""を記載します。
AppsField = ""

3.1.5. Snipe-IT-Agentの実行確認をする

実際にSnipe-ITに資産情報を登録できるか、Snipe-IT-Agentを手動実行して確認します。
実行は、「Windows PowerShell」または「コマンド プロンプト」にて行います。
次の順で実行します。

1. get_models.pyを実行し、資産情報に紐づける資産モデルのIDを確認します。
書式は次の通りです。
> python get_models.py

実行すると、Snipe-ITに登録されているすべての資産モデルのIDと名前が表示されます。
Snipe-ITの資産モデルの準備 で作成した、実際に紐づける資産モデルのIDを確認します。
_images/get_models.png

2. get_fieldsets.pyを実行し、資産情報の登録に使うフィールドセットのIDを確認します。
書式は次の通りです。
> python get_fieldsets.py

実行すると、Snipe-ITに登録されているすべてのフィールドセットのIDと名前が表示されます。
Snipe-ITのカスタムフィールドの準備 で作成した、実際に使うフィールドセットのIDを確認します。
_images/get_fieldsets.png

3. snipe-it-agent.pyを実行し、資産情報を登録します。
書式は次の通りです。
> python snipe-it-agent.py --model-id 資産モデルのID --fieldset-id フィールドセットのID [--asset-name 資産名] [--debug]
snipe-it-agent.pyの引数
引数 説明
--model-id
上記1.で確認した資産モデルのIDを指定
必須
--fieldset-id
上記2.で確認したフィールドセットのIDを指定
必須
--asset-name
Snipe-ITに登録する資産情報の資産名にコンピュータ名(ホスト名)以外の名前を設定したい場合、設定したい名前を指定
任意
--debug
レスポンスデータなどのデバッグ情報を表示
任意

実行すると、Snipe-ITに資産情報を登録した旨のメッセージが表示されます。
_images/asset_create.png

すでに資産情報が登録されている状態で、snipe-it-agent.pyを実行した場合、該当の資産情報を更新した旨のメッセージが表示されます。
_images/asset_update.png

実際に資産情報を登録できたかを、Snipe-ITにて直接確認します。

3.2. Snipe-IT-Agentの実行設定をする

3.2.1. Snipe-IT-Agent定期起動用タスクを作成する

ここでは、クライアントがWindows PCの場合に、定期的に情報を取得してSnipe-ITに資産情報を登録または更新できるようにするための設定方法について説明します。
Snipe-IT-Agentのプログラムを手動で都度実行することも可能ですが、定期起動の設定をしておくことで、手間をかけず確実に情報を登録または更新することができます。
ここでは、「Windows PCを起動してユーザがログオンし、かつネットワークに接続したタイミングに一度Snipe-IT-Agentを実行する」という設定の仕方を説明します。

設定は、Windows OSに搭載されている「タスク スケジューラ」を使います。
Windowsのスタートメニューまたは検索バーにて「タスク スケジューラ」を検索し、表示された「タスク スケジューラ」を開きます。
_images/task_scheduler.png

タスク スケジューラの画面の右側の操作メニュー内の「タスクの作成」をクリックします。

_images/create_task1.png

「全般」にて、以下を設定します。
  • 名前(M)
    • 作成するタスクの名前を指定します(どのような名前でも問題ありません)
  • 説明(D)
    • 作成するタスクの説明を記載します(任意)
  • セキュリティオプション
    • 「ユーザがログオンしているときのみ実行する(R)」を選択します
_images/create_task2.png

「トリガー」にて、左下の「新規(N)」をクリックします。
_images/create_task3.png

トリガーの新規作成画面にて、以下を設定し、右下の「OK」をクリックします。
  • タスクの開始(G)
    • 「ログオン時」を選択します
  • 設定
    • 特定のユーザ(C)を選択します
  • 詳細設定
    • 有効(B)をチェックします
_images/create_task4.png

作成したトリガーが表示されていることを確認します。
_images/create_task5.png

「操作」にて、左下の「新規(N)」をクリックします。
_images/create_task6.png

操作の新規作成画面にて、以下を設定し、右下の「OK」をクリックします。
  • 操作(I)
    • 「プログラムの開始」を選択します
  • 設定
    • プログラム/スクリプト(P)
      • Python3のインストールパスを指定します(python.exeの配置場所)
      • 例)C:\Users\ユーザ名\AppData\Local\Programs\Python\Pythonバージョン\python.exe
    • 引数の追加(オプション)(A)
      • Snipe-IT-Agentのプログラム「snipe-it-agent.py」と、引数を指定します(Snipe-IT-Agentの実行確認をする 参照)
      • 例)snipe-it-agent.py --model-id 2 --fieldset-id 2
    • 開始(オプションXT)
      • Snipe-IT-Agentのプログラム「snipe-it-agent.py」の配置ディレクトリを指定します
      • 例)C:\Users\ユーザ名\Desktop\snipe-it-agent\
_images/create_task7.png

作成した操作が表示されていることを確認します。
_images/create_task8.png

「条件」で、以下を設定します。
  • ネットワーク
    • 「次のネットワーク接続が使用可能な場合のみタスクを開始する(Y)」をチェックします
      • 「任意の接続」を選択します
_images/create_task9.png

「設定」は基本的に何も設定する必要はありません。(デフォルトのままで問題ありません)
必要に応じて任意で設定します。
ここまで設定をしたら、最後に右下の「OK」をクリックします。
_images/create_task10.png

以上で、Windows PCでのSnipe-IT-Agentのセットアップは完了です。
クライアントが複数あり、手動でのセットアップが困難な場合は、複数のWindows PCへまとめてSnipe-IT-Agentを導入するには? を参照してください。
一覧へ