CENTOS6 でも
ZABBIX 3.0 を動かしたい
米田 真治(株式会社サイタスマネジメント)
12016/04/20OSS運用管理勉強会
自己紹介
•米田 真治 (こめだ しんじ)
•株式会社サイタスマネジメント CTO
•経歴
•学生時代にUNIXに出会う
•INTERNETにつながる環境がきた
•いろんなプログラムをビルドしているうちに、
•開発・構築の楽しさに目覚める
•学科のシステム管理を経験
•システム運用のおもしろさを覚える
•就職してISPのサーバ構築・運用に携わる
•2000年6月 サイタスマネジメント創業
2016/04/20OSS運用管理勉強会 2
ZABBIX ON CENTOS6.7
オフィシャルなリポジトリでは RHEL6/CENTOS6 用の
ZABBIX SERVER パッケージは提供されていません。
•ZABBIX 3.0で要求される環境
•PHP バージョン 5.4 以上
•SMTP AUTH のためには バージョン 7.20 以上のLIBCURLが必
要
RHEL6/CENTOS6 のOSの標準構成では動作しないため、
ZABBIX SERVER、WEBインターフェースの提供は打ち切られました。
本体とGUI以外なら動きます。
32016/04/20OSS運用管理勉強会
どうにかならないものか
RHEL7/CentOS7 用にビルドされた Zabbix 3.0 は
glibc 2.17 を要求します。
CentOS6 と CentOS7 では、glibc のバージョンが異なります。
CentOS6 の glibc は 2.12、
CentOS7 の glibc は 2.17 となっています。
単純に持ってきて動かすというわけにはいきません。
$  LD_LIBRARY_PATH=/opt/zabbix/lib64:/opt/zabbix/usr/lib64  
/opt/zabbix/usr/sbin/zabbix_server_mysql -­‐h
/opt/zabbix/usr/sbin/zabbix_server_mysql:  relocation  error:  
/opt/zabbix/lib64/libc.so.6:  symbol  _dl_starting_up,  version  
GLIBC_PRIVATE  not  defined  in  file  ld-­‐linux-­‐x86-­‐64.so.2  with  link  
time  reference
では Docker は?
Docker v1.8 以降 RHEL/CentOS6 はサポート外です。
42016/04/20OSS運用管理勉強会
鳴かせてみようホトトギス
おもしろいのでやってみました。
CentOS6 で Zabbix 3.0 を動かす (力業編)
http://qiita.com/komeda-­‐shinji/items/93880150f85738432a59
rpm パッケージと、対応する glibc や libmysqlclient、libcurl をほどい
て配置して動かす方法です。
必要となる glibc のバージョンが合わないため、ラッパーを使って ld-
linux 経由でロードモジュールを起動します。
ソースからのビルドは不要ですが、かなり強引な方法で実現していま
す。
ld-linux.so: 実行に必要な共有ライブラリを見つけてロードし、 プログラムを起動させるヘルパープ
ログラム。
5
$  /opt/zabbix/lib64/ld-­‐linux-­‐x86-­‐64.so.2  -­‐-­‐library-­‐path  
/opt/zabbix/lib64:/opt/zabbix/usr/lib64  
/opt/zabbix/usr/sbin/zabbix_server_mysql -­‐h
usage:
zabbix_server_mysql [-­‐c  config-­‐file]
zabbix_server_mysql [-­‐c  config-­‐file]  -­‐R  runtime-­‐option
zabbix_server_mysql -­‐h
zabbix_server_mysql -­‐V
2016/04/20OSS運用管理勉強会
CENTOS6 で ZABBIX 3.0 を動かす (力業編)
メリット
ビルド不要
デメリット
とにかく強引すぎ
おすすめできません
62016/04/20OSS運用管理勉強会
すこし手直ししたもの
yum と rpm コマンドは代替パスを指定してパッケージをインストール
できます。
PatchELF を使えばロードモジュールのELF インタープリターや
RPATH の変更ができます。
うまく組み合わせると
パッケージをインストールしてPatchELFで修正すれば動きます。
CentOS6 で Zabbix 3.0 を動かす (PatchELF編)
http://qiita.com/komeda-­‐shinji/items/798a2c12136937135c3b
PatchELFのビルド
http://qiita.com/komeda-­‐shinji/items/6a86a0b466a67ddf3f47
72016/04/20OSS運用管理勉強会
CENTOS6 で ZABBIX 3.0 を動かす (PATCHELF編)
メリット
パッケージのままインストールしているため、
一応パッケージ管理可能です。
デメリット
それほど手軽でもありません。
実験環境で使うレベルでしょう。
PATCHELF だけはビルドする必要があります。
82016/04/20OSS運用管理勉強会
鳴かぬなら それもまた良し ホトトギス
おすすめ 正統派
ソースからビルドしましょう。
CentOS6 で Zabbix 3.0 を動かす (自力ビルド編)
http://qiita.com/komeda-­‐shinji/items/b6b7adc914a3ca8ad0cb
ビルドされたロードモジュールが公開されているものもあるようです。
もしも信頼のおけるロードモジュールが入手できるなら……。
まあ、自力ビルドしましょう。
$  rpmbuild -­‐bb  curl.spec
$  rpmbuild -­‐bb  zabbix.spec
92016/04/20OSS運用管理勉強会
CentOS6 で Zabbix 3.0 を動かす (自力ビルド編)
メリット
パッケージとして導入するため、
管理しやすいでしょう。
curl を更新して /usr/local に配置するなど、互換性に
考慮した配置が取れます。
デメリット
ビルドの手間がかかります。
ビルドに慣れていない人にとってはかなり敷居が高い
でしょう。
102016/04/20OSS運用管理勉強会
結論
ビルドの手間を惜しまなければ大丈夫です。
でもそろそろOSのバージョンアップが必要な頃合いです。
RHEL6/CENTOS6
ライブラリやミドルウェアのバージョンが、
とにかく古いですね。
これがいやで数年前に UBUNTU SERVER に乗り換えました
UBUNTU 14.04 LTS まだ UPSTART です。
(でも UBUNTU 15.04以降では SYSTEMD になります。)
RHEL7/CENTOS7
そうSYSTEMDです。
そろそろ新しいOSに SYSTEMD に慣れましょう >自分
RASPBERRY PI3 のRASBIANもすでにSYSTEMDでした。
112016/04/20OSS運用管理勉強会

CentOS6 でも Zabbix 3.0 を動かしたい

  • 1.
    CENTOS6 でも ZABBIX 3.0を動かしたい 米田 真治(株式会社サイタスマネジメント) 12016/04/20OSS運用管理勉強会
  • 2.
    自己紹介 •米田 真治 (こめだしんじ) •株式会社サイタスマネジメント CTO •経歴 •学生時代にUNIXに出会う •INTERNETにつながる環境がきた •いろんなプログラムをビルドしているうちに、 •開発・構築の楽しさに目覚める •学科のシステム管理を経験 •システム運用のおもしろさを覚える •就職してISPのサーバ構築・運用に携わる •2000年6月 サイタスマネジメント創業 2016/04/20OSS運用管理勉強会 2
  • 3.
    ZABBIX ON CENTOS6.7 オフィシャルなリポジトリではRHEL6/CENTOS6 用の ZABBIX SERVER パッケージは提供されていません。 •ZABBIX 3.0で要求される環境 •PHP バージョン 5.4 以上 •SMTP AUTH のためには バージョン 7.20 以上のLIBCURLが必 要 RHEL6/CENTOS6 のOSの標準構成では動作しないため、 ZABBIX SERVER、WEBインターフェースの提供は打ち切られました。 本体とGUI以外なら動きます。 32016/04/20OSS運用管理勉強会
  • 4.
    どうにかならないものか RHEL7/CentOS7 用にビルドされた Zabbix3.0 は glibc 2.17 を要求します。 CentOS6 と CentOS7 では、glibc のバージョンが異なります。 CentOS6 の glibc は 2.12、 CentOS7 の glibc は 2.17 となっています。 単純に持ってきて動かすというわけにはいきません。 $  LD_LIBRARY_PATH=/opt/zabbix/lib64:/opt/zabbix/usr/lib64   /opt/zabbix/usr/sbin/zabbix_server_mysql -­‐h /opt/zabbix/usr/sbin/zabbix_server_mysql:  relocation  error:   /opt/zabbix/lib64/libc.so.6:  symbol  _dl_starting_up,  version   GLIBC_PRIVATE  not  defined  in  file  ld-­‐linux-­‐x86-­‐64.so.2  with  link   time  reference では Docker は? Docker v1.8 以降 RHEL/CentOS6 はサポート外です。 42016/04/20OSS運用管理勉強会
  • 5.
    鳴かせてみようホトトギス おもしろいのでやってみました。 CentOS6 で Zabbix3.0 を動かす (力業編) http://qiita.com/komeda-­‐shinji/items/93880150f85738432a59 rpm パッケージと、対応する glibc や libmysqlclient、libcurl をほどい て配置して動かす方法です。 必要となる glibc のバージョンが合わないため、ラッパーを使って ld- linux 経由でロードモジュールを起動します。 ソースからのビルドは不要ですが、かなり強引な方法で実現していま す。 ld-linux.so: 実行に必要な共有ライブラリを見つけてロードし、 プログラムを起動させるヘルパープ ログラム。 5 $  /opt/zabbix/lib64/ld-­‐linux-­‐x86-­‐64.so.2  -­‐-­‐library-­‐path   /opt/zabbix/lib64:/opt/zabbix/usr/lib64   /opt/zabbix/usr/sbin/zabbix_server_mysql -­‐h usage: zabbix_server_mysql [-­‐c  config-­‐file] zabbix_server_mysql [-­‐c  config-­‐file]  -­‐R  runtime-­‐option zabbix_server_mysql -­‐h zabbix_server_mysql -­‐V 2016/04/20OSS運用管理勉強会
  • 6.
    CENTOS6 で ZABBIX3.0 を動かす (力業編) メリット ビルド不要 デメリット とにかく強引すぎ おすすめできません 62016/04/20OSS運用管理勉強会
  • 7.
    すこし手直ししたもの yum と rpmコマンドは代替パスを指定してパッケージをインストール できます。 PatchELF を使えばロードモジュールのELF インタープリターや RPATH の変更ができます。 うまく組み合わせると パッケージをインストールしてPatchELFで修正すれば動きます。 CentOS6 で Zabbix 3.0 を動かす (PatchELF編) http://qiita.com/komeda-­‐shinji/items/798a2c12136937135c3b PatchELFのビルド http://qiita.com/komeda-­‐shinji/items/6a86a0b466a67ddf3f47 72016/04/20OSS運用管理勉強会
  • 8.
    CENTOS6 で ZABBIX3.0 を動かす (PATCHELF編) メリット パッケージのままインストールしているため、 一応パッケージ管理可能です。 デメリット それほど手軽でもありません。 実験環境で使うレベルでしょう。 PATCHELF だけはビルドする必要があります。 82016/04/20OSS運用管理勉強会
  • 9.
    鳴かぬなら それもまた良し ホトトギス おすすめ正統派 ソースからビルドしましょう。 CentOS6 で Zabbix 3.0 を動かす (自力ビルド編) http://qiita.com/komeda-­‐shinji/items/b6b7adc914a3ca8ad0cb ビルドされたロードモジュールが公開されているものもあるようです。 もしも信頼のおけるロードモジュールが入手できるなら……。 まあ、自力ビルドしましょう。 $  rpmbuild -­‐bb  curl.spec $  rpmbuild -­‐bb  zabbix.spec 92016/04/20OSS運用管理勉強会
  • 10.
    CentOS6 で Zabbix3.0 を動かす (自力ビルド編) メリット パッケージとして導入するため、 管理しやすいでしょう。 curl を更新して /usr/local に配置するなど、互換性に 考慮した配置が取れます。 デメリット ビルドの手間がかかります。 ビルドに慣れていない人にとってはかなり敷居が高い でしょう。 102016/04/20OSS運用管理勉強会
  • 11.
    結論 ビルドの手間を惜しまなければ大丈夫です。 でもそろそろOSのバージョンアップが必要な頃合いです。 RHEL6/CENTOS6 ライブラリやミドルウェアのバージョンが、 とにかく古いですね。 これがいやで数年前に UBUNTU SERVERに乗り換えました UBUNTU 14.04 LTS まだ UPSTART です。 (でも UBUNTU 15.04以降では SYSTEMD になります。) RHEL7/CENTOS7 そうSYSTEMDです。 そろそろ新しいOSに SYSTEMD に慣れましょう >自分 RASPBERRY PI3 のRASBIANもすでにSYSTEMDでした。 112016/04/20OSS運用管理勉強会