:::: MENU ::::
Posts tagged with: Zabbix

Zabbixサーバとエージェントの通信が取れないよくある症状

Zabbixサーバーが既に稼働してあるものとして、情報を取りたいエージェント(Agent)側にzabbix agentをインストールすることが多々あります。

そのままインストールして、デフォルトのまま起動すると、大抵、サーバー側と通信取れないことがよくあるのでメモしておきます。
Zabbix Agentのインストール手順については割愛します。(yum,aptでzabbix agentをインストールするだけなので)

確認事項と対応

ファイヤーウォール

  • 使用しているOSのファイヤーウォールが起動しているのか?
  • ファイヤーウォールでポートがブロックされていないか?
  • SELinuxが起動していないか?

SELinuxやファイヤーウォール(iptables)が起動していたら、一旦無効にしてみましょう。(手っ取り早いので)

zabbix_agentd.confの設定

デフォルトでは、#Server = 127.0.0.1となっているので、ここをZabbixサーバーのIPに変更しましょう。

デフォルトのままの設定で通信出来ない場合は、下記のようなログが残っているはずです。

failed to accept an incoming connection: connection from “xxx.xx.xx.xx" rejected, allowed hosts: "127.0.0.1"

PIDが作成出来ないエラーの場合

稀に、zabbix agent起動時に、PIDファイルが作成出来なくて、起動に失敗する場合があります。

ログを確認すると、下記のようなエラー

zabbix_agentd [890]: cannot create PID file [/var/run/zabbix/zabbix_agentd.pid]: [2] No such file or directory

これは、OSを再起動した際に、tmpfsの影響により、ディレクトリやファイルが消される場合があります。
この場合には、/var/run/zabbixのディレクトリがあるか確認することとパーミッションを確認しましょう。

# mkdir /var/run/zabbix
# chown zabbix:zabbix /var/run/zabbix

この後に、zabbix agentを再起動し、/var/run/zabbix/zabbix_agentd.pidが作られていることを確認

その他

現在のZabbix最新版は3.xであり、以前からzabbixを利用していれば2.x以前を利用している場合もあるかと思います。
バージョンによる不具合も起きるかもしれませんので、なるべくバージョンは合わせたほうが良いでしょう!


Debian8へZabbix 3.x Agentのインストール

Debian8へZabbix 3.xのインストール

Debianデフォルトのzabbixパッケージは、2.xと古いので、3.xのリポジトリを追加してインストールする手順です。

リポジトリ追加

# wget http://repo.zabbix.com/zabbix/3.0/debian/pool/main/z/zabbix-release/zabbix-release_3.0-1+jessie_all.deb
# dpkg -i zabbix-release_3.0-1+jessie_all.deb
# apt-get update

zabbix-agentインストール

# apt-get install zabbix-agent

サーバー先の設定

zabbix agentはサーバーへ情報を送るプログラムなので、情報を送るサーバーIPを記述する必要があります。

# vi /etc/zabbix/zabbix_agentd.conf
....
Server=127.0.0.1  <--このIPを修正します
....

保存後に、zabbix agentを再起動

# systemctl restart zabbix-agent.service

Zabbixサーバー

ちなみに、Zabbixサーバーをインストールするには下記でインストール

# apt-get install zabbix-server-mysql zabbix-frontend-php

今回のZabbix agentを含め、Debianにかぎらず、サーバーをインストールした後には、設定ファイルやPHP環境を変更する必要があるので、下記公式の記事を参照です。
https://www.zabbix.com/documentation/3.0/manual/installation/install_from_packages#debianubuntu


QNAPをZabbixの監視対象にする

Zabbix Serverで監視対象のホストを順次登録しているのですが、NASのQNAPシリーズも監視対象にしたい。

しかし、QNAPのアプリではZabbixは存在しないので、下記の手順でインストールした。

QNAP側 (Zabbix Agent)

  1. Zabbixのフォーラムにて、配布されているQPKGファイルをダウンロード
    https://www.zabbix.com/forum/showthread.php?t=40955
  2. QNAPに管理者でログインし、App Centerを開く
  3. 「手動でインストール」 をクリックし、ダウンロードしたQPKGファイルを選択し、インストール
  4. Zabbix _agentのインストールが完了後、起動をON
  5. 次に、QNAPへTelnet若しくはSSHで管理者にてログイン
  6. zabbixの設定ファイルを編集
    # vim /etc/zabbix/zabbix_agentd.conf
    ….
    Server = xxx.xxx.xxx.xxx (Zabbix ServerのIPに設定)
    ….
  7. zabbix agent再起動
    QNAP側で、起動しているので、一旦停止して起動させます。

    # /etc/init.d/zabbix_agentd.sh stop
    # /etc/init.d/zabbix_agentd.sh start
  8. zabbix agent起動確認
    # ps aux|grep zabbix
    13738 zabbix 696 S /usr/bin/zabbix_agentd -c /etc/zabbix/zabbix_agentd.c
    13743 zabbix 860 S /usr/bin/zabbix_agentd -c /etc/zabbix/zabbix_agentd.c
    ….

Zabbix Server 側

  1. Zabbix Serverへ管理者でログイン
  2. 設定のホスト作成でQNAP用のホストを作成
    IPアドレスにQNAPのIPアドレス
    テンプレートにTemplate OS Linux

これで、しばらく待ち、エージェントの状態が緑になればOKです。

赤のまま表示されていれば、ファイヤーウォールの影響か、ポートの指定、IPの指定等を確認したほうが良いでしょう。

作業した直後、エージェントの状態が赤のままで、調べてみたら、QNAP側のzabbix agentが起動していなかったと言うオチでした。
QNAP上でzabbixを再起動した際に、横着して、zabbix_agentd.sh restartとやっちゃったんです。(_😉


zabbix 2.4.xから3.0へアップデートしたら画面が真っ白

職場のzabbixを2.4.xから3.0へアップデートしたのでメモ

アップデート方法は、ほぼ下記のURL通りです。(手抜き)
http://qiita.com/ryouma_nagare/items/9bcf8f5e3e514103b515

違う点は、pg_dumpでなくて、mysqlを使っている点と、リポジトリの差し替えで、CentOS 6.xの環境だったので、rhelの7を6へ変更したくらいです。

まぁ、すんなりとアップデートが終わり、再起動してみた。

# service start zabbix-server
# service start zabbix-agent

それで、いつも通りにWEBのログイン画面にアクセスすると、画面が真っ白

失敗したのか、zabbixのログを見ても、表示されないエラーは見当たらず、Apacheのログを確認したところ、

PHP Parse error: syntax error, unexpected ‘[‘ in /usr/share/zabbix/index.php on line 29

どうやら、zabbix 3.xからは、php5.6以降が必須らしい。
phpのバージョンを調べたら、5.3.xだったので、早速、phpのアップデートです。
ちなみに、php7は、まだ様子見なので、5.6.xをインストールしました。

下記URLを参考に、remiで5.6をインストールです。
http://syaka.site/2016/03/6/

phpのアップグレード完了後に、Apacheを再起動して、再度WEB画面にアクセスすると、

Not Found The requested URL /zabbix/ was not found on this server.

2.4.xのバージョンまで、同じURLで接続出来ていたのに?と、/etc/httpd/conf.d/zabbix.conを確認したところ、zabbix.conf.rpmsaveに名前変更されたままでしたので、zabbix.confに戻しました。

そして、再度、WEB画面にアクセス。
表示されました! が・・・何だかエラーっぽいのが沢山表示されている。

ふむ、timezoneがどうとか言ってるようで、いつの日からか、timezone設定しなきゃいけなかったのを思い出し、/etc/php.iniを編集して、timezoneを有効にした。

date.timezone = Asia/Tokyo

さらに、Apacheを再起動して、再接続したら、エラーっぽい表示はなくなりましたが、今度は、php内のオプションを変更してね〜とな。

あとは、phpのオプション設定変更と、不足しているモジュールを導入してあげれば良いようです。

/etc/php.ini

post_max_size = 16M
max_execution_time = 300
max_input_time = 300
always_populate_raw_post_data = -1

不足しているモジュールは、bcmathとxml関連なので、

# yum install php-bcmath php-xml

これで、無事に正常動作が確認できました。 はぁ、疲れた。


RedHat Enterpriseへzabbixエージェント導入

RHEL 5系のRedhat5.x及びCentOS5.xへzabbixエージェント導入方法

  1. 下記サイトから最新のatomic-releaseをダウンロード
    http://www6.atomicorp.com/channels/atomic/centos/5/x86_64/RPMS/
  2. atomic-releaseをインストール
    # rpm -Uvh atomic-release*rpm
  3. zabbix-agentをインストール
    # yum install zabbix-agent 

以上、後は設定ファイルにzabbixサーバを入れて、起動するだけ。