LoginSignup
2
2

More than 5 years have passed since last update.

Ubuntu16.04にてZabbixインストール

Last updated at Posted at 2017-02-08

Zabbixは3.0でUbuntu16.04をサポートしてからか
PHP7で動作します。
また、さらに高速化のためにnginx+php-fpmに変更と
opcacheに手を入れてます。
DBサーバは別のサーバで動かす前提になっております。

OS

apt

sudo apt-get update
sudo apt-get dist-upgrade
sudo vi /etc/sysctl.conf
+ vm.swappiness=1
+ vm.overcommit_ratio=99
+ vm.overcommit_memory=2

sudo apt-get clean
sudo shutdown -r 0

MySQL

私は公式のMySQLを使う人なので
cd /tmp
wget https://dev.mysql.com/get/mysql-apt-config_0.8.5-1_all.deb
sudo dpkg -i mysql-apt-config_0.8.5-1_all.deb
OKを選択

MySQLのインストール(この作業のみMySQL serverにて実施)

sudo apt-get update
sudo apt-get install mysql-community-server
mysql -uroot -p
mysql> create database zabbix;
mysql> grant all privileges on zabbix.* to zabbix@'%' identified by 'パスワード文字列';
mysql> exit
sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
- bind-address = 127.0.0.1
+ #bind-address = 127.0.0.1
sudo /etc/init.d/mysql restart

Zabbixインストール

wget http://repo.zabbix.com/zabbix/3.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_3.0-1+xenial_all.deb
sudo dpkg -i zabbix-release_3.0-1+xenial_all.deb
sudo apt-get update

sudo apt-get install zabbix-server-mysql zabbix-frontend-php
途中MySQLのROOTのパスワードを一時的に入れます。
aptで足りないPHPパッケージをインストール
sudo apt-get install php7.0-bcmath php7.0-mbstring php7.0-xml

MySQLを普通はローカルに置かないので削除します。
sudo apt-get remove --purge mysql-community-server

Zabbix設定

sudo vi /etc/zabbix/apache.conf
+ php_value date.timezone Asia/Tokyo

sudo service apache2 restart
sudo vi /etc/zabbix/zabbix_server.conf
+ DBHost=xxx.xxx.xxx.xxx
+ DBPassword=xxx

日本語周りインストール

sudo apt-get install fonts-vlgothic
sudo apt-get install language-pack-ja-base language-pack-ja

SQLの流し込み(Zabbix server側だけ)

対象ファイルは/usr/share/doc/zabbix-server-mysql/create.sql.gz
見つからない場合は
sudo find / -name create.sql.gz
zcat /usr/share/doc/zabbix-server-mysql/create.sql.gz | mysql -uzabbix -hIPアドレス -p zabbix
IPアドレスにはMySQLサーバのIPアドレスを入れる

sudo /etc/init.d/zabbix-server restart

http://xxx.xxx.xxx.xxx/zabbix にアクセスできることを確認

Apacheの停止
sudo service apache2 stop
公式nginxレポジトリからインストールできますが作業が増えるのでデフォルトを仕様。HTTP2対応も必要ないですし。
sudo apt-get install nginx
sudo apt-get install php7.0-fpm
設定なしでもデフォルトで動作するのだが動作が把握しやすいよう9000ポート待受
sudo vi /etc/php/7.0/fpm/pool.d/www.conf

- listen = /run/php/php7.0-fpm.sock
+ listen = 127.0.0.1:9000

sudo vi /etc/php/7.0/fpm/php.ini

max_execution_time = 300
memory_limit = 128M
post_max_size = 16M
upload_max_filesize = 2M
max_input_time = 300
always_populate_raw_post_data = -1
date.timezone = Asia/Tokyo

sudo /etc/init.d/php7.0-fpm start
sudo rm -rf /etc/nginx/sites-available/default
これをしないとデフォルトを読みに行く。a2dissiteでも可。
sudo vi /etc/nginx/conf.d/zabbix.conf

server {
        listen       80;
        #server_name xxx.xxx.xxx.xxx;

        root        /usr/share/;
        index       index.html index.php;
        access_log  /var/log/nginx/access.log;
        error_log   /var/log/nginx/error.log error;

        location ~ \.php {
                fastcgi_pass    127.0.0.1:9000;
                fastcgi_index   index.php;
                fastcgi_param   SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include fastcgi_params;
        }
}

sudo /etc/init.d/nginx start

zabbix-agentのインストール

sudo apt-get install zabbix-agent

Zabbixは自動気筒登録されないようなので

sudo systemctl enable zabbix-server.service
sudo systemctl enable zabbix-agent.service
sudo systemctl list-unit-files -t service

動作確認
http://xxx.xxx.xxx.xxx/zabbix

opcacheのチューニング

opcacheが入っていることを確認します
dpkg -l | grep opcache
デフォルトの設定ではtimestampsがONならキャッシュが2秒
revalidate_freqを0にするとキャッシュしなくなります。
※コード最適化があるのでopcache.enableは有効にするべきです
php -i | grep opcache.enable
php -i | grep opcache.validate_timestamps
php -i | grep opcache.revalidate_freq
sudo vi /etc/php/7.0/fpm/conf.d/10-opcache.ini
+ opcache.revalidate_freq=0
sudo /etc/init.d/php7.0-fpm restart
設定を確認します
php -i | grep opcache.enable
php -i | grep opcache.validate_timestamps
php -i | grep opcache.revalidate_freq

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2