一个初学者尝试使用Zabbix
Zabbix(一个监视系统)
我試著搭建了一個監視伺服器的Zabbix。
环境
-
- OpenStack Ocata instance
- OS (Ubuntu16.04) cloud-image
安装的内容 de )
-
- apache2
-
- php
-
- php-cgi
-
- libapache2-mod-php
-
- php-common
-
- php-pear
-
- php-mbstring
-
- mariadb-server
-
- zabbix-server-mysql
-
- zabbix-agent
-
- zabbix-frontend-php
-
- php-mysql
-
- php-gd php-xml-util
-
- php-mbstring
-
- php-bcmath
-
- php-net-socket
- php-gettext
在OpenStack上创建一个实例
-
- vcpu : 2
-
- ram : 4GB
- hdd : 40GB
– 图像文件名:ubuntu16.04-cloud.qcow2
#云配置的设置(yml格式)
#cloud-config
password: ubuntu
chapasswd: {expire:False}
ssh_pwauth: True
hostname: ubuntu
安装前的准备工作。
~# apt -y update
Apache2 可以被改為 Apache 二代。
安装和设置
~# apt -y install apache2
~# ~# vi /etc/apache2/conf-enabled/security.conf
(略)
#25行目
25 ServerTokens Prod
重新启动服务
~# systemctl restart apache2
对PHP进行释义的中文翻译可选为:PHP是一种服务器端脚本语言。
安装和确认
~# apt -y install php php-cgi libapache2-mod-php php-common php-pear php-mbstring
~# a2enconf php7.0-cgi
Conf php7.0-cgi already enabled
这是关于Apache2的设置。
~# vi /etc/php/7.0/apache2/php.ini
# 912行目:コメント解除しタイムゾーン設定
date.timezone = "Asia/Tokyo"
重新启动服务
~# systemctl restart apache2
确认PHP
~# vi /var/www/html/index.php
<html>
<body>
<div style="width: 100%; font-size: 40px; font-weight: bold; text-align:center;">
<?php
print Date("Y/m/d");
?>
</div>
</body>
</html>
使用curl进行验证
~# curl --http1.1 localhost/index.php
<html>
<body>
<div style="width: 100%; font-size: 40px; font-weight: bold; text-align:center;">
2017/08/24</div>
</body>
</html>
因为显示了日期,所以应该没问题。
MariaDB是一种开源关系型数据库管理系统。
安装和设置
~# apt -y install mariadb-server
~# vi /etc/mysql/mariadb.conf.d/50-server.cnf
~# sed -i "105s/utf8mb4/utf8/g" /etc/mysql/mariadb.conf.d/50-server.cnf
~# sed -i "106s/collation-server/#collation-server/g" /etc/mysql/mariadb.conf.d/50-server.cnf
~# sed -i "29s/127.0.0.1/0.0.0.0/g" /etc/mysql/mariadb.conf.d/50-server.cnf
~# mysql_secure_installation
Zabbix
安装
~# apt -y install zabbix-server-mysql zabbix-agent zabbix-frontend-php php-mysql php-gd php-xml-util php-mbstring php-bcmath php-net-socket php-gettext
数据库的设置
~# mysql -u root -p
Enter password:hogehoge
MariaDB [(none)]> create database zabbix;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@'localhost' identified by 'zabbix';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@'%' identified by 'zabbix';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> exit
Bye
~# cd /usr/share/zabbix-server-mysql
/usr/share/zabbix-server-mysql# gunzip *.sql.gz
/usr/share/zabbix-server-mysql# mysql -u root -p zabbix < schema.sql
Enter password:
/usr/share/zabbix-server-mysql# mysql -u root -p zabbix < images.sql
Enter password:
/usr/share/zabbix-server-mysql# mysql -u root -p zabbix < data.sql
Enter password:
设置Zabbix服务器
~# vi /etc/zabbix/zabbix_server.conf
# 82行目:DB名を追記
DBName=zabbix
# 98行目:DBユーザー名を追記
DBUser=zabbix
# 106行目:コメント解除しDBユーザーのパスワードを追記
DBPassword=zabbix
Zabbix重新启动
~# systemctl restart zabbix-server
PHP 和 Apache2 的配置
:~# vi /usr/share/zabbix/include/classes/setup/CFrontendSetup.php
# 348行目に追記
# Zabbix初期セットアップ要件で「php always_populate_raw_post_data」が「off」を要求されるが
# Ubuntu16.04 デフォルトの PHP7 では当該オプションは削除されたため初期セットアップが完了できないことへの対処
$current = ini_get('always_populate_raw_post_data');
$current = -1;
return array(
~# vi /etc/php/7.0/apache2/php.ini
# 368行目:Zabbix 要件に変更
max_execution_time = 300
# 378行目:Zabbix 要件に変更
max_input_time = 300
# 656行目:Zabbix 要件に変更
post_max_size = 16M
~# vi /etc/apache2/conf-available/zabbix-frontend-php.conf
# 最終行に追記:Web 管理画面へのアクセス制限(自身のネットワークを指定)
<Directory /usr/share/zabbix>
Require local
Require ip 192.168.100.0/24
</Directory>
~# chown -R www-data /etc/zabbix
~# a2enconf zabbix-frontend-php
Enabling conf zabbix-frontend-php.
To activate the new configuration, you need to run:
service apache2 reload
~# systemctl restart apache2.service