SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

連載記事

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

翔泳社では、「独習」「徹底入門」「スラスラわかる」「絵で見てわかる」「一年生」などの人気シリーズをはじめ、言語や開発手法、最新技術を解説した書籍を多数手がけています。プロジェクトマネジメントやチームビルティングといった管理職向けの書籍も豊富です。

ITエンジニアとしてのスキルアップ・リスキリングに、ぜひお役立てください。

書籍に関する記事を見る

'); googletag.cmd.push(function() { googletag.pubads().addEventListener('slotRenderEnded', function(e) { var ad_id = e.slot.getSlotElementId(); if (ad_id == 'div-gpt-ad-1659428980688-0') { var ad = $('#'+ad_id).find('iframe'); if ($(ad).width() == 728) { var ww = $(window).width(); ww = ww*0.90; var style = document.createElement("style"); document.head.appendChild( style ); var sheet = style.sheet; sheet.insertRule( "#div-gpt-ad-1659428980688-0 iframe {-moz-transform: scale("+ww/728+","+ww/728+");-moz-transform-origin: 0 0;-webkit-transform: scale("+ww/728+","+ww/728+");-webkit-transform-origin: 0 0;-o-transform: scale("+ww/728+","+ww/728+");-o-transform-origin: 0 0;-ms-transform: scale("+ww/728+","+ww/728+");-ms-transform-origin: 0 0;}", 0 ); sheet.insertRule( "#div-gpt-ad-1659428980688-0 div{ height:"+(90*ww/728)+"px;width:"+728+"px;}", 0 ); } else { if ($(window).width() < 340) { var ww = $(window).width(); ww = ww*0.875; var style = document.createElement("style"); document.head.appendChild( style ); var sheet = style.sheet; sheet.insertRule( "#div-gpt-ad-1659428980688-0 iframe {-moz-transform: scale("+ww/320+","+ww/320+");-moz-transform-origin: 0 0;-webkit-transform: scale("+ww/320+","+ww/320+");-webkit-transform-origin: 0 0;-o-transform: scale("+ww/320+","+ww/320+");-o-transform-origin: 0 0;-ms-transform: scale("+ww/320+","+ww/320+");-ms-transform-origin: 0 0;}", 0 ); sheet.insertRule( "#div-gpt-ad-1659428980688-0 div{ height:"+(180*ww/320)+"px;width:"+320+"px;}", 0 ); } } } }); }); } else { document.write('
'); document.write('
'); }
net-snmpについて

net-snmpについて(独自監視項目の追加) - 前編

net-snmpによる拡張MIBの設定方法について(前編)

  • X ポスト
  • このエントリーをはてなブックマークに追加

ダウンロード サンプルファイル (3.7 KB)

snmpは広く知られた監視用のプロトコルです。しかし実際は“シンプル”ではなく、複雑な仕様、深いMIB-Tree、異なるバージョンなど、理解が困難と思われます。本レポートでは、net-snmpにおける独自情報の監視を行う為に必要な拡張MIBの設定方法とソースファイルの生成方法についてレポートしています。

  • X ポスト
  • このエントリーをはてなブックマークに追加

はじめに

 この連載では監視用プロトコルとして広く知られているSNMPについて設定方法などを交えて説明していきます。今回は独自の情報を監視するための機能の追加方法について、MIBファイルの作成からソースファイルの生成までを述べます。

 構築環境はFedora7(2.6.23.17-88.fc7)、32bit、glibc-2.6-4、gcc-4.1.2を使用しています。

これまでの記事

7. 拡張MIBと独自エージェントの実装

 今まで取得してきた情報は、既にnet-snmpが用意したものです。しかし自分たちが作成したソフトの挙動を監視する際、その監視項目は当然ですがnet-snmpにはありませんし、他のsnmpソフトにもありません。

 ではどうするか。自分たちで監視したい項目をnet-snmpに追加することで対応します。具体的な方法は下記の通りです。

  • 企業拡張番号の払い出し
  • MIBファイルの作成
  • MIBファイルの登録
  • mib2cによるソースファイルの生成
  • ソースファイルの修正・改良
  • ソースファイルから拡張MIB対応エージェントの構築

 拡張MIBとは標準MIB以外のソフトに対し、ベンダーやソフトウェア開発者独自の監視項目をMIBとして定義し参照するためのMIB定義です。標準MIBはRFCで標準化され、ベンダーに依存しない装置およびソフトウェアなどの管理用MIB定義です。

 ベンダーやソフトウェア開発者は自作のソフトをSNMPによって監視を行う場合、独自の拡張MIBを作り登録する必要があります。

7.1 企業拡張番号の決定

 標準MIBのenterprises以降に追加する形になるため、ユニークなOIおよびOIDを使用する必要があります。

 IANAのWebページから申請し、番号を取得します。無料で、申請後30日間(早い時で10日くらい)で番号を得られます。

 今回はローカルな環境で利用するだけなので実際に申請しないで、重ならない番号を使用します。適当な番号(12345)を使用しました。

7.2 MIBファイル作成

 決定した企業拡張番号と管理・監視したい項目をMIBファイルにまとめていきます。

 このMIBファイル、ASN.1 BER という言語で書きます。

 ASN.1 BER(Abstruct Syntax Notation One Basic Encoding Rules)は通信プロトコルを規定するために使用されるデータの構造を定義する言語のひとつです。実際にはPascalに似た、BNF(Backus-Naur Form)記法によって記述します。

 しかし ASN.1 を勉強してからMIBファイルを作るより、net-snmpのサイトで参照するとか、各ベンダが提供しているMIBファイルを参考にして作った方が効率が良いです。それほど難しくなく感覚的に理解でき、時間をかけずに習得できるので、この方法を薦めます。

 今回は下記のテスト用拡張MIBファイル(MATSU-TEST-MIB.mib)を作成しました。オブジェクト識別子は今回「matsutest」としています。enterprises直下に拡張します。

 オブジェクト識別子には命名規約があり、長さ64文字以下、英数字とハイフンのみです。同一MIBファイル内で同一オブジェクト識別子を使用するとエラーになります。これも標準MIBで使われてるオブジェクト識別子と同一にならないよう、プレフィクスなどを付加して避けた方が無難です。

 今回はオブジェクトを6つ配し、インスタンスを4つ、Trap配信用を2つ作りました。4つのインスタンスのうち、2つを snmpset によって変更できるようにしてます。

 各インスタンスの動作は下記の通りです。

  • matsutest1
    pid(プロセス)値,timer値,自身が呼ばれた回数などを文字列にして返す、get-request のみ
  • matsutest2
    自身が呼ばれた回数を数値で返す、get-request のみ
  • mtuTrap
    Trapを飛ばすための区分、セットされた値によってTrapを発行、get-request/set-request対応
  • mtuTimer
    Timer開始区分、30秒後にTrapを発行、get-request/set-request対応

 実際のMIBファイルの内容は、MATSU-TEST-MIB.txt をダウンロードして参照ください。以下、簡単に構成を説明します。

会員登録無料すると、続きをお読みいただけます

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

次のページ
MIBファイル構成

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
net-snmpについて連載記事一覧

もっと読む

この記事の著者

赤松 エイト(エイト)

(株)DTSに勤てます。WebアプリやJavaやLL等の上位アプリ環境を密かに憧れつつも、ず~っとLinuxとかHP-UXばかり、ここ数年はカーネル以上アプリ未満のあたりを行ったり来たりしています。mixiもやってまして、こちらは子育てとか日々の日記メインです。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/2938 2008/09/22 14:00
" ); }

おすすめ

アクセスランキング

  1. 1
    paiza、2027年卒ITエンジニア志望学生のインターンシップ人気企業ランキングを発表
  2. 2
    データサイエンス基礎を高校数学から復習しよう! D3.jsでデータを表現する
  3. 3
    世界6000万ユーザーの「TimeTree」、サービスの未来を見据えて挑んだデータベース移行の舞台裏
  4. 4
    ストックマーク、1000億パラメータの日本語特化型LLM「Stockmark-2-100B-Instruct-beta」を公開 NEW
  5. 5
    macOS上のアプリケーションからChatGPTが呼び出せるように。各種IDEやターミナル、メモなどが対応
  1. 6
    さくらインターネット、パブリッククラウド「さくらのクラウド」に13の新機能を追加 NEW
  2. 7
    エンジニアが受けた「理不尽なクレーム」とは? バルテスが「理不尽なクレーム事例&対処法」を調査
  3. 8
    SaaS開発/運用支援プラットフォーム「SaaSus Platform」、わずか60分でAPI実装ができる新機能を追加 NEW
  4. 9
    企業の45%が生成AIを利用し、日常業務では80%超がその成果を実感していることが明らかに
  5. 10
    GitLab、SAML SSO認証に関わる重大な脆弱性を修正 NEW

アクセスランキング

  1. 1
    paiza、2027年卒ITエンジニア志望学生のインターンシップ人気企業ランキングを発表
  2. 2
    データサイエンス基礎を高校数学から復習しよう! D3.jsでデータを表現する
  3. 3
    世界6000万ユーザーの「TimeTree」、サービスの未来を見据えて挑んだデータベース移行の舞台裏
  4. 4
    ストックマーク、1000億パラメータの日本語特化型LLM「Stockmark-2-100B-Instruct-beta」を公開 NEW
  5. 5
    macOS上のアプリケーションからChatGPTが呼び出せるように。各種IDEやターミナル、メモなどが対応
  6. 6
    さくらインターネット、パブリッククラウド「さくらのクラウド」に13の新機能を追加 NEW
  7. 7
    エンジニアが受けた「理不尽なクレーム」とは? バルテスが「理不尽なクレーム事例&対処法」を調査
  8. 8
    SaaS開発/運用支援プラットフォーム「SaaSus Platform」、わずか60分でAPI実装ができる新機能を追加 NEW
  9. 9
    企業の45%が生成AIを利用し、日常業務では80%超がその成果を実感していることが明らかに
  10. 10
    GitLab、SAML SSO認証に関わる重大な脆弱性を修正 NEW
  1. 1
    「オブザーバー・パターン」 ~マンガでプログラミング用語解説
  2. 2
    マイクロソフト、VSCodeの新機能「Copilot Next Edit Suggestions」のプレビュー版公開
  3. 3
    世界6000万ユーザーの「TimeTree」、サービスの未来を見据えて挑んだデータベース移行の舞台裏
  4. 4
    C# 13の新機能を理解する――暗黙的なインデックスアクセスとallows ref struct
  5. 5
    3/5まで書籍全文が無料公開 『Pythonで動かして学ぶ!Kaggleデータ分析入門』
  6. 6
    データサイエンス基礎を高校数学から復習しよう! D3.jsでデータを表現する
  7. 7
    macOS上のアプリケーションからChatGPTが呼び出せるように。各種IDEやターミナル、メモなどが対応
  8. 8
    ITエンジニア本大賞2025のプレゼン大会をレポート、最終決戦に臨んだ本に込められた想いとは
  9. 9
    Linuxディストリビューション「EndeavourOS Mercury」が一般提供開始
  10. 10
    ITエンジニア本大賞2025、技術書部門とビジネス書部門の大賞が決定!

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

メールバックナンバー

アクセスランキング

  1. 1
    paiza、2027年卒ITエンジニア志望学生のインターンシップ人気企業ランキングを発表
  2. 2
    データサイエンス基礎を高校数学から復習しよう! D3.jsでデータを表現する
  3. 3
    世界6000万ユーザーの「TimeTree」、サービスの未来を見据えて挑んだデータベース移行の舞台裏
  4. 4
    ストックマーク、1000億パラメータの日本語特化型LLM「Stockmark-2-100B-Instruct-beta」を公開 NEW
  5. 5
    macOS上のアプリケーションからChatGPTが呼び出せるように。各種IDEやターミナル、メモなどが対応
  1. 6
    さくらインターネット、パブリッククラウド「さくらのクラウド」に13の新機能を追加 NEW
  2. 7
    エンジニアが受けた「理不尽なクレーム」とは? バルテスが「理不尽なクレーム事例&対処法」を調査
  3. 8
    SaaS開発/運用支援プラットフォーム「SaaSus Platform」、わずか60分でAPI実装ができる新機能を追加 NEW
  4. 9
    企業の45%が生成AIを利用し、日常業務では80%超がその成果を実感していることが明らかに
  5. 10
    GitLab、SAML SSO認証に関わる重大な脆弱性を修正 NEW

アクセスランキング

  1. 1
    paiza、2027年卒ITエンジニア志望学生のインターンシップ人気企業ランキングを発表
  2. 2
    データサイエンス基礎を高校数学から復習しよう! D3.jsでデータを表現する
  3. 3
    世界6000万ユーザーの「TimeTree」、サービスの未来を見据えて挑んだデータベース移行の舞台裏
  4. 4
    ストックマーク、1000億パラメータの日本語特化型LLM「Stockmark-2-100B-Instruct-beta」を公開 NEW
  5. 5
    macOS上のアプリケーションからChatGPTが呼び出せるように。各種IDEやターミナル、メモなどが対応
  6. 6
    さくらインターネット、パブリッククラウド「さくらのクラウド」に13の新機能を追加 NEW
  7. 7
    エンジニアが受けた「理不尽なクレーム」とは? バルテスが「理不尽なクレーム事例&対処法」を調査
  8. 8
    SaaS開発/運用支援プラットフォーム「SaaSus Platform」、わずか60分でAPI実装ができる新機能を追加 NEW
  9. 9
    企業の45%が生成AIを利用し、日常業務では80%超がその成果を実感していることが明らかに
  10. 10
    GitLab、SAML SSO認証に関わる重大な脆弱性を修正 NEW
  1. 1
    「オブザーバー・パターン」 ~マンガでプログラミング用語解説
  2. 2
    マイクロソフト、VSCodeの新機能「Copilot Next Edit Suggestions」のプレビュー版公開
  3. 3
    世界6000万ユーザーの「TimeTree」、サービスの未来を見据えて挑んだデータベース移行の舞台裏
  4. 4
    C# 13の新機能を理解する――暗黙的なインデックスアクセスとallows ref struct
  5. 5
    3/5まで書籍全文が無料公開 『Pythonで動かして学ぶ!Kaggleデータ分析入門』
  6. 6
    データサイエンス基礎を高校数学から復習しよう! D3.jsでデータを表現する
  7. 7
    macOS上のアプリケーションからChatGPTが呼び出せるように。各種IDEやターミナル、メモなどが対応
  8. 8
    ITエンジニア本大賞2025のプレゼン大会をレポート、最終決戦に臨んだ本に込められた想いとは
  9. 9
    Linuxディストリビューション「EndeavourOS Mercury」が一般提供開始
  10. 10
    ITエンジニア本大賞2025、技術書部門とビジネス書部門の大賞が決定!