Zabbix Advent Calendar 2018の13日目です。
ここで小ネタを1つ。
DockerコンテナでZabbixを構築しようとした時にこんなことが。
ベースのOSとしてCentOSを指定してZabbixはパッケージを利用してインストールっと。
よし、あとはデータベースの作成だ!
ん?あれ?データベース作成用のファイル(create.sql.gz)が無い?
と止まっている方がまだいらっしゃるようなので、ここにも書いておきます。
DockerのLinuxのイメージによっては、コンテナのサイズ削減のため、パッケージをインストールする時にドキュメント属性のファイルをインストールしないようにする設定がされている場合があります。centos:centos7でもそのような設定がされています。
そのような環境にZabbix公式のパッケージを使用してインストールしようとした場合は、データベース作成用のSQL文が入っているファイル(create.sql.gz)はドキュメント属性となっているのでインストールされません。
具体的にどのような設定になっているかというと、/etc/yum.conf内に以下のような設定が行われているはずです。
tsflags=nodocs
これがあるとドキュメント属性のファイルがインストールされません。
対策としては、yum.conf内のこの設定行をコメントアウトするか、yumコマンドでパッケージをインストールする際に、コマンドのオプションでtsflagsを設定する方法が考えられます。
# yum --setopt=tsflags='' install zabbix-server-mysql
Zabbix以外の他のソフトウェアでも、ドキュメント属性のファイルだと同様にインストールされませんので、パッケージに入っているはずなのにインストールされないという時は、このyumコマンドのオプションのことを思い出してください。