LoginSignup
1
1

More than 5 years have passed since last update.

zabbix メモ

Last updated at Posted at 2018-04-19

事前準備

・Ubuntu16/CentOS7
・パッケージのアップデート
・vimの導入

zabbixのバージョン

3.4

リポジトリの追加

http://repo.zabbix.com/zabbix
から、望みのdebファイルのURLを見つける
Ubuntu
cd /path/to/zabbix3.4
wget http://repo.zabbix.com/zabbix/3.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_3.4-1+xenial_all.deb
sudo dpkg -i zabbix-release_3.4-1+xenial_all.deb
sudo apt -y update
CentOS
sudo rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-1.el7.centos.noarch.rpm
sudo yum -y update

必要なパッケージのインストール

sudo apt/yum -y install zabbix-server-mysql zabbix-agent zabbix-get zabbix-sender
Ubuntu
sudo apt -y install zabbix-frontend-php language-pack-ja
CentOS
sudo yum -y install zabbix-web-mysql zabbix-web-japanese 

DBの設定

インストール

Ubuntu
sudo apt -y install mariadb-server 
CentOS
sudo yum -y install mariadb mariadb-server

CentOSのみ、/etc/my.cnf[mysqld]ブロック(の中の2018年現在symbolic-links=0の次の項)に

character-set-server=utf8

を追記。

Ubuntuは/etc/mysql/mariadb.conf.d/50-server.cnf[mysqld]ブロック内にcharacter-set-server = utf8mb4と最初から書いてあるためノータッチ。

mariadbのstartとenable

Ubuntu
sudo systemctl start mysql.service
sudo systemctl enable mysql.service
CentOS
sudo systemctl start mariadb
sudo systemctl enable mariadb

DBに接続

sudo mysql -u root -p

パスワード作成

set password = password('hogehoge');
quit;

再接続

sudo mysql -u root -p

utf8でDBを作成

create database zabbix character set utf8 collate utf8_bin;

zabbixユーザを作成
「zabbix.*」にマッチする権限を「zabbix@localhost」に与える

grant all on zabbix.* to zabbix@localhost identified by "<password>";
quit;

公式が用意してくれているzabbixの初期状態のDBを流し込む

Ubuntu
cd /usr/share/doc/zabbix-server-mysql/ #現在
CentOS
cd /usr/share/doc/zabbix-server-mysql-3.4.7/ #現在
sudo gzip -d create.sql.gz
cat create.sql | sudo mysql -u zabbix -p zabbix #-u=zabbix, -p, 第一引数:zabbix

zabbixサーバーの設定

sudo vim /etc/zabbix/zabbix_server.conf(2018年現在)

DBUser=zabbix

### Option: DBPassword
#       Database password. Ignored for SQLite.
#       Comment this line if no password is used.
#
# Mandatory: no
# Default:
- #DBPassword=
+ DBPassword=hoge

httpdの設定を変更

Ubuntu
sudo vim /etc/apache2/conf-available/zabbix.conf
CentOS
sudo vim /etc/httpd/conf.d/zabbix.conf
<IfModule mod_php5.c>
       php_value max_execution_time 300
       php_value memory_limit 128M
       php_value post_max_size 16M
       php_value upload_max_filesize 2M
       php_value max_input_time 300
       php_value always_populate_raw_post_data -1
-       # php_value date.timezone Europe/Riga
+       php_value date.timezone Asia/Tokyo
</IfModule>

Ubuntuはなぜかphp7も設定しないとダメだった

Ubuntu
<IfModule mod_php7.c>
...
+       php_value date.timezone Asia/Tokyo

zabbixサーバーの起動と自動起動設定

sudo systemctl start zabbix-server #SELinuxが有効だとここでエラーになるので後述の方法で対処
sudo systemctl enable zabbix-server

apache httpdの再起動と自動起動設定

Ubuntu
sudo systemctl restart apache2
sudo systemctl enable apache2
CentOS
sudo systemctl restart httpd
sudo systemctl enable httpd

確認用にzabbixエージェントも起動しておく

sudo systemctl start zabbix-agent
sudo systemctl enable zabbix-agent

一応バージョンを確認

zabbix_get -s 127.0.0.1 -k agent.version

firewallの設定を良い感じにする

firewalldが原因で次の手順を行ってもうまくいかない可能性があるので、
https://qiita.com/miyagaw61/items/1dd937f1c6d9341e5635
あたりの記事を参考にしながら良い感じにしてください

ポイントとしては、ZabbixのWebUIを見るためにhttp(80番ポート)、zabbix-serverが10051番ポート、zabbix-agentが10050番ポートを使用します。

Zabbix の初期設定

ユーザーパスワードと言語の変更

リロード

F5

SELinux

しかし、このままではSELinuxが有効になっている場合、zabbix-serverのstartに失敗することがある。
以下のようにSELinuxを完全に無効化してもいいが...

vim /etc/selinux/config
- SELINUX=enforcing
+ SELINUX=disable

SELinuxと共存するには以下のようにSELinuxを設定する必要がある。

SELinuxの設定を変える

httpdによる書き込み権限をSELinuxに付与

setsebool -P httpd_can_network_connect on

zabbixがネットワークを用いてDBを更新する権限をSELinuxに付与

setsebool -P zabbix_can_network on

SELinuxの設定を追加するために設定作成を補助するツールをインストール

yum install policycoreutils-python

policycoreutils-pythonはSELinux の操作および管理用のsemanage、audit2allow、audit2why、chcatといった各種ユーティリティーを提供する。

/var/log/audit/audit.logから情報収集

auditとは:Audit ってなんだ - ゆらろぐ ( archive )

grep zabbix_server /var/log/audit/audit.log | audit2allow
#============= zabbix_t ==============
allow zabbix_t self:process setrlimit;

#!!!! The file '/run/zabbix/zabbix_server_preprocessing.sock' is mislabeled on your system.
#!!!! Fix with $ restorecon -R -v /run/zabbix/zabbix_server_preprocessing.sock
#!!!! This avc can be allowed using the boolean 'daemons_enable_cluster_mode'
allow zabbix_t self:unix_stream_socket connectto;
allow zabbix_t zabbix_var_run_t:sock_file create;

ポリシーファイルを生成、読み込み

grep zabbix_server /var/log/audit/audit.log | audit2allow -M zabbix-limit

******************** IMPORTANT ***********************
To make this policy package active, execute:

semodule -i zabbix-limit.pp
semodule -i zabbix-limit.pp

再起動

再起動を行う

参考

Zabbix 3.4 を yumでインストール(CentOS 7) | あぱーブログ ( archive )

1
1
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
1
1