MIRACLE ZBX8300 / Virtual Appliance V3.0(20181017 アップデート版)の修正と対処
MIRACLE ZBX8300/ Virtual Appliance V3.0(20181017 アップデート版)の修正と対処
概要
MIRACLE ZBX Virtual Appliance V3.0の「20181017 アップデート版」で施された以下の修正について解説します。また、MIRACLE ZBX8300/Virtual Appliance V3.0(初期リリース)への対処方法も記載します。
対象となる製品
MIRACLE ZBX8300/8300b
MIRACLE Virtual Appliance V3.0 (初期リリース版)
※MIRACLE Virtual Appliance V3.0 (20181017 アップデート版以降)では、以下の対処が行われています。
SNMPトラップ監視において、監視データの取得が遅延する
解説
snmptrapdがSNMPトラップを受信した際に送信元のホスト名を解決する設定がされていると、DNS等を使用したホスト名の解決に多くの時間を要する環境では、トラップファイルへのデータの書き出しが遅くなります。
この問題を解決するには、snmptrapdによるホスト名の解決を無効にするか、ホスト名の解決に多くの時間を要することを解消することです。
対処
MIRACLE ZBX8300/Virtual Appliance V3.0の設定では、snmptrapdによるホスト名の解決は不要であるため、その機能を無効にすることによってこの問題を解決します。
- snmptrapdの設定を変更する
下記の設定ファイルのパラメータOPTIONSにオプション"-n"を指定することにより送信元ホストの名前解決を無効にします。
※変更を反映するにはsnmptrapdの再起動が必要です。
設定ファイル:/etc/sysconfig/snmptrapd
設定例)
# OPTIONS="-m +ALL -nLsd -On"
- 設定の変更を反映する
snmptrapdの再起動を行います。
# clprsc -t exec-SnmpTrapd
# clprsc -s exec-SnmpTrapd
yum updateによりパッケージkernelが不用意にアップデートされることがある
解説
MIRACLE ZBX8300/Virtual Appliance V3.0ではMIRACLE CLUSTERPRO /Failsafeを使用しているため、特定のバージョンのカーネルを使用する必要があります。パッケージkernelがyum updateの対象から除外されていないことから、yum updateにより不用意にアップデートされてしまう問題があります。
対処
パッケージkernelをyum updateの対象から除外することにより、この問題を解決します。
- yumの設定の変更
下記の設定ファイルの[main] セクションに下記の行を追記します。
設定ファイル: /etc/yum.conf
exclude=kernel*
SNMPトラップ監視のトラップファイルがサイズの上限を越えてしまう
解説
SNMPトラップ監視のトラップファイルには、そのサイズに2GBの上限があります。上限を超えた場合は、監視が行えなくなります。製品出荷時の状態では、1週間に1度トラップファイルをローテートする設定となっていますが、この設定では上限を越えてしまうことがあります。
対処
1週間に1度のローテートに加えて、5分毎にトラップファイルのサイズをチェックし、1500MBを越えていた場合にトラップファイルをローテートすることによって、改善を図ります。
- 事前準備
下記のZIPファイルをダウンロードして、スクリプトファイル(lotate_snmptt.sh)とlogrotateの設定ファイル(snmptt)を取り出してください。
-
シェルスクリプトを設置する
下記のパスに上記で取得したスクリプトファイル(lotate_snmptt.sh)を設置してください。
パス: /usr/local/bin/lotate_snmptt.sh
スクリプトファイル: lotate_snmptt.sh
- cronの設定の変更
5分毎にcronを使用して上記のスクリプトを実行する設定を行ってください。
設定ファイル: /etc/crontab
*/5 * * * * root /usr/local/bin/lotate_snmptt.sh
- logrotateの設定変更
SNMPTTのlogrotateの設定ファイルを上記で取得した設定ファイル(snmptt)に置き換えてください。
設定ファイル: /etc/logrotate.d/snmptt
MIRACLE CLUSTERPRO/ Failsafeを停止するとsshを使用した接続ができなくなる
解説
MIRACLE ZBX8300/Virtual Appliance V3.0では、sshdをMIRACLE CLUSTERPRO/ Failsafeの管理下に置いているため、MIRACLE CLUSTERPRO/ Failsafeを停止するとsshdも停止してしまいます。
対処
sshdをMIRACLE CLUSTERPRO/ Failsafeの設定を変更して、管理下から外す必要があります。具体的な対処方法については、当社のサポートサービスに問い合わせをしてください。
Zabbixサーバのログファイルに"no such file or directory"のログが出力され続ける問題
解説
製品出荷時の状態では、SNMPトラップ監視に使用するトラップファイルが存在していないため、件のログがZabbixサーバのログファイル(zabbix_server.log)に出力されてしまいます。
対処
トラップファイルを設置することによりこの問題を解決します。
- トラップファイルを作成し、所有者、所有グループ及びパーミッションを設定します。
- 使用中のバージョン確認方法
# touch /mnt/mirror/snmptt/snmptt.log
# chmod 664 /mnt/mirror/snmptt/snmptt.log
# chown snmptt:snmptt /mnt/mirror/snmptt/snmptt.log
LDAPを使用した認証機能が使用できない
解説
製品出荷時の状態ではパッケージphp-ldapがインストールされていないため、LDAPを使用した認証機能が使用出来ません。
対処
パッケージphp-ldapをインストールすることによってこの問題を解決します。
※使用されているphpのバージョンと同じバージョンのパッケージphp-ldapをインストールしてください。
- 確認方法:
# rpm -q php
- パッケージを入手する
下記のWebページより、パッケージphp-ldapを入手します。
https://tsn.miraclelinux.com/ja/errata?combine=&combine_1=All&combine_2=5&items_per_page=10
-
パッケージをインストールする
rpmコマンドを使用してパッケージphp-ldapをインストールします。
※パッケージのバージョンは使用されている環境にあわせて読み替えてください。
# touch /mnt/mirror/snmptt/snmptt.log
# chmod 664 /mnt/mirror/snmptt/snmptt.log
# chown snmptt:snmptt /mnt/mirror/snmptt/snmptt.log
※yumコマンドを使用して、パッケージの入手とインストールを行うことも可能です。
mysqlデータベースに不要なエントリが存在する(2019/04/24追記)
解説
mysqlデータベースに不要なエントリが存在していました。動作上の問題はありませんが、望ましい状態ではありません。
※対象はZBX8300/bクラスタ構成のみ。
対処
DBから不要なエントリを削除してください。
※必ずDBのバックアップを取得してから実施してください。
# mysql -uroot -p mysql
MariaDB [mysql]> DELETE FROM user WHERE Password='' AND Host='zbx-server1' AND User='root' ;
MariaDB [mysql]> DELETE FROM user WHERE Password='' AND Host='127.0.0.1' AND User='root' ;
MariaDB [mysql]> DELETE FROM user WHERE Password='' AND Host='::1' AND User='root' ;
MariaDB [mysql]> DELETE FROM user WHERE Password='' AND Host='localhost' AND User='' ;
MariaDB [mysql]> DELETE FROM user WHERE Password='' AND Host='zbx-server1' AND User='' ;
MariaDB [mysql]> DELETE FROM db WHERE Host='%' And User='' AND Db='test' ;
MariaDB [mysql]> DELETE FROM db WHERE Host='%' And User='' AND Db='test\_%'