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?

More than 5 years have passed since last update.

Zabbix ローレベルディスカバリ(LLD)をzabbix-agent1.8でも使えるようにする

Posted at

LLD機能はZabbix 2.0以降で実装された機能の為、zabbix-agent1.8には標準装備されていません。
そのため、管理画面上でディスカバリルール(vfs.fs.discoveryやnet.if.discovery)を設定しても値を取ることができません。
zabbix-agentのバージョンアップをすれば問題はすぐに解決するのですが、環境によってはそれができない場合もあります。
そんなときの対応方法を記載致します。

▼スクリプトファイルの作成

vfs.fs.discoveryキーでは/proc/mountsに記載されている内容を整形したものを取得しています。
そこでvfs.fs.discoveryキーと同様の結果が返ってくるように、/proc/mountsの中身を整形して返すスクリプトファイルを作成し、それを実行することでvfs.fs.discoveryキーに対応していないzabbix-agent1.8でもディスカバリルールを使用できます。
下記が/proc/mountsの中身を整形して返すスクリプトファイルになります。

vfs_fs_discovery.pl
# !/usr/bin/perl
    
$first = 1;
    
print "{\n";
print "\t\"data\":[\n\n";
    
for (`cat /proc/mounts`)
{
    ($fsname, $fstype) = m/\S+ (\S+) (\S+)/;
    $fsname =~ s!/!\\/!g;

    print "\t,\n" if not $first;
    $first = 0;

    print "\t{\n";
    print "\t\t\"{#FSNAME}\":\"$fsname\",\n";
    print "\t\t\"{#FSTYPE}\":\"$fstype\"\n";
    print "\t}\n";
}

print "\n\t]\n";
print "}\n";

net.if.discoveryに関しても同様で/proc/net/devの内容を整形したものを取得しているだけなので、vfs.fs.discoveryと同じように別途スクリプトファイルを作成して、zabbix-agent1.8でもディスカバリルールを使用できます。

net_if_discovery.pl
# !/usr/bin/perl

$first = 3;

print "{\"data\":[";

for (`cat /proc/net/dev`)
{
        if(!/:/)
        {
                $first--;
                next;
        }

         ($ifname) = m/(\S+):/;

        print "," if not $first;
        $first = 0;

        print "{\"{#IFNAME}\":\"$ifname\"}";
}
print "]";
print "}\n";

▼UserParameterへの登録

スクリプトファイルを作成するだけではzabbix管理画面にLLDを登録しても認識できないので、zabbix-agentの設定ファイルに下記のようにスクリプトファイルを登録する必要があります。

UserParameter=vfs.fs.discovery,/opt/bin/vfs_fs_discovery.pl
UserParameter=net.if.discovery,/opt/bin/net_if_discovery.pl

※Userparameterとは何かについては公式サイトをご参考下さい
https://www.zabbix.com/documentation/2.2/jp/manual/config/items/userparameters

以上でLLDに対応していないzabbix-agentのバージョンでもLLDを使用できるようになります。もちろん、zabbixサーバ自体にLLD機能がなければできませんが...

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?