Centos7でZabbixを建てる

# はじめに
現場に行くとなんだかんだ触るzabbixを作ってみようかと思った。
断っておくがこれは商用を想定したものではない。
あくまでZabbixの画面を比較的簡単に目にするためのもの。

# 前提
iptables,selinux停止済みのCentOS7サーバが作ってある前提。

# 前提リポジトリのインストール
今回インストールするzabbixは時代背景を鑑みて4.2を入れる予定。
zabbix4系列はphp5.4以上が必要だがremiリポジトリで簡単に7.2が手に入る。
なので今回はphp7.2を使う。
(別のバージョンでもいい)
そして一緒にepelリポジトリもインストールしておく。

```ruby:前提リポジトリのインストール
yum -y install epel-release
rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
rpm --import http://rpms.famillecollet.com/RPM-GPG-KEY-remi
```

# php7.2インストール
php7.2をインストールする。
ひとつづつyumコマンド打ってもいいが効率が悪い。
なので1行で入れてしまう。

```ruby:php7.3インストール
yum --enablerepo=remi-safe -y install php72-php php72-php-mysqlnd php72-php-xml php72-php-bcmath php72-php-ldap php72-php-gd
```

# mysqlインストール
mysqlと書いたがCentOS7のデフォルトはmariadb。
今回はmariadbで構わないのでyumでインストールしてしまう。
(商用環境ではちゃんとcommunity版使う事)

```ruby:mysqlインストール
yum -y install mariadb-server
```

# mariadb起動
mariadbを起動しておく。
起動しないとこの後の設定ができない。

```ruby:mysqlインストール
systemctl enable mariadb
systemctl start mariadb
```

# Zabbix用データベース作成
Zabbix用のデータベースの作成と必要な権限を付けておく。

```ruby:Zabbix用データベース作成
mysql
CREATE DATABASE zabbix;
CREATE USER zabbix@localhost IDENTIFIED BY 'zabbix';
GRANT ALL ON zabbix.* TO zabbix@localhost;
exit
```

# Zabbixリポジトリ追加
準備が整ったので改めてZabbixリポジトリを追加する。

```ruby:Zabbix用データベース作成
yum -y install http://repo.zabbix.com/zabbix/4.2/rhel/7/x86_64/zabbix-release-4.2-1.el7.noarch.rpm
```

# Zabbixインストール
Zabbixもコンポーネントが多いので1行で入れてしまう。

```ruby:Zabbixインストール
yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-web-japanese zabbix-agent zabbix-get
```

# ZabbixDB初期データインストール
/usr/share/docにzabbixDBの初期設定データが出来ているのでこれをインストールする。
`zcat create.sql.gz | mysql -uzabbix -p -D zabbix`の際にパスワードを聞かれるので設定した`zabbix`を入力する。

```ruby:ZabbixDB初期データインストール
cd /usr/share/doc/zabbix-server-mysql-4.2.8
zcat create.sql.gz | mysql -uzabbix -p -D zabbix
[zabbix]
```

# Zabbix起動
準備ができたのでZabbixを起動する。
enbaleも忘れずに入れておく。

```ruby:ZabbixDB初期データインストール
systemctl start zabbix-server
systemctl start zabbix-agent
systemctl enable zabbix-server
systemctl enable zabbix-agent
```

# apache初期設定
これで`zabbix`は起動したが画面を出すために`apache`が必要。
その`apache`の`config`に初期設定を入れておく。
`vi`でも構わないが1行なので`echo`で入れてしまう。

```ruby:apache初期設定
echo 'php_value date.timezone Asia/Tokyo' >> /etc/httpd/conf.d/zabbix.conf
```

# apache起動
準備が整ったのでapacheを起動する。

```ruby:apache初期設定
systemctl enable httpd
systemctl start httpd
```

# Zabbix接続
ブラウザを開いて`http://[IPアドレス]/zabbix`に接続すれば画面が出る。
そのまま`Next step`を押下。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1092362/90203b37-210f-2a4f-7cbe-8843ddf32a35.png)

# 構成チェック 
構成のチェックが走るので全てOKであることを確認して`Next step`
もしNGのものがあれば手順が抜けている。
確認して全てOKにすること。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1092362/6a8317da-5506-bdf3-a933-4062e4d89585.png)

# DB接続設定
DB接続設定画面になるのでユーザを`zabbix`
パスワードを設定した`zabbix`にする。
その他は放置で`Next step`
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1092362/40870f9b-0220-649b-996f-1b16b7c943b0.png)

# Zabbixのサーバ設定
ここは需要によって変化する。
一旦放置で`Next step`
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1092362/3ec875d9-5910-242a-569b-f0b8cd15f886.png)

# Zabbixのサーバ設定
本来はここで色々と確認するが一旦`Next step`OK。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1092362/eb9f4770-3b55-7e0a-484c-3e894b119a50.png)

# Zabbixインストール完了
これでZabbixのインストール(初期設定)が完了するので`Finish`
(画面わすれ)

# Zabbixログイン
Zabbixにログインする。
初期ユーザは`admin`
初期パスワードは`zabbix`
この情報でログインする。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1092362/34afdbc3-7427-a088-814b-953e55256d5a.png)

# 日本語設定
これでいつもの見慣れた画面が出来る。
ただ英語ばっかりで落ち着かないはず。
じつはZabbixはデフォルトで日本語対応している。
(というか日本製)

右上の赤枠にある人間のマーク(？)をクリックする。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1092362/3e4bd91d-6387-456d-67ca-996f9c5c6e4f.png)

# 日本語設定②
2段目のLanguageの項目をクリックするとプルダウンが表示される。
`Japanese`を選択して(プルダウンの裏に隠れている)`Update`を押下する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1092362/ea613d2d-7b4a-c879-bc97-ab13b7afc56f.png)

# 日本語設定③
なんとなくみなれた画面がでる。
すこし触ってみよう。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1092362/a40f6507-35bb-3600-90a2-a28fd7c781f6.png)

# さいごに
久しぶりに建ててみたが正直めんどくさいなぁという印象。
ただZabbixもそういえばLAMPなのだなぁということを思い出した。
LAMPサーバという用語は一時期流行ったがいまはどうなのだろうか。
コンテナ隆盛といっても構成としてのLAMPは残っていると思う。
今廃れていくのだろうかどうなのだろうか。