2017年3月8日水曜日

Zabbix server is not running の原因が DNS のリゾルバだった件

概要

zabbix-server のプロセスが動作しているのに「Zabbix server is not running 」が画面上に表示されてしまう
表示されているにも関わらずアイテムの登録やホストの登録など操作は普通にできる

環境

  • CentOS 6.6
  • Zabbix Server 2.0.3
  • Apache httpd 2.2.15

原因と状況の詳細

Zabbix Server が動作しているサーバ上で localhost を名前解決することができていない
ただ、自分の状況だと /etc/hosts に localhost の情報が記載されていないのにも関わらず localhost を名前解決できる環境が存在している
その環境だと Zabbix server is not running が表示されない ( localhost が名前解決できるので当たり前 )
解決した問題としては /etc/hosts に localhost の情報が記載されていない状況でも localhost を解決できるようにした

解決方法

DNS のリゾルバの設定を見なおした
なぞのリゾルバや Google の「8.8.8.8」などが設定されている場合は localhost を解決してくれない
なので、以下のようにリゾルバを設定することで localhost を解決できるようにした

  • vim /etc/resolv.conf
search localdomain
nameserver 127.0.0.1

で、このあとで

  • service zabbix_server restart
  • service httpd restart

とすることで各プロセス側でも localhost が解決できるようになりZabbix server is not running が表示されなくなる

最後に

とりあえず「Zabbix server is not running」というキーワードでググると

  • DB の設定を見なおしてください
  • zabbix.conf.php の bind している IP を確認してください
  • /etc/hosts の内容を見なおしてください

等が出たのですがどれも自分は解決せず自力で解決したところリゾルバの設定だったというオチでした

ただ、リゾルバを localhost の named (bind) とかに頼るのはあまり良くないみたいです
普通は外部のリゾルバなり社内のイントラ用のリゾルバを使って localhost の解決は /etc/hosts でやるのが妥当なような気がします
自分の場合は /etc/hosts を編集しちゃまずい環境だったので /etc/resolv.conf を編集しました
/etc/hosts が編集できないで /etc/resolv.conf が編集できるのもそれはそれでマズイだろという声もあると思いますがそれは個人の環境なので気にしないでください

0 件のコメント:

コメントを投稿