WEBフロントでエラーが出ます

ZABBIXで監視を始めようとしています。
Zabbix 1.8.1です。

ひとまず導入は終わりましたので、
監視設定をするところです。

WEB画面でユーザーAdminでログインしログインできました。
その後、しばらく用事のため放置していました。

画面を見たところ、以下のエラーが画面上に表示されています。
その後、Adminでログインでログインできなくなりました。
ずっと以下のエラーのままです。

* Error in query [INSERT INTO sessions (sessionid,userid,lastaccess,status) VALUES ('7712f814fbfd923a8e7fdb9a4703c990',2,1270100545,0)] [Unknown column 'status' in 'field list']
* Error in query [SELECT MAX(g.gui_access) as gui_access FROM usrgrp g, users_groups ug WHERE ug.userid=2 AND g.usrgrpid=ug.usrgrpid ] [Unknown column 'g.gui_access' in 'field list']
* mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource[/usr/share/zabbix/include/db.inc.php:546]
* mysql_free_result(): supplied argument is not a valid MySQL result resource[/usr/share/zabbix/include/db.inc.php:548]
* Error in query [SELECT g.usrgrpid FROM usrgrp g, users_groups ug WHERE ug.userid = 2 AND g.usrgrpid = ug.usrgrpid AND g.users_status = 1 LIMIT 1 OFFSET 0] [Unknown column 'g.users_status' in 'where clause']
* mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource[/usr/share/zabbix/include/db.inc.php:546]
* mysql_free_result(): supplied argument is not a valid MySQL result resource[/usr/share/zabbix/include/db.inc.php:548]
* Undefined index: autologin[/usr/share/zabbix/api/classes/class.cuser.php:534]
* Error in query [SELECT g.usrgrpid FROM usrgrp g, users_groups ug WHERE ug.userid = 2 AND g.usrgrpid = ug.usrgrpid AND g.debug_mode = 1 LIMIT 1 OFFSET 0] [Unknown column 'g.debug_mode' in 'where clause']
* mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource[/usr/share/zabbix/include/db.inc.php:546]
* mysql_free_result(): supplied argument is not a valid MySQL result resource[/usr/share/zabbix/include/db.inc.php:548]
* Undefined index: authentication_type[/usr/share/zabbix/index.php:61]

ログインして、監視設定したいのですが、復旧方法を教えてほしいです。
よろしくお願いします。

コメント表示オプション

お好みのコメント表示方法を選び「設定の保存」をクリックすると変更が反映されます。
ユーザー TNK の写真

一度、MySQLのサーバを再起動してみてください。
あと、出来れば利用されているOSのディストリビューションとバージョン、MySQLのバージョンもお教えいただけませんでしょうか?

ユーザー help_kusa の写真

TNKさん

ありがとうございます。

mysqlの再起動、サーバー再起動をしてもダメでした。

centos 5.4(Final)
mysql バージョン 5.0.77
php 5.1.6 (zend Engine v2.1.0)

よろしくお願いします。

WEBフロントが、時間切れで自動的にログアウトした後に、
このよう現象が起きることは、あるのでしょうか?

ユーザー help_kusa の写真

本日になって、WEBフロント上のエラーメッセージが若干、変わりました。

しかしながら、状況は変わらず、ログインできません。。。

* Error in query [INSERT INTO sessions (sessionid,userid,lastaccess,status) VALUES ('0df659af26b8a797c745287dc66dc651',2,1270152454,0)] [Unknown column 'status' in 'field list']
* Error in query [SELECT MAX(g.gui_access) as gui_access FROM usrgrp g, users_groups ug WHERE ug.userid=2 AND g.usrgrpid=ug.usrgrpid ] [Unknown column 'g.gui_access' in 'field list']
* mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource[/usr/share/zabbix/include/db.inc.php:546]
* mysql_free_result(): supplied argument is not a valid MySQL result resource[/usr/share/zabbix/include/db.inc.php:548]
* Error in query [SELECT g.usrgrpid FROM usrgrp g, users_groups ug WHERE ug.userid = 2 AND g.usrgrpid = ug.usrgrpid AND g.users_status = 1 LIMIT 1 OFFSET 0] [Unknown column 'g.users_status' in 'where clause']
* mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource[/usr/share/zabbix/include/db.inc.php:546]
* mysql_free_result(): supplied argument is not a valid MySQL result resource[/usr/share/zabbix/include/db.inc.php:548]
* Undefined index: autologin[/usr/share/zabbix/api/classes/class.cuser.php:534]
* Error in query [SELECT g.usrgrpid FROM usrgrp g, users_groups ug WHERE ug.userid = 2 AND g.usrgrpid = ug.usrgrpid AND g.debug_mode = 1 LIMIT 1 OFFSET 0] [Unknown column 'g.debug_mode' in 'where clause']
* mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource[/usr/share/zabbix/include/db.inc.php:546]
* mysql_free_result(): supplied argument is not a valid MySQL result resource[/usr/share/zabbix/include/db.inc.php:548]
* Undefined index: authentication_type[/usr/share/zabbix/index.php:61]

ユーザー TNK の写真

WebUIを操作せずにWebUIのアプリケーションとしてのタイムアウトが発生しただけではそのような状態になったことがありません。

まだインストールだけで設定をほとんど行っていないのであれば、データベースの作成しなおしを行ったほうが良いかもしれません。

以下のような項目を確認させて頂けませんでしょうか?

・新規導入ですか? アップグレードされましたか?
・ZABBIX-JPのRPMを利用されましたか? ソースからの導入ですか?
・MySQLやPHPの設定ファイルでデフォルトから変更されたのはどのような内容ですか?
・zabbix-serverは正常に稼動できていますか? ログにエラーは出ていませんか?

ユーザー help_kusa の写真

ありがとうございます。

>新規導入です。

>yum -y install zabbix-server と
zabbix-web
zabbix-agent
をインストールしております。

>設定は以下のURLを参考に、設定は説明どおりに実施しております。
http://d.hatena.ne.jp/shibainu55/20081009/1223730308
http://www.thinkit.co.jp/cert/article/0611/19/1/2.htm

※インストールはyumにて実施

>稼動はOKです。
特にログにはエラーがないようです。

ソースからのインストールのほうが良いのでしょうか?

ユーザー TNK の写真

参考にされたURLの情報は古く、RPMで導入した際には不要な作業も含まれています。
設定手順としては、以下URLにある情報の方が前のバージョンではありますが、ZABBIX-JPのRPMを利用した場合に合っていると思いますので、そちらとも照らし合わせて行った手順を再確認して下さい。
http://www.zabbix.jp/modules/bwiki/index.php?ZABBIX%A4%CE%A5%A4%A5%F3%A5%B9%A5%C8%A1%BC%A5%EB

ソースからのインストールは、上級者にしかお勧めしません。

また、今回の障害には直接関係無いと思いますが、Zabbix上で日本語を利用するのであれば、MySQLのdefault-character-setの設定を行われたほうが良いと思います。
例:
 http://www.zabbix.jp/modules/newbb/viewtopic.php?topic_id=389&forum=8&post_id=1768#forumpost1768

再度確認させて頂きますが、ご紹介頂いたURLに書かれていた以外に、MySQLやPHPなどの設定変更は行っていませんか?

ユーザー help_kusa の写真

TNKさん

本当にありがとうございます。
うまくいくまで、ご協力いただければ幸いです。

>MySQLやPHPなどの設定変更
はい、初心者ゆえに書かれている以外のことは
何もしてません。
自身の考えでは何をしてよいのかすら、わかっていない部分もあります。

実はさきほど、yum removeでzabbix*とし、すべて削除し、
私が参考にした、ソースからのインストールで試みました。

が、最終工程まで終え、zabbixのサービスを起動したら、
起動しませんでした。
やはり、ソースからの導入方法は上級者向きなんでしょうか。

いったん、usr/local/srcにあるzabbixを削除します。
ソースからのインストールの削除はそれだけでOKでしたでしょうか?
調べてやってみます。

その後、教えていただいたサイトを参考にやってみます。
はじめにやったとき、zabbix-web-mysqlはyumでインストールされていなかったようです。
removeの後、リストに表示がなかったようです。
それが起因しているのかもですね。。。

結果はまた、ご連絡します。

ユーザー TNK の写真

が、最終工程まで終え、zabbixのサービスを起動したら、
起動しませんでした。
やはり、ソースからの導入方法は上級者向きなんでしょうか。

起動しなかったという情報だけではなく、起動しようとしたときにどのようなメッセージが表示されたとか、どのようなログが出力されたかをご提示頂けないものでしょうか?
明確に原因まで特定できなくても、そういった情報がどこにあるかを追いかけて、どのような内容であったかを提示できなければ、他の方々からの協力も頂けないのではないでしょうか?

いったん、usr/local/srcにあるzabbixを削除します。
ソースからのインストールの削除はそれだけでOKでしたでしょうか?

それでは削除されません。
configureで生成したMakefileのあるディレクトリで、make uninstallを実行することである程度削除できるとは思いますが、ゴミが残るかもしれません。
ゴミが残った場合、上級者でないと綺麗な状態に戻すことは困難だと思います。なので、ソースからの導入は上級者の方にしかお勧めしていません。

以前の投稿に戻りますが、

>yum -y install zabbix-server と
zabbix-web
zabbix-agent
をインストールしております。

とのことですが、それを実行するのであれば、その前にいくつか手順が必要なはずです。
その手順も提示して頂ければ、再現できると思うのですが.....。

仮に、
<code>
rpm -ivh http://www.zabbix.jp/binaries/relatedpkgs/rhel5/x86_64/zabbix-jp-release-5-3.noarch.rpm
</code>
を実行していたとします。

このまま、
<code>
yum -y install zabbix-server
</code>
を実行すると、
<code>
zabbix-server
zabbix
zabbix-server-pgsql
</code>
というようにPostgreSQL用のzabbix-serverがインストールされてしまいます。しかも、バージョンは1.6.8です。
どのようにして1.8をインストールされたのでしょうか?

ユーザー TNK の写真

続きです。

1.8でかつMySQL対応のzabbix-serverをインストールされたいのであれば、以下のような手順になると思います。

 1.alternativesで1.8リポジトリに切替
 2.yumのキャッシュをクリア
 3.yumコマンドで明示的にMySQL対応のzabbix-serverを指定してインストール
 4./etc/my.cnfでdefault-character-setを指定するよう変更
 5.MySQLサーバを起動
 6.データベースの作成
 7.データベースアクセス用のアカウント作成
 8.MySQL上にテーブルの作成とデータの登録
 9.zabbix-serverのDBアクセス用アカウント設定
10.zabbix-serverの起動
11.Webインターフェイス用のconfigファイル移動
12.Webインターフェイス用のconfig配置用ディレクトリのオーナー変更
13.httpdの起動

実行例:(一部抜粋)
<code>
[root@localhost ~]# alternatives --config zabbix-jp-release

4 プログラムがあり 'zabbix-jp-release' を提供します。

選択 コマンド
-----------------------------------------------
1 /usr/share/zabbix-jp-release/zabbix-jp-1.1.repo
2 /usr/share/zabbix-jp-release/zabbix-jp-1.4.repo
*+ 3 /usr/share/zabbix-jp-release/zabbix-jp-1.6.repo
4 /usr/share/zabbix-jp-release/zabbix-jp-1.8.repo

Enter を押して現在の選択 [+] を保持するか、選択番号を入力します:4
[root@localhost ~]# yum clean all
[root@localhost ~]# yum install zabbix-server zabbix-server-mysql zabbix-agent zabbix-web zabbix-web-mysql
[root@localhost ~]# vi /etc/my.cnf
[root@localhost ~]# service mysqld start
[root@localhost ~]# mysqladmin create zabbix
[root@localhost ~]# mysql -uroot
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';
mysql> flush privileges;
mysql> quit
[root@localhost ~]# mysql -uroot zabbix < /usr/share/doc/zabbix-server-1.8.1/schema/mysql.sql
[root@localhost ~]# mysql -uroot zabbix < /usr/share/doc/zabbix-server-1.8.1/data/data.sql
[root@localhost ~]# mysql -uroot zabbix < /usr/share/doc/zabbix-server-1.8.1/data/images_mysql.sql
[root@localhost ~]# vi /etc/zabbix/zabbix_server.conf
[root@localhost ~]# service zabbix-server start
[root@localhost ~]# mv /usr/share/zabbix/conf/zabbix.conf.php /usr/share/zabbix/conf/zabbix.conf.php.org
[root@localhost ~]# chown apache:apache /usr/share/zabbix/conf
[root@localhost ~]# service httpd start
</code>

ユーザー help_kusa の写真

TNKさん

本当にありがとうございます。またエラー内容を明示することができてなくて、すみませんでした。

教えていただいた手順でZABBIXの1.8.1の導入を再トライ中です。

ただ以下の手順で止まっております。

[root@localhost ~]# yum install zabbix-server zabbix-server-mysql zabbix-agent zabbix-web zabbix-web-mysql

エラーはErrno 14 HTTP Error 404 Not Foundです。

ミラーサイトは以下を見に行っていますが、
エラーになってしまいます。
*epel-testing : ftp.iij.ad.jp
*epel-testing-debuginfo: ftp.iij.ad.jp
*epel-testing ftp.iij.ad.jp

昨日までは問題なかったのですが、
サイトが混み合っているかもしれませんので、時間をおいて挑戦してみます。

ユーザー help_kusa の写真

TNKさん

うまくいきました。

ただ、zabbix-serverのインストール時に以下のwarningが表示されましたが、Cmplete!はしました。

warning:/etc/zabbix/zabbix_server.conf created as /etc/zabbix/zabbix_server.conf rpmnew

ゴミファイルの影響でしょうか?

いったん、続きの作業を続行してみます。

ユーザー help_kusa の写真

TNKさん

一連の作業を終えました。
WEBUIにアクセスし初期手順も終え、ログインまでできました。

Zabbixへようこそ!次のユーザでログインしました Admin.

上記のメッセージも出まして、以前のような赤文字エラーもなく、
問題ありませんでした。

本当に感謝です^^

成功だと思っていますが、
ここまでで、チェックするポイントは何かありますでしょうか?

1点気になりましたのは、

service httpd start を実行後、[OK]と出るのですが、
同時に以下メッセージが出ます。

httpd: apr_sockaddr_info_get() failed for ホスト名
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName

調べてみましたが、有力な情報が見つかりませんでした。
原因と影響はありそうでしょうか?

これから、Windows2003 サーバーの監視の設定をしたいと思います。10台くらいです。
PING プロセス DISK メモリー CPU の監視を実施する予定です。

すでに該当サーバーにはzabbix_agent-1.8-1.JP_installer.exe
をインストールし、サービスを開始済みです。

頑張ってみます!

ユーザー help_kusa の写真

Zabbix Server アプリケーション (12) アイテム (102) トリガー (44) グラフ (4) - 127.0.0.1 10050 Template_Linux 有効

自ZABBIXサーバーのエージェントを設定しましたが、
エージェントの状態で以下エラーが出まして、zマークが赤色のままです。

Get value from agent failed: *** Cannot connect to [127.0.0.1]:10050 [Connection refused]

以下のように設定しております。

/etc/zabbix/zabbix_agentd.conf
Server=ZABBIXサーバのIPアドレスを設定

# Server port for sending active checks

ServerPort=10051

# Unique hostname. Required for active checks.

Hostname=ZABBIX Server  →Webインターフェースのホスト設定で登録するホスト名と同じ値を設定
# Listen port. Default is 10050

ListenPort=10050

# IP address to bind agent
# If missing, bind to all available IPs

ListenIP=127.0.0.1

他のWindowsのサーバーは緑色となりましたので、通信できています。

ポートが同じ10050に設定しているのが問題でしょうか?

ユーザー KAZ の写真

help_kusaさん

他のWindowsのサーバーは緑色となりましたので、通信できています。

Zabbixサーバが立っているZabbixエージェントのconfとWindowsに立っているZabbixエージェントですが、ListenIPは指定の仕方が違いませんか?

127.0.0.1はローカル・ループバック・アドレスと言います。
ローカルでしか見れなかったりします。
127.0.0.1でこのサイトを検索(サイト右上の検索欄)すると色々情報が出てきます。

ローカル・ループバック・アドレスをgoogleで検索してみると意味がわかるかと。

[url=http://www.atmarkit.co.jp/fwin2k/win2ktips/803localhost/localhost.html]ローカル・ループバック・アドレス(127.0.0.1)とは?[/url]

ユーザー help_kusa の写真

続きです。

PINGはWEB画面から127.0.0.1にとおりました。

が、スクリーンで見ると、unreachableとなり見えてないようです。

ユーザー KAZ の写真

help_kusaさん

PINGはWEB画面から127.0.0.1にとおりました。

127.0.0.1はローカル・ループバックなので、webフロントエンドとZabbixサーバと監視対象ホストが全て一緒で127.0.0.1で登録していないと動かないです。

その他の割り当てられたIPアドレスはないのでしょうか?
他のマシンがあるようですので、Zabbixサーバにも割り当てられたIPアドレスがあるのではないのですか?

そっちを使って下さい。
127.0.0.1は特殊な場合を除いて使わない方が良いですよ。

ユーザー TNK の写真

httpd: apr_sockaddr_info_get() failed for ホスト名
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName

これは、恐らく利用しているIPアドレスに対応するホスト名のDNSでの名前解決ができないか、/etc/hostsに設定されていないために出力されていると思われます。
これがでていても動くとは思いますが、出力されないようにするには、DNSに登録するか/etc/hostsにIPアドレスとホスト名のペアを登録するかしてみてはいかがでしょうか。
また、それに合わせて/etc/httpd/conf/httpd.confのServerNameを設定するとより良いと思います。

Get value from agent failed: *** Cannot connect to [127.0.0.1]:10050 [Connection refused]

Zabbix Server上で、zabbix-agentを起動されていますか?
起動されていないのであれば、rootで以下を実行してエージェントを起動してください。
<code>
service zabbix-agent start
</code>

ユーザー help_kusa の写真

伊藤さん

度々、ありがとうございます。
hostsの件、/etc/hostsにIPアドレスとホスト名のペアを登録でやってみます。

zabbix-agentは起動しております。

念のため以下で再起動してみました。

service zabbix-agent restart

そうすると、赤マークのままですが、メッセージが以下になりました。

Got empty string from [127.0.0.1]. Assuming that agent dropped connection because of access permissions

設定は特に変更していないのですが、何が原因でしょうか?

ユーザー KAZ の写真

help_kusaさん

zabbix-agentは起動しております。

あせらず、一つ一つ進めましょう。A(^^;
まずは、apacheを動かす方が先なのでZabbixサーバも、Zabbixエージェントも止めてOKです。

apacheが動いたらphp、phpが動いたらZabbixとトライした方が分かりやすいです。焦るとわかんなくなると思いますので、まずはapacheを動かしましょう。

ユーザー help_kusa の写真

伊藤さん

ありがとうございます。

/etc/hosts にもともと、127.0.0.1 localhost.localdomain localhostはありました。

追加として、当方のZABBIXサーバーを設定しました。
10.*.*.* zabbixtest.localdomain localhost

しかしながら、WEBUIのエラーと赤マークが改善されないようです。以下のメッセージが出力されています。

Got empty string from [127.0.0.1]. Assuming that agent dropped connection because of access permissions

>apacheが動いたらphp、phpが動いたらZabbix

apacheが動いているようですので、次はphpですね。
ブラウザからzabbixサーバーのアドレス→http://10.*.*.*/
を開くと、PHPのテスト画面は見えます。
これで正常に動作していますでしょうか?

ユーザー help_kusa の写真

もしかして、WEBUI画面のホスト一覧で見ると、ポートがすべて10050で同じになっているのが、原因でしょうか?

実はPING監視(ICMP ping)をしようと、エージェントと通信できている、Windows2003サーバーと設定しているのですが、うまくいきません。

参考サイト
http://d.hatena.ne.jp/dayflower/20071125/1196055449

エージェントと通信できていれば、問題ないと思ったのですが、
いたるところで行き詰まり中です。

PING監視(ICMP ping)の詳しい設定が記載された参考サイトはご存知ないでしょうか?

ユーザー KAZ の写真

help_kusaさん

あせりすぎです。A(^^;
設定ファイルの修正が正しくないです。(127.0.0.1を使っている時点で1サーバにZabbixサーバとエージェント入れた構成の監視しかできません。)

ローカル・ループバック・アドレスと言う意味を正しく理解しましょう。監視対象が複数台あるなら127.0.0.1は使用しちゃだめです。

ifconfigコマンドをCentOS上で実行すると下記の様な情報が取れます。(一部伏字にしてます。)
<code>
[root@xxxxxxxx ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:16:3E:65:A8:02
inet addr:192.xxx.xxx.xxx Bcast:192.xxx.xxx.255 Mask:255.255.255.0
inet6 addr: fe80::216:3eff:fe65:a802/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:40473328 errors:0 dropped:0 overruns:0 frame:0
TX packets:40490490 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:2953311568 (2.7 GiB) TX bytes:2981435529 (2.7 GiB)

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:16436 Metric:1
RX packets:70351110 errors:0 dropped:0 overruns:0 frame:0
TX packets:70351110 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:2587095750 (2.4 GiB) TX bytes:2587095750 (2.4 GiB)
</code>

loと言う項目に127.0.0.1とありますが、このアドレスは全てのマシンに存在するアドレスで自分自身しか通信できません。
なので、ローカル・ループバック・アドレスと言います。

他のマシンと通信する時は「inet addr:192.xxx.xxx.xxx」の方を使います。

ここまで、理解できたら次の工程に入ります。

次はZabbixの設定ファイルを確認します。
1)ZabbixサーバとZabbixエージェントの設定ファイルは/etc/zabbixにありますか?

2)/etc/zabbix_server.confの設定は大丈夫か?
下記の確認をします。
<code>
LogFile=Zabbixアカウントで書き込めるログファイルのFullパス
PidFile=Zabbixアカウント読み書きできるpidファイルの位置(※1)
DBHost=Zabbixのデータベースのホスト(※2)
DBName=Zabbixのデータベース名( create databaseした名前)
DBUser=Zabbixのデータベースアカウント
DBPassword=Zabbixのデータベースパスワード
ListenIP=ZabbixサーバのIPアドレス(上記の例なら192.xxx.xxx.xxx)
</code>

※1:起動ファイルでpidファイルを見ますので同じ位置にする必要があります。

※2:通常はデフォルトでOKなのでコメントのままです。MySQLでデータベースにどの様な権限を与えたかによって変わります。

まずはここまでOKですか?

ユーザー help_kusa の写真

伊藤さん

ローカル・ループバック・アドレス理解しました。
ありがとうございました。

次はZabbixの設定ファイルを確認します。
1)ZabbixサーバとZabbixエージェントの設定ファイルは/etc/zabbixにありますか?

こちらはOKでした。

2)/etc/zabbix_server.confの設定は大丈夫か?
下記の確認をします。

ListenIP=が127.0.0.1でしたので、
ZabbixサーバのIPアドレスへ変更しました。

するとWEBUIのメッセージですが、以下のように、[]内が127.0.0.1
から、今のZABBIXサーバーのIPアドレスに変わりました。

Got empty string from [10.*.*.*]. Assuming that agent dropped connection because of access permissions

このメッセージですが、WEBUIのホスト一覧にて「エージェントの状態」項目のZ赤マークにマウスポインタをあてると、コメントが出てきます。

ユーザー KAZ の写真

help_kusaさん

※ 記載に漏れがありましたので追記します ※

TNKさんと説明が混じってしまって混乱しない様に注意して頂ければと思います。

127.0.0.1はスタンドアローン環境で使用するなら使用してもOKです。監視対象サーバが複数台になる時は使用できないと思って下さい。

では、続きです。
/etc/zabbix/zabbix_agentd.conf
を確認します。

<code>
PidFile=Zabbixアカウント読み書きできるpidファイルの位置(※1)
LogFile=Zabbixアカウントで書き込めるログファイルのFullパス(※2)
Server=ZabbixサーバのIPアドレス。(※3)
ListenIP=監視対象のIPアドレス(※4)
Hostname=Webフロントエンドに登録するホスト名(※5)
</code>
※1:Zabbixサーバとは別ファイル名にすること!また、起動ファイルでpidファイルを見ますので同じ位置にする必要があります。
※2:Zabbixサーバとは別ファイル名にすること!
※3:ZabbixサーバのIPアドレスで上記だと10.*.*.*になります。
※4:監視対象のIPアドレスでZabbixサーバと同じホストにいる場合は同じIPアドレスを指定します。
※5:基本はホスト名でOKです。webフロントエンドにホストを登録する際DNSを使用するなら、DNS検索できる名前である必要があります。

ここまでの内容の簡単な説明はZABBIX-JPサイトのDOCUMENTSのインストールやアップグレードに書いてあったりします。

また、バージョンは違うのですが「ZABBIX 1.6インストレーションガイド(PDF)」と言うのがあってそれを読むとインストールの流れがわかるかと思います。

i.6と1.8のGUIはかなり変わりましたが、設定方法は1.6も参考になると思います。宜しければ御一読ください。

※追記
/etc/zabbix/zabbix_agent.confですが、デーモン起動しないzabbix_agentを使用する時に使います。CentOSではzabbix_agentdを使いますので、/etc/zabbix/zabbix_agent.confは不要です。
詳しくはマニュアルを参照下さい。

ユーザー help_kusa の写真

伊藤さん

ご配慮、ありがとうございます。

さきほど、WEBUIのZマークが緑となりエージェントとの通信ができました。
ありがとうございました!

※zabbix_agentd.conf
#ListenIP=127.0.0.1(コメントアウト)

ご指示どおり
ListenIP=監視対象のIPアドレス(※4)

に変更したところOKでした。

Windows2003サーバーも2台ありますので、
まずはこの2台とZABBIXサーバーのPING監視(死活監視)を
設定したいと思っています。

こちらのフォーラムも参考にして挑戦してみます!

ユーザー TNK の写真

/etc/hosts にもともと、127.0.0.1 localhost.localdomain localhostはありました。

必要なのは、10.*.*.*と付けられたIPアドレスとホスト名のペアです。
他の様々なアプリケーションでも、外部向けのIPアドレスを設定した場合、DNSかhostsかに書かれていないと正常に稼動しないものがありますのでご注意下さい。

で、「WEBUIのエラー」とは具体的に何を指していらっしゃしますか?
Zabbix Serverのエージェントに接続できていないことを指されていますか?

もしかして、WEBUI画面のホスト一覧で見ると、ポートがすべて10050で同じになっているのが、原因でしょうか?

いいえ。それが正しいデフォルトの状態です。
Zabbix Serverとうまく接続できていないのは、zabbix_server.confとzabbix_agentd.confの設定内容が合致していないからだと思われます。
どちらもデフォルトのままであれば、DB接続のアカウントを修正する程度でそのまま監視できるにも関わらず、設定を変更されたことによる障害だと思われます。
具体的には、/etc/zabbix/zabbix_agentd.confで、
<code>
Server=ZABBIXサーバのIPアドレスを設定
</code>

<code>
Server=127.0.0.1
</code>
に戻してみてください。
もし、zabbix_server.confも変更しているのであれば、どこをどのように変更したのかをご提示下さい。

実はPING監視(ICMP ping)をしようと、エージェントと通信できている、Windows2003サーバーと設定しているのですが、うまくいきません。

以前も書きましたが、どのようにうまく行かないのですか?
参考サイトを挙げられていますが、これを参考にしてどのように設定したのか、設定内容を可能な限りご提示下さい。

KAZさんへ
すでにWebUIの設定を行われているようですので、ApacheもPHPも正常に稼動しているのだと思います。
出力されていたメッセージは、警告ではありますがhttpdが起動できていないわけではないはずです。

あと、127.0.0.1を利用して、Zabbixサーバのローカルのエージェントに接続して監視をするということもできますよね?
127.0.0.1を使ってもいいけど意味を理解して使いましょう、ということが良いかと思います。

ユーザー KAZ の写真

TNKさん

KAZさんへ
すでにWebUIの設定を行われているようですので、ApacheもPHPも正常に稼動しているのだと思います。
出力されていたメッセージは、警告ではありますがhttpdが起動できていないわけではないはずです。

混乱しているようなので、どこまでがどういう風に確認したので進められると言う風に説明した方が良いと思ったのですが…

あと、127.0.0.1を利用して、Zabbixサーバのローカルのエージェントに接続して監視をするということもできますよね?
127.0.0.1を使ってもいいけど意味を理解して使いましょう、ということが良いかと思います。

ローカルならばいいですが、監視対象にWindows2003があると言うので、設定的には127.0.0.1を使わない設定で統一的に話をした方が良いです。

進め方が違う2人で説明すると混乱しますのでTNKさんが説明するなら、私はTNKさんにお任せしたいと思いますが、宜しいですか?

ユーザー help_kusa の写真

TNKさん

いつもありがとうございます。
伊藤さんとともに、お二人のお力でここまで来れました。
引き続き、お二人にお願いしたいです。

>zabbix_server.confとzabbix_agentd.confの設定内容が合致していないからだと思われます。

【設定内容】
※zabbix_agentd.conf
#ListenIP=127.0.0.1(コメントアウト)
Server=10.*.*.* (ZABBIXサーバーのアドレス)
Listenport=10050
Hostname=zabbixtest
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log

※zabbix_server.conf
ListenIP=10.*.*.* (ZABBIXサーバーのアドレス)
Listenport=10051
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
DBSocket=/var/lib/mysql/mysql.sock
PidFile=/var/run/zabbix/zabbix_server.pid
LogFile=/var/log/zabbix/zabbix_server.log

上記が内容となりますので、合致していないところは、
Listenportになりますでしょうか?

ちなみにzabbix_agent.confという、名前の違うconfがありますが、こちらは設定しないで、よろしいのでしょうか?

あと、/etc/hostは以下内容です。

127.0.0.1 localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6
10.*.*.* zabbixtest

3行目が追加したペア内容です。

またPING設定については、参考サイトをそのまま実施しました。

Template_Standalone に ICMP ping による host alive check trigger を追加する
以上の手順で自動的にローカルで走っている zabbix-agent から情報収集・監視を行ってくれます。

せっかくですので ICMP ping を使った外部サーバの監視を行ってみます。

Template_Standalone にはもともと ICMP ping という Item が登録されています。ですからその Item を利用した Trigger を追加することにします。

Configuration ⇒ Hosts をナビゲーション
「CONFIGURATION OF HOSTS, GROUPS AND TEMPLATES」で「Templates」を選択
リストの Template_Standalone の Actions に Select という項目があるのでクリックするとサブメニューが開く
サブメニューから Triggers を選択
「Create Triggers」ボタンを押す
Expression の「Insert」ボタンを押す
Condition というサブウィンドウが開くので「Select」ボタンを押す
ITEMS 項目が多すぎるんで Host から Template_Standalone を選択してフィルタリングする
ITEMS リストの「ICMP ping」をクリックする
Condition サブウィンドウの Item に Template_Standalone:ICMP ping が入る
Function は「Last value = N」のままで OK,N は「0」のままで OK,「Insert」ボタンを押す
これで Trigger ウィンドウの Expression 項目に「{Template_Standalone:icmpping.last(0)}=0」という式が入ります
Name に「Server {HOSTNAME} is unreachable*4」と記入,Severity は High あたりを選択し,「Save」ボタンを押す
Template_Standalone を利用した監視対象ホストを追加する
Configuration ⇒ Hosts をナビゲーション
「CONFIGURATION OF HOSTS, GROUPS AND TEMPLATES」で「Hosts」を選択
「Create Host」ボタンを押す
Name は任意(仮に foobar とします)
Groups は任意のものを選択してもいいし,New groups で新しいグループを作ってもよいし,選択しなくても構わない(なんらかの group に属させたほうが管理は楽です)
DNS name, IP address, Connect to は任意で
Status は Monitored に
「Link with Template」の Add ボタンを押す
先ほど編集した Template_Standalone を選択し,Select を押す
Save を押す
HOSTS リストの foobar の Actions のサブメニューで Items を選択
使わない監視項目にチェックをいれ,「Disable selected」ボタンを押す
再び Configuration ⇒ Hosts で HOST リストを開き,foobar の Actions のサブメニューから Triggers を選択
使わない監視項目にチェックをいれ,「Disable selected」ボタンを押す
以上の手順で Monitoring ⇒ Overview に foobar の監視項目が追加されているはずです。

監視データのダッシュボードを見ると、ずっと障害のままです。。。

ユーザー KAZ の写真

help_kusaさん

【設定内容】
※zabbix_agentd.conf
#ListenIP=127.0.0.1(コメントアウト)
Server=10.*.*.* (ZABBIXサーバーのアドレス)
Listenport=10050
Hostname=zabbixtest
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log

上記のListenIPがローカル・ループバック・アドレスです。
コメントを外して、10.*.*.*を指定してください。

ユーザー TNK の写真

設定ファイル
 /etc/zabbix/zabbix_server.conf
 /etc/zabbix/zabbix_agentd.conf
の両方を変更されているようですので、この両方の設定の整合性を合わせる必要があります。

設定パターン1:
デフォルトでは、
zabbix_server.conf
<code>
# ListenIP=0.0.0.0
</code>
zabbix_agentd.conf
<code>
Server=127.0.0.1
ListenIP=127.0.0.1
</code>
となっているので、これらの項目を編集する必要はありません。
この状態でも、Zabbixサーバから外部のサーバの監視を行うことが出来ます。

ただし、ローカルのエージェント以外の監視対象となるサーバ上のzabbix_agentd.confの「Server」は
<code>
Server=ZabbixサーバのIPアドレス
</code>
に設定する必要があります。

設定パターン2:
zabbix_server.conf
<code>
ListenIP=ZabbixサーバのIPアドレス
</code>
と設定するのであれば、それに合わせて、
zabbix_agentd.conf
<code>
Server=ZabbixサーバのIPアドレス
ListenIP=ZabbixサーバのIPアドレス
</code>
と設定し、Zabbixサーバ上に登録されたホスト情報のIPアドレスも、127.0.0.1から「ZabbixサーバのIPアドレス」に変更する必要があります。
これは、KAZさんが説明されている設定方法と同じだと思います。

ユーザー help_kusa の写真

TNKさん

ありがとうございました!

後者の方法で、無事、エージェントとの通信ができました。
伊藤さんとのご説明の違いを、わかりやすくお書きいただき、
恐縮です。
ご配慮、ありがとうございました。

では次のステップ、PING監視(死活監視)の設定を挑戦してみたいと思います!

ユーザー help_kusa の写真

PING(死活監視)の設定でつまづいています。

参考は以下サイトの下部です。
http://d.hatena.ne.jp/dayflower/20071125/1196055449

最終手順まで終えたのですが、Monitoring ⇒ Overview に foobar の監視項目が追加されるはずが、

Server {HOSTNAME} is unreachableが見当たりません。

これでPING監視ができているのかが、わからない状況です。

一難さってまた一難です。。。

確認箇所はどこになりますでしょうか?

ユーザー KAZ の写真

help_kusaさん

1スレ1質問でお願いします。m(__)m

ちなみに、webフロントエンドのホストの設定とアイテムの設定はどの様になっていますか?
どの様に設定しているかを書いてくれるとわかるかと。

また、エラーの出ている画面やログ名とかも書いて頂けると助かります。

ユーザー help_kusa の写真

伊藤さん

すみません^^;
ルール認識不足でした。。。
毎度、情報不足で申し訳ないです。

【ホスト】
名前 対象サーバー名
グループ Windows servers
新規グループ作成 ブランク
DNS名 ブランク
IPアドレス 対象サーバーIPアドレス
接続方法  IPアドレス
Zabbixエージェントのポート 10050
プロキシによる監視  ブランク
ステータス 有効
IPMIを使用  なし

【アイテム】

ホスト 対象サーバー名
説明 ICMP ping
タイプ シンプルチェック
キー icmpping
データ型  数値(整数)
データの形式 10進数
単位 ブランク
乗数を使用  使用しない
更新間隔(秒) 30秒
例外の更新間隔(秒) 例外の更新間隔はありません
例外の更新間隔の作成 間隔 50期間  1-7,00:00-23:59
追加

ヒストリの保存期間(日) 90
トレンドの保存期間(日) 365
ステータス 有効
保存時の計算 なし
値のマッピングの使用 throw map 2service state
アプリケーション なし

以上でわかりますでしょうか?

ユーザー KAZ の写真

help_kusaさん

監視対象ホストの[Configuration]-[Hosts]の'Status'欄の値はどうなっていますか?

'Monitored'なら監視ができる状態です。

それ以外の場合は、何らかの原因がありますので下記の確認を願います。
1)fpingインストールと設定は大丈夫か?
インストールしてない場合はCentOS5.4ならfping-2.4b2-7.el5.JP.i386.rpmをrpmコマンドでインストールして下さい。

また、sbitの設定は下記の様になっているばOKです。
<code>
[root@xxxxxxxx ~]# ls -l /usr/sbin/fping
-rwsr-xr-x 1 root root 29204 8月 17 2009 /usr/sbin/fping
</code>

2)Zabbixサーバが立っているCentOSから監視対象ホストにpingを実行して動くか確認する。
これがダメな場合はFireWallやウィルスガードに引っかかっている可能性もあります。

ユーザー help_kusa の写真

伊藤さん

ありがとうございます、確認しました。

ステータス欄は「有効」となっております。

1)OKでした。

2)pingは通りました。

死活監視ができているかどうか、
どこの画面を確認すればよろしいでしょうか?

PINGを打っているリアルなログはどこかにありますでしょうか?

ユーザー KAZ の写真

help_kusaさん

先ほどの[Hosts]の画面でitemsをクリックすると、ITEMSと表示された画面に行きますよね?

そこで、keyにicmpping[]と設定してますでしょうか?
先ほど書いて下さった内容には「キー icmpping」とありました。
"[]"は付いてますでしょうか?

その状態でError欄が緑のチェックマークならアイテムの設定はOKです。

すいませんが、19時30分より知人と会う予定がありますので、もしこれ以降動かなかった場合は明日で良いですか?
本当にすいません。m(__)m

ユーザー help_kusa の写真

伊藤さん

おはようございます、昨日はお忙しいところ、
ありがとうございました。

キーは
icmpping [<ip>,<count>>,<interval>,<size>,<timeout>]
です。

<>内はこのままでよろしいでしょうか?

ダッシュボードのシステムステータスを見ると、
緑になっています。OKでしょうか?

ユーザー help_kusa の写真

アイテムを確認しましたら、ステータスが取得不可となっており、赤バツマークでした。

ICMP ping トリガー (0) icmpping[<ip>,<count>,<interval>,<size>,<timeout>] 30 90 365 シンプルチェック 取得不可 -

監視ができていないようです。
トリガー (0) となっていますが、ここが原因でしょうか?

ユーザー KAZ の写真

help_kusaさん

※誤記がありましたので修正しました。

マニュアルは確認されましたか?

↓このページ開いて検索すると例が載ってますよ。
[url=http://www.zabbix.com/documentation/1.8/manual/about/what_s_new?]What's new in Zabbix 1.8[/url]

マニュアルは流し読みでもキーワード検索でも良いので見て頂けると、わかることもありますので、見て頂けますか?

ユーザー KAZ の写真

help_kusaさん

127.0.0.1は使わないようにしましょう。
ローカル・ループバックアドレスと言う意味を勘違いされている様な気がします。
まずは、/etc/hostsを元の状態に戻しましょう。

その次ですが、apacheから拡張子phpのファイルは開けましたか?

DocumentRootにindex.phpという名前のファイを作り、中身は下記のようにします。
<code>
<?php phpinfo();?>
</code>
これでブラウザから表示させるとphpの情報あ見えるはずです。
ここまでOKでしょうか?

その次に、ZabbixサーバとZabbixエージェントの設定ファイルと起動ファイルを修正し、ようやくZabbixサーバとエージェントの起動させます。

最後にZabbix webフロントエンドの設定を行います。

ユーザー KAZ の写真

help_kusaさん

httpd: apr_sockaddr_info_get() failed for ホスト名
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName

webサーバはapacheですよね?
ServerNameには何を指定していますか?

ユーザー help_kusa の写真

伊藤さん

ありがとうございます。

はい、apacheです。

ServerNameは特に変更した作業をやっていないのですが、
どこで指定できるのでしょうか?

申し訳ありません。

ユーザー KAZ の写真

help_kusaさん

ServerNameは特に変更した作業をやっていないのですが、
どこで指定できるのでしょうか?

なるほど、デフォルトですか…
CentOS5.4と言うことなので、OSバンドルのapacheのconfは以下にあると思います。

<code>
/etc/httpd/conf/httpd.conf
</code>

rpmインストールをしていない場合は、確認点が何個かあります。
1)apacheがちゃんと動くのか?
2)phpがapacheからちゃんと動くのか?
3)phpからMySQLがアクセスできるか?
4)Zabbixのフロントエンドが表示されるか?

3)は4)で確認できるので、まずは、1)の確認になります。
確認方法は以下です。
1)エラーが出ない(今出てますね?)
2)DocumentRootにテストページを配置し、ブラウザから正しく表示される

apacheで設定するのは主にhttpd.confになります。
設定はListenとServerNameを設定します。

Listenは通常webなら80なので下記のように設定します。
<code>
#
# Listen: Allows you to bind Apache to specific IP addresses and/or
# ports, in addition to the default. See also the <VirtualHost>
# directive.
#
# Change this to Listen on specific IP addresses as shown below to
# prevent Apache from glomming onto all bound IP addresses (0.0.0.0)
#
#Listen 12.34.56.78:80
Listen 80
</code>

ServerNameは建てたサーバのホスト名かDNS名を設定します。
下記はzabbixjpと言うホスト名を設定しています。
<code>
#
# ServerName gives the name and port that the server uses to identify itself.
# This can often be determined automatically, but we recommend you specify
# it explicitly to prevent problems during startup.
#
# If this is not set to valid DNS name for your host, server-generated
# redirections will not work. See also the UseCanonicalName directive.
#
# If your host doesn't have a registered DNS name, enter its IP address here.
# You will have to access it by its address anyway, and this will make
# redirections work in a sensible way.
#
#ServerName www.example.com:80
ServerName zabbixjp
</code>

これでapacheを再起動すればapache迄はOKなはずです。
/var/www/htmlに適当な内容のindex.htmlを配置すれば表示するかと思います。

ユーザー help_kusa の写真

伊藤さん

今件ですが、http.confのServerNameがコメントアウトされていましたので、こちらzabbixtestとしていますので、
ServerName=zabbixtestとしました。

その後、httpdを再起動しましたら、上記のメッセージは
でなくなりました。ありがとうございました。

ユーザー help_kusa の写真

以下を実行したところ、エラーが出力されました。

[root@localhost ~]# mysql -uroot zabbix < /usr/share/doc/zabbix-server-1.8.1/schema/mysql.sql
[root@localhost ~]# mysql -uroot zabbix < /usr/share/doc/zabbix-server-1.8.1/data/data.sql
[root@localhost ~]# mysql -uroot zabbix < /usr/share/doc/zabbix-server-1.8.1/data/images_mysql.sql

ERROR 1050(42S01) at line 1 : Table 'slideshows' already exists

すでに存在しているとのことですので、割愛してみます。

ユーザー KAZ の写真

help_kusaさん

以下を実行したところ、エラーが出力されました。

[root@localhost ~]# mysql -uroot zabbix < /usr/share/doc/zabbix-server-1.8.1/schema/mysql.sql
[root@localhost ~]# mysql -uroot zabbix < /usr/share/doc/zabbix-server-1.8.1/data/data.sql
[root@localhost ~]# mysql -uroot zabbix < /usr/share/doc/zabbix-server-1.8.1/data/images_mysql.sql

ERROR 1050(42S01) at line 1 : Table 'slideshows' already exists

ちょっとまずい様な…A(^^;
データベースをドロップせずに再トライしたのでしたら、drop databaseを行った後に、create databaseを行って上記3つのSQLを実行してみて下さい。

データベースが"zabbix"、アカウントが"zabbixjp"、パスワードが"zbxzbx"の場合は下記様な感じです。
<code>
mysql> drop database zabbix;
mysql> create database zabbix;
mysql> grant all privileges on zabbix.* to zabbixjp@localhost
mysql> identified by 'zbxzbx';
mysql> flush privileges;
</code>

ユーザー help_kusa の写真

伊藤さん

ありがとうございます。

ご教示いただいた方法で、3つのSQLを再実行しましたらエラーは出力されませんでした^^

続きの作業をやってみます。