ニートのMEMO

ニート生活をしたかった社会人がネットワークやサーバ、プログラミングなどについて勉強したことをメモとして残しているブログです。

Zabbix on CentOS7(Vagrant)で構築

環境

ホストOS ゲストOS(vagrant)
Mac OSX CentOS7×3


ゲストOS IPアドレス 用途
zabbix 192.168.33.10 zabbixサーバ
unbound 192.168.33.20 ローカルDNSサーバ(今回は使用しない)
webserver 192.168.33.30 Webサーバ

Vagrantの起動

$ mkdir workspace
$ cd workspace
$ vim Vagrantfile

# -*- mode: ruby -*-
# vi: set ft=ruby :

VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  # All Vagrant configuration is done here. The most common configuration
  # options are documented and commented below. For a complete reference,
  # please see the online documentation at vagrantup.com.

  # Every Vagrant virtual environment requires a box to build off of.
  config.vm.box = "bento/centos-7.3"

  config.vm.define :zabbix do | zabbix |
    zabbix.vm.hostname = "zabbix"
    zabbix.vm.network :private_network, ip: "192.168.33.10"
  end

  config.vm.define :unbound do | unbound |
    unbound.vm.hostname = "unbound"
    unbound.vm.network :private_network, ip: "192.168.33.20"
  end

  config.vm.define :webserver do | webserver |
    webserver.vm.hostname = "webserver"
    webserver.vm.network :private_network, ip: "192.168.33.30"
  end

end

$ vagrant up
$ vagrant ssh zabbix

# ifconfigでinterfaceにipアドレスが振られてない場合は固定で振る
vagrant@zabbix~$ sudo ifconfig enp0s8 up 192.168.33.10 netmask 255.255.255.0

パッケージの更新

$ sudo yum -y update
$ sudo yum -y upgrade
$ sudo yum -y install vim

Apacheのインストール

$ sudo yum -y install httpd
$ sudo vim /etc/httpd/conf/httpd.conf

#151行目
AllowOverride All

#164行目
DirectoryIndex index.html index.php



$ sudo systemctl start httpd
$ sudo systemctl enable httpd

Apacheが起動できているか以下のURLで確認

sudo vim /var/www/html/index.html

<html>
<body>
Test
</div>
</body>
</html>

http://[自分のサーバのIP address]/index.html
Testが表示されていればOK

Zabbixのインストール

$ sudo wget http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm
$ sudo yum -y localinstall zabbix-release-3.0-1.el7.noarch.rpm
$ sudo yum -y install zabbix-server-mysql
$ sudo yum -y install zabbix-web-mysql
$ sudo yum -y install zabbix-web-japanese
$ sudo yum -y install zabbix-agent
$ sudo yum -y install zabbix-get

MariaDBのインストールとセットアップ

1 MariaDBのインストール

$ sudo yum -y install mariadb-server
$ sudo vim /etc/my.cnf

[mysqld]
#以下の1文を追加
character-set-server=utf8

$ sudo systemctl start mariadb
$ sudo systemctl enable mariadb

2 MariaDBのセットアップ

  • Zabbixデータベース作成
  • zabbixユーザとパスワードの設定
ユーザ名 パスワード
zabbix hogehoge
$ mysql -u root -p

> create database zabbix;
> create user zabbix@'localhost' identified by 'hogehoge';
> grant all privileges on zabbix.* to zabbix@'localhost'; 
> exit;


$ cd /usr/share/doc/zabbix-server-mysql-3.0.16/
$ sudo gunzip create.sql.gz
$ mysql -u root -p zabbix < create.sql 

3 Zabbixサーバのセットアップと起動

$ sudo vim /etc/zabbix/zabbix_server.conf
# DB名を確認
DBName=zabbix
# DBユーザー名を確認
DBUser=zabbix
# DBユーザーのパスワードを追記
DBPassword=hogehoge

$ sudo vim /etc/httpd/conf.d/zabbix.conf

#19行目に追記
php_value date.timezone Asia/Tokyo


$ sudo systemctl restart zabbix-server
$ sudo systemctl enable zabbix-server

4 Zabbix-agentの起動

$ sudo systemctl restart zabbix-agent
$ sudo systemctl enable zabbix-agent

Zabbixの起動確認

http://[自分のサーバのIP address]/zabbix/ にアクセス
以下のような画面が出てきたらOK(バージョンが違うのは気にしないでください)

Nextを選択

f:id:katoko-o:20180430082803p:plain

Nextを選択

f:id:katoko-o:20180512034734p:plain

UserとPasswordをそれぞれzabbixとhogehogeに設定
Nextを選択

f:id:katoko-o:20180512034757p:plain

NameはつけてもつけてなくてもOK
Nextを選択

f:id:katoko-o:20180512034815p:plain

確認画面が出てくるので良ければNextを選択

f:id:katoko-o:20180512034834p:plain

Finishを選択

f:id:katoko-o:20180512034852p:plain

デフォルトではユーザー名:Admin, パスワード:zabbixでログインできる

f:id:katoko-o:20180512034908p:plain

Zabbixの設定

  1. 管理者パスワードの変更と日本語化 右上の人形マークから管理者パスワードの変更と日本語化をする
    Change passwordから新しいパスワードを入力し、LanguageからJapaneseを選択し、Updateする f:id:katoko-o:20180512034932p:plain

  2. 監視ホストの設定 管理画面からConfigure → Hostsを選択
    Zabbix-agentをインストールしたローカルホストがあるのでチェックを入れ、Enableにする f:id:katoko-o:20180512035020p:plain 少し待ってからMoniter → Screenから以下のように見られればOK f:id:katoko-o:20180512035037p:plain

  3. 監視ホストの追加(webserver on CentOS7.3)
    Zabbixサーバ以外の監視ホストの追加をする

[ホストOS]
$ vagrant ssh webserver
    
$ sudo yum -y update
$ sudo yum -y upgrade
$ sudo yum -y install httpd
$ sudo systemctl start httpd
$ sudo systemctl enable httpd
$ sudo wget http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm
$ sudo yum -y localinstall zabbix-release-3.0-1.el7.noarch.rpm
$ sudo yum -y install zabbix-agent
$ sudo vim /etc/zabbix/zabbix_agentd.conf
    
# Zabbix サーバーを指定
Server=192.168.33.10
# Zabbix サーバーを指定
ServerActive=192.168.33.10
# 自身のホスト名に変更
Hostname=webserver
    
$ sudo systemctl restart httpd
$ sudo systemctl start zabbix-agent 
$ sudo systemctl enable zabbix-agent

設定 → ホスト → ホストの追加(右上)に進む

ホスト名 グループ IPアドレス テンプレート
webserver Linux servers 192.168.33.30 Template OS Linux

ホストの項目でホスト名、グループ、IPアドレスを設定する f:id:katoko-o:20180512035405p:plain

ホストの横にあるテンプレートを選択する
選択からTemplate OS Linuxを選び、すぐ下にある追加するを選択

f:id:katoko-o:20180512035451p:plain テンプレートとのリンクに追加されたのを確認したら一番下の追加を選択
f:id:katoko-o:20180512035548p:plainホストが追加されましたと表示されたらOK
しばらく待っていると以下のように見られるようになる

zabbixでsnmpを利用したネットワークの監視もできるけど今回はこれで終わり。機会があればやります。