ZabbixでSNMPでhogehogege

#初めに
SNMPで拾ってきたデータをZabbixで表示する事についての備忘録です。
ちょっとでも知ってる人が見たら弱すぎｲｯ!!ってなると思うのですがこの記事を過去の僕が見つけたら**神!!**となるものを目指します。
「もう既にZabbixの設定方法とか知ってるわ」や「SNMPが何もわからないのは小学生までだよねーwww」な人はブラウザバックでよろしくお願いします。そんな高度なことは本当に書かれていません。
ちなみに僕はWindows10を使用しています。


#概要
Zabbixのグラフ周りの設定方法とSNMPコマンド使用してmibやらOIDを調べる方法を記載していきたい気持ちです。
Zabbix導入とかはもっと詳しい所あるのでそっちをオナシャス！
やZa糞

#Zabbix設定
要するに監視するもののIPアドレスやらでホストを設定して監視するアイテムをテンプレートに設定してホストと紐づける
構成的には[ホスト＝＞テンプレート＝＞アイテム]といった感じですね
アイテムとはZabbixにおける最小単位と考えてもらってOKです。
アイテムを複数まとめたものをテンプレートとして設定します。
例:スイッチ関係のアイテムを詰めたSwitchTempやルータ関連を詰めたRouterTemp等

ホストにはテンプレートを紐づけるので結果的に●●のホストにはテンプレートに書いてあるアイテムを集める。となるわけです。たぶん…

##ホスト作成
設定→ホストから右上のホスト作成をクリック
各欄について軽く説明いたす。

***ホスト名***
>
他と被らない一意の名前を付けてあげましょう。

***表示名***
>
読んで字の如く、表示される名前です。

***グループ***
>
元から用意されているテンプレート等と紐づける際ここで既に設定しておくと楽です。たぶん。___最悪ここで設定せず適当な名前で新規に作っても可。___

***エージェントのインターフェース***
>
┐(´ｰ｀)┌ﾜｶﾝﾈ

***SNMPインターフェース***
>
IPアドレスで指定してもいいですし名前がついているならDNSでも大丈夫です。ポート番号には161を設定しましょう。

***それより下の諸々↓↓↓***ﾕﾙｼﾃｰ┌|∵|┘ﾜｶﾝﾅｲﾉｰ***↓↓↓↓***

##テンプレート作成
設定→テンプレートから右上のテンプレート作成をクリック
またまた各欄について説明
***グループまで***
>
ホストの説明と同じです。

***ホスト/テンプレート***
>
右欄のグループを選択、グループに所属しているホスト一覧がでるのでテンプレートと紐づけたいホストを選択し`◀`を押すと紐づけられます。

###説明
テンプレートとは後述のアイテムを纏める為の箱のような物。それをホストと紐づけることでホストで見たいデータはこの箱の中に入ってるよ!!って教える役目を果たしてくれます。
また、テンプレートの名前の通り既に主だったものは揃っているので案外なんとかなるかもしれませんね。
やZa有能!!(熱い手のひら返し)

##アイテム作成
作成したテンプレートを一覧表示してみるとこうなるはずです。
<img src="https://i.gyazo.com/cee32138e82f4c0385aafe3908c2a825.png">

ここのアイテムをクリック致しますと
<img src="https://i.gyazo.com/0f90cda6a3c066f94e34cac2156434aa.png">
ここで見切れているアイテムの作成からアイテムを作成していきます。

***名前***
>
そのまんま名前でございます。

***タイプ***
>
今回はSNMPv2で拾ってきたものを使うのでSNMPv2エージェントを選択します。バージョン等は自分の環境に合うものを使ってください。SNMPトラップ？知らない子ですね。

***キー***
>
なんか一意の何かを設定します。なんなんだろうね？

***SNMP OID***
>
拾いたいOIDを入力したって下さいちなみに入力する際は先頭に`.`をつけることを忘れないようにしましょう。おまじないっていったらそれまでなんですが…カレントディレクトリを示す`.`みたいな扱いと考えて頂ければ良いかと

***SNMPコミュニティ***
>
初期値publicです。その件は後述のSNMPのあたりに書いてあります。

***ポート***
>
何も書かなくても拾えてますので良く調べてないです。僕は書いてないです。(ポートってことは番号指定するだけだと思います…)

***データ型***
>
持ってくるデータの型に対応したものを選んでください、数値なりログなりテキストなり。

***単位***
>
なくても動きます。がトラフィック量等でbpsとか指定したいなら指定すると勝手に計算してくれたり強いです。

***更新間隔***
>
読んで字の如くSNMPというのはx秒毎に値を記録し、その値をこちらに投げてくれるだけなので更新間隔を以上に早くしたところで値を記録していない為なにもデータが取れないとかザラなので気を付けてください。更新間隔を伸ばせばシュ●ゲ風に言うと値が収束するのでオススメです。記入例は30sなら30秒です。試してないけどmなら分になるのかしら？

***保存期間諸々***
>
適当に、ログを残せば残すほど容量は食うのでご利用は計画的に。

***以下***
>
特に設定しなくても動くので設定しない方向で。そこを気にするような人はこんなクソザコナメクジな記事見ないと思うのでスルーで。

##グラフ作成
設定→ホスト　先ほど作成したホストの名前をクリックしホストの編集をしていきます。
すべてのホストの右側にあるグラフをクリックします。
<img src="https://i.gyazo.com/a5139036d9c0f408d4d87cd6898fc6bd.png">
右上のグラフを作成をクリック
***名前***
>
グラフの名前です。スキナ ナマエ ヲ ツケタマエ

***幅・高さ***
>
好きなように数値を入れてあげてください。最初はデフォルト値でいいと思います。

***Y軸の最小値･最大値***
>
計算だといい感じにグラフ全体を使ってくれます。固定を選ぶと値の上と下を好きな値に設定することができます。
アイテムはちょっと何言ってるかわからないです。

***アイテム***
>
ここが一番重要な所ですここで先ほど設定したアイテムを設定するとそいつがグラフに表示されるようになります。
ここで設定しない限りグラフに出てくることはないので忘れず設定してください。

##スクリーン作成
スクリーンとはグラフを纏めて一画面に表示することができる素敵画面です。
監視データ→スクリーンから右上のスクリーンの作成で作成できます。
***所有者***
>
適当に、所有していないとスクリーンが見れないので自分は含めておきましょう。
***名前***
>
自明

***列･行***
>
列は横、行は縦です。ここで設定した数だけグラフを一気に表示することができます。

作成したら一覧表示に戻ると思うのでそこからプロパティの隣にある変更を押しますともう好きなとこにグラフを配置できます。
何も入ってない所に変更を押すと好きなグラフを選び埋め込みます。(もう書くのつかれた)

#SNMPコマンドを使いこなす
なんで使いこなさなきゃいけないか？mibやらOIDがわからないとアイテムが作成できない＝詰み
んで諸々は共通の企画だったりもするけどベンダー独自のIDが振られてたり、そもそも調べるのがめんどくさかったり
別にガチプロになりたいんじゃないんだ、ただグラフを作らなきゃいけないんだIDを知りたいだけなんだ。となった時にどうぞ


##インスコ
もっと詳しく教えてくれるサイトが糞ほど転がってるのでそちらをどうぞ
検索ワードは「SNMP インストール "任意のOS"」とかでどうせ出てきます、たぶん
パス通したり必要なんだけどダウンロードしたディレクトリまで移動しちゃえば通さなくても使えるしそれでいいんじゃね？
##実際に使用
という事でWin+Rでcmd
`cd hogehoge`っと
目的のディレクトリに移動しましたら実際に叩いていきましょう
`snmpwalk -v 2c -c public hogehogeIPaddres`

###ざっくり解説
`snmpwalk`ってのがsnmpに関する全てを寄越せという命令です(たぶん)
他にも`snmpget`とかあるんだけどこちらはOID等で持ってくるデータを指定しなければならないのでmib,　OIDを知りたい状況では使えない代物です。
`-v`オプションがsnmpのどのバージョンで持ってくるかっていう指定です。そこらへんは良くわからないですけど今の所2c以外見てないのでそれ以外の奇特な人は色々試してみて下さい。頑張ってね。
`-c`がコミュニティと呼ばれる奴で初期値はpublicになってるはずです。他に設定してある場合ここが一致しない限りデータ持ってこれないので気合でなんとか探しあげてください。
`hogehogeIPaddress`は読んで字の如く持ってきたいデバイスのIPアドレスを書いてあげれば終わりです。

##探すのだるくね？
ということでコンソールに表示された文字を読むのめんどくさくないですか？
コマンドの最後に` > hoge.txt`みたいな感じでテキストファイル等に出力結果を移しまして`Ctrl+F`でサクサクっと探してしまいましょう。

インターフェースの名前が知りたければifName、トラフィック等を知りたければinOctet,outOctetとかで詳しい所はググって対処していきましょう。

##snmptrancelate
mibはわかったけどOIDがわからん…逆にOIDはわかったけどmibが…みたいな人はtrancelateを使って変換してしまいましょう。
`snmptrancelate hogehogeOID`でOID→mibへ
`snmptrancelate -On hogehogemib`でmib→OIDに直すことができます。

##これだけで使いこなせたのか…？
使いこなせるわけがありません、が今回はどうせZabbixに登録するための部分を知りたいだけなのでもう十分ですよ。
もしもっとSNMPについて知りたいのであれば今すぐブラウザバックで。

#まとめ
ホストグループとかディスカバリとか色々とありますが要はアイテムで指定し、それを最終的にホストと紐づける。そのあとでグラフをわざわざ設定してあげればいいのですよ。
一番きついのは狭い画面で画面ポチポチしなきゃいけなかった所ですかね。やはりマルチディスプレイは人権だなって思います。

Zabbix君はちゃんと設定してあげればめちゃくちゃ働いてくれるらしいのでこの記事が1ヶ月前の自分に届くことを願って公開します。見づらくてめんぼくねめんぼくね!!