Zabbix 1.8 を 2.2 へアップグレードする方法

CentOS 6 にインストールした Zabbix1.8 を2.2へアップグレードする方法は以下の通り。

1. Zabbixの停止

# /etc/init.d/zabbix-server stop
# /etc/init.d/zabbix-agent stop

2. 復旧用のバックアップを取得

# mkdir /root/backup
# mysqldump -uroot -ppassword zabbix > /root/backup/zabbix_dump.db
# cp -p /etc/zabbix/zabbix*.conf /root/backup/

3. 旧リポジトリの削除

# rpm -e zabbix-jp-release

4. 次のURLから環境にあわせたパッケージをダウンロード (今回は zabbix-release-2.2-1.el6.noarch.rpm)

http://repo.zabbix.com/zabbix/2.2/rhel/6/x86_64/

# wget http://repo.zabbix.com/zabbix/2.2/rhel/6/x86_64/zabbix-release-2.2-1.el6.noarch.rpm

5. Zabbixのアップグレード

# rpm -i zabbix-release-2.2-1.el6.noarch.rpm
# yum -y update zabbix

6. データベースのアップグレード
(例) MySQL アカウント: root 、 パスワード: password の場合

# cd /usr/share/doc/zabbix-server-mysql-2.2.1/upgrades/dbpatches/2.0/mysql/
# ./upgrade zabbix -uroot -ppassword

7. /etc/php.ini の編集(以下を追記する)

[Date]
date.timezone="Asia/Tokyo"

8. 日本語フォント表示対策

# mv /usr/share/zabbix/fonts/graphfont.ttf /usr/share/zabbix/fonts/graphfont.ttf.org
# ln -s /usr/share/fonts/ipa-pgothic/ipagp.ttf /usr/share/zabbix/fonts/graphfont.ttf

9. Apacheの再起動

# /etc/init.d/httpd restart

10. Zabbixの起動

# /etc/init.d/zabbix-server start
# /etc/init.d/zabbix-agent start

環境:
CentOS 6.5 (x86_64)
Zabbix-2.2.1

Zabbix 1.8 を 2.0 へアップグレードする方法

CentOS 6 にインストールした Zabbix1.8 を2.0へアップグレードする方法は以下の通り。

1. Zabbixの停止

# /etc/init.d/zabbix-server stop
# /etc/init.d/zabbix-agent stop

2. 復旧用のバックアップを取得

# mkdir /root/backup
# mysqldump -uroot -ppassword zabbix > /root/backup/zabbix_dump.db
# cp -p /etc/zabbix/zabbix*.conf /root/backup/

3. 旧リポジトリの削除

# rpm -e zabbix-jp-release

4. 次のURLから環境にあわせたパッケージをダウンロード (今回は zabbix-release-2.0-1.el6.noarch.rpm)

http://repo.zabbix.com/zabbix/2.0/rhel/6/x86_64/

# wget http://repo.zabbix.com/zabbix/2.0/rhel/6/x86_64/zabbix-release-2.0-1.el6.noarch.rpm

5. Zabbixのアップグレード

# rpm -i zabbix-release-2.0-1.el6.noarch.rpm
# yum -y update zabbix

6. データベースのアップグレード
(例) MySQL アカウント: root 、 パスワード: password の場合

# cd /usr/share/doc/zabbix-server-mysql-2.0.10/upgrades/dbpatches/2.0/mysql/
# ./upgrade zabbix -uroot -ppassword

7. /etc/php.ini の編集(以下を追記する)

[Date]
date.timezone="Asia/Tokyo"

8. 日本語フォント表示対策

# mv /usr/share/zabbix/fonts/graphfont.ttf /usr/share/zabbix/fonts/graphfont.ttf.org
# ln -s /usr/share/fonts/ipa-pgothic/ipagp.ttf /usr/share/zabbix/fonts/graphfont.ttf

9. Apacheの再起動

# /etc/init.d/httpd restart

10. Zabbixの起動

# /etc/init.d/zabbix-server start
# /etc/init.d/zabbix-agent start

環境:
CentOS 6.5 (x86_64)
Zabbix-2.0.10

CentOS 6 に Zabbix 2.2 をインストールする方法

CentOS 6 に Zabbix をインストールする方法は以下の通り。

1. SELinux(/etc/selinuc/config)をpermissiveまたは、disabledに設定

#SELINUX=enforcing
SELINUX=permissive
# setenforce 0

2. 必要なパッケージをインストール

# yum -y install httpd mysql-server php php-mysql

3. 次のURLから環境にあわせたパッケージをダウンロード (今回は zabbix-release-2.2-1.el6.noarch.rpm)

http://repo.zabbix.com/zabbix/2.2/rhel/6/x86_64/

4. Zabbix のインストール

# wget http://repo.zabbix.com/zabbix/2.2/rhel/6/x86_64/zabbix-release-2.2-1.el6.noarch.rpm
# rpm -ivh zabbix-release-2.2-1.el6.noarch.rpm
# yum -y install zabbix-server zabbix-web

5. /etc/my.cnf の編集 (デフォルト文字コードを UTF-8 に変更する場合)

[mysqld]
default-character-set=utf8

6. MySQL の起動

# service mysqld start

7. DB と DBユーザーの作成

# mysqladmin password password -u root
# mysql -ppassword
mysql> CREATE DATABASE zabbix;
mysql> GRANT ALL PRIVILEGES ON zabbix.* TO zabbix@localhost IDENTIFIED BY 'password';
mysql> FLUSH PRIVILEGES;
mysql> exit

手順4をスキップし、作成するDBのみ文字コードをUTF-8に変更する場合は次の通りです。
文字コードが latin1 のままだと Windows イベントログを取得した際に文字化けした。

mysql> CREATE DATABASE zabbix CHARACTER SET utf8;

8. スキーマの拡張

# mysql -u zabbix -ppassword zabbix < /usr/share/doc/zabbix-server-mysql-2.2.1/create/schema.sql
# mysql -u zabbix -ppassword zabbix < /usr/share/doc/zabbix-server-mysql-2.2.1/create/images.sql
# mysql -u zabbix -ppassword zabbix < /usr/share/doc/zabbix-server-mysql-2.2.1/create/data.sql

9. /etc/zabbix/zabbix_server.conf の編集

#DBUser=root
DBUser=zabbix

# DBPassword=
DBPassword=password

10. 日本語フォント表示対策

# mv /usr/share/zabbix/fonts/graphfont.ttf /usr/share/zabbix/fonts/graphfont.ttf.org
# ln -s /usr/share/fonts/ipa-pgothic/ipagp.ttf /usr/share/zabbix/fonts/graphfont.ttf

11. Zabbix の起動

# service zabbix-server start

12. /etc/httpd/conf/httpd.conf の編集

CentOS 6 に Apache をインストールする方法 の項目2 を参照

13. /etc/php.ini の編集(以下を追記する)

[Date]
date.timezone="Asia/Tokyo"

14. Apache の起動

# service httpd start

15. MySQL, Apache, Zabbix の起動設定

# chkconfig mysqld on
# chkconfig httpd on
# chkconfig zabbix-server on

16. /etc/sysconfig/iptables の編集

-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 10050 -j ACCEPT
-A INPUT -p udp --dport 162 -j ACCEPT

17. iptables の再起動

# service iptables restart

18. ブラウザから次のURLへアクセス

http://<IPアドレス>/zabbix/

19. Zabbix の設定

(1) Welcome to Zabbix 2.2

「Next」を押して次へ

(2) Check of pre-requisites

すべて OK になっていることを確認し「Next」を押して次へ

(3) Configure DB connection

Type: MySQL
Host: localhost
Port: 0
Name: zabbix
User: zabbix
Password: password
上記を入力し、「Test connection」を押し OK になったら「Next」を押して次へ

(4) Zabbix server details

Host: localhost
Port: 10051
Name:
上記を確認し、「Next」を押して次へ

(5) Pre-Installation summary

Database type: MySQL
Database server: localhost
Database port: default
Database name: zabbix
Database user: zabbix
Database password: ********
Zabbix server: localhost
Zabbix server port: 10051
Zabbix server name:
上記を確認し、「Next」を押して次へ

(6)Install

「Finish」を押して完了
アカウント: admin
パスワード: zabbix

ログイン後、右上の「Profile」をクリック、「Language」から「Japanese(Ja_JP)」を選択すると、日本語メニューにできます。

環境:
CentOS 6.5 (x86_64)
Zabbix-2.2.1

CentOS 6 で Reverse Path Filtering (rp_filter) を無効にする方法

CentOS 6 で Reverse Path Filtering (rp_filter) を無効にする方法は以下の通り。

/etc/sysctl.conf を修正

net.ipv4.conf.default.rp_filter = 0

これが有効( = 1 )になっていると、Linuxルーターを複数台使ってルーティングさせる場合
経由するLinuxルーターのルーティングテーブルとは逆方向だとみなされるパケットが破棄されてしまう。

例えば、経由するLinuxルーターが保持しないネットワークを送信元としたパケットが
デフォルトルート側から転送されてきた場合に、パケットが破棄されてしまう。

環境:
CentOS 6.3 (x86_64)

CentOS の ルーティングテーブルから 169.254.0.0 を削除する方法

CentOS の ルーティングテーブルから 169.254.0.0 を削除する方法は以下の通り。

1. /etc/sysconfig/network に以下の一行を追加

NOZEROCONF=yes

2. ネットワークの再起動

# /etc/init.d/network restart

(設定前)

# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.100.0   0.0.0.0         255.255.255.0   U     0      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth0
0.0.0.0         192.168.100.1   0.0.0.0         UG    0      0        0 eth0

(設定後)

# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.100.0   0.0.0.0         255.255.255.0   U     0      0        0 eth0
0.0.0.0         192.168.100.1   0.0.0.0         UG    0      0        0 eth0

yum で ファイル名からパッケージを検索する方法

yum で ファイル名からパッケージを検索する方法は以下の通り。

# yum provides <ファイル名>

(例)

# yum provides */smbclient

yum で 依存するパッケージを確認する方法

yum で 依存するパッケージを確認する方法は以下の通り。

# yum deplist <パッケージ名>

(例)

# yum deplist httpd

yum で update 対象のパッケージを確認する方法

yum で update 対象のパッケージを確認する方法は以下の通り。

# yum check-update

CentOS でパスワードを自動生成する方法

CentOS でパスワードを自動生成する方法は以下の通り。

# yum -y install expect
# mkpassword

パスワードの長さを10文字に指定する場合

# mkpassword -l 10

自動生成したパスワードをユーザー(hoge)に設定する

# mkpassword hoge

CentOS 6 等、passwdコマンドの応答が日本語の場合はLANGを指定して実行

# LANG=C mkpassword hoge

Monit のアラートメールを日本語化する方法

Monit のアラートメールを日本語化する方法は以下の通り。

・件名だけ日本語化するなら、MIMEエンコードすれば良い。
・set mail-format でフォーマットを指定する。
・メールを直接送信するのではなく、一時メールサーバーに送信する。
・procmailでメールのヘッダーを書き換える。
・本来の宛先へメールを転送する。

設定例

一時メールサーバー: localhost
一時メールアドレス: hoge@localhost
本来の宛先: hoge@example.com

1. monit.confまたはmonitrcに以下の設定が有効になっていることを確認

include /etc/monit.d/*

2. set mail-format でフォーマットを指定するためのファイルを用意

header.txt

set mail-format {
   from: monit@example.com

subject.txt

   subject: monitアラート $EVENT $SERVICE

message.txt

   message:
日時:$DATE
ホスト名:$HOST
イベント:$EVENT
サービス名:$SERVICE
アクション:$ACTION
説明:$DESCRIPTION
}

3. set mail-format でフォーマットを指定

ディレクトリ(/etc/monit.d/)が存在しない場合は作成しておく

# cat header.txt > /etc/monit.d/mail-format.conf
# cat subject.txt | nkf -Mj >> /etc/monit.d/mail-format.conf
# cat message.txt | nkf -j >> /etc/monit.d/mail-format.conf

4. monit.confまたはmonitrcの宛先とメールサーバーを変更

set alert hoge@localhost
set mailserver localhost

5. procmailのインストール

# yum -y install procmail

6. 転送用のファイルを作成

# su - hoge

~/.forward

"|IFS=' ' && exec /usr/bin/procmail -f- || exit 75 #hoge"

~/.procmailrc

:0
* ^Content-Type:
| /usr/bin/formail \
-I "Content-Type: text/plain; charset=iso-2022-jp" \
-I "To: hoge@example.com" \
| sendmail -oi -t

7. Monitの再起動

$ exit
# /etc/init.d/monit restart

環境:
CentOS 6.3 (x86_64)
Monit 5.4
procmail-3.22-25.1.el6.x86_64

TOP

INFORMATION

当サイトは備忘録であり、その内容を保証するものではありません。 当サイトまたはリンク先によるいかなるトラブルや損害に関しても、一切の責任を負いかねます。 当サイトの内容を無断で転用したり、転載する等の行為はおやめください。