Zabbix」タグアーカイブ

既に運用中のCentOS 7.x上のZabbix(Webフロントエンド)のPHPを5系から7系に入れ替える

※2018/06/28 内容ブラッシュアップ

インストール時にCentOS 7.x系でPHP 7.xを使いつつZabbixを導入する方法はちょくちょく見かけるのですが、既に運用中で入れ替えて見る物は見かけなかったので残しておきます。PHP 5.6のサポート終了も年内となり、おそらくZabbix Webフロントエンドの動きもより快適になるであろう7.xに入れ替えていきましょう。

前提

  • CentOS Linux release 7.5
  • Zabbix 3.4.10
  • remiレポジトリから導入したPHP 5.6 → 同7.1
  • DBにはMySQLを利用

作業

・remiレポジトリの設定 /etc/yum.repos.d/remi.conf のPHP 5.6のenable設定を0に変更し、代わりに7.1を有効にします。

・このまま yum update php php-common を投げるとアップデート出来そうですが、実際には依存関係の絡みで失敗します。これはZabbix Webフロントエンドがphp-mysqlなるパッケージに依存している(事になっている)からなのですが、PHP 7.xにはもうそのようなパッケージはもう存在しません。本来php-mysqlndさえ存在していれば普通に動作します。

--skip-brokenオプションで回避できそうなメッセージも表示されますがそれを試しても結果はそう変わりません。yumでの導入を諦めてZabbixのパッケージをrpmで直接インストールするなどが可能なのですが、裏技的に以下のような対応で回避できます。

yum update php php-common --exclude=php-mysql

・上記コマンドを実行するとphp-mysql導入をスルーし、代わりにremiレポジトリ内にあるpecl拡張となったphp-pecl-mysqlがインストールされます。これはメンテナンスの終わったphp-mysqlモジュールをpecl拡張としたものですが、これでお茶を濁す事でphp 7.xもzabbix-webもyumを利用してインストールした状態にすることができます。

・もっとも実際には利用しないモジュールとはいえ、保守の終わったセキュリティフィックスも当たらない拡張を入れておくのも気持ちが悪いので設定で無効化しておきます。

/etc/php.d/50-mysql.ini 内でエクステンションを読み込んでいる部分をコメントアウトする事でphp-pecl-mysql拡張は読み込まれなくなります。これでyumでの導入状態を壊すことなく不要なエクステンションを無効化出来ます。

・zabbix-web-mysqlはmysqlモジュール(で提供されるmysql_* 関数)を利用していないので無効化してしまっても動作上全く問題は有りません(※1)。

なお、php.ini や /etc/httpd/conf.d/zabbix.conf 等の設定については今回触れませんので適宜調整してください。

※1: Zabbix 3.4が本当にphp-mysqlに依存していない事を確認してみた

Zabbixのデフォルト配色が色弱にやさしくないので変更する

Zabbix上の正常色、異常色は典型的な黄緑色、赤の配色になっていますが、一部の色弱の方にはとても区別しづらい色になっています。日本人男性の20人に1人は色弱持ちと言われる日本ですので、複数人が利用するZabbixでは色を変えた方が無難でしょう。

デフォルトのテーマが以下に配置されているのでvimで開いてまとめて変更します(CentOS 7.xにyumでインストールした場合のパスとなります)。
vim /usr/share/zabbix/styles/blue-theme.css

すべての #59db8f を #59dbc2 に置き換えます。

:%s/#59db8f/#59dbc2/g

これでも見づらい場合は各自調整してみてください。なお、このファイルはZabbixをマイナーアップデートするたびに元に戻されてしまいます。別のテーマとしてコピーしてあげる方がいいのかもしれません。

簡易的なZabbixの設定バックアップ・リストアツールを作ってみた

以前のこの投稿

Zabbixの設定のみをバックアップする (Zabbix 3.0)

Zabbixの設定のみをバックアップする (Zabbix 3.0)

からいろいろ修正、Zabbix 3.4への対応なども含めてCLIツールをリリースしました。

GitHubなどでも同様のツールは見かけますが、リストアまで含めて対応しているものであったり、3.0よりも新しいバージョンに対応した物はほとんど見かけなかったので。

lf-uraku-yuki/zabbix_db_config_backup: Zabbix DB Config Only Backup Tool
https://github.com/lf-uraku-yuki/zabbix_db_config_backup

これをcronで定期的に叩いて差分バックアップを取り続ける事で、任意の時点への設定巻き戻しが可能になります。巻き戻した時点までの監視ログは、整合性確保の為に消失しますのでご注意ください。

また、無保証ソフトウェアとなりますのでその点も何卒。