LoginSignup
1
1

More than 5 years have passed since last update.

Zabbixサーバ、プロキシを入れたら動かなかったときのメモ

Last updated at Posted at 2015-04-09

動作環境

  • MySQL 5.6.19
  • Zabbixサーバ or プロキシ 2.0.12
  • Postfix 2.6.6

EC2インスタンスにZabbixプロキシをソースからインストールし起動したらなぜかプロセスが立ち上がらなくてログを見たところ、次のようなエラーログが出てました。

/var/log/zabbix/zabbix_proxy.log
 26489:20140716:165749.623 Starting Zabbix Proxy (active) [platform-zabbix_proxy]. Zabbix 2.0.12 (revision 45390).
 26489:20140716:165749.623 **** Enabled features ****
 26489:20140716:165749.623 SNMP monitoring:        NO
 26489:20140716:165749.623 IPMI monitoring:        NO
 26489:20140716:165749.623 WEB monitoring:        YES
 26489:20140716:165749.623 ODBC:                   NO
 26489:20140716:165749.623 SSH2 support:           NO
 26489:20140716:165749.623 IPv6 support:           NO
 26489:20140716:165749.623 **************************
/usr/local/sbin/zabbix_proxy: relocation error: /usr/local/sbin/zabbix_proxy: symbol mysql_init, version libmysqlclient_18 not defined in file libmysqlclient.so.18 with link time reference

libmysqlclinet.soの読み込みができていないっぽい。

読み込んでいる共有ライブラリを調べたらMySQLをインストールしたパスと異なっていました。
インストールしたMySQLの共有ライブラリは/var/lib64直下にありました。

$ ldd /usr/local/sbin/zabbix_proxy | grep libmysqlclient
        libmysqlclient.so.18 => /usr/lib64/mysql/libmysqlclient.so.18 (0x00007f8dffec7000)

インストールされているパッケージを調べるとmysql55-lib.x86_64という入れた覚えがないものが入っていました。

$ yum list installed | grep -i mysql
MySQL-client.x86_64            5.6.19-1.el6                 @/MySQL-client-5.6.19-1.el6.x86_64
MySQL-devel.x86_64             5.6.19-1.el6                 @/MySQL-devel-5.6.19-1.el6.x86_64
MySQL-embedded.x86_64          5.6.19-1.el6                 @/MySQL-embedded-5.6.19-1.el6.x86_64
MySQL-server.x86_64            5.6.19-1.el6                 @/MySQL-server-5.6.19-1.el6.x86_64
MySQL-shared.x86_64            5.6.19-1.el6                 @/MySQL-shared-5.6.19-1.el6.x86_64
MySQL-shared-compat.x86_64     5.6.19-1.el6                 @/MySQL-shared-compat-5.6.19-1.el6.x86_64
MySQL-test.x86_64              5.6.19-1.el6                 @/MySQL-test-5.6.19-1.el6.x86_64
mysql55-libs.x86_64            5.5.38-1.0.amzn1             @amzn-updates

どうやらPostfixをyumでインストールしたときに一緒に入ってきたみたいで、このままでは削除できません。

$ sudo rpm -e mysql55-libs.x86_64
エラー: 依存性の欠如:
        libmysqlclient.so.18(libmysqlclient_16)(64bit)(インストール済み)postfix-2:2.6.6-2.14.amzn1.x86_64 に必要とされています

$ ldd /usr/sbin/postfix | grep libmysqlclient
        libmysqlclient.so.18 => /usr/lib64/mysql/libmysqlclient.so.18 (0x00007fe9f4641000)

/etc/ld.so.conf.d/mysql55-x86_64.confのパスを/usr/lib64に変更しようとしましたが、今度はPostfixが動かなくなってしまうため、とても困りました。

苦し紛れの対応として、Zabbixプロキシの起動スクリプト(/etc/init.d/zabbix_proxy)で共有ライブラリのパスを変更することで対処しました。

/etc/init.d/zabbix_proxy
ZABBIX_BIN="/usr/local/sbin/zabbix_proxy"
# 追加
LD_LIBRARY_PATH=/usr/lib64
export LD_LIBRARY_PATH

これでZabbixプロキシを再起動するとちゃんと動きました。
今回はZabbixプロキシでしたが、Zabbixサーバも同じだと思います。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1