Zabbix/Vagrant環境でサーバとエージェントを構築する
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
#topicpath
----
Vagrantを使ってZabbixの検証環境を作ってみたのでそのときの...
- 1つのVagrantfileで、Zabbix Serverを1つ構築します。
- Zabbix ServerはUbuntu Linux 上のDocker上に構築します。
- 監視される(エージェントを入れる方)OSもUbuntu Linuxとし...
- それぞれの仮想マシンはネットワーク的に到達可能である必...
- Zabbix Serverには80番ポートでWEBサーバが起動しますが、V...
これらをネットワーク図に整理するとこんな感じですね。
#ref(vagrant.png)
#contents
**ソース [#m8743b27]
今回使用するソースは https://github.com/masatomix/zabbix_...
あ、またVagrantをホストしているマシンは
$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.13.4
$ vagrant --version
Vagrant 2.0.4
2018/04/30現在、OSはmacOS High SierraでVagrantは2.0.4のよ...
** サーバを構築する。 [#j56b38b7]
さてまずはZabbix Server側の構築です。といっても上記ソース...
# git clone https://github.com/masatomix/zabbix_sample_v...
# cd zabbix_sample_vagrant/server/
# vagrant up
で構築完了です。ブラウザでVagrantが動いてるOS上のブラウザ...
http://127.0.0.1:8888/
でZabbix Serverのログイン画面が表示されればOKです。
*** VagrantによるOS構築 [#kcefeb0f]
コマンド一つで構築完了ですだと身も蓋もないので中身につい...
具体的には、Vagrantfileでは
- ubuntu/xenial64 のインストール
- Networkの追加(192.168.33.10/24 というIPを設定)
- 外からの8888番ポートへのアクセスを80番ポートへ転送
などの設定を行っています。それらを行うVagrantfileを抜粋す...
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure("2") do |config|
# ubuntu/xenial64 を使用
config.vm.box = "ubuntu/xenial64"
config.vm.hostname = "zabbix-server" # ホスト名を設定
config.vm.network "forwarded_port", guest: 80, host: 8...
config.vm.network "private_network", ip: "192.168.33.10"
# コレを行わないと
# http://www.masatom.in/pukiwiki/Vagrant/TIPS%BD%B8/#a...
# vagrant packageでexportしたBoxが正しく動かないため記述
config.vm.provider "virtualbox" do |vb|
vb.customize [ "modifyvm", :id, "--uartmode1", "disc...
end
# 次の環境設定のシェルを動かすための記述
config.vm.provision :shell, :path => "./script/provisi...
end
Vagrantfileの最後にある
config.vm.provision :shell, :path => "./script/provis...
で、つづきの環境構築が動き出します。
*** Vagrant のProvision機能でつづきの環境設定 [#jf0ba79b]
さて、Vagrantfileの最後に指定されたshのなかでは
- Dockerのインストール
- Docker上にZabbix のインストール、と起動
- そのサーバ自体を監視するためのZabbix Agentのインストー...
を実施しています。
具体的には、provision.sh は以下の通りです。
#!/bin/sh
# install docker
sudo apt-get remove docker docker-engine docker.io
sudo apt-get update
sudo apt-get install -y \
apt-transport-https \
ca-certificates \
curl \
software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg ...
sudo apt-key fingerprint 0EBFCD88
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/u...
$(lsb_release -cs) \
stable"
sudo apt-get update
sudo apt-get install -y docker-ce
# create zabbix container
sudo docker run --name mysql-server -t \
--restart=always \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zabbix" \
-e MYSQL_ROOT_PASSWORD="zabbix" \
-d mysql:5.7 \
--character-set-server=utf8mb4 \
--collation-server=utf8mb4_unicode_ci
sudo docker run --restart=always --name zabbix-java-gate...
sudo docker run --name zabbix-server-mysql -t \
--restart=always \
-e DB_SERVER_HOST="mysql-server" \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zabbix" \
-e MYSQL_ROOT_PASSWORD="zabbix" \
--link mysql-server:mysql \
--link zabbix-java-gateway:zabbix-java-gateway \
-p 10051:10051 \
-d zabbix/zabbix-server-mysql:latest
sudo docker run --name zabbix-web-nginx-mysql -t \
--restart=always \
-e DB_SERVER_HOST="mysql-server" \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zabbix" \
-e MYSQL_ROOT_PASSWORD="zabbix" \
-e ZBX_SERVER_HOST="zabbix-server" \
-e PHP_TZ="Asia/Tokyo" \
--link mysql-server:mysql \
--link zabbix-server-mysql:zabbix-server \
-p 80:80 \
-d zabbix/zabbix-web-nginx-mysql:latest
# install zabbix agent
wget http://repo.zabbix.com/zabbix/3.4/ubuntu/pool/main/...
sudo dpkg -i zabbix-release_3.4-1+xenial_all.deb
sudo apt update
sudo apt install -y zabbix-agent
# /etc/zabbix/zabbix_agentd.conf
# Server=127.0.0.1 -> Server=127.0.0.1, 172.17.0.0/16 へ...
sudo cp -pfr /etc/zabbix/zabbix_agentd.conf /etc/zabbix/...
sudo sed -i -e 's/Server=127.0.0.1/Server=127.0.0.1,172....
sudo systemctl start zabbix-agent
sudo systemctl enable zabbix-agent
Dockerの構築は 公式の [[Get Docker CE for Ubuntu | Docker...
サーバの環境構築の説明は以上です。 vagrant up 実行後は、...
**クライアント(エージェント)側を構築する [#e7c3a882]
つづいてクライアント(エージェント)側です。
# git clone https://github.com/masatomix/zabbix_sample_v...
# cd zabbix_sample_vagrant/agent/
# vagrant up
簡単ですね。
*** VagrantによるOS構築 [#m88dfab5]
こちらも中身についてですが、Vagrantfileでは
- ubuntu/xenial64 のインストール
- Networkの追加(192.168.33.0/24 というネットワークを設定)
- provisionのためのsh実行
を行っています。また下記の通りに記述することで一つのVagra...
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure("2") do |config|
config.vm.box = "ubuntu/xenial64"
config.vm.define :agent001 do | agent001 |
agent001.vm.hostname = "agent001"
agent001.vm.network :private_network, ip: "192.168.3...
agent001.vm.provision :shell, :path => "./script/pro...
end
config.vm.define :agent002 do | agent002 |
agent002.vm.hostname = "agent002"
agent002.vm.network :private_network, ip: "192.168.3...
agent002.vm.provision :shell, :path => "./script/pro...
end
end
ネットワーク設定後、agent001/agent002に対しておなじprovis...
agent00x.vm.provision :shell, :path => "./script/provis...
で行っています。
*** Vagrant のProvision機能でつづきの環境設定 [#p10d5d6c]
さて、OSインストールとネットワーク構築後に動くshは以下の...
#!/bin/sh
# install zabbix agent
wget http://repo.zabbix.com/zabbix/3.4/ubuntu/pool/main/...
sudo dpkg -i zabbix-release_3.4-1+xenial_all.deb
sudo apt update
sudo apt install -y zabbix-agent
# /etc/zabbix/zabbix_agentd.conf
# Server=127.0.0.1 -> Server=127.0.0.1, 192.168.33.0/24
sudo cp -pfr /etc/zabbix/zabbix_agentd.conf /etc/zabbix/...
sudo sed -i -e 's/Server=127.0.0.1/Server=127.0.0.1,192....
sudo systemctl start zabbix-agent
sudo systemctl enable zabbix-agent
Dockerの構築がないぶんシンプルで、基本的にはzabbix-agent...
vagrant up 後は、OSが二つ立ち上がったので
$ vagrant ssh agent001
などと名前指定でログイン出来ることを確認します。
以上で、監視されるエージェントのOSの環境構築は完了です。
**ブラウザからのZabbixの環境設定 [#rfd132d4]
あらためて http://127.0.0.1:8888/ へアクセスし、Admin/zab...
*** Zabbix Server自体の監視開始 [#i6cac7d9]
Zabbix Server自体の監視を行います。
Configuration >> Hosts >> Zabbix server で、IPアドレスを ...
#ref(hosts001.png)
上記の通り、IPアドレスが変更されていることと、ほどなくし...
***各OSのエージェントでの監視開始 [#k22728f2]
続いて、各OS agent001/agent002 の監視設定を追加します。
Configuration >> Hosts >> Create host で入力画面へ。
「Hostタブ」で
Host name: agent001 or agent002
Group: Linux Servers
IP: 192.168.33.11 or 192.168.33.12
などを記述します。
「Templatesタブ」で設定したい監視セットのテンプレートを選...
最後にAddを押下すれば、OKです。
同様にagent002も追加します。
#ref(hosts002.png)
上記のように、agent001/agent002が追加され、ほどなくして「...
以上で、基本的なZabbix Server/Zabbix Agentの環境構築は完...
今回はVagrantでコマンド一発で環境構築をしましたが、オンプ...
おつかれさまでした。
**追記:最低限の設定 [#q65024e3]
***SMTPサーバの設定 [#mdc9415d]
障害をメール通知するための設定は Zabbix/障害をメール通知 ...
----
この記事は
#vote(おもしろかった,そうでもない)
#comment
#topicpath
SIZE(10){現在のアクセス:&counter;}
終了行:
#topicpath
----
Vagrantを使ってZabbixの検証環境を作ってみたのでそのときの...
- 1つのVagrantfileで、Zabbix Serverを1つ構築します。
- Zabbix ServerはUbuntu Linux 上のDocker上に構築します。
- 監視される(エージェントを入れる方)OSもUbuntu Linuxとし...
- それぞれの仮想マシンはネットワーク的に到達可能である必...
- Zabbix Serverには80番ポートでWEBサーバが起動しますが、V...
これらをネットワーク図に整理するとこんな感じですね。
#ref(vagrant.png)
#contents
**ソース [#m8743b27]
今回使用するソースは https://github.com/masatomix/zabbix_...
あ、またVagrantをホストしているマシンは
$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.13.4
$ vagrant --version
Vagrant 2.0.4
2018/04/30現在、OSはmacOS High SierraでVagrantは2.0.4のよ...
** サーバを構築する。 [#j56b38b7]
さてまずはZabbix Server側の構築です。といっても上記ソース...
# git clone https://github.com/masatomix/zabbix_sample_v...
# cd zabbix_sample_vagrant/server/
# vagrant up
で構築完了です。ブラウザでVagrantが動いてるOS上のブラウザ...
http://127.0.0.1:8888/
でZabbix Serverのログイン画面が表示されればOKです。
*** VagrantによるOS構築 [#kcefeb0f]
コマンド一つで構築完了ですだと身も蓋もないので中身につい...
具体的には、Vagrantfileでは
- ubuntu/xenial64 のインストール
- Networkの追加(192.168.33.10/24 というIPを設定)
- 外からの8888番ポートへのアクセスを80番ポートへ転送
などの設定を行っています。それらを行うVagrantfileを抜粋す...
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure("2") do |config|
# ubuntu/xenial64 を使用
config.vm.box = "ubuntu/xenial64"
config.vm.hostname = "zabbix-server" # ホスト名を設定
config.vm.network "forwarded_port", guest: 80, host: 8...
config.vm.network "private_network", ip: "192.168.33.10"
# コレを行わないと
# http://www.masatom.in/pukiwiki/Vagrant/TIPS%BD%B8/#a...
# vagrant packageでexportしたBoxが正しく動かないため記述
config.vm.provider "virtualbox" do |vb|
vb.customize [ "modifyvm", :id, "--uartmode1", "disc...
end
# 次の環境設定のシェルを動かすための記述
config.vm.provision :shell, :path => "./script/provisi...
end
Vagrantfileの最後にある
config.vm.provision :shell, :path => "./script/provis...
で、つづきの環境構築が動き出します。
*** Vagrant のProvision機能でつづきの環境設定 [#jf0ba79b]
さて、Vagrantfileの最後に指定されたshのなかでは
- Dockerのインストール
- Docker上にZabbix のインストール、と起動
- そのサーバ自体を監視するためのZabbix Agentのインストー...
を実施しています。
具体的には、provision.sh は以下の通りです。
#!/bin/sh
# install docker
sudo apt-get remove docker docker-engine docker.io
sudo apt-get update
sudo apt-get install -y \
apt-transport-https \
ca-certificates \
curl \
software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg ...
sudo apt-key fingerprint 0EBFCD88
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/u...
$(lsb_release -cs) \
stable"
sudo apt-get update
sudo apt-get install -y docker-ce
# create zabbix container
sudo docker run --name mysql-server -t \
--restart=always \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zabbix" \
-e MYSQL_ROOT_PASSWORD="zabbix" \
-d mysql:5.7 \
--character-set-server=utf8mb4 \
--collation-server=utf8mb4_unicode_ci
sudo docker run --restart=always --name zabbix-java-gate...
sudo docker run --name zabbix-server-mysql -t \
--restart=always \
-e DB_SERVER_HOST="mysql-server" \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zabbix" \
-e MYSQL_ROOT_PASSWORD="zabbix" \
--link mysql-server:mysql \
--link zabbix-java-gateway:zabbix-java-gateway \
-p 10051:10051 \
-d zabbix/zabbix-server-mysql:latest
sudo docker run --name zabbix-web-nginx-mysql -t \
--restart=always \
-e DB_SERVER_HOST="mysql-server" \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zabbix" \
-e MYSQL_ROOT_PASSWORD="zabbix" \
-e ZBX_SERVER_HOST="zabbix-server" \
-e PHP_TZ="Asia/Tokyo" \
--link mysql-server:mysql \
--link zabbix-server-mysql:zabbix-server \
-p 80:80 \
-d zabbix/zabbix-web-nginx-mysql:latest
# install zabbix agent
wget http://repo.zabbix.com/zabbix/3.4/ubuntu/pool/main/...
sudo dpkg -i zabbix-release_3.4-1+xenial_all.deb
sudo apt update
sudo apt install -y zabbix-agent
# /etc/zabbix/zabbix_agentd.conf
# Server=127.0.0.1 -> Server=127.0.0.1, 172.17.0.0/16 へ...
sudo cp -pfr /etc/zabbix/zabbix_agentd.conf /etc/zabbix/...
sudo sed -i -e 's/Server=127.0.0.1/Server=127.0.0.1,172....
sudo systemctl start zabbix-agent
sudo systemctl enable zabbix-agent
Dockerの構築は 公式の [[Get Docker CE for Ubuntu | Docker...
サーバの環境構築の説明は以上です。 vagrant up 実行後は、...
**クライアント(エージェント)側を構築する [#e7c3a882]
つづいてクライアント(エージェント)側です。
# git clone https://github.com/masatomix/zabbix_sample_v...
# cd zabbix_sample_vagrant/agent/
# vagrant up
簡単ですね。
*** VagrantによるOS構築 [#m88dfab5]
こちらも中身についてですが、Vagrantfileでは
- ubuntu/xenial64 のインストール
- Networkの追加(192.168.33.0/24 というネットワークを設定)
- provisionのためのsh実行
を行っています。また下記の通りに記述することで一つのVagra...
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure("2") do |config|
config.vm.box = "ubuntu/xenial64"
config.vm.define :agent001 do | agent001 |
agent001.vm.hostname = "agent001"
agent001.vm.network :private_network, ip: "192.168.3...
agent001.vm.provision :shell, :path => "./script/pro...
end
config.vm.define :agent002 do | agent002 |
agent002.vm.hostname = "agent002"
agent002.vm.network :private_network, ip: "192.168.3...
agent002.vm.provision :shell, :path => "./script/pro...
end
end
ネットワーク設定後、agent001/agent002に対しておなじprovis...
agent00x.vm.provision :shell, :path => "./script/provis...
で行っています。
*** Vagrant のProvision機能でつづきの環境設定 [#p10d5d6c]
さて、OSインストールとネットワーク構築後に動くshは以下の...
#!/bin/sh
# install zabbix agent
wget http://repo.zabbix.com/zabbix/3.4/ubuntu/pool/main/...
sudo dpkg -i zabbix-release_3.4-1+xenial_all.deb
sudo apt update
sudo apt install -y zabbix-agent
# /etc/zabbix/zabbix_agentd.conf
# Server=127.0.0.1 -> Server=127.0.0.1, 192.168.33.0/24
sudo cp -pfr /etc/zabbix/zabbix_agentd.conf /etc/zabbix/...
sudo sed -i -e 's/Server=127.0.0.1/Server=127.0.0.1,192....
sudo systemctl start zabbix-agent
sudo systemctl enable zabbix-agent
Dockerの構築がないぶんシンプルで、基本的にはzabbix-agent...
vagrant up 後は、OSが二つ立ち上がったので
$ vagrant ssh agent001
などと名前指定でログイン出来ることを確認します。
以上で、監視されるエージェントのOSの環境構築は完了です。
**ブラウザからのZabbixの環境設定 [#rfd132d4]
あらためて http://127.0.0.1:8888/ へアクセスし、Admin/zab...
*** Zabbix Server自体の監視開始 [#i6cac7d9]
Zabbix Server自体の監視を行います。
Configuration >> Hosts >> Zabbix server で、IPアドレスを ...
#ref(hosts001.png)
上記の通り、IPアドレスが変更されていることと、ほどなくし...
***各OSのエージェントでの監視開始 [#k22728f2]
続いて、各OS agent001/agent002 の監視設定を追加します。
Configuration >> Hosts >> Create host で入力画面へ。
「Hostタブ」で
Host name: agent001 or agent002
Group: Linux Servers
IP: 192.168.33.11 or 192.168.33.12
などを記述します。
「Templatesタブ」で設定したい監視セットのテンプレートを選...
最後にAddを押下すれば、OKです。
同様にagent002も追加します。
#ref(hosts002.png)
上記のように、agent001/agent002が追加され、ほどなくして「...
以上で、基本的なZabbix Server/Zabbix Agentの環境構築は完...
今回はVagrantでコマンド一発で環境構築をしましたが、オンプ...
おつかれさまでした。
**追記:最低限の設定 [#q65024e3]
***SMTPサーバの設定 [#mdc9415d]
障害をメール通知するための設定は Zabbix/障害をメール通知 ...
----
この記事は
#vote(おもしろかった,そうでもない)
#comment
#topicpath
SIZE(10){現在のアクセス:&counter;}
ページ名: