VyOS に、Debian パッケージを導入する

VyOS 自体は、 Debian ベースなので、apt line を正しく設定すれば、VyOS と Debian のキメラを作れるわけですが、前回のエントリーで

あぁ、あと Vyatta 時代の設定を引き継いでしまう関係上、パッケージレポジトリの設定は直しておきましょうね。

[From Vyatta CORE 6.6R1 から VyOS 1.0.4 へ変更してみた - Soukaku's HENA-CHOKO Blog]

と書いておいた分、実は誤りがあって、sid を指定した設定になっていた。
VyOS は、 Debian としは oldstable になっている Squeeze ベースなので、本来なら次のような設定を投入しないと、いけなかったのですね。

set system package repository squeeze components 'main contrib non-free'
set system package repository squeeze distribution 'squeeze'
set system package repository squeeze url 'http://cdn.debian.or.jp/debian'
set system package repository squeeze-security components 'main'
set system package repository squeeze-security distribution 'squeeze/updates'
set system package repository squeeze-security url 'http://security.debian.org/debian-security'

#VyOS の FAQ の中にも ”How do I install debian packages?” という項目があったりする。

あの設定のママ ”sudo aptitude update” して "sudo aptitude" でパッケージのアップデートとかインストールをしようとしても、依存関係の解決のため libc6 のアップデートをしようとするために他にも多くのパッケージのアップデートを行おうとするも、VyOS 特有のパッケージと整合性がとれなくなって、グチャグチャな状態になってしまう、というわけです。

正しく設定しておけば、実際のインストールは

$ sudo aptitude update && sudo aptitude install emacs23-nox

とやれば OK となります。


ついでなので、zabbix-agent もインストール

最新版の zabbix-agent をインストールしたければ、次の 3 行の set system コマンドで Zabbix の公式レポジトリからのインストールが出来るようにすれば、準備 OK 。
古めの 1.8 系のエージェントで良ければ、 squeeze のセキュリティアップデートの中に、1.8.2 がありますけどね。

set system package repository zabbix components 'main'
set system package repository zabbix distribution 'squeeze'
set system package repository zabbix url 'http://repo.zabbix.com/zabbix/2.2/debian/'

あとは、aptitude でインストールして、zabbix-agent.conf を修正して、agent を起動すればいいのだけど、最近見かけたもので

という話があったので、それもちょっと試してみることに。

作者の人は、カスタマイズしたインストールCDイメージを作成するタイミングで、zabbix-agent のインストールの自動化と "set system zabbix-agent hogehoge" という処理を行うためのカスタムコマンドも導入するような方法を書いているのだけど、既に稼働中の VyOS にカスタムコマンドの部分だけインストール出来るよねぇ、ということで、次のようにやってみた。

やり方の、大体の流れは、下に引用した tweet 中のリンク先に則っています。

Debian squeeze の環境を準備

まず、素の Squeeze の環境を準備します。まぁ、VirtualBox とか VMware Player とかの上の仮想環境で問題なし。
気をつける点としては、既存の VyOS の実行アーキテクチャと同じものを用意するという点でしょうかね。うちの場合は、Sempron な PC で動いているので、i386 の netinst イメージで、最小構成のVMを作成しました。

VyOS のISO イメージを作る環境を用意

インストールが完了した Squeeze マシンを、VyOS のインストール ISO イメージを作成できるような状態にします。
これは、github にある ”setup-vyos-build-env” というシェルスクリプトを実行すれば良いので、

# wget https://raw.githubusercontent.com/vyos/build-iso/helium/tools/setup-vyos-build-env --no-check-certificate
# sh setup-vyos-build-env

で完了。

vyos-cfg-zabbix-agent パッケージを作成

VyOS 上で zabbix-agent の設定をための vyos-cfg-zabbix-agent を取得して、パッケージとしてビルドします。

# git clone https://github.com/hiroyuki-sato/vyos-cfg-zabbix-agent.git
# cd vyos-cfg-zabbix-agent/
vyos-cfg-zabbix-agent# debuild -us -uc

あとは、パッケージができていることを確認。出来上がったパッケージは、VyOS マシンに転送します。

vyos-cfg-zabbix-agent# cd ../
# ls -l *.deb
-rw-r--r-- 1 root staff 3704 2014-08-02 11:27 vyos-cfg-zabbix-agent_0.0.1_i386.deb
# scp -p vyos-cfg-zabbix-agent_0.0.1_i386.deb vyatta@172.16.0.1:~

このあとは、VyOS マシン上での作業となります。

zabbix-agent のインストールと設定

VyOS マシンにログインしたら、zabbix-agent と 別環境でビルドした vyos-cfg-zabbix-agent をインストールします。

$ sudo aptitude update
$ sudo aptitude -y install zabbix-agent
$ sudo dpkg -i vyos-cfg-zabbix-agent_0.0.1_i386.deb

vyos-cfg-zabbix-agent をインストールした後であれば、下記のように設定します。

set system zabbix-agent hostname 'sweethome'
set system zabbix-agent log_file_size '1024'
set system zabbix-agent server '172.16.0.254'
set system zabbix-agent server_active ‘172.16.0.254'

これで "commit" すれば、zabbix-agent が上で指定した通りの設定で動き始める、というわけです。
あとは、Zabbix サーバ側で VyOS マシンを監視対象として登録すれば、監視ができるようになります。

この先、もしかしたら…

実は、 zabbix-agent のパッケージの件で、 作者さんと夜更けに twitter で話し込んでいたのですけどね。その流れが

という感じになりました。
今の VyOS のベースが古いから色々面倒な部分があったりするのだけど、 VyOS 自体が Wheezy ベースへの移行が予定されているということなので、もうちょっとインストールがシンプルに出来るようになる、かもしれませんね。

トラックバック(0)

コメントする