LoginSignup
5
8

More than 5 years have passed since last update.

zabbixでVyOSをSNMP監視する

Last updated at Posted at 2017-08-19

運用するVyOSのトラフィック量、CPU使用率、メモリ使用率、インタフェースのアップダウン状態等を監視するためにzabbixサーバの構築とVyOSのSNMP設定について記述していきます。
SNMPはMIBなどの知識があると監視の幅を広げられますが、今回はその点には触れずにあくまでSNMP監視ができる環境の構築ということで記事を書いていきます。

構築環境

  • zabbix 3.2
  • VyOS 1.1.7
  • ubuntu 16.04

zabbixサーバの構築

今回はUbuntu16.04にzabbixサーバを構築していきます。
zabbixはパッケージがOSSで提供されているので、それを使って構築を行います。
またDBとしてPostgreSQLとMySQLが選べますが、今回はMySQLを利用します。

パッケージのインストール

zabbix.comからパッケージをダウンロード

$ wget http://repo.zabbix.com/zabbix/3.2/ubuntu/pool/main/z/zabbix-release/zabbix-release_3.2-1+xenial_all.deb

ダウンロードしたパッケージをUbuntu上にインストール

$ dpkg -i zabbix-release_3.2-1+<codename>_all.deb
$ apt-get update

DB(MySQL)まわりの設定

必要なパッケージのインストール

$ sudo apt-get install zabbix-server-mysql zabbix-frontend-php

zabbixで利用するDBの登録

$ mysql -uroot -p[パスワード]
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by '[zabbixで利用するDBのユーザパスワード]';
mysql> quit;

zabbixでDBを利用するための初期データを作成したDBに入れていく。

$ zcat /usr/share/doc/zabbix-server-mysql/create.sql.gz | mysql -u zabbix -p zabbix

[パスワード(zabbixで利用するDBのユーザパスワード)]を入力

zabbixのconfファイルを編集して、zabbixサーバとDBを対応付ける。
また、TimeZoneをAsia/Tokyoに変更する。

$sudo vi /etc/zabbix/zabbix_server.conf
--省略--
(以下のように該当部分を編集)
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
$vi /etc/apache2/conf-enabled/zabbix.conf
--省略--
(以下のように該当部分を編集)
php_value date.timezone Asia/Tokyo

編集後、zabbix起動及びapache2の再起動をします。

$ service zabbix-server start
$ sudo systemctl enable zabbix-server.service
$ service apache2 restart

zabbixフロントエンドにアクセス

Webブラウザを立ち上げて、http://<ipアドレス|FQDN>/zabbixにアクセスします。
※ IPアドレスはlocalhostやプライベートIPになると思います

2016-12-09_14h43_42.png

こんな画面になるので、右下のNext stepをクリックします。

次にPHP環境のバージョンチェックになります。
私は、ここで以下のエラーが出ました。

PHP bcmath extension missing (PHP configuration parameter --enable-bcmath).
PHP mbstring extension missing (PHP configuration parameter --enable-mbstring).
PHP xmlwriter extension missing.
PHP xmlreader extension missing.

その場合、以下のコマンドを行ってPHP環境を再設定して上げてください。

$ sudo apt-get install php-bcmath
$ sudo apt-get install php-mbstring
$ sudo apt-get install php-xml
$ service zabbix-server restart
$ service apache2 restart

スクリーンショット 2017-08-17 17.01.15.png

このようにエラーがなくなればOKです。

次に行くと、DBの設定になるので前項で設定した内容に基づきDB情報を入力します。

2016-12-09_14h46_23.png

続いて、zabbixサーバの設定となるので任意の管理しやすい名前などをつけます。

2016-12-09_14h46_58.png

これでセットアップは完了です。

2016-12-09_14h47_13.png

2016-12-09_14h47_25.png

zabbixにログインする

zabbixの初期設定では
Username:Admin
Password:zabbix
となっているのでこれを入力してzabbixにログインしましょう。

スクリーンショット 2017-08-20 3.17.00.png

以下がログイン後の管理画面です。

2016-12-09_14h48_01-1024x441.png

SNMP監視環境の構築

ここではzabbixサーバ側とVyOS側のSNMPに関する設定について説明します。

Zabbixサーバ側

SNMP監視で必要になるパッケージのインストール

$ sudo apt-get install snmp snmpd snmp-mibs-downloader

ZabbixのWebフロントにアクセスして
[設定]→[ホスト]→[ホストの作成]をクリック

プレゼンテーション3.jpg

自身の環境に従って、VyOSのzabbixサーバから到達性のあるIPアドレスとSNMPインタフェース用のポートの指定をします。また、ホスト名,グループの作成(強制)も行います。

スクリーンショット 2017-08-20 3.52.22.png

次に、バーの[テンプレート]をクリックして、SNMPで監視する情報のテンプレートを選択します。VyOSはLinuxベースなので、[選択]からTemplate SNMP OS Linuxを選び[追加]していきます。

スクリーンショット 2017-08-20 3.39.54.png

追加が完了後、[追加]ボタンをクリックすればホストの登録が完了です。

スクリーンショット 2017-08-20 3.40.08.png

最後にSNMPコミュニティ(zabbixとVyOS間の認証みたいなもの)を
[設定]→[ホスト]→[vyos]→[マクロ]の順にクリックして設定していきます。
コミュニティ名は任意の名前で設定してください。

スクリーンショット 2017-08-20 3.52.56.png

zabbix側の設定は以上です。

VyOS側

VyOSでは、SNMPインターフェースの指定やzabbixのアドレスなどを設定します。

# 設定モードに入る
configure

# SNMPコミュニティの名前とzabbixからの権限(今回はread-only)を設定
set service snmp community hogehoge(SNMPコミュニティ名) authorization ro

# SNMPインターフェースの設定(待ち受けIPアドレスとポート番号)
set service snmp listen-address 192.168.1.1 port 161

# zabbixサーバの指定
set service snmp trap-target 192.168.1.10

# 変更のコミットおよび設定保存
commit
save

(おまけ)zabbix-server自身の監視

zabbixでは、zabbix自身の監視をすることも当然ながらできる。
それは、通常のserver同様にzabbix-agentをインストールすることである。

zabbix-agentをインストルーする。

$ sudo apt-get install zabbix-agent

confファイルを編集する。(デフォルトのままで可)

$ sudo vim /etc/zabbix/zabbix_agentd.conf

Server=127.0.0.1
ServerActive=127.0.0.1

(その他、デフォルトのままでOK)

zabbix-agentを起動する。

$ sudo systemctl enable zabbix-agent.service
$ sudo systemctl start zabbix-agent.service

webフロントで確認する。実は、zabbix-serverの監視の設定はデフォルトで入っている。

スクリーンショット 2017-08-23 16.03.24.png

スクリーンショット 2017-08-23 16.03.37.png

これで、zabbix-server自身の監視情報(CPU,メモリ,インターフェースなど)が見れるようになります。

おわり

以上までSNMPの設定でした。数分するとVyOSからSNMPの情報が送られて、その情報がzabbixで確認できるようになります。正しくできてる場合は、[設定]→[ホスト]にて作成したホストのエージェントの状態が以下のように緑色になります。
スクリーンショット 2017-08-20 4.03.26.png

zabbixの監視テクニックなどは、本記事では触れないので他のサイトを参照してください。

5
8
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
5
8