個人用ツール

「Pandora:Documentation ja:Inventory」の版間の差分

提供: Pandora FMS Wiki JP

移動先: 案内, 検索
(インベントリモジュール)
(ローカルインベントリモジュールの作成(エージェントでの実行))
 
771行目: 771行目:
 
<br><br>
 
<br><br>
  
There are more inventory modules in the Pandora online module library (http://pandorafms.com), both remote and local, and, of course, always the ones that are specifically of it, as you could have seen in this section.
+
There are a lot more local and remote inventory modules available for download within the [http://pandorafms.com/library/ '''Pandora FMS Module Library.'''] Within this library, there are also a lot of modules which have been specifically designed for Pandora FMS, as you certainly have seen within this section.
  
Pandora のオンラインのモジュールライブラリ(http://pandorafms.com) には、リモートおよびローカルの多くのインベントリモジュールがあります。この章で説明したように、それぞれ具体的に利用できるものです。
+
[http://pandorafms.com/library/ '''Pandora FMS モジュールライブラリ'''] には、リモートおよびローカルの多くのインベントリモジュールがあります。このライブラリ内には、この章で見てきた Pandora FMS 用に設計された多くのモジュールもあります。
  
 
== インベントリのデータ表示 ==
 
== インベントリのデータ表示 ==

2019年9月8日 (日) 09:28時点における最新版

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 エージェントを通して) およびリモートから取得することができます。

インベントリデータ収集

The data collection for the system inventory is done in two different ways in a remote way through inventory modules, through scripts integrated in Pandora FMS that execute WMI queries, or executable scripts through SSH with Expect or similar methods.

システムインベントリのデータ収集は、インベントリモジュールを通してリモートで行う方法と、WMI クエリを実行したり SSH などを通してスクリプトを実行する Pandora FMS に実装されているスクリプトを通して行う方法の二通りがあります。

When the data collection is local, with the Pandora FMS agent, it is done through plugins in the agent or a kind of special module, in case of Windows systems.

Pandora FMS エージェントでデータを収集する場合は、Windows システムの場合、エージェントのプラグインや特別なモジュールを通して実行されます。

インベントリモジュール

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, please click on 'Configuration' -> 'Inventory Modules'. You're going to find all preconfigured inventory modules there. Note that you also have the local preconfigured inventory modules here, with their defined format.

リモートモジュールを作成するには、'設定(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

Combo where you can choose the Operative System the module is created for. It is very important to choose well the Operative System because by adding inventory modules into an agent there will appear only these modules where the Operative System of the module matches with the Operative System of the agent.

モジュールを作成するオペレーティングシステムを選択します。エージェントにインベントリモジュールを追加することによって、エージェントのオペレーティングシステムに合ったモジュールのみが設定されるため、オペレーティングシステムを正しく選択することが重要です。

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

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



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

The Inventory modules assignment is done in the agent in the agent administration flap.

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

Under 'Resources' and 'Manage Agents', please click on the agent's name to which you intend to assign inventory modules to.

'リソース(Resources)' および 'エージェント管理(Manage Agent)' で、インベントリモジュールを割り当てたいエージェント名をクリックします。



In7.png



Click on Inventory flap

インベントリタブをクリックします。



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) でインベントリモジュールとして追加する必要があります。

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

To create a Local Module go to Administration> Manage modules> Inventory modules where there are all the Inventory Modules that have been created. You should create all the modules that are defined in the Agent.

ローカルモジュールを作成するには、システム管理メニューの モジュール管理(Manage modules) -> インベントリモジュール(Inventory modules) へ行きます。作成済みの全インベントリモジュールが表示されます。エージェントで定義されている全てのモジュールを作成する必要があります。

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 のインベントリモジュール

The Windows Software Agent Module uses, in a local way, predefined WMI to collect information about different aspects of the machine, both Software and Hardware.

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

The module syntax is the following:

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

In25.png

Next are described all the fields that you should complete to add the Inventory Module in Windows Systems:

Windows システムでインベントリモジュールを追加するために必要な全フィールドについての説明を以下に示します。

module_begin

Beginning of any module of a Software Agent.

ソフトウエアエージェントのモジュールの開始を示します。

module name Inventory

Field where is the name for the module, in this case is "Inventory".

モジュール名を設定するフィールドです。この例では、"Inventory" としています。

module_interval 3

Field that fix the module execution interval (in days).Fix how often (in days) the module will be executed. In this example are 3 days. BEWARE of previous erratas in documentations, is not module_inventory_interval, is module_interval ! If the value is 0 the information will be sent in each agent execution.

モジュールの実行間隔 (日単位) を指定します。どの間隔 (日単位) でモジュールを実行するかを設定します。この例では 3日です。module_inventory_interval ではなく、module_interval であることに注意してください。値が 0 の場合、エージェントの実行時に情報が送信されます。

module_type generic_data_string

Value that defines the kind of data in Pandora FMS, the kind of data of the Inventory Modules is:

Pandora FMS でのデータの種類を定義します。インベントリモジュールのデータタイプは、

“generic_data_string”.

“generic_data_string”です。

module_inventory CDROM Patches Software

Field where are defined the inventory objects that we want to collect.In this example are collected the CDROM, the patches and the software.In this field are defined the different parameters where the inventory objects that we want to collect. To add more objects you only need to add the name of them in the module line_inventory. It is possible to collect the following objects:

収集したいインベントリの対象を定義するフィールドです。この例では、CDROM とパッチ、ソフトウエア情報を収集します。このフィールドで、収集したいインベントリの対象をパラメータとして定義します。対象を追加するには、モジュールにインベントリの名前を追加するだけで良いです。次の対象を収集することができます。

  • CPU:gets information about CPus.
  • CPU: CPU の情報を取得します。
  • RAM:gets information about RAM modules.
  • RAM: メモリモジュールの情報を取得します。
  • CDROM:gets information about CDROM devices.
  • CDROM:CDROM ドライブの情報を取得します。
  • Video:gets information about Video cards.
  • Video:ビデオカードの情報を取得します。
  • Hds:gets information about Hard Drivers.
  • Hds:ハードディスクドライブの情報を取得します。
  • Patches: gets information about the installed patches.
  • Patches:インストールされているパッチ情報を取得します。
  • Software:gets information about the installed software.
  • Software:インストールされているソフトウエア情報を取得します。
  • Services: gets information about the services installed on the machine(running or not).
  • Services:マシンにインストールされているサービス (実行中かどうかに関わらず) の情報を取得します。
  • NIC: gets information about Network cards, Network Interface Controlers.
  • NIC: ネットワークインタフェースコントローラの情報を取得します。

module_description Inventory

Field where to put the module description.In this example is Inventory.

モジュールの説明を定義するフィールドです。この例では Inventory です。

module_end

End of any module of a software agent. To activate the inventory module you only have to copy the code previously described in the field pandora_agent.conf of the software agent. This activation can be done in a local way in the machine or in a remote way from the agent remote configuration.

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

In26.png

ソフトウエアエージェントによる 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:

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

In27.png

The module consist of one line with the following parameters:

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

  • Module activation
  • モジュールの有効化

In28.png

  • 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 の場合は、エージェントの実行時にインベントリ情報が送信されます。

In29.png

  • Field where the inventory objects that are collected are defined.
  • 収集するインベントリの対象の設定

In30.png

Same as in the Windows agent, it is possible to collect the following objects:

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

  • CPU: gets information about CPUs.
  • CPU: CPU の情報を取得します。
  • cdrom: gets information about CDROM devices.
  • cdrom: CDROM ドライブの情報を取得します。
  • video: gets information about Videocards.
  • video: ビデオカードの情報を取得します。
  • hd: gets information about Hard Drivers.
  • hd: ハードディスクドライブの情報を取得します。
  • nic:gets information about Network cards, Network Interface Controlers.
  • nic:ネットワークインタフェースカードの情報を取得します。
  • Patches: gets information about the installed patches.
  • Patches: インストールされているパッチ情報を取得します。
  • software: gets information about the installed software.
  • software: インストールされているソフトウエア情報を取得します。
  • process: processes in execution at this moment in the server.
  • process: モジュール実行時点のサーバで動作しているプロセスを取得します。
  • ram: gets information about RAM modules.
  • ram: メモリモジュールの情報を取得します。
  • filesystem: gets information about system partitions.
  • filesystem: システムパーティション情報を取得します。
  • users: get information about users.
  • users: ユーザ情報を取得します。
  • init_services: get infotmation about init services
  • init_services: initサービスの情報を取得します。

The plugin that the inventory collects is at the directory /etc/pandora/plugins

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

In31.png

To activate the Inventory Module you need only to copy the code previously described at the pandora_agent.conf file from the software agent. This activation could be done in a local way in the machine or in a remote way from the agent remote configuration.

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

In32.png

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

It's not necessary to activate the modules in the agents defined within the console. If the modules have been created by clicking on 'Configuration' -> 'Inventory Modules' and configured in the software agent, they're going to appear directly within the agent in the console.

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



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 will be executed each five minutes (default agent interval). If you wnat to execute each X time, you need to code that logic in the script itself.


Template warning.png

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


Don't forget, before re-starting the pandora agent, in order that it gets the changes, to create the inventory module in Pandora:

pandora エージェントを再起動する前に、情報を取得できるように Pandora にインベントリモジュールを作成しておく必要があることを忘れないようにしてください。



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. Within this library, there are also a lot of modules which have been specifically designed for Pandora FMS, as you certainly have seen within this section.

Pandora FMS モジュールライブラリ には、リモートおよびローカルの多くのインベントリモジュールがあります。このライブラリ内には、この章で見てきた 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.

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

エージェント内でのインベントリデータ表示

To see the collected data from an agent with inventory from the agent, go to the Agent Operation Menu and click on the Inventory flap.

エージェントから収集したインベントリデータを参照するには、エージェント参照画面でインベントリタブをクリックします。

In34.png

It is possible to filter the information through the inventory or through a open search. Since 4.0.x version, searches includes custom fields, so it's very useful to search for example, a specific version of software:

インベントリや検索を使って情報をフィルタリングすることができます。バージョン 4.0.x からは、検索はカスタムフィールドを含みます。そのため、特定のソフトウエアのバージョンの検索などとても便利です。



550px



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

By clicking on 'Monitoring' -> 'Inventory', it's possible to view all agents inventory data, to conduct searches and to export data to a CSV file.

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



In37.png



The fields that could be used for searches are these:

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

  • Group: Combo where you can choose the group of agents you want to filter through.
  • グループ(Group): フィルタを通したいエージェントのグループを選択します。
  • Module: Combo where you can choose the inventory module you want to filter through.
  • モジュール(Module): フィルタを通したいインベントリモジュールを選択します。
  • Agent: Field where you can write the name of the agent you want to filter through.
  • エージェント(Agent): フィルタを通したいエージェント名を入力します。
  • Search: Field where you can write a text in order to do a search through all the inventory fields.
  • 検索(Search): 全インベントリフィールドを検索する文字列を指定できます。

Through searches it is possible to see the modules of all agents that have inventory, selecting all in the search options and clicking on “Search”.

検索オプションで全てを選択して "検索(Search)" をクリックすると、インベントリがある全エージェントのモジュールを見ることができます。



In38.png



Or an specific module in all agents with inventory, selecting the module and clicking on “Search”.

インベントリがある全エージェントの特定モジュールを見たい場合は、モジュールを選択し "検索(Search)" をクリックします。



In39.png



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

By clicking on 'Monitoring' and 'Inventory' it's possible to export the 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.

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

差分表示とブロックモード

From version 5.1 of Pandora FMS the inventory information can be viewed in two columns so differences can be spotted easily. This only works when you are using remote inventory modules with "block mode" enabled. This mode is used to set the module to report all information as a single piece of information, instead a list of small items of information, like a list of packages in the server. Instead processing each line as a single entity, it process the whole report as a single item.

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

Plugin we use in this chapter can be downloaded from official module library at [1]

この章で利用するプラグインは、公式モジュールライブラリ[2]からダウンロードできます。

Inventory module Block mode is configured when you define a remote inventory module:

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



800px



To access this feature you must click on the icon that appears in the following image. All other inventory modules WITHOUT that mode, will not allow you to have "diff view". In this screenshot, the only moduel with diffview enabled is the third one:

この機能にアクセスするには、次の画像のアイコンをクリックします。差分表示ができない他のインベントリモジュールでは、このモードはありません。差分表示が可能なモジュールでのみ有効です。



800px



In the two column view all differences are shown between one inventory version and another. We can even set a different date.

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



800px



Remember each time an inventory module detect a change it reports an event. In block mode, that event will not contain the changes, because could be very extense.

インベントリモジュールは変更発生ごとにそれを検出しイベントを発生させます。ブロックモードでは、大きな差分になるため変更内容はイベントには含まれないことに注意してください。