2019/04/05(Fri)

Zabbix 4.0からZabbix 4.2にアップグレードした

記事カテゴリ: ITインフラ

自宅のサーバとVPSの監視用にZabbixを使っています、はしぐちです。なぜZabbixなのかと言えば前職でシステム監視にZabbix使っていた影響が大きい。

で。これまではバージョン4.0を使ってたんですけど、4.2がリリースされたのでアップグレードしてみました。

4.0はサポート期間が長い、つまり更新期間が長くて安心なバージョンなわけですが、4.2はLTSではないポイントリリースのためサポート期間は短いです (Zabbixのサポート期間についてはサポート期間とリリースポリシーを参照のこと)。

今回はプライベートで使ってる、つまり堅牢性とか安定性とかはまるで重要ではない環境なので、バージョンはガンガン上げていこうぜという判断。

一応システム環境としては以下の通り。

  • Zabbixサーバ: Ubuntu 18.04。作業前はZabbix 4.0.6。
  • Zabbixクライアント: Ubuntu 18.04やUbuntu 16.04が混在。

とりあえず既知のバグとかないか、ということで念のため 7 Known issues [Zabbix Documentation 4.2] にざっと目を通したけど多分大丈夫でしょう。 ODBC checksの項目とかCompatibility issue with PHP 7.0の項目が環境的に引っかかる可能性あるけど、 どうも4.0からの継続案件っぽく、今の段階で出てないからとりあえず無視。

というわけなので、 2 Debian/Ubuntu [Zabbix Documentation 4.2] こちらのページの内容を参考にしつつアップデートしていくだけ。

なお、Zabbix ServerとZabbix Proxyは一緒に同じバージョンへ上げないとダメよ的なことが書いてあるけど、Proxyは使ってないので関係なし。 Zabbix Agentについては、Zabbix Serverを先にバージョンアップした上で、必要に応じてZabbix Agent側もバージョンアップすればOK。

ZabbixサーバとなっているVPSで一応スナップショットを取得した上で作業開始。

# レポジトリ導入のためのパッケージについて現在のバージョンを確認
dpkg -l zabbix-release
要望=(U)不明/(I)インストール/(R)削除/(P)完全削除/(H)保持
| 状態=(N)無/(I)インストール済/(C)設定/(U)展開/(F)設定失敗/(H)半インストール/(W)トリガ待ち/(T)トリガ保留
|/ エラー?=(空欄)無/(R)要再インストール (状態,エラーの大文字=異常)
||/ 名前                     バージョン        アーキテクチャ    説明
+++-========================-=================-=================-=====================================================
ii  zabbix-release           1:4.0-2+bionic    all               Zabbix official repository configuration

# 念の為設定ファイルのバックアップ
sudo cp -pir /etc/zabbix{,_bkup_4.0}

# サービスの停止
sudo systemctl status zabbix-agent.service
sudo systemctl stop zabbix-agent.service

sudo systemctl status zabbix-server.service
sudo systemctl stop zabbix-server.service

# レポジトリパッケージのインストール
cd /tmp
wget https://repo.zabbix.com/zabbix/4.2/ubuntu/pool/main/z/zabbix-release/zabbix-release_4.2-1+bionic_all.deb
sudo dpkg -i zabbix-release_4.2-1+bionic_all.deb
rm zabbix-release_4.2-1+bionic_all.deb

# パッケージの更新(設定ファイルは『現在インストールされている自分のバージョンを残す』を選択)
sudo apt update && sudo apt upgrade

# サービスの開始
sudo systemctl start zabbix-server.service
sudo systemctl status zabbix-server.service

sudo systemctl start zabbix-agent.service
sudo systemctl status zabbix-agent.service

# 念の為で取ってあった設定ファイルのバックアップを削除
sudo rm -rf /etc/zabbix_bkup_4.0

WebGUIやログファイルを確認しても特段エラーなどは出ていないので大丈夫そう。 んじゃ次に他のサーバでエージェントの更新。

# レポジトリ導入のためのパッケージについて現在のバージョンを確認
dpkg -l zabbix-release
要望=(U)不明/(I)インストール/(R)削除/(P)完全削除/(H)保持
| 状態=(N)無/(I)インストール済/(C)設定/(U)展開/(F)設定失敗/(H)半インストール/(W)トリガ待ち/(T)トリガ保留
|/ エラー?=(空欄)無/(R)要再インストール (状態,エラーの大文字=異常)
||/ 名前                     バージョン        アーキテクチャ    説明
+++-========================-=================-=================-=====================================================
ii  zabbix-release           1:4.0-2+bionic    all               Zabbix official repository configuration

# サービスの停止
sudo systemctl status zabbix-agent.service
sudo systemctl stop zabbix-agent.service

# レポジトリパッケージのインストール (Ubuntu 18.04の場合)
cd /tmp
wget https://repo.zabbix.com/zabbix/4.2/ubuntu/pool/main/z/zabbix-release/zabbix-release_4.2-1+bionic_all.deb
sudo dpkg -i zabbix-release_4.2-1+bionic_all.deb
rm zabbix-release_4.2-1+bionic_all.deb

# レポジトリパッケージのインストール (Ubuntu 16.04の場合)
cd /tmp
wget https://repo.zabbix.com/zabbix/4.2/ubuntu/pool/main/z/zabbix-release/zabbix-release_4.2-1+xenial_all.deb
sudo dpkg -i zabbix-release_4.2-1+xenial_all.deb
rm zabbix-release_4.2-1+xenial_all.deb

# パッケージの更新(設定ファイルは『現在インストールされている自分のバージョンを残す』を選択)
sudo apt update && sudo apt upgrade

# サービスの開始
sudo systemctl start zabbix-agent.service
sudo systemctl status zabbix-agent.service

とやったつもりだが、Ubuntu 18.04では大丈夫だったもののUbuntu 16.04でちゃんと入らず。

dpkg -l zabbix*
要望=(U)不明/(I)インストール/(R)削除/(P)完全削除/(H)保持
| 状態=(N)無/(I)インストール済/(C)設定/(U)展開/(F)設定失敗/(H)半インストール/(W)トリガ待ち/(T)トリガ保留
|/ エラー?=(空欄)無/(R)要再インストール (状態,エラーの大文字=異常)
||/ 名前                                                  バージョン                      アーキテクチャ                  説明
+++-=====================================================-===============================-===============================-================================================================================================================
ii  zabbix-agent                                          1:4.0.6-1+xenial                amd64                           Zabbix network monitoring solution - agent
ii  zabbix-release                                        4.2-1+bionic                    all                             Zabbix official repository configuration

apt search zabbix-agent
ソート中... 完了
全文検索... 完了
zabbix-agent/不明 1:4.2.0-1+bionic amd64 [1:4.0.6-1+xenial からアップグレード可]
  Zabbix network monitoring solution - agent

sudo apt install --only-upgrade 'zabbix-agent.*'
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
注意、regex 'zabbix-agent.*' のために 'zabbix-agent' を選択します
インストールすることができないパッケージがありました。おそらく、あり得
ない状況を要求したか、(不安定版ディストリビューションを使用しているの
であれば) 必要なパッケージがまだ作成されていなかったり Incoming から移
動されていないことが考えられます。
以下の情報がこの問題を解決するために役立つかもしれません:

以下のパッケージには満たせない依存関係があります:
 zabbix-agent : 依存: libcurl4 (>= 7.16.2) しかし、インストールすることができません
                依存: libssl1.1 (>= 1.1.0) しかし、インストールすることができません
E: 問題を解決することができません。壊れた変更禁止パッケージがあります。

アイヨー?

と、ちょっと焦ったんですがなんてことはない、Ubuntu 16.04なのに誤って18.04向けのレポジトリを参照させてしまっていただけでした。 うーわーホントかっこ悪い。 作業前に『間違えて入れないように注意しないとなー』って思いながらバージョン別にパッケージのURLメモしていたというのに……。

ちなみにこのとき、

ZABBIX-JPの田中氏よりドンピシャなご指摘が。は、恥ずかしい……!


タイトル: Zabbix 4.0からZabbix 4.2にアップグレードした
記事カテゴリ: ITインフラ
投稿日時: 2019/04/05(Fri)
最終更新日時:
ha4gu

このブログはITエンジニアのha4guが書いています。
しばらく無職やってましたがそろそろ仕事する気になってきましたんでどこか雇ってください。 Web開発がやりたいです。勉強したぶんRailsがいいんですけどこの際あまり贅沢は言いません。 ポートフォリオはもうちょっと待って(←これをもう数ヶ月は言ってる)。

なおこのブログはまだ構築途中です。ぜんぜんわからない。俺は雰囲気でGraphQLを書いている。

Gatsbyブログ構築 公開ToDo:
  • カテゴリ機能の実装(すべての記事がいずれかのカテゴリ1つに属すようにする)
    • 記事ページでのカテゴリ表示実装
    • カテゴリごとの記事一覧ページ実装
    • トップページでのカテゴリ一覧リンク実装
  • タグ機能の実装(記事に任意の数のタグを付与できるようにする)
    • 記事ページでのタグ表示実装
    • タグごとの記事一覧ページ実装
    • トップページでのタグ一覧リンク実装
  • 記事ごとに登録したキーワードがmetaに反映されるようにする(なってたっけ?)
  • 記事ごとにキーワードを登録する
  • Font Awesomeを使えるようにする
  • Sassを使えるようにする
  • コメント機能の検討(付けるとしたらDisqusが現実的?)
  • サイドバー実装させるかどうするか検討
  • SNS共有ボタンの実装