isLandcenter 非番中

ブログトップ | ログイン

Zabbix4を使ってみて、一番不満だったではのは、グラフの機能が貧弱になってしまった事です。

まぁ、sensors と同じ結果を時系列の線グラフ表示できる事がわかってしまったので、これはいいわ、となりました。

じゃぁ、Zabbix4 でディスクの容量管理が、なぜ Zabbix3 でできてしまって、Zabbix4 ではできないのか? 調べてみると Template SNMP Disks というテンプレートが Zabbix4 にはないことを見つけてしまったンですね。

無いなら作るか? いや面倒くさい。だったらモノグサ人間としては Zabbix3 のテンプレートそのまま使えばいいじゃん、という事にしました。





- Zabbix3 アプライアンスからテンプレートを抜き出して Zabbix4 でインポートする -

幸いの事に、ウチの零細テスト環境では Zabbix3.2 ソフトウェアアプライアンスと openSUSE Leap 15.1 の Zabbix4.2.4 が平行して稼働しているので、問題ないのですが、Zabbix3 の環境がなければ次の記事を参考に、どこか手軽な環境、Windows10 の HV だとか、KVM や Live USB などで一時的に動かすのがいいでしょう。

Zabbix3.2 のソフトウェアアプライアンスUbuntu 版をSUSE 仮想環境で試してみた。

Download and install Zabbix

Zabbix3のコンソールにログインして、 Configuration > Template を開き Template SNMP Disks をチェックして、Export ボタンを押して、SNMP-Disks-zbx_export_templates.xml の様な感じで保存します。

a0056607_07102830.png

今度は Zabbix4 のコンソールを開き、Configuration > Template スクリーンから先ほどのテンプレートを Import します。

a0056607_07111645.png

後は、Configuration > Hosts で Host を選択 > Template で先ほどインポートした SNMP Disks テンプレートを、 Select でチェック > "Add" > "Update" します。

a0056607_07115364.png

Host > Applications に Template SNMP Disks: Disk partitions が追加され、item に Storage Discovery: /xxxx という項目がゾロゾロと増えたら、データの収集を始めます。Graphs の横の数字に注意します。

凡そ一時間程で、Disk のパーティション毎の使用容量、残量の Pie Chart が出るようになりました。

これでアチコチでコンソールを開いて df -h コマンドを叩きまくる必要がなくなりました。やれやれです。


a0056607_07134434.png


出来れば、ディスク I/O の折れ線グラフ化なども出来ればいいと思うのですが、モノグサ人間には、ここまでが限界ですかね。どこかにいいテンプレート落ちていないか探索中です。





by islandcenter | 2019-07-24 07:22 | SUSE | Comments(0)

夏の暑い時期になると、急にファンが

「ぐゎーっ」

ってなったりすると、やっぱり温度監視ってこの季節重要だわ、と思います。





- SUSE の sensors パッケージ -

openSUSE/SLE には、sensors パッケージは、YaST > Software Management からインストールできます。

YaSTにリストされない場合、openSUSE のソフトウェアページからブラウザからコマンドなしの1クリックインストールできます。

sensors

sensors-detect を使って定義した後、sensors で確認できます。

a0056607_11522836.png
実際の sensor の使い方は、ここでは述べません。多くの事例が見つかるでしょう。コンピューターの冷却は「風通しが大切」です。



- 問題は筐体温度のグラフ化だ -

いくらコンソールを開いて、"sensors" を叩いてみても、そこにあるのは数字だけ。株価と一緒で上がっているのか下がっているのか、トレンドが見えないと意味がありません。

How to setup zabbix4.2 on openSUSE Leap 15.1 セットアップ


そこで Zabbix の機能で、sensors の筐体温度の遷移値がグラフ化できないかと、探したら、そのものずばりの回答がありました。とても参考になりました。


Zabbixによる温度監視(zabbix-agent版)

DaisukeMiyamoto/CPU_Temperature.xml

これは Zabbix のテンプレートなので、テンプレートに追加して、Host のモニタリングのテンプレートに追加するだけで簡単に動いてしまいました。

a0056607_06352983.png


見事に深夜から未明は温度が下がっているんだ、という事が分ります。素晴らしい!

a0056607_11570674.png

ただ、sensors で見ると6コアなんですが、グラフは4コアしかない。これはテンプレートを見ればわかる通り、4コアしか定義していないからでしょう。最近は恐ろしいほどのコア数のマルチコアCPUもあるので、持っていないけど、機会があればテンプレートを書き換えて試してみたいです。

それにしても、Zabbix や Sensors で示しているのは40℃台なのに、Windows ノートは常時80℃前後。これってどういう違いがあるのでしょうね。


Zabbix4.2.4 でディスクの空き容量をグラフ化してみた

夏の暑さで Windows ノートPCが夏バテでいきなりリブート、再起動する対策



islandcenter.jp





by islandcenter | 2019-07-22 12:03 | SUSE | Comments(0)

ここでは openSUSE Leap 15.1 にインストールした、Zabbix4.2 を使って一般的な SNMP 対応デバイスのトラフィックなどを監視し、グラフ表示させるところまでを説明します。

まぁできれば、アラートを検出してメールを流すとか、したいところなのですがグラフを出すところまでで許してください。

- Target の snmp は有効か -

まず、ターゲット側が、snmp が有効になっている必要があります。このあたりは、装置のマニュアルをご参考下さい。

サンプルとして、適当なデバイスがなかったので Linux のサーバーを使っています。コミュニティ・ストリングは public です。勿論、snmp のパスワードに相当するので適宜置き換えてください。

SUSE Linix の場合 net-snmp パッケージが必要になります。YaSTからインストールして /etc/snmp/snmpd.conf を次の様に書き換え、snmpd をリスタートさせます。

target:/etc/snmp # cat snmpd.conf | grep public
# rocommunity public 127.0.0.1 <---- comment ouut
rocommunity public 192.168.1.0/24
target:/etc/snmp #
target:/etc/snmp # rcsnmpd restart


次に zabbix 側から、snmp の参照ができる事をsnmpwak で確認します。

zabbix4:~ # snmpwalk -v 2c -c public target.i.islandcenter.jp .1.3.6.1.2.1.1
SNMPv2-MIB::sysDescr.0 = STRING: Linux TS-110 4.2.6
SNMPv2-MIB::sysORID.1 = OID: SNMP-MPD-MIB::snmpMPDMIBObjects.3.1.1
SNMPv2-MIB::sysORID.2 = OID: SNMP-USER-BASED-SM-MIB::usmMIBCompliance
SNMPv2-MIB::sysORID.3 = OID: SNMP-FRAMEWORK-MIB::snmpFrameworkMIBCompliance
SNMPv2-MIB::sysORID.4 = OID: SNMPv2-MIB::snmpMIB
SNMPv2-MIB::sysORID.5 = OID: TCP-MIB::tcpMIB
SNMPv2-MIB::sysORID.6 = OID: IP-MIB::ip
SNMPv2-MIB::sysORID.7 = OID: UDP-MIB::udpMIB
SNMPv2-MIB::sysORID.8 = OID: SNMP-VIEW-BASED-ACM-MIB::vacmBasicGroup
SNMPv2-MIB::sysORDescr.1 = STRING: The MIB for Message Processing and Dispatching.
SNMPv2-MIB::sysORDescr.2 = STRING: The MIB for Message Processing and Dispatching.
SNMPv2-MIB::sysORDescr.3 = STRING: The SNMP Management Architecture MIB.
SNMPv2-MIB::sysORDescr.4 = STRING: The MIB module for SNMPv2 entities
SNMPv2-MIB::sysORDescr.5 = STRING: The MIB module for managing TCP implementations
SNMPv2-MIB::sysORDescr.6 = STRING: The MIB module for managing IP and ICMP implementations
SNMPv2-MIB::sysORDescr.7 = STRING: The MIB module for managing UDP implementations
SNMPv2-MIB::sysORDescr.8 = STRING: View-based Access Control Model for SNMP.
SNMPv2-MIB::sysORUpTime.1 = Timeticks: (1103) 0:00:11.03
SNMPv2-MIB::sysORUpTime.2 = Timeticks: (1103) 0:00:11.03
SNMPv2-MIB::sysORUpTime.3 = Timeticks: (1103) 0:00:11.03
SNMPv2-MIB::sysORUpTime.4 = Timeticks: (1104) 0:00:11.04
SNMPv2-MIB::sysORUpTime.5 = Timeticks: (1109) 0:00:11.09
SNMPv2-MIB::sysORUpTime.6 = Timeticks: (1109) 0:00:11.09
SNMPv2-MIB::sysORUpTime.7 = Timeticks: (1109) 0:00:11.09
SNMPv2-MIB::sysORUpTime.8 = Timeticks: (1110) 0:00:11.10
zabbix4:~ #

PR

- Zabbix 側から監視ターゲットホストの作成 -

全体の流れは動画にしました。(音出ます)




Configuration > Hosts > Create Host

a0056607_10410627.png



Add ボタン

Host name: 任意の識別名
Group > Select > 必須項目なのでどこかのグループをセット 、グループは新たなグループを作れます。後で変更できます。
Agent interface > Zabbix Agent を使う場合は、一応アドレスと DNS 名をセット。DNSに登録されているなら"DNS" ボタンを押しておく、zabbix agent を使えないデバイスの場合は空欄でも構いません。
SNMP interface > "Add"リンクで入力ボックスを開き > アドレスと DNS 名をセット。DNSに登録されているなら"DNS" ボタンを押しておく、ポートは 161


a0056607_10414442.png




次に Template の設定。 "Template" を選び、Select から、一番使えそうなテンプレートを選び "Add" リンク、

最後に左下の"Update"ボタンで登録

a0056607_10421177.png




これで一応監視対象 SNMP デバイスの登録は終わり。
ただし、まだデータの収集を始めていないので "SNMP" のステータスはグレーです。

a0056607_10423975.png



試しに、登録したばかりの Host を開いてみると、"SNMP" のステータスはグリーンに変わっていました。大体5分程度で認識するようです。
ただし、 Graphs の横には何もありません。まだグラフを描画できるほどの情報がないのですね。


a0056607_10431141.png



”HOST” リストでも、”SNMP” がグリーンになっています。


a0056607_10463003.png




30分から一時間ほどで描画できるデータが集まったようです。graphsの横に、グラフ描画できるアイテム数が出ています。

a0056607_10471145.png



"Monitoring" > Graphs > "HOST" をトグルして > "Graph" の種類を選ぶと、グラフが描画されました。


a0056607_10475074.png


a0056607_10482092.png

PR




- インプレッション -

グラフが見やすくなりました。今日一日の状態や過去数時間、今週、先週と言った単位で、グラフが表示できるのはいいものです。また、監視のためのテンプレートが豊富になったので、サービス単位で監視ができるというところもいいですね。テンプレートを作ってくださったコミュニティの皆様には感謝です。

残念な所は、今までの 3.2 では、ディスクの空き容量が、パイチャートで見る事ができたのですが、この機能がなくなったこと。これは、私のやり方が悪かったのか、何かカスタマイズでできるのか、あるいは理由があって削除されたのか、分かりません。

Zabbix については情報は多いのですが、新旧混在で、古い情報で良い情報を見つけても、画面のデザインが違ったり、古い情報を基にカスタマイズすると、なぜか怒られたり、ということがあまりにも多すぎます。プロジェクトの疾走感は強く感じますが、最新の情報がまとまっていないのが難点ですね。










by islandcenter | 2019-07-18 10:53 | プライベートクラウド | Comments(0)

How to set up zabbix 4.2 on opemSUSE Leap 15.1 ?

Zabbix 4.2 を openSUSE Leap 15.1 にインストールする手順です。

以前の zabbix 2.2 Appliance は openSUSE ベースだったので、好きにカスタマイズできたのですが、zabbix3 より ubuntu になってしまいました。ディストリビューションが混在すると、頭がパーマ状態になるので、SUSE にセットアップしてみようの回です。

zabbix4 は SUSE(SLES15) のリポジトリが使えるので、openSUSE Leap 15.1 にインストールしてみました。

基本的な手順は、こちらを手本としていますが、幾つかディストリビューション固有の問題や、日本語の問題があるので、この記事を書きました。

Download and install Zabbix

PR




- Install and prepare -

openSUSE Leap インストールと準備

- openSUSE 15.1 + Web LAMP + gnome Desktop
- Wicked Network + Static IP + DNS name space
- setup NTP

openSUSE Leap 15.1 Web LAMP install


Decide 事前に二つのパスワードを決めておきます。

password for mysql: mysqlpwd
password for zabdb: zdbpassword


openSUSE Leap 15.1 は WEB Lamp をインストールし、Static IPNTP の設定をしました。

a0056607_11595171.png






--- repositories ---

zabbix のリポジトリをインストールします。

# rpm -Uvh --nosignature https://repo.zabbix.com/zabbix/4.2/sles/15/x86_64/zabbix-release-4.2-2.el15.noarch.rpm
# zypper --gpg-auto-import-keys refresh 'Zabbix Official Repository'


--- Install Zabbix server, frontend, agent ---

zabbix のフロントエンドとエージェントをインストールします。

# zypper install zabbix-server-mysql zabbix-web-mysql zabbix-agent


---- Enable, start mysql and apache2 ---

SYSTEMCTRL か YaST でmysql と apache2 をスタートさせます。

# systemctl restart mysql.service
# systemctl enable mysql.service
# systemctl restart apache2.service
# systemctl enable apache2.service


a0056607_12024296.png


---- 日本語化に必要(for Japanese Frontend packages) ---

フロントエンドを日本語化するために次のパッケージが必要です。(for Japanese browser front end, install add-on packages) zypper install するか YaST でインストールします。zypper install or YaST > Software Management.

- php7-gettext
- zabbix-web-japanese

a0056607_12051449.png



-- Setup HTTP Server --

YaST HTTP Server のアイコンをインストールし、 YaST をリスタートさせて、HTTP Server のセットアップウィザードを起動します。

install "yast2-http-server", restart YaST > run "HTTP Server" icon comes up.

a0056607_12060244.png

# yast2 &

YaST > Network Service > HTTP Server > begin Wizard

Check > "Enable PHP Scripting"

a0056607_12062922.png

YaST > Network Services > HTTP Server > "Server modules" Tab > check php7 enabled.

PHP7 がイネーブルであることをチェックします。

a0056607_12083897.png


-- setup mysql monitor password --

mysql の root パスワードを設定します。

# mysqladmin -u root password mysqlpwd

restart mysql(mariadb)

# systemctl restart mysql.service

a0056607_12094826.png


-- Install Zabbix server, frontend, agent --

zabbix server と web フロントエンドをインストールします。

# zypper install zabbix-server-mysql zabbix-web-mysql zabbix-agent


-- setup mysql database --

mysql のデータベースを作ります


# mysql -uroot -p
password: mysqlpwd
mysql>
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'zdbpassword';
mysql> show databases;
mysql> quit;

-- Import initial schema and data. You will be prompted to enter your newly created zdbpassword. --

スキーマの拡張、zabbix DB のパスワードをセットします。

# zcat /usr/share/doc/packages/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
password: zdbpassword

---- wait 5 minutes 5分待ちます ----

-- set mysql password into zabbix_server.conf --

zabbix_server.conf に mysql のパスワードをセットします。

# gedit file /etc/zabbix/zabbix_server.conf
DBPassword=zdbpassword

-- set your time zone --

zabbix.conf にタイムゾーン Asia/Tokyo をセットします。

# gedit /etc/apache2/conf.d/zabbix.conf
### uncomment and set the right timezone for your city ###
# php_value date.timezone Europe/Riga ## <---- comment out
php_value date.timezone Asia/Tokyo ## <----- your timezone

-- restart zabbix --

## Start Zabbix server and agent processes and make it start at system boot:
# systemctl restart zabbix-server zabbix-agent apache2
# systemctl enable zabbix-server zabbix-agent apache2

a0056607_12110268.png


-- Begin setup --

セットアップの開始

# firefox http://locathost/zabbix &

redirect to setup.php

a0056607_12125979.png


set zdbpassword

a0056607_12142833.png



set

- Host: zabbix-server_ip
- Port: 10051(Default)
- Name: your_Zabbix_Server Hostname


a0056607_12145254.png



-- summary --

a0056607_12152015.png



-- Login from browser --

ブラウザからログインします。デフォルトパスワードは Admin/zabbix

Login and configuring user

Default login by : Admin/zabbix

a0056607_12160285.png


Dash board comes up...

a0056607_12162715.png


Change Language as you like. Fun ....
a0056607_12134717.png
- 次にやること -

Zabbix4.2 snmp デバイスのグラフを表示させるまで

Zabbix4.2.4 でディスクの空き容量をグラフ化してみた

SUSE+Zabbix4 で夏場のCPU温度監視と温度グラフの作成





- まとめ -

凡その作業は zabbix 公式文書そのものなのですが、OSのコンポーネントのインストール、 Apache2 と php7 の有効化、mysql と zabbix DB のパスワードの違いなどの説明がないので、初めは戸惑いました。

またスキーマの拡張にも時間がかかります。

今、zabbix 3.2 の ubuntsu Appliance を使っているのですが、テンプレートが違うので監視ホストのリストを zabbix4 はインポートしてくれません。また、かなり異なる部分があるので、まだまだ勉強です。

Do you know how to import host list exported from zbx3 to import zbx4 ? Please comment...

誤記があればコメントください。



by islandcenter | 2019-07-12 12:17 | SUSE | Comments(0)

Zabbix 3アプライアンスで、一般の SNMP デバイスを監視します。

本来は Zabbix Agent を組み込んだホストコンピュータを監視するのが Zabbix の主目的ですが、ネットワークには Linux, Windows ホストの様に、エージェントを組み込めないスイッチやルータ、アプライアンスデバイスなどが多くあります。ここでは古い qnap の NAS を監視し、グラフの描画が行えるまでを説明します。

アプライアンス版の導入はこちらをご参考ください

Zabbix3.2 のソフトウェアアプライアンスUbuntu 版をSUSE 仮想環境で試してみた。

Zabbix Documentation 3.0

2019/7 現在最新版 Zabbix4.2 はこちら

How to setup zabbix4.2 on openSUSE Leap 15.1 セットアップ

Zabbix4.2 snmp監視 デバイスのグラフを表示させるまで

PR- 無敵の環境が欲しいのだ -PR




- snmpwalk で返事があるか -

まず、デバイスのSNMPを有効にした後、 snmp パッケージを導入したデバイスから snmpwalk を行います。

# snmpwalk -v version -c commynity_string target_device OID

-v のバージョンは一般的には 2c です。3 もありますが、これは、通信を暗号化するため、実装が面倒くさく、あまり使われていません。
-c はほとんどのデバイスでは Read-only で "public" が使われます。
ターゲットデバイスは IP Address か DNS名です。
OID はちよっと面倒臭いのですが、mib ツリーのどの枝を調べるかの数値です。一番よく使い、覚えやすいのが ".1.3.6.1.2.1.1"なのでこれで調べます。先頭にドットが付くので忘れないように。

sles12:~ # ssh zabbix.intra -l appliance
Zabbix server Appliance (mysql)
Last login: Wed Oct 4 15:57:10 2017 from 192.168.1.35
######## ### ######## ######## #### ## ##
## ## ## ## ## ## ## ## ## ##
## ## ## ## ## ## ## ## ## ##
## ## ## ######## ######## ## ###
## ######### ## ## ## ## ## ## ##
## ## ## ## ## ## ## ## ## ##
######## ## ## ######## ######## #### ## ##
appliance@zabbix:~$ snmpwalk -v 2c -c public target-address .1.3.6.1.2.1.1
iso.3.6.1.2.1.1.1.0 = STRING: "Linux TS-110 4.2.0"
iso.3.6.1.2.1.1.9.1.2.1 = OID: iso.3.6.1.6.3.11.2.3.1.1
iso.3.6.1.2.1.1.9.1.2.2 = OID: iso.3.6.1.6.3.15.2.1.1
iso.3.6.1.2.1.1.9.1.2.3 = OID: iso.3.6.1.6.3.10.3.1.1
iso.3.6.1.2.1.1.9.1.2.4 = OID: iso.3.6.1.6.3.1
iso.3.6.1.2.1.1.9.1.2.5 = OID: iso.3.6.1.2.1.49
iso.3.6.1.2.1.1.9.1.2.6 = OID: iso.3.6.1.2.1.4
iso.3.6.1.2.1.1.9.1.2.7 = OID: iso.3.6.1.2.1.50
iso.3.6.1.2.1.1.9.1.2.8 = OID: iso.3.6.1.6.3.16.2.2.1
iso.3.6.1.2.1.1.9.1.3.1 = STRING: "The MIB for Message Processing and Dispatching."
iso.3.6.1.2.1.1.9.1.3.2 = STRING: "The MIB for Message Processing and Dispatching."
iso.3.6.1.2.1.1.9.1.3.3 = STRING: "The SNMP Management Architecture MIB."
iso.3.6.1.2.1.1.9.1.3.4 = STRING: "The MIB module for SNMPv2 entities"
iso.3.6.1.2.1.1.9.1.3.5 = STRING: "The MIB module for managing TCP implementations"
iso.3.6.1.2.1.1.9.1.3.6 = STRING: "The MIB module for managing IP and ICMP implementations"
iso.3.6.1.2.1.1.9.1.3.7 = STRING: "The MIB module for managing UDP implementations"
iso.3.6.1.2.1.1.9.1.3.8 = STRING: "View-based Access Control Model for SNMP."
iso.3.6.1.2.1.1.9.1.4.1 = Timeticks: (1035) 0:00:10.35
iso.3.6.1.2.1.1.9.1.4.2 = Timeticks: (1035) 0:00:10.35
iso.3.6.1.2.1.1.9.1.4.3 = Timeticks: (1035) 0:00:10.35
iso.3.6.1.2.1.1.9.1.4.4 = Timeticks: (1041) 0:00:10.41
iso.3.6.1.2.1.1.9.1.4.5 = Timeticks: (1041) 0:00:10.41
iso.3.6.1.2.1.1.9.1.4.6 = Timeticks: (1041) 0:00:10.41
iso.3.6.1.2.1.1.9.1.4.7 = Timeticks: (1041) 0:00:10.41
iso.3.6.1.2.1.1.9.1.4.8 = Timeticks: (1041) 0:00:10.41
appliance@zabbix:~$

この様な感じで OID .1.3.6.1.2.1.1 で値がズラズラ帰ってくれば、SNMPのサービスがターゲットのNAS や Switch などのデバイスで動いている事がわかります。


- 監視ホストの設定 -

qnap NAS は中身が Linux の様なので、SNMP 監視テンプレートは Linux Template がそのまま使えます。まさか、企業では使っていないとは思いますが、NASの中には、低速で使い勝手が滅茶苦茶悪い、二度とお近づきになりたくない悪評の Windows Storage Server が載ってる機種であれば Windows OS 用の SNMP も使えるし、zabbix Agent も組み込めるかも知れません。

Configuration > Hosts より "Create Host" を選んで、監視対象のターゲットを作ります。


a0056607_23134239.jpg


ターゲットの作成画面です。今回のNAS は標準的な SNMP 機能を持っているので ”SNMP Interface” に DNS名か IP アドレスを設定します。

a0056607_23140482.jpg
Community String はデフォルト "public" です。違う Community String を使う場合 Configuraion > HOST > "hostname" にある Macros から変更できます。

a0056607_08343992.jpg

Template のリンクを指定します。 "Link new Template" の右にある "Select" ボタンから、一番適合しそうなテンプレートを選び、最後に "Update" ボタンを押します。


a0056607_23144994.jpg

Linked Template は "Select" ボタンより、一番適合してそうなテンプレートを選びます。今回は Linux ベースの qnap NAS なので SNMP OS Linux を選びましたが、 Switch や Router, Wifi スポットの負荷を調べたい場合、"SNMP Generic"”SNMP Interface” などを選ぶ事になりそうです。ちなみに SNMP 関連のテンプレートは一つしか選べません。複数チェックしてしまうと、テンプレートの衝突が起こるので、テンプレートを "Update" した時に怒られます。

a0056607_23151081.jpg



Template を適応した直後は、 Applications に幾つか数字が付いています。この時点では Availability の SNMP はグレーアウトしています。定義した Host の "Applications" のリンクを開き


a0056607_23153276.jpg

Applications のチェックを全て入れて、 "Enable" ボタンを押します。ここでは既に SNMP がグリーンに変わっているので、SNMP の監視タスクが動作を始めているのがわかります。

a0056607_23161353.jpg

Hosts一覧に戻ると、 NAS の SNMP 監視が有効(緑色)になっているのがわかります。


a0056607_23163222.jpg

でもまだこの時点では Graphs の所にグラフ数が出ていません。ここからグラフが有効になるまで2、30分かかります。

待っているとGraphs(7) が出てきました。初回のデータの収集です。

a0056607_23165281.jpg





Monitoring > Graph を選び、ホスト名をドロップダウンして、ネットワーク Interface を選択すると、グラフの描画が始まっています。

グラフの描画が始まります

a0056607_23173075.jpg


"Disk Space Usage" にディスクの空き状態を表示するには更に2、30分かかりました。

a0056607_23174964.jpg

--

確かに Zabbix は大規模ネットワークの大量の Linux デバイスを監視するのが目的なのですが、一般的な中小ネットワークの、インテリジェントデバイスを管理するにも、割と使いやすいシステムです。トラフィックや、空き容量、無線アクセスポイントの混雑状況といったものが簡単に目視でトレンドが見えるため、「問題の見える化」には非常に手軽なシステムでしょう。本番環境では推奨はされませんが、ソフトウェアアプライアンスであれば、10分もかからず実装でき、無言の機器が、言葉を発するように実際にどれだけ仕事をしているのかが一目でわかるというのはインパクト十分です。

今回は簡単に SNMP インテリジェントデバイスだけをターゲットに、グラフ化しましたが、アラートを通知したり、カスタマイズして本格的に利用するには Zabbix L.L.C. のサポートを受けてトレーニングをうけて利用することをお勧めします。


PR- 最後まで読んでいただきありがとうございます -PR














by islandcenter | 2017-11-03 23:39 | KVM | Comments(0)

Zabbix 3.2 のアプライアンス版が出ていましたので、SUSE バカに陥らないためにも、ubuntu と格闘してみました。というか、2.2 のアプライアンスが壊れてしまったので(あぁーバックアップ取ってないし .... )

zabbix 2.x の導入はこんな感じでした。

SUSE Studio から Zabbix 管理ツールの導入

2019/7 現在最新の openSUSE Leap 15.1 に zabbix 4.2 をインストールする手順です。

How to setup zabbix4.2 on openSUSE Leap 15.1

Zabbix4.2 snmp デバイスのグラフを表示させるまで


※ ソフトウェアアプライアンス版は、評価目的のチューニングですが、中小規模の数台のサーバーやルータ、スイッチなどのトラフィック管理など数十台のデバイス管理には、そこそこ使えます。より深く学び、システム管理が複雑で規模や問題が大きくなれば、それなりに Zabbux L.L.C の有償サポートを受けたパッケージの導入とトレーニングを受けてください。私としては、デバイスの異常なトラフィック増大を時系列で見えればよい程度なので、導入の敷居が低いzabbix のソフトウェアアプライアンス版は初めての方にはお勧めです。なお、 3.2 は LTS 版ではないのでそのつもりでトレーニングだと覚悟してください。

- ハイパーバイザーへの実装 -

Zabbix のダウンロードページから、 "KVM, Parallels, QEMU, USB stick, VirtualBox, Xen" 用イメージ (.raw1.6Gb) をダウンロードします。

Download

Zabbix appliance Documets

*****.tar.gz を解凍すると 10Gb の仮想アプライアンスイメージが出来上がります。ubuntu のバージョンは /etc/os-release によると 14.04 でした。

これを virt-manager から Create Virtual Machine で実装します。機材の都合で XEN4.4 on SUSE SLES11sp4 です。
a0056607_14293162.jpg

このバージョンは、 Ubuntu 14 は対応していないようですが、 Ubuntu(Other) で実装できました。
- Virtual : Full Virtual
- Name of VM :
- Hardware : 512Mb, 1Vcpu
- MAC : XEN source のヘッダに任意の3桁


a0056607_14300292.jpg

これで OK を押すと、Zabbix 3.2 アプライアンスが起動できました。

Ubuntu のいやらしいroot でログインできないログインプロンプトです。

a0056607_14303447.jpg

ダウンロードページにあるパスワードでログインします。

login : appliance
Password : zabbix

a0056607_14310483.jpg

DHCPで IP をもらうので一応 ifconfig で IP を確認します。

a0056607_14312728.jpg
これで SSH テキスト端末からログインできます。

ssh xx.xx.xx.xx -l appliance

sles11:/var/lib/xen/images/zabbix32 # ssh 192.168.1.xx -l appliance
Zabbix server Appliance (mysql)
appliance@192.168.1.55's password: **********
Last login: Fri Jul 14 10:30:35 2017
######## ### ######## ######## #### ## ##
## ## ## ## ## ## ## ## ## ##
## ## ## ## ## ## ## ## ## ##
## ## ## ######## ######## ## ###
## ######### ## ## ## ## ## ## ##
## ## ## ## ## ## ## ## ## ##
######## ## ## ######## ######## #### ## ##
appliance@zabbix:~$

IPを固定します。 /etc/network/interface を sudo vi で DHCPから Static に編集します。(メンド臭い)
IP を指定して DNS, Default Gateway の設定をします。

appliance@zabbix:/etc$ cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
#iface eth0 inet dhcp <--- コメントアウト
iface eth0 inet static <--- 追加

address 192.168.1.220 <--- 追加
netmask 255.255.255.0 <--- 追加
gateway 192.168.1.1 <--- 追加
dns-nameservers 192.168.1.2 <--- 追加

/etc/resolv.conf を書き換えます。(メンド臭い)

appliance@zabbix:/etc$ cat resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 192.168.1.2 <--- 追加
nameserver 192.168.1.3 <--- 追加
search intra <--- 追加

でネットワークの再起動(メンド臭いしミスタイプしやすい)

appliance@zabbix:/etc$ sudo ifdown eth0 && sudo ifup eth0
[sudo] password for appliance: *********
appliance@zabbix:/etc$ ping www.yahoo.co.jp
PING edge.g.yimg.jp (183.79.248.252) 56(84) bytes of data.
64 bytes from 183.79.248.252: icmp_seq=1 ttl=52 time=90.6 ms
64 bytes from 183.79.248.252: icmp_seq=2 ttl=52 time=97.3 ms

--- edge.g.yimg.jp ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 90.698/94.024/97.350/3.326 ms
appliance@zabbix:/etc$


a0056607_14320955.jpg


という事でブラウザから http://ip_or_DNS_address/zabbix へ Admin/zabbix のデフォルトでログインします。

a0056607_14420950.jpg

で、色々弄って、date すると UTC 表示でした...... ubuntu の場合、謎のオマジナイがあるのでシステム時刻を JSTに変更します。

appliance@zabbix:/etc$ sudo dpkg-reconfigure tzdata
[sudo] password for appliance: *********

こんな UI が出てくるので Asia > Tokyo を選び OK します。

a0056607_14323301.jpg


appliance@zabbix:~$ date
Sat Jul 15 00:29:36 JST 2017
appliance@zabbix:~$

無事、システムの時刻表示は UTC から JST になりました。しかし、Zabbix の UI で表示される、グラフやイベントは UTC のままです。一体どこで変えるんでしょうね。

/etc/php5/apache/php.ini を sudo vi で変更しました。

appliance@zabbix:/etc/php5/apache2$ sudo vi php.ini
appliance@zabbix:/etc/php5/apache2$ ....: 編集中 .....
appliance@zabbix:/etc/php5/apache2$ cat php.ini | grep timezone
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
;date.timezone =
date.timezone = Asia/Tokyo
appliance@zabbix:/etc/php5/apache2$

zabbix-server と apache2 をリスタートさせましたが
何故か6時間、表示が遅れています(謎)

※謎解決 タイムゾーンを JST に

/etc/apache2/conf-available/zabbix.conf に Timezone の設定があるのでこれを突いたら治りました。

appliance@zabbix:/etc/apache2/conf-available$ ls -al
total 36
drwxr-xr-x 2 root root 4096 Aug 7 17:53 .
drwxr-xr-x 8 root root 4096 Jul 28 06:43 ..
-rw-r--r-- 1 root root 315 Jan 3 2014 charset.conf
-rw-r--r-- 1 root root 3224 Jan 3 2014 localized-error-pages.conf
-rw-r--r-- 1 root root 189 Jan 3 2014 other-vhosts-access-log.conf
-rw-r--r-- 1 root root 2190 Jan 3 2014 security.conf
-rw-r--r-- 1 root root 455 Jan 7 2014 serve-cgi-bin.conf
-rw-r--r-- 1 root root 1582 Aug 7 17:53 zabbix.conf
-rw-r--r-- 1 root root 1583 Aug 7 17:52 zabbix.conf.org
appliance@zabbix:/etc/apache2/conf-available$ cat zabbix.conf | grep timezone
php_value date.timezone Asia/Tokyo
php_value date.timezone Asia/Tokyo
appliance@zabbix:/etc/apache2/conf-available$

マニュアルはちゃんと読めよという事ですね。

- NTP をインストールして設定 -

NTP が入っていないので、インストールします。ハードウェアクロックは仮想環境では時刻狂いを起こします。

sudo apt-get で ntp を Install します。

appliance@zabbix:/etc$ sudo apt-get install ntp
[sudo] password for appliance:
Sorry, try again. あちゃーメンドクサイ
[sudo] password for appliance:
Reading package lists... Done
Building dependency tree
Reading state information... Done

 : 中略して誤魔かしの美....

appliance@zabbix:/etc$


/etc/ntp.conf を外部ソースから、LAN内の NTP ソースに変更します。

# Use servers from the NTP Pool Project. Approved by Ubuntu Technical Board
# on 2011-02-08 (LP: #104525). See http://www.pool.ntp.org/join.html for
# more information.
#server 0.ubuntu.pool.ntp.org <--- コメントアウト
#server 1.ubuntu.pool.ntp.org <--- コメントアウト
#server 2.ubuntu.pool.ntp.org <--- コメントアウト
#server 3.ubuntu.pool.ntp.org <--- コメントアウト
server ntp1.intra <--- 追加
server ntp2.intra <--- 追加

とここまで3時間の作業でした。SUSE なら、yast 一発で20分で終わるんだけどなぁ。

Install on openSUSE / SLES

あとは Configuration > Hosts から、smnp エージェントを実装したデバイスを登録して行くだけです。

- 対象ホストが snmp を返すか調べる snmpwalk -

監視対象ホストが SNMP に反応するかどうかは snmpwalk を使いますが、このアプライアンスにはデフォルトでは入っていないので、SUSE なら YaST で一発の所、Ubuntu 版では、テキストコンソールからキーボードと闘いオマジナイを唱える必要があります。くれぐれも綴りを間違えないように..... アチャーなトラップが待っています。

appliance@zabbix:~$ sudo apt-get install snmpd
Reading package lists... Done
Building dependency tree
Reading state information... Done
snmpd is already the newest version.
snmpd set to manually installed.
0 upgraded, 0 newly installed, 0 to remove and 19 not upgraded.
appliance@zabbix:~$ snmpwalk <---- snmpd だけじゃダメポ.......
-bash: snmpwalk: command not found
appliance@zabbix:~$ sudo apt-get install snmp <--- このパッケージが必要なようです。
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
snmp
0 upgraded, 1 newly installed, 0 to remove and 19 not upgraded.
Need to get 146 kB of archives.
After this operation, 554 kB of additional disk space will be used.
Get:1 http://us.archive.ubuntu.com/ubuntu/ trusty-updates/main snmp amd64 5.7.2~dfsg-8.1ubuntu3.2 [146 kB]
Fetched 146 kB in 3s (41.1 kB/s)
Selecting previously unselected package snmp.
(Reading database ... 52441 files and directories currently installed.)
Preparing to unpack .../snmp_5.7.2~dfsg-8.1ubuntu3.2_amd64.deb ...
Unpacking snmp (5.7.2~dfsg-8.1ubuntu3.2) ...
Setting up snmp (5.7.2~dfsg-8.1ubuntu3.2) ...
appliance@zabbix:~$
appliance@zabbix:~$
appliance@zabbix:~$ snmpwalk -v2c -c public 192.168.1.239 .1.3.6.1.2.1.1
iso.3.6.1.2.1.1.1.0 = STRING: "Linux abianca 3.0.101-63-xen #1 SMP Tue Jun 23 16:02:31 UTC 2015 (4b89d0c) x86_64"
iso.3.6.1.2.1.1.2.0 = OID: iso.3.6.1.4.1.8072.3.2.10
iso.3.6.1.2.1.1.3.0 = Timeticks: (44081742) 5 days, 2:26:57.42
iso.3.6.1.2.1.1.4.0 = STRING: "Administrator <postmaster@example.com>"
iso.3.6.1.2.1.1.5.0 = STRING: "abianca"
iso.3.6.1.2.1.1.6.0 = STRING: "Right here, right now."
iso.3.6.1.2.1.1.7.0 = INTEGER: 76
iso.3.6.1.2.1.1.8.0 = Timeticks: (47) 0:00:00.47
iso.3.6.1.2.1.1.9.1.2.1 = OID: iso.3.6.1.6.3.10.3.1.1
iso.3.6.1.2.1.1.9.1.2.2 = OID: iso.3.6.1.6.3.11.3.1.1
iso.3.6.1.2.1.1.9.1.2.3 = OID: iso.3.6.1.6.3.15.2.1.1
iso.3.6.1.2.1.1.9.1.2.4 = OID: iso.3.6.1.6.3.1
iso.3.6.1.2.1.1.9.1.2.5 = OID: iso.3.6.1.2.1.49
iso.3.6.1.2.1.1.9.1.2.6 = OID: iso.3.6.1.2.1.4
iso.3.6.1.2.1.1.9.1.2.7 = OID: iso.3.6.1.2.1.50
iso.3.6.1.2.1.1.9.1.2.8 = OID: iso.3.6.1.6.3.16.2.2.1
iso.3.6.1.2.1.1.9.1.3.1 = STRING: "The SNMP Management Architecture MIB."

 : 中略

iso.3.6.1.2.1.1.9.1.4.8 = Timeticks: (47) 0:00:00.47
appliance@zabbix:~$ <----- うまく帰ってきたようです。

こんなに使いづらい Ubuntu 大好きって人はよっぽどマゾなんだろうなぁ。








-Key Word-

Zabbbix 3.2 仮想アプライアンス XEN KVM 評価 導入 練習台 無償で始めるネットワーク管理


by islandcenter | 2017-07-15 14:45 | プライベートクラウド | Comments(0)

Windows10 で動かす Zabbix2

タイトルこそ "Windows10 で動かす Zabbix2" ですが、実際は"Windows10 の Hyper-V で動かす Zabbix2 アプライアンス"が正解です。

何かと Linux を使うという事は「専門性」が要求されるわけですが、自称"オープンソース専門家"ではなくても使えるオープンソースという考え方は重要だと思います。

ここでは Zabbix 2.2 仮想アプライアンスを Windows10 の Hyper-V 環境で動かすことを前提としています。

※ 最新の Zabbix 3.0 は Ubuntu ベースで、死ぬほど苦労したにも関わらず、動作させたところ不安定なところがいくつか見受けられました。また致命的な変更点は、通信の暗号化程度で、インターフェースがコスメティックに変化していた程度でした。ここでは 2.2 の利用方法を説明しています。まぁ現在 openSUSE が leap 版だという事もあり Zabbix 3.0 がUbuntu でも仕方がないでしょう。

※ 2019/7 現在 Zabbix4.2 が最新版です。

How to setup zabbix4.2 on openSUSE Leap 15.1 セットアップ

- Zabbix アプライアンスの入手 -

Zabbix アプライアンスはこちらから入手します。ここでは Hyper-V を使用しましたが、仮想環境があるのであれば、 XEN でも KVM, VMware のイメージでも構いません。
または

※ここでは Zabbix2.2 の説明をしています。ダウンロードするアプライアンスも 2.2 を取得してください。また、Zabbix アプライアンスは小規模ネットワークでの評価目的ですので、数千台のサーバーがあるデータセンターでの導入だとか、詳細なサポートは Zabbix LLC. のサポートを強くお勧めします。

アプライアンスの詳細はこちらのドキュメントをご参考ください。デフォルトのパスワードなどが記載されています。

-Zabbix アプライアンスの実装-

VHD の圧縮イメージを入手したら、任意のディレクトリに解凍します。

Hyper-V ウィザードから Zabbix アプライアンスの VHD イメージを実装します。
「新規仮想マシン」を作成します。ここでは Hyper-V の細かな導入、設定、操作方法は説明していませんのであしからずご了承ください。Hyper-V のデフォルトでネットワーク構成が「なし」(笑)なので、必ず、ブリッジを指定します。
ただし、仮想ハードディスクは「既存の仮想ハードディスクを使用する」から、解凍した VHD イメージを指定します。
a0056607_08162890.jpg

これがサマリです。必ず"ネットワーク"はブリッジ接続しましょう。デフォルトは "なし"です。
a0056607_08171013.jpg

Hyper-V マネージャから仮想アプライアンスに接続して起動すると openSUSE が起動して、仮想アプライアンスが起動します。root/zabbix のデフォルトでコンソールに接続できます。
a0056607_08193228.jpg

仮想アプライアンスは SUSE Linux で作られているため、あらかじめMicrosoft 製 Hyper-V 用の仮想ドライバが組み込まれています。

zabbixhv:~ # cat /var/log/messages | grep Microsoft
2016-03-22T02:13:06.804337+00:00 zabbixhv kernel: [ 0.000000] DMI: Microsoft Corporation Virtual Machine/Virtual Machine, BIOS 090006 05/23/2012
2016-03-22T02:13:06.804340+00:00 zabbixhv kernel: [ 0.000000] Hypervisor detected: Microsoft HyperV
2016-03-22T02:13:06.806502+00:00 zabbixhv kernel: [ 13.505447] input: Microsoft Vmbus HID-compliant Mouse as /devices/virtual/input/input4
2016-03-22T02:13:06.806505+00:00 zabbixhv kernel: [ 13.505490] hid 0006:045E:0621.0001: input: <UNKNOWN> HID v0.01 Mouse [Microsoft Vmbus HID-compliant Mouse] on
zabbixhv:~ #

-IP の固定化-

openSUSE の yast ツールを使って、DHCP アドレスから固定 IP に変更します。

# yast

から Network Devices > Network Setting を開き
a0056607_08202214.jpg

DHCPだった IP の設定をEdit から Static/SubnetMask に変更します。
その他 'Hostname/DNS' タブと 'Routing' タブの DNS と Default Route を変更して OK を押します。
ついでに DNS 名、ホスト名が linux-xxxxx.site となっているので、例えば zabbix22.yourcompany.com などに変更します。変更結果は再起動した後、プロンプトに設定したホスト名に変更されます。
a0056607_08240357.jpg
※ ちなみに Zabbix Appliance には yast に必要なメニューしかバンドルされていません。 # zypper install yast2* を実行すると、様々な楽し気でナイスなメニューが出てきます。使えないものもありますが ......

-NTP の変更-

NTP は公共の ntp プールを使っているので、できれば、LAN内部の NTP サーバーを使用するようにしましょう。
a0056607_08243787.jpg

yast > Network Service > NTP servivce の Add メニューから "Server"、 イントラネット内部の NTP サーバーを指定します。実際通信できているかは TEST ボタンを押して確認します。
a0056607_08250863.jpg

これが出来上がった ntp の状態です。デフォルトで Hardware Clock が指定されていますが、これは削除するのがよいでしょう。
a0056607_08255976.jpg
-PHP.ini の書き換え-

php.ini の書き換えはタイムゾーンの変更だけです。ここだけは vi を使います

# vi /etc/php5/apache2/php.ini

で php.ini を開き

# date.timezone = 'UTC'
の部分をコメントアウトして
date.timezone = Asia/Tokyo
に変更します。

zabbixhv:/etc/php5/apache2 # ls php.ini
php.ini
zabbixhv:/etc/php5/apache2 # cat php.ini | grep timezone
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
#date.timezone = 'UTC'
date.timezone = Asia/Tokyo
zabbixhv:/etc/php5/apache2 #

なお、PHP は Zabbix アプライアンス内部で最適化されているようです。百台程度のデバイスの評価目的ならメモリなどのチューニングはデフォルトのままで結構でしょう。ソースから導入する場合は、 php.ini を書き換える必要があるそうです。

HOSTNAME の変更が反映されるよう、サーバーを再起動して、NTP や Apacheなどが起動したら、ブラウザのフロントエンドからブラウザのアドレスバーに、固定したアドレスをセットして Admin/zabbix でログインします。
a0056607_08264524.jpg
Monitoring > Graphs の右端の時刻が日本時間になっていれば php.ini のタイムゾーンの設定はOKです。
a0056607_08273906.jpg
※ここでのキャプチャ画面は英語ですが、右上のプロファイルメニューから日本語に変更できます。

- 監視対象ホストの設定 -

Configuration > Host から "Create Host" ボタンを押して、監視対象のホストを登録します。
a0056607_08290076.jpg
"Host Name", "Visual Name" をセットして
- "Agent Interface" -- エージェントがなければ空欄でも構いません。
- "SNMP Interface" に Add ボタンで監視対象のコンピュータの "DNS名"、もしくは IP を設定します。DNS名を設定した場合、IP アドレスは空欄でも構いません。一旦 "Save" しましょう。
a0056607_08293183.jpg
次にHost の "Template" タブを開き Link new Template から Template SNMP OS Linux を選びます。空欄に "snmp" と入れると、テンプレート snmp のリストが出るので、一番近いテンプレートを選び 'Add' し、'Save' します。
a0056607_08300907.jpg
監視対象が Windows や NAS, スイッチング HUB などの場合は "SNMP Generic" など近いものを選ぶと良いでしょう。


ここから5分ほど置いてからホスト一覧を再読み込みしてください。 Availability のところが"緑色" になっていれば、 SNMP 監視が始まっています。登録した当初は Grafhs(x) の値が0になっていますが、 Zabbix がデータを収集し始めると、設定されたアイテムに従って、グラフデータを収集し始めます。
a0056607_08313099.jpg

SNMPの監視が始まってから約1時間待つと、"Graph" の数値が 0 からいくつかのグラフ数が入り、描画が始まります。
Monitoring > Graph を選び、右のトグルボタンから"Group"、"Host"、"Graphの対象(Eth0など)" を選ぶとグラフが表示されます。
a0056607_08323381.jpg
※ここはとにかく1時間じっくり待ちます。とにかく慌てないこと。

-監視対象は SNMP が動いているか-

監視対象デバイスで snmp が動いているかどうかは snmpwalk を使って確認します。一般的な NAS やスイッチングHUB などの場合、 バージョンは version '2c' コミュニティ名は Read Only(RO) の 'public' を指定すればよいでしょう。この記事では Trap の機能までは説明しません。

ちなみに SUSE Linux はデフォルトでは正しく動作しません。net-snmp パッケージを導入して snmpd.conf の Community 行の書き換えが必要です。snmpwalk に使用する OID .1.3.6.1.2.1.1 などは、MIB 関連のドキュメントを読んで勉強してください。(と逃げる)

zabbixhv:~ # snmpwalk -v 2c -c public dns2.intra .1.3.6.1.2.1.1
Created directory: /var/lib/net-snmp/mib_indexes
SNMPv2-MIB::sysDescr.0 = STRING: Linux dns2 3.0.101-63-xen #1 SMP Tue Jun 23 16:02:31 UTC 2015 (4b89d0c) x86_64
SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10

: 略

zabbixhv:~ #

とズラズラ帰ってくれば、Zabbix の snmp での状態監視はできるようです。帰ってこない場合は、コミュニティストリングが違うとか、snmp が disable になっているとか、snmp なんて機能ないよ、という SOHO 機器の場合に起こりえます。諦めましょう。


- デスクトップPCでも試せる Zabbix -

実際、この体験はデスクトップPCではなく、一般的なモバイルPCで行いました。特別なサーバーハードウェアを用意しなくても Zabbix の "体験"ができるのは貴重なことです。

この体験を通じて本格的なネットワークモニタリングツールの導入、運用、トレーニングができればと思います。


あわせて読みたい
まぁ、長期運用はやめた方がいいようですね。




by islandcenter | 2016-03-23 08:33 | プライベートクラウド | Comments(0)

Zabbix 3.0 のリリースと同時に Zabbix Appliance も公開されました。利用した「顛末記」です。

※ 追記 顛末記なので最新版 3.2 で試してみました。この記事よりマズマスなのでこちらをご参考ください。

2019/7 現在最新版は 4.2 です

How to setup zabbix4.2 on openSUSE Leap 15.1

Zabbix4.2 snmp デバイスのグラフを表示させるまで





Zabbix Download 3.0 LTS KVM, Parallels, QEMU, USB stick, VirtualBox, Xen (.raw) ダウンロードはこちら

Zabbix appliance

-なんで Ubuntu ????? -

今までの Zabbix Appliance は openSUSE で構成されていたため、ほとんどの作業をroot で入って yast コマンドで、メニュー形式から変更することができました。vi 使うのは php.ini のタイムゾーン書き換える程度だったんですけどね。なぜこんなに使いづらい Ubuntu にしたのか納得できない。何かというと "access denied" とか "command not found" となるンですね。

お、出たか sudo しろって事だな。という事で、システム設定のほとんどを yast メニューで出来た openSUSE 版ではなく、地獄の sudo と sudo vi との闘いが、zabbix 以前の問題としてアプライアンス導入へのハードルを上げてくれました。

まぁ好みと慣れの問題なんですけどね。

※つくづく申し上げますが、vi で設定を編集するときは綴りを間違えないでくださいね。SUSE の yast の様にパッケージのインストールから設定まで自動化されていません。ubuntu では全部手書きです。

zabbix 2.x での実際のアプライアンス版の導入はこちらをご参考下さい。


頼む、openSUSE 版の Appliance 出すか、SUSE 版の zabbixの rpm 作ってくれ。
openSUSE で 1 Click インストールできる様にしてくれ。
と言っても無料で使っているわけだから文句は言えませんね。
まぁ、openSUSE leap 42 は安定板じゃないからなぁ、13.1 あたりの安定板を使ってほしい。

- 環境 -

動作環境は SLES12 の XEN 環境から行いました。Zabbix Appliance 3.0 は KVM/XEN と同じイメージファイルです。SLES12 の環境では XEN/KVM 両方サポートしているので、どちらでも、実装そのものはあまり変わりないでしょう。おそらく RedHat 系の KVM のみの環境でも同じように実装できると思います。

まず解凍します。
sles12:/var/lib/xen/images/zabbix # tar xvzf zabbix_appliance_3.0.1_x86_64.raw.tar.gz
./
./zabbix_appliance_3.0.1.raw
sles12:/var/lib/xen/images/zabbix # ls -al
total 81061244
drwxr-xr-x 3 root root 4096 Feb 16 18:35 .
drwx------ 19 root root 4096 Mar 10 08:34 ..
-rw-r--r-- 1 root root 10485760000 Feb 16 18:56 zabbix_appliance_3.0.1.raw
-rwxr--r-- 1 root root 1370095336 Mar 10 12:03 zabbix_appliance_3.0.1_x86_64.raw.tar.gz
sles12:/var/lib/xen/images/zabbix #

そりゃ、openSUSE だと思っていましたよ。でもドキュメント読むと

"Ubuntu version 14.04.3"

って書いてあるわけですね。そりゃぁ手慣れた手順で、アプライアンス実装しても動く訳がない。

その罠に気が付いて virt-manager を起動して、SLES12 では、次の様なパラメータで仮想マシンを実装します。

a0056607_11165514.jpg
最近はハードウェアの性能が仮想化前提で設計されているため、あまり XEN/KVM の性能差や機能差がなくなってきました。起動して初めて「何じゃこれ」という事になったわけです。

- OS Type が Ubuntu なので full virtual(完全仮想化)です。
- メモリ、vcpu はデフォルトのまま
- 仮想ディスクに解凍したイメージ raw ファイルをセット
- VM 名を任意に zabbix3 などにセット

これで OK ボタンを押すと Zabbix アプライアンスが起動します。
a0056607_11174281.jpg
DHCP なので ifconfig で ip を確認してから Ubuntu に SSH 接続してみます(メンドクサイ)ちなみに ubuntu には root というユーザがいないため、デフォルトの "appliance"/zabbix で ssh 接続します。 -l なんてオプション初めて知った。
a0056607_11181045.jpg
- IP を固定する -

yast が使えないため、まず DHCP から ip を固定するため sudo vi と闘います。
/etc/network/interfaces /etc/resolv.conf を修正します。

appliance@zabbix:/etc/network$ cat interfaces <--- デフォルトの確認
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet dhcp
appliance@zabbix:/etc/network$

# sudo vi /etc/network/interface <--- 編集、/etc/resolv.conf も編集

appliance@zabbix:/etc/network$ sudo vi interfaces
[sudo] password for appliance: 間違えちゃった....
Sorry, try again.
[sudo] password for appliance: <--- vi で編集します。

: 編集中(SUSE + yast じゃないので、綴りを間違えないように......)

appliance@zabbix:/etc/network$ cd ..
appliance@zabbix:/etc$ sudo vi resolv.conf
appliance@zabbix:/etc$ cat network/interfaces <--- 変更後の確認
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet static <--- dhcp から static に、綴り間違えるなよ。

address 192.168.1.206 <--- 以下追加
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 192.168.1.2

<--- ここまで

resolv.conf も修正

appliance@zabbix:/etc$ cat resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 192.168.1.2
nameserver 192.168.1.3
search intra
appliance@zabbix:/etc$

appliance@zabbix:~$ sudo ifdown eth0 && ifup eth0 <-- auchi!! あちゃーsudo忘れた
appliance@zabbix:~$ sudo ifdown eth0 && sudo ifup eth0 <-- 正しくはこっち do not forget "sudo"
appliance@zabbix:~$ ということでコンソールから(from console)
appliance@zabbix:~$ sudo ifup eth0
appliance@zabbix:~$ ping www.yahoo.co.jp
PING www.g.yahoo.co.jp (182.22.72.251) 56(84) bytes of data.
64 bytes from 182.22.72.251: icmp_seq=1 ttl=51 time=182 ms
^C
--- www.g.yahoo.co.jp ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1000ms
rtt min/avg/max/mdev = 182.758/193.811/204.865/11.062 ms (<---- it seems fine !)
appliance@zabbix:~$ ifconfig
eth0 Link encap:Ethernet HWaddr 00:16:3e:5e:7a:61
inet addr:192.168.1.206 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::216:3eff:fe5e:7a61/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:19487 errors:0 dropped:4 overruns:0 frame:0
TX packets:1337 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:903775 (903.7 KB) TX bytes:202727 (202.7 KB)

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:1620 errors:0 dropped:0 overruns:0 frame:0
TX packets:1620 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:92110 (92.1 KB) TX bytes:92110 (92.1 KB)

appliance@zabbix:~$

どうやら、IP の固定と、dns の設定が出来たようです。SUSE なら yast で1分の作業ですが、ここまで3時間かかりました。やっぱり SUSE 利用者には ubuntu は手ごわい。

- NTP のインストール -

なんと ntp がないじゃないか、という事で NTP をインストール、JST 設定します。SUSE の yast ならインストールから設定まで 30 秒の作業ですが、ここでもまた30分間の死闘が始まります。

appliance@zabbix:/etc$ sudo apt-get install ntp

またパスワードだ

Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
libopts25
Suggested packages:
ntp-doc apparmor
The following NEW packages will be installed:
libopts25 ntp
0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
Need to get 474 kB of archives.
After this operation, 1,677 kB of additional disk space will be used.
Do you want to continue? [Y/n] y <---- yes する
Get:1 http://us.archive.ubuntu.com/ubuntu/ trusty/main libopts25 amd64 1:5.18-2ubuntu2 [55.3 kB]
Get:2 http://us.archive.ubuntu.com/ubuntu/ trusty-updates/main ntp amd64 1:4.2.6.p5+dfsg-3ubuntu2.14.04.8 [419 kB]

: 略

Processing triggers for ureadahead (0.100.0-16) ...
appliance@zabbix:/etc$

ntp の設定をし直します。

appliance@zabbix:/etc$ sudo vi ntp.conf <--- vi で編集して
appliance@zabbix:/etc$
appliance@zabbix:/etc$ cat ntp.conf

: 略

# Use servers from the NTP Pool Project. Approved by Ubuntu Technical Board
# on 2011-02-08 (LP: #104525). See http://www.pool.ntp.org/join.html for
# more information.
#server 0.ubuntu.pool.ntp.org <---- Comment out
#server 1.ubuntu.pool.ntp.org <---- Comment out
#server 2.ubuntu.pool.ntp.org <---- Comment out
#server 3.ubuntu.pool.ntp.org <---- Comment out

# Use Ubuntu's ntp server as a fallback.
#server ntp.ubuntu.com <---- Comment out

server ntp1.intra <---- Add my NTP server(s)
server ntp2.intra <---- Add my NTP server(s)

: 略

appliance@zabbix:/etc$

-UTC から JST に(?)-

appliance@zabbix:/etc$ cat timezone
Etc/UTC <--- Default UTC
appliance@zabbix:/etc$ sudo vi timezone
appliance@zabbix:/etc$ cat timezone
#Etc/UTC
Asia/Tokyo <--- JST にしてみる。
appliance@zabbix:/etc$

リスタートしてみる
appliance@zabbix:/etc$ sudo /etc/init.d/ntp restart
* Stopping NTP server ntpd [ OK ]
* Starting NTP server ntpd [ OK ]
appliance@zabbix:/etc$

何じゃこれ?
appliance@zabbix:/etc$ date
Sun Mar 13 04:24:36 UTC 2016 <--- JST じゃないけど ....
appliance@zabbix:/etc$

なんか違う様です。SUSE の yast の様にタイムゾーンとNTPを一発で設定できないので、何か他のテキストを書き換えないといけない様ですね。

※補足 sudo dpkg-reconfigure --frontend noninteractive tzdata とやるようです。


- グラフが表示されない -

/etc/zabbix/web/zabbix.conf.php の末尾にゴミが入っている(なんとデフォルト)とグラフは表示されないようだ。

ちなみに

Database passwords are randomly generated during the installation process.
Root password is stored to /root/.my.cnf file, (嘘ですit is not required to input a password under the “root” account.

とあるように、実際には /etc/zabbix/web/zabbix.conf.php ファイルに PHP の root パスワードが隠されています。

appliance@zabbix:~/home/temp$ cat /etc/zabbix/web/zabbix.conf.php | grep PASSW
$DB['PASSWORD'] = 'vO1xUgwjzh';

※追記 /root/.my.conf はこれで確認できました。

appliance@zabbix:~$ sudo su
root@zabbix:/home/appliance# cd /root
root@zabbix:~# ls -al
total 28
drwx------ 3 root root 4096 Mar 14 03:21 .
drwxr-xr-x 22 root root 4096 Feb 28 20:07 ..
drwx------ 2 root root 4096 Feb 28 20:03 .aptitude
-rw------- 1 root root 46 Mar 14 03:21 .bash_history
-rw-r--r-- 1 root root 3106 Feb 20 2014 .bashrc
-rw-r--r-- 1 root root 31 Feb 28 20:01 .my.cnf
-rw-r--r-- 1 root root 140 Feb 20 2014 .profile
root@zabbix:~# cat .my.cnf
[client]
password="19qfvjQngR"
root@zabbix:~#

<--- 追記終わり

- 顛末 -

本当は、Zabbix2 のDBを移行したかったのですが、 MySQL のデータのエクスポートとインポートに失敗しました。失敗した事は隠しようがないので、dns の書き換えは諦めて、とりあえず 2.2 と 3.0 の平行運用して違いを楽しんでいます。ドキュメント通りに行かないのが怖いところです。データの移行はもう少し研究しないといけませんね。

中小規模の数十台の仮想化システムのデバイスであれば、 Zabbix アプライアンスはネットワーク管理に必要十分な「見える化効果」があり、実装も楽なのですが、Ubuntu では、とても客に「使ってくれ」とは口が裂けても言えません。という事で、私の顧客では無理しないで、当分は 2.2 環境でも問題なさそうです。

また、アプライアンス固有の問題なのかも知れませんが、ビール買いに行っている間に、データの取得ができなくなって、全く機能しなくなってしまいました。再起動してもだめ。

まだ不安定ですね。こういう状況があると、2.x 系と比べても、とても実用には堪えない。やっぱり次の安定板が欲しくなります。やはり「新しいからまともに動く」と言う事よりも「うまく使えているバージョンを徹底的に使い倒す」という姿勢が必要な様です。私の目的はイベントでのトリガーでもなく、アラートでもありません。一般的なトレンドが見えればいい。そういう単純な目標であれば、あえて Zabbix3 を選ぶ理由はありません。

確かに 2.x より 3.x の方がコスメティックな部分では「違い」があるのですが、せいぜいトラフィックをグラフ化する程度であれば、無理して 3.x を導入するつもりにはなれません。SUSE 版 Appliance が出ないのなら、せめて rpm 化するか、1 Click インストール用のパッケージか susestudio で仮想アプライアンスを作るしかないな、という無理な私の希望です。

Zabbix3 アプライアンスに関しては、随分否定的な評価となりました。








- Key Word-


Zabbix SUSE openSUSE Zabbix Appliance 3.0 XEN KVM 使えない。だめだこりゃ。SUSE 版出せ。

by islandcenter | 2016-03-14 11:32 | プライベートクラウド | Comments(0)

Zabbix 2.2.1 のopenSUSE 仮想アプライアンスの提供が始まりました。

ダウンロードはこちら
http://www.zabbix.com/download.php

マニュアルに初期パスワードなどが記されています。
https://www.zabbix.com/documentation/doku.php?id=2.2/manual/appliance

以前 2.0.5 を使ってみたのですが、一言で言って「ずいぶん使いやすくなった」というのが印象です。

上のZabbixのダウンロードページから tar.gz 形式のファイルをダウンロードして、展開した後、60Gb 程の仮想イメージが解凍されるので、これをハイパーバイザーに移植して動作させます。今回はXEN イメージを使いました。他に VMware や USB 起動用のイメージもあります。OS は openSUSE 12.3 です。

このアプライアンスは http://susestudio.com/ によって作成されたものです。

SUSE Linux Enterprise Server(SLES11sp3) では KVM でも使えるようになったので、そういう選択もあるでしょう。ハイパーバイザーに実装して起動したら、DHCP でIP を貰います。IP を確認して SSH 接続すれば、yast のコマンドが使えるようになるので、固定 IP を与えるとか、zypper install yast* などを実行して不足している YOU などの機能をインストールすると良いでしょう。


-監視対象のホストの設定-

監視対象のホストを定義します
https://www.youtube.com/watch?v=C3xl27E-DmM




この状態では、何の監視も行えないので、作成したホストにテンプレートを割り当てます。
https://www.youtube.com/watch?v=87e0SFZOTWY

この部分はかなり「良くなった」と思います。従来のバージョンでは随分エラーになったのですが、重複するテンプレートを上書きして、複数のテンプレートを定義できます。ソフトキー入力なので、"snmp" と入力すると snmp 関連のテンプレートを割り当てることが出来ます。

-ちょっと後退したディスカバリー-

ここでは snmp エージェントが動作するデバイスをディスカバリーする手順を行ってみました。

# snmpwalk -v 2c -c community-name(public) Target-IP OID(.1.3.6.1.2.1 など)

でディスカバリーしてみます。
https://www.youtube.com/watch?v=K-GYsmZPGT0


残念ながら snmp, zabbix-agent, ping などでは、うまく動作中のデバイスは検出できませんでした。マニュアルをもう少し精査してみる必要があるようです。まぁ、余計なデバイスを「底引き網」するわけではないので、これはこれで良いような気もします。

-グラフの表示-

Graphは Latest Data タブから、ホストを指定して直接、マネジメント対象のデバイスの項目に Graph リンクが付いています。これは結構使いやすいでしょう。従来の Graph タブからもグラフの描画が出来ます。
https://www.youtube.com/watch?v=tA49k1jRb6w


-マップ作成-

マップ作成でホストを選ぶ所ではやはりソフトキー入力でホスト名を指定します。ホストとホストを結ぶラインの作り方がわかりにくいと思いますが、複数のホストアイコンを Shift や CTRL で選択して "Link" の横の"+" ボタンを押すと、リンクが作られます。

https://www.youtube.com/watch?v=RGkQkUAMFTs


実際には、このアプライアンスは"評価目的"なので、本格的に運用する場合は Zabbix Japan LLC のテクニカルなサポートを受けることをお勧めします。
http://www.zabbix.com/jp/

--
Zabbix は、ハードウェアプローブのアプライアンスも出てきています。他の管理ツールと違って、「インストール」などの作業が不要な所、この Zabbix ソフトウェアアプライアンスは非常に導入して評価しやすいと思います。

islandcenter.jp
by islandcenter | 2013-12-20 13:48 | プライベートクラウド | Comments(0)

Zabbix2 でマップを作成

ここでは Zabbix2 でマップを作る方法を説明します。

SUSE Studio から Zabbix 管理ツールの導入


自動ではマップを作るという器用なことはできないので、手動で作成する必要があります。

マップを作るとシステムの状態に簡単にアクセスできるので、主要なサービスを動かしているサーバーはマップを作っておくと便利です。

-Map の作成-

Configuration > Maps > Local Network
a0056607_1251893.jpg

なお、ここでマップのサイズを変更したい場合は Local Network の Edit リンクを押してサイズを変更できます。また Create ボタンを押して Local Network 以外の Branch Office や、 Zabbix サーバが動作している以外のフロアのマップもここで作成します。

マップエディタを開き Icon の横の Plus(+) ボタンを押します。
a0056607_1295573.jpg


最初デフォルトで Cloud (New Element)アイコンが出てきますが、これはカスタマイズします。
a0056607_1212169.jpg

New Element をクリックします。

Type: Host, あるいはフロアであるとか
Label: Host 名やサービス名(www, mail)など
Icon: サーバーであるとか Switch などのアイコンの各種サイズがあります。ここでは仮想ホストは大きないアイコン、VM マシンの場合は小さなアイコンなどを選んでみます。
Host: の横の Selected を押して登録済のデバイスをセットします。(Mandatory:必須項目)

Apply , Close を押すと、アイコンが変更され監視ターゲットにリンクされます。
a0056607_12211584.jpg


最後に出来上がったアイコンを適切な位置に配置して(例えば、Host Group にまとめるとか、物理ネットワークにまとめるなど)して Save ボタンを押します。 Save ボタンの横にグリッドサイズとグリッドの表示、非表示の選択ができます。 Save ボタンを押すと確認ダイアログが出てくるので OK ボタンを押して元のスクリーンに戻ります。

線を結ぶには、Element を一つクリックした状態で CTRL を押しながらつなげる相手を選んで "Link" ボタン(+)を押します。 Apply > Close > Save します。
a0056607_19292219.jpg

ブラウザで操作するため結構面倒です。

-モニタリング-

Monitoring > Maps を開くと先ほど保存したマップが表示されます。アイコンをクリックすると、監視対象のホストへの Ping やステータスチェックのメニューが出てきます。
a0056607_12254024.jpg



islandcenter.jp

-Key Word-
プライベートクラウド SUSE SLES11sp2 SLES XEN 仮想化 Linux Windows 統合管理ツール
by islandcenter | 2013-03-11 12:27 | プライベートクラウド | Comments(0)