個人用ツール

Pandora:Documentation ja:Inventory

提供: Pandora FMS Wiki JP

移動先: 案内, 検索

Pandora FMS ドキュメント一覧に戻る

インベントリ

概要

Pandora FMS Enterprise version allows to keep an inventory of the devices that the servers monitored by Pandora have. With this inventory, it is possible to keep a list with the CPU, cards, RAM memory, patches, software, etc... or the company servers.

Pandora FMS エンタープライズ版では、Pandora でモニタしているサーバのデバイスのインベントリを保持することができます。 インベントリでは、CPU、拡張カード、メモリ、パッチ、ソフトウエアや、サーバ一覧等の情報を保持することができます。

The inventory is independent from the monitoring and could be obtained in a local way (through the Pandora FMS agents) or in a remote way.

インベントリは、モニタリングとは独立しており、データはローカル (Pandora FMS エージェントを通して) およびリモートから取得することができます。

インベントリデータ収集

Data collection for system inventory is carried out in two different ways: Remotely through inventory modules, through scripts integrated within Pandora FMS which perform WMI queries or through scripts executed by means of SSH along with 'Expect' or similar methods.

システムインベントリのデータ収集には、次の 2つの方法があります。

インベントリモジュールを介して、Pandora FMS に統合されたスクリプトで、リモートから WMI クエリを実行したり、または 'Expect' または同様の方法で SSH を実行する方法。

Locally using the Pandora FMS Agent, through agent plugins.

エージェントプラグインを介してローカルで Pandora FMS エージェントを利用する方法。

インベントリモジュール

The inventory modules are the remote modules that execute a command against a remote machine. These modules work in a similar way that a plugin. The same modules could be defined as "locals" when they obtain data through an agent.

インベントリモジュールは、リモートのマシンにコマンドを実行するリモートモジュールです。これらのモジュールは、プラグインと同じように動作します。エージェントを通してデータを取得するローカルモジュールと同じものを定義することができます。

In the User and password the following macros can be used:

  • _agentcustomfield_n_: Campo personalizado número n del agente

ユーザおよびパスワードでは、以下のマクロが利用できます。

  • _agentcustomfield_n_: n番のエージェントカスタムフィールド

リモートインベントリ

リモートモジュールの作成

The creation of a remote inventory module by the administrator is not usual. These come already "precharged" with Pandora FMS Enterprise. Regardless, Pandora FMS allows you to create your own inventory modules or modify the ones that already exist through the inventory module editor.

管理者がリモートインベントリモジュールを作成する必要は通常はありません。Pandora FMS エンタープライズ版では事前に定義されています。しかしながら、Pandora FMS では、独自のインベントリモジュールを作成したり、すでに定義されているものをインベントリモジュールエディタで修正することができます。

In order to create a remote module, go to 'Configuration' -> 'Inventory Modules' where all created inventory modules appear.

リモートモジュールを作成するには、'設定(Configuration)' -> 'インベントリモジュール(Inventory modules)' をクリックします。定義済みの全インベントリモジュールが表示されます。



In1.png



To create a new module press on "Create".

新たなモジュールを作成するには、"作成(Create)" をクリックします。



In2.png



Next describe the existing fields.

以下に、フィールドを説明します。

Name

名前(Name)

Field where you should write the Module name.

モジュール名を入力するフィールドです。

Description

説明(Description)

Field to write the Module description:

モジュールの説明を入力するフィールドです。

OS

OS

The operative system the module is created for.

モジュールを作成するオペレーティングシステムを選択します。

Interpreter

インタープリタ(Interpreter)

Field where you can put the command interpreter that is used in the module. It can be Shellscript, Perl or other valid interpreter for the inventory server that is executed on a Linux system.

モジュールで使われるコマンドインタープリタを入力するフィールドです。シェルスクリプト、Perl、その他インベントリサーバで実行できるスクリプト言語を利用できます。

Format

フォーマット(Format)

Field where are the fields separated by the sign "; ", that the module will return.

モジュールが返す値を ";" で分割したフィールドを入力します。

Code

コード(Code)

Module code, usually it is Perl or ShellScript code. If it was binary code it will need a different load procedure that should be introduced through peripheral scripts.

Perl やシェルスクリプトなどのプログラムを設定します。バイナリの実行ファイルの場合、別途それを呼び出すスクリプトが必要です。

Template warning.png

It is very important to choose the operative system correctly, because when adding inventory modules to an agent, only those whose module operating system and agent operating system match will appear.


Template warning.png

インベントリモジュールをエージェントに追加すると、モジュールのオペレーティングシステムとエージェントのオペレーティングシステムが一致するもののみが表示されるため、オペレーティングシステムを正しく選択することが非常に重要です。


Once the module has been created press on "Create".

モジュールの定義が完了したら、"作成(Create)" をクリックします。



In3.png



リモートモジュールの編集

In order to edit a remote module, please click on 'Configuration' and 'Inventory Modules'. It's the location in which all the inventory modules created so far are listed. Please click on the module you intend to edit or the wrench icon which is located on the right side as shown below.

リモートモジュールを編集するには、'設定(Configuration)' および 'インベントリモジュール(Inventory modules)' をクリックします。作成済みの全インベントリモジュールが表示されます。編集したいモジュール名をクリックするか、右のスパナアイコンをクリックします。



In4.png



The module creation page will appear again.

モジュール作成ページが表示されます。



In5.png



Change the fields you want to change and press "Update".

変更したいフィールドを修正し、"更新(Update)" をクリックします。

リモートモジュールの削除

In order to delete a remote module, please click on 'Configuration' -> 'Inventory Modules'. It's the location in which all the inventory modules which have been created so far are listed. Please click on the trash icon which is located on the right side of the module you intend to delete.

リモートモジュールを削除するには、'設定(Configuration)' -> 'インベントリモジュール(Inventory module)' をクリックします。作成済みの全インベントリモジュールが表示されます。削除したいモジュールの右にある、ゴミ箱アイコンをクリックします。



In6.png



リモートモジュールの割当

Inventory module assignment is done in the within the agent's administration tab.

エージェントへのインベントリモジュールの割り当ては、エージェント管理タブから行います。

Click on the "Inventory" tab.

"インベントリ(Inventory)" タブをクリックします。

In8.png

There is the page where you can add the Inventory Modules.

インベントリモジュールを追加する画面になります。

In9.png

Next are described the fields that you should complete to add an Inventory Module.

インベントリモジュールを追加するのに必要なフィールド設定を以下に説明します。

  • Module: Combo where you can choose the Inventory Module that you want to add. It will only show the modules which Operative System will match up with that from the agent.
  • モジュール(Module): 追加したいインベントリモジュールを選択します。エージェントのオペレーティングシステムに合うモジュールのみが表示されます。
  • Target: IP or servername from you want to get the inventory.
  • 対象(Target): インベントリを取得する対象の IP アドレスもしくはホスト名を設定します。
  • Interval: Combo where you choose the time interval in which the Inventory Module will ve executed.
  • 間隔(Interval): インベントリモジュールの実行間隔を設定します。
  • Username: User that will ve used to execute the Inventory Module.
  • ユーザ名(Username): インベントリモジュールを実行するユーザを設定します。
  • Password: User Password that will be used to execute the Inventory Module.
  • パスワード(Password): インベントリモジュールを実行するユーザのパスワードを設定します。

Once the form has been filled in, click on "Add" in order the module would be added to the inventory modules.

設定が完了したら、インベントリモジュールを追加するために "追加(Add)" をクリックします。

In10.png

From version v7.0NG.724 onwards, it is possible to define fields instead of the user and password fields that normally exist. To do this, the following checkbox must be activated:

バージョン 7.0NG 724 以降では、通常存在するユーザーフィールドとパスワードフィールドの代わりのフィールドを定義することができます。それには、次のチェックボックスを有効化します。

ファイル:Custom fields checkbox.png

After doing this, a control to add new fields will appear:

その後、新たなフィールドを追加する画面が表示されます。

ファイル:Inventory module new custom field.png

In this control the desired name must be entered before adding it. If we indicate that the field will belong to a password, the value will be saved in the database in a obfuscated way.

ここで、好みの名前を入力します。フィールドがパスワードであると設定した場合は、その値は難読化された方法でデータベースに保存されます。

After creating the fields, we can give them a value and finally add the module. These fields will be applied in order of creation in the execution of the remote inventory script.

フィールドを作成したら、値の設定とモジュールへの追加ができます。これらのフィールドは、リモートインベントリスクリプトの実行時に作成順に適用されます。

ファイル:Inventory module with custom fields.png



割り当てられたインベントリモジュールの編集

It is possible to edit the Inventory modules. This edition is done in the same page where they are created. To edit an Inventory Module click on the module name or on the icon that is on the image.

インベントリモジュールを編集することもできます。作成と同じ画面で編集することができます。インベントリモジュールを編集するには、モジュール名もしくはスパナアイコンをクリックします。



In20.png



割り当てられたインベントリモジュールの削除

It is possible to delete the Inventory Modules. The deleting is done in the same page where they are created. To delete an Inventory Module click on the red x that is on the right of the module name.

インベントリモジュールを削除することもできます。作成と同じ画面で削除することができます。インベントリモジュールを削除するには、モジュール名の右にある赤い x 印をクリックします。

リモートインベントリモジュール例

Imagine you need to get the list of physical addresses from a server, in this case a Unix server. This command is usually get through the command "arp -a -n", that if we execute it in the server it will give us something similar to this:

UNIX サーバから物理アドレスの一覧を取得する必要がある場合を想定します。これは、通常 "arp -a -n" コマンドで取得でき、サーバで実行すると次のような出力を得られます。

artica@galaga:~$ arp -a -n
? (192.168.70.74) at 08:00:27:39:BF:6F [ether] on eth2
? (192.168.70.162) at B4:74:9F:94:98:84 [ether] on eth2
? (192.168.50.30) at 08:00:27:10:D1:1A [ether] on eth0
? (192.168.70.90) at 98:0C:82:54:2F:DE [ether] on eth2
? (192.168.50.2) at 08:00:27:EA:B2:FF [ether] on eth0
? (192.168.70.135) at C8:60:00:4B:96:67 [ether] on eth2
? (192.168.60.182) at FE:26:C5:91:B1:DA [ether] on tap0


What we are looking for is the IP address, the MAC and the adapter name.

やりたいことは、IP アドレス、MSC アドレス、ネットワークインタフェース名を抽出することです。

This could be done in the shellscript in the following way,that is, using " " to separate the fields:

これは、フィールドを " "(スペース)で分割して、次のようなシェルスクリプトで実現できます。

arp -a -n | sort | grep -v incomplete | awk '{ print $2,$4,$7 }'


So we have almost all the necessary to "import" this information in the Pandora Remote Inventory server. To do it, we use as base the "CPU" remote inventory module and we change it "lightly. This script is connected via SSH with the destination server and it executes the command. The command exit should return each file separated by the ";" character.

Pandora のリモートインベントリサーバへ、この情報を "インポートする" 必要があるとします。そのためには、"CPU" のリモートインベントリモジュールを元に、それを若干修正します。このスクリプトは、SSH を使って対象のサーバへ接続し、コマンドを実行します。コマンドは、";" 文字で分割して情報を出力します。

At this point, you will need to have some knowledge of programming to do your own scripts. The remote inventory scripts, although the are not complex, it will require that you have some knowledge of perl, shellscript, or other languages. You could also write them in java, c++, and call their execution from the module, as long as you return the values of each field separated by ";" and a new line for each data.

ここで、若干スクリプトのプログラミングの知識が必要になります。リモートインベントリスクリプトには、複雑ではありませんが、多少 perl、シェルスクリプト、その他言語の知識が必要です。モジュールから実行され、データ単位ごとに 1行で、かつフィールドを ";" で区切った形式で値を返すのであれば、java や c++ で記述することもできます。

#!/usr/bin/perl
##########################################################################
# pandora_linux_arptable.pl
##########################################################################
# Copyright (c) 2012 Sancho Lerena <slerena@artica.es>
#           (c) 2012 Artica Soluciones Tecnologicas S.L
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; version 2.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
##########################################################################

use strict;
use warnings;

# Check for ssh
my $ssh_client = "ssh";
if (system("$ssh_client -v > /dev/null 2>&1") >> 8 != 255) {
	print "[error] $ssh_client not found.\n";
	exit 1;
}

if ($#ARGV < 1) {
	print "Usage: $0 <target ip> <username>\n";
	exit 1;
}

my $target_ip = $ARGV[0];
my $username = $ARGV[1];

# Retrieve ARP table
my ($ip, $mac, $iface);
my $command = '/usr/sbin/arp -a -n | sort | grep -v incomplete | awk \'{ print \$2,\$4,\$7 }\'';

my @info = `$ssh_client $username\@$target_ip "$command" 2> /dev/null`;
foreach my $line (@info) {
	if ($line =~ /^(.+)\s(.+)\s(.+)/) {
		$ip = $1;
		$mac = $2;
		$iface = $3;
		print "$ip;$mac;$iface\n";
	} 
}
 
exit 0;


In order the SSH connection works in an automatic way, you should copy the user public key, which is "root" form the pandora server in the destination server. Imagine that this command is going to be executed in 192.168.50.10. Follow these steps:

SSH 接続を自動実行できるようにするためには、対象のサーバに pandora サーバの root ユーザの公開鍵をコピーする必要があります。このコマンドを 192.168.50.10 のサーバで実行することを想定した場合、次のようになります。

1. Create the key in the pandora server as root.

1. pandora サーバで root にて鍵を生成します。

ssh-keygen


2. Use the command ssh-copy-id to copy the public key of the destination server (192.168.50.10) with the destination user (in this case the user artica):

2. ssh-copy-id コマンドを使って、公開鍵を対象のサーバ(192.168.50.10)の対象ユーザ(例では artica)へコピーします。

ssh-copy-id -i /root/.ssh/id_rsa.pub artica@192.168.50.10


(You should enter one time the user password "artica" in 192.168.50.10 to install the public key in the destination user)

(対象のユーザに公開鍵をインストールするために、一度 "artica" ユーザのパスワードを入力する必要があります。)

3. Try to connect. It should connect without it ask for the password:

3. 接続を試します。パスワードを聞かれずに接続できる必要があります。

ssh artica@192.168.50.10


4. If the process was successful, the inventory module will follow the same process, so try to execute it from the command line, recording the previous script in the disk (temporal.pl) and executing it with the IP and the user as parameters:

4. 処理が成功したら、インベントリモジュールが実行するのと同じ処理をコマンドラインから実行してみます。前述のスクリプト(temporal.pl)を IP アドレスとユーザをパラメータに指定して実行します。

perl temporal.pl 192.168.50.10 artica
(192.168.50.1);00:0f:ea:27:ba:f0;eth0
(192.168.50.3);08:00:27:98:f8:48;eth0


Please, consider that the script calls remotely to /usr/sbin/arp.The command should be in this path, if not, change the script. You can also notice that we call our script with the command "perl" , that usually is at /usr/bin/perl. This is what should be when defining the module, as you can see here:

スクリプトは、リモートで /usr/sbin/arp を実行していることに注意してください。コマンドが指定のパスにある必要があります。パスが違う場合はスクリプトを修正します。また、スクリプトは "perl" から呼び出します。通常は、/usr/bin/perl です。モジュール定義はつぎのようになります。



800px




When applying it to an agent, be careful to check that the OS is the same. If you have different operative systems, then you should create a different module for each one of them, because the same code won't work.

これをエージェントに適用する場合は、OS が同じであるか確認することに注意が必要です。異なる OS の場合は、同一のコードは動かないため、それぞれに異なるモジュールを作成する必要があります。



800px




Once this module has been executed, it could be visualized like this:

モジュールが実行されると、次のように表示されます。



800



ソフトウエアエージェントによるローカルインベントリ

It is possible to obtain the Inventory Data from a machine through the Software Agents. You will only need to apply the required Inventory Modules in the Software Agent configuration.Same as in the remote modules it is also necessary to add these modules as Inventory Module in Operación > Manage modules> Inventory modules.

ソフトウエアエージェントを通してインベントリデータを取得することができます。ソフトウエアエージェントの設定に、必要なインベントリモジュールを適用すれば良いだけです。リモートモジュールと同様に、これらのモジュールは、システム管理メニューの モジュール管理(Manage modules) -> インベントリモジュール(Inventory modules) でインベントリモジュールとして追加する必要があります。

ローカルモジュールの作成

In order to create a local module, go to 'Configuration' > 'Inventory Modules' where all inventory modules created so far are listed. Create all modules to be defined within the agent setup. The OS assigned to the console agent must match that of the created module.

ローカルモジュールを作成するには、'設定(Configuration)' > 'インベントリモジュール(Inventory modules)' へ行きます。作成済みの全インベントリモジュールが表示されます。エージェント設定内で定義されるすべてのモジュールを作成します。 コンソール上でエージェントに割り当てられた OS は、作成されたモジュールの OS と一致する必要があります。

In22.png

To create a new module click on "Create".

新たなモジュールを作成するには、"作成(Create)" をクリックします。

In23.png

For the remote modules it is not necessary to complete all the fields. Next we describe the fields that should be fill in:

ローカルモジュールでは、全てのフィールドに入力する必要はありません。以下に入力すべきフィールドの説明をします。

  • Name:field to put the Module name.
  • 名前(Name): モジュール名を入力します。
  • Description: field where to put the module description.
  • 説明(Description): モジュールの説明を入力します。
  • OS: combo where to choose the Operative System for which the module is created. For the locate modules you should choose the option "Agent".
  • OS: 作成したモジュールのオペレーティングシステムを選択します。ローカルモジュールでは、"Agent" を選択する必要があります。
  • Format: field where to put the fields separated by ; the the module will return.
  • フォーマット(Format): モジュールが返す値を ; で区切ったフィールドを設定します。

Once you have created the module, press on "Create".

設定が完了したら、"作成(Create)" をクリックします。

In24.png

ソフトウエアエージェントによる Windows のインベントリモジュール

To adapt the software agent setup to the new version:

ソフトウェアエージェントでローカルインベントリを設定する方法を以下に示します。

1. Deploy the script collection (download it from the Pandora FMS library http://pandorafms.com/Library/Library/) through the collections.

1. スクリプトコレクションを展開します。(Pandora FMS ライブラリ http://pandorafms.com/Library/Library/ からダウンロードします)

Info.png

From version 7 onwards, these plugins have agent installation by default, although they are commented in the configuration file.


Info.png

バージョン 7 以降では、これらのプラグインは、デフォルトでエージェントインストール時に入りますが、設定ファイルでコメントアウトされています。


2. Configure the local inventory script programmed execution in the pandora_agent.conf file, adding this information at the end:

2. ローカルインベントリ用スクリプトを構成し、pandora_agent.conf ファイルの最後に設定を追加します。

Info.png

From version 7 onwards, there is no need to add it. Just uncomment the existing plugins in the agent configuration file.


Info.png

バージョン 7 以降では、追加する必要はありません。エージェント設定ファイルのプラグイン実行のコメントを外すだけです。



#module_begin
#module_plugin cscript.exe //B //t:20 "%PROGRAMFILES%\Pandora_Agent\util\cpuinfo.vbs"
#module_crontab * 12-15 * * 1
#module_end

#module_begin
#module_plugin cscript.exe //B //t:20 "%PROGRAMFILES%\Pandora_Agent\util\moboinfo.vbs"
#module_crontab * 12-15 * * 1
#module_end

#module_begin
#module_plugin cscript.exe //B //t:20 "%PROGRAMFILES%\Pandora_Agent\util\diskdrives.vbs"
#module_crontab * 12-15 * * 1
#module_end

#module_begin
#module_plugin cscript.exe //B //t:20 "%PROGRAMFILES%\Pandora_Agent\util\cdromdrives.vbs"
#module_crontab * 12-15 * * 1
#module_end

#module_begin
#module_plugin cscript.exe //B //t:20 "%PROGRAMFILES%\Pandora_Agent\util\videocardinfo.vbs"
#module_crontab * 12-15 * * 1
#module_end

#module_begin
#module_plugin cscript.exe //B //t:20 "%PROGRAMFILES%\Pandora_Agent\util\ifaces.vbs"
#module_crontab * 12-15 * * 1
#module_end

#module_begin
#module_plugin cscript.exe //B //t:20 "%PROGRAMFILES%\Pandora_Agent\util\monitors.vbs"
#module_crontab * 12-15 * * 1
#module_end

#module_begin
#module_plugin cscript.exe //B //t:20 "%PROGRAMFILES%\Pandora_Agent\util\printers.vbs"
#module_crontab * 12-15 * * 1
#module_end

#module_begin
#module_plugin cscript.exe //B //t:20 "%PROGRAMFILES%\Pandora_Agent\util\raminfo.vbs"
#module_crontab * 12-15 * * 1
#module_end

#module_begin
#module_plugin cscript.exe //B //t:20 "%PROGRAMFILES%\Pandora_Agent\util\software_installed.vbs"
#module_crontab * 12-15 * * 1
#module_end

#module_begin
#module_plugin cscript.exe //B //t:20 "%PROGRAMFILES%\Pandora_Agent\util\userslogged.vbs"
#module_crontab * 12-15 * * 1
#module_end

#module_begin
#module_plugin cscript.exe //B //t:20 "%PROGRAMFILES%\Pandora_Agent\util\productkey.vbs"
#module_crontab * 12-15 * * 1
#module_end

#module_begin
#module_plugin cscript.exe //B //t:20 "%PROGRAMFILES%\Pandora_Agent\util\productID.vbs"
#module_crontab * 12-15 * * 1
#module_end


ソフトウエアエージェントによる UNIX のインベントリモジュール

The Unix software agent module uses, in a local way, a plugin to get information about different aspects of the machine, both from Software and Hardware.

Unix のソフトウエアエージェントのモジュールは、マシンのソフトウエアおよびハードウエア情報を取得するためにローカルで定義されたプラグインを利用します。

The module syntax is this:

モジュールの書式は次の通りです。

module_plugin inventory 1 cpu ram video nic hd cdrom software init_services filesystem users route

The module consist of one line with the following parameters:

モジュールは、次のパラメータを一行で設定します。

  • Module activation
  • モジュールの有効化
" module_plugin inventory " 1 cpu ram video nic hd cdrom software init_services filesystem users route
  • Field where is fixed how often(in days) the module will be executed. If the value is 0 the inventory information is sent in each agent execution.
  • モジュールの実行間隔 (日単位) の設定。値が 0 の場合は、エージェントの実行時にインベントリ情報が送信されます。
module_plugin inventory " 1 " cpu ram video nic hd cdrom software init_services filesystem users route
  • Field where the inventory objects that are collected are defined.
  • 収集するインベントリの対象の設定
module_plugin inventory 1 " cpu ram video nic hd cdrom software init_services filesystem users route "

Just like in the Windows agent, it is possible to collect the following objects:

Windows エージェントと同様に、次の対象を設定できます。

  • CPU: It obtains information about CPUs.
  • cdrom: It obtains information about CDROMs.
  • video: It obtains information about VGAs.
  • hd: It obtains information about hard drives.
  • nic: It obtains information about network interface controllers.
  • patches: It obtains information about the installed patches.
  • software: It obtains information about the installed software.
  • ram: It obtains information about the RAM modules.
  • filesystem: It obtains information about the system's partitions.
  • users: It obtains information about the users.
  • init_services: It obtains information about the initiated services.
  • Route: It collects information about the system path table.
  • CPU: CPU の情報を取得します。
  • cdrom: CDROM ドライブの情報を取得します。
  • video: ビデオカードの情報を取得します。
  • hd: ハードディスクドライブの情報を取得します。
  • nic:ネットワークインタフェースカードの情報を取得します。
  • patches: インストールされているパッチ情報を取得します。
  • software: インストールされているソフトウエア情報を取得します。
  • ram: メモリモジュールの情報を取得します。
  • filesystem: システムパーティション情報を取得します。
  • users: ユーザ情報を取得します。
  • init_services: initサービスの情報を取得します。
  • Route: ルーティングテーブル情報を取得します。

You may find the plugin that collects the inventory in the directory named '/etc/pandora/plugins'.

インベントリ情報を収集するプラグインは、'/etc/pandora/plugins' にあります。

It is also possible to set the plugin to gather all available information. In this example, the plugin will obtain all daily information on the inventory:

利用可能なすべての情報を収集するためのプラグインを設定することも可能です。この例では、プラグインは、インベントリのすべての日々の情報を取得します。

# Plugin for inventory on the agent (Only Enterprise)
module_plugin inventory 1

In order to activate the inventory module, copy the previously described code within the software agent 'pandora_agent.conf' file. This activation could be achieved locally on the machine or remotely from the agent's remote configuration.

インベントリモジュールを有効化するには、上記の設定をソフトウエアエージェントの 'pandora_agent.conf' に記述するだけです。この設定はローカルもしくはエージェントのリモート設定で行えます。

In32.png

ローカルモジュールの割当

It is not necessary to activate the modules in the agents defined within the console. If the modules have been created in Configuration > Inventory Modules, the OS matches and the execution is defined in the software agent configuration file, the collected data will appear directly on the view > inventory section of the console agent.

エージェントで定義したモジュールはコンソールで有効化する必要はありません。'設定(Configuration)' -> 'インベントリモジュール(Inventory modules)' をクリックしてモジュールが作成され、ソフトウエアエージェントに設定され、OS が一致すればコンソール上のエージェントの 表示(view) > インベントリ(inventory) に現れます。



In33.png



ローカルインベントリモジュールの作成(エージェントでの実行)

Beside the inventory systems that comes "by default" in the agent, you can easily create (much more easily than the remote modules), inventory modules for Unix and Windows systems. You have to create a script which generates a XML with the following structure:

エージェントに "デフォルトで" 備わっているインベントリシステムでは、Unix および Windows のシステムでインベントリモジュールを簡単に作成することができます(リモートモジュールよりも簡単です)。次の構造の XML を生成するスクリプトを作成します。

<inventory>
<inventory_module>
<name>INVENTORY_MODULE_NAME</name>
<type>generic_data_string</type>
<datalist>
    <data>DATA1;DATA2;DATA3....</data>
</datalist>
</inventory_module>
</inventory>

Where is written "INVENTORY_MODULE_NAME" it should be written the same name of the module that will be registered in pandora Where is written DATA1;DATA2...are the data you want to get.

ここで、"INVENTORY_MODULE_NAME" には、pandora で設定したモジュール名と同じものを記載します。また、DATA1;DATA2... には、取得したいデータを記載します。

Supposing that you want to get an ARP table and IP with their interfaces (see the previous example of the remote inventory modules). This is basically the exit of the command arp -a modified a little.

ARP テーブル、IPアドレス、ネットワークインタフェース名を取得したいと仮定します(前掲のリモートインベントリモジュールの例も参照ください)。これは、基本的に arp -a の出力結果で、若干修正を加えています。

This time we are going to develop in Windows, the little script that you need, and we are going to save it at "C:\tmp\windows_arp_inventory.bat" that is the following:

ここでは、Windows で実現することを考えます。小さなスクリプトが必要で、次のようなものを "C:\tmp\windows_arp_inventory.bat" として保存します。

@echo off
echo ^<inventory^>
echo ^<inventory_module^>
echo ^<name^>ARP_Table^</name^>
echo ^<type^>generic_data_string^</type^>
echo ^<datalist^>
arp -a | sort | grep "[0-9]"  | grep -v ":" | gawk "{ print \"^<data^>\" $1\";\"$2\";\"$3 \"^</data^>\" }"
echo ^</datalist^>
echo ^</inventory_module^>
echo ^</inventory^>

Now you need to modify pandora_agent.conf, and add the following line:

ここで、pandora_agent.conf を修正し、次の行を加える必要があります。

module_plugin cmd.exe /C C:\tmp\windows_arp_inventory.bat

Template warning.png

This script is executed every five minutes (the default agent interval). If you want it to be executed every X minutes, implement that logic into the script itself or use theprogrammed monitoring.


Template warning.png

このスクリプトは、5分ごとに実行されます(デフォルトのエージェント実行間隔)。任意の X 単位時間ごとに実行したい場合は、そのロジックをスクリプト内に実装するか、指定時間モニタリング を利用する必要があります。


In order for the local script execution to store inventory information, it must have an inventory module defined in the console, specifying the OS, the module's name and the data to be stored separated by ";". Do not forget to create the inventory module in Pandora FMS before restarting the Pandora FMS agent, so that it inherits the changes.

ローカルスクリプトの実行でインベントリ情報を保存するには、コンソールに定義されたインベントリモジュールがあり、OS、モジュール名、および保存するデータを ";" で区切って指定する必要があります。 Pandora FMS エージェントを再起動する前に、Pandora FMS でインベントリモジュールを作成して、変更を継承することを忘れないでください。

400px

Notice that as it is a local module, it don't has the field "interpreter" neither the "code" fields filled in, but it has the Operative System filled in.

これは、ローカルモジュールとして動作することに注意してください。"インタープリター(Interpreter)"および、"コード(Code)" フィールドには何も入力せず、OS フィールドを指定しています。

The results obtained are the same as the ones we got for the equivalent of remote module on Linux:

結果として、Linux でのリモートモジュールと同じように、情報を取得できます。



700px



There are a lot more local and remote inventory modules available for download within the Pandora FMS Module Library. You may also easily develop your own, as seen throughout this chapter.

Pandora FMS モジュールライブラリ には、リモートおよびローカルの多くのインベントリモジュールがあります。また、この章で示したように、自分でも簡単に開発することができます。

インベントリのデータ表示

The Inventory Data that have been collected from a system, either in a local way or in a remote way, could be seen from the agent or from the Console Inventory Menu.

ローカルまたはリモートでシステムから収集されたインベントリデータは、エージェントもしくはコンソールのインベントリメニューから参照することができます。

インベントリメニューでのインベントリデータ表示

By clicking on 'Monitoring' -> 'Inventory', it is possible to view all agent inventory data, search and export data to a CSV.

'モニタリング(Monitoring)' -> 'インベントリ(Inventory)' をクリックすることにより、エージェントのインベントリデータの参照、検索、データの CSV へのエクスポートができます。

In37.png

The fields which could be used for searches are the following:

検索に使うフィールドは次の通りです。

  • Group: Choose the agent group you intend to filter by.
  • Module: Choose the inventory module you intend to filter by.
  • Agent: Type in the agent name you intend to filter by.
  • Search: Type in a text in order to search by all inventory fields.
  • グループ(Group): フィルタしたいエージェントグループを選択します。
  • モジュール(Module): フィルタしたいインベントリモジュールを選択します。
  • エージェント(Agent): フィルタしたいエージェント名を入力します。
  • 検索(Search): すべてのインベントリフィールドで検索したいテキストを入力します。

It is also possible to see all module agents which have an inventory by selecting 'All' within the search options and clicking on 'Search'.

検索オプション内で 'すべて' を選択し、'検索' をクリックすることにより、インベントリ情報があるすべてのモジュールエージェントを表示することもできます。

In38.png

Or a specific module in all agents with inventory by selecting the module and clicking on 'Search'.

または、モジュールを選択して '検索' をクリックすることにより、インベントリを持つすべてのエージェントの特定のモジュールを表示できます。

In39.png

インベントリの日付変更

In the detail view of an inventory agent, you may choose the specific inventory report date you want to see through a selector:

インベントリエージェントの詳細表示では、選択メニューから特定のインベントリレポートの日付を選択できます。

ファイル:Vista inventario diff.png

If you see there are dates missing, it is likely to be due to data changes regarding the last inventory execution. That means, Pandora FMS only stores inventory data when these change compared to the last execution.

日付が欠落している場合は、最後のインベントリ実行に関するデータの変更が原因である可能性があります。Pandora FMS は、前回の実行と比較して変更があった場合にのみインベントリデータを保存しているためです。

インベントリデータの CSV エクスポート

By clicking on 'Monitoring' and 'Inventory' it's possible to export inventory data which are the result of a filtering to a CSV file.

'モニタリング(Monitoring)' および 'インベントリ(Inventory)' をクリックすると、フィルタリングしたあとのインベントリデータを CSV ファイルへエクスポートすることができます。

Choose the filter and once that there would be data click on “Export CSV”.

フィルタを選択し、"CSV へのエクスポート(Export CSV)" をクリックします。



In40.png



It is created a file with the Inventory Data separated by semicolon.

セミコロンで分割されたインベントリデータが書かれたファイルが生成されます。

インベントリ差分

Block mode

ブロックモード

From Pandora FMS version 5.1, inventory information can be viewed in two columns so differences can be spotted easily. Block mode specifies that the result of an inventory module is a single element, instead of interpreting each line as a different element of the same type, as it has been done in the previously seen inventory modules.

Pandora FMS バージョン 5.1 から、インベントリ情報は差分が解りやすいように 2つのカラムで表示できるようになりました。 ブロックモードでは、モジュールの全情報を、サーバのパッケージのように個別に一覧するのではなく、ひとかたまりでレポートするのに利用します。一行一エントリーで処理するのではなく、全体レポートを一つとして処理します。

Block mode is configured when defining a remote or local inventory module:

ブロックモードは、リモートまたはローカルインベントリモジュールを定義するときに設定されます。

800px

When there is a module with block mode enabled, it allows seeing the divided view (to visually see the changes):

ブロックモードが有効なモジュールがある場合、分割されたビューで見ることができます(変更を視覚的に見るため):

800px

In the two column view, all differences between one inventory version and another are shown. Even the date filtering version can be seen.

2カラム表示では、あるインベントリのバージョンと他のバージョンの差分を表示します。日付を設定することもできます。

800px

Remember each time an inventory module change is detected, a new event will be generated.

インベントリモジュールの変更が検出されるたびに、新しいイベントが生成されることに注意してください。

799px