前言
zabbix是一個基於web界面的提供分佈式系統監視以及網絡監視功能的企業級的開源解決方案,zabbix能監視各種網絡參數,保證服務器系統的安全運營,並提供友好的通知機制以讓系統管理員快速定位解決存在的各種問題
實驗部署
- 本實驗採用的是在LNMP的架構基礎上搭建zabbix服務,爲了節省搭建的時間,博主使用的是yum安裝的方式搭建LAMP架構及zabbix
1、安裝nginx服務
(1)創建nginx的鏡像源
[root@localhost ~]# vim /etc/yum.repos.d/nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1
[root@localhost ~]# yum list
(2)下載nginx並啓動服務
[root@localhost ~]# yum install nginx -y
[root@localhost ~]# systemctl start nginx
[root@localhost ~]# systemctl enable nginx
2、安裝數據庫服務
[root@localhost ~]# yum install mariadb-server mariadb -y
[root@localhost ~]# systemctl start mariadb
[root@localhost ~]# systemctl enable mariadb.service
#執行下面的操作設置數據庫的登陸密碼及其他的設置操作
[root@localhost ~]# mysql_secure_installation
3、安裝PHP服務
[root@localhost ~]# rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
[root@localhost ~]# rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
[root@localhost ~]# yum install php72w php72w-devel php72w-fpm php72w-gd php72w-mbstring php72w-mysql -y
[root@localhost ~]# php -v
PHP 7.2.27 (cli) (built: Jan 26 2020 15:49:49) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
4、配置nginx服務支持php
#修改php-fpm的配置文件,將apache改爲nginx
[root@localhost ~]# vim /etc/php-fpm.d/www.conf
user = nginx
group = nginx
#更改nginx的默認配置文件,配置location,在index中添加index.php
[root@localhost ~]# vim /etc/nginx/conf.d/default.conf
location / {
root /usr/share/nginx/html;
index index.php index.html index.htm;
}
//配置php請求被傳送到後端的php-fpm模塊,默認情況下php配置塊是被註釋的,將註釋取消即可使用
location ~ \.php$ {
root /usr/share/nginx/html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
//把fastcgi_param中的/scripts改爲$document_root
#修改php的配置文件
[root@localhost ~]# vim /etc/php.ini
359 expose_php = Off //隱藏php版本
202 short_open_tag = On //支持php標籤
//以下爲zabbix配置要求
368 max_execution_time = 300 //執行時間
378 max_input_time = 300 //接收數據等待時間
389 memory_limit = 128M //每個腳本佔用內存
656 post_max_size = 16M //POST數據大小
799 upload_max_filesize = 2M //下載文件大小
800 always_populate_raw_post_data = -1 //手動添加,表示可以用$HTTP_RAW_POST_DATA接收post raw data
878 date.timezone = Asia/Shanghai //設置時區
#啓動服務
[root@localhost ~]# systemctl start php-fpm.service
[root@localhost ~]# systemctl enable php-fpm.service
[root@localhost ~]# systemctl restart nginx
5、PHP測試
(1)創建php測試頁面
[root@localhost ~]# vim /usr/share/nginx/html/info.php
<?php
phpinfo();
?>
- 使用瀏覽器訪問
http://192.168.7.168/info.php
(2)測試連接數據庫
[root@localhost ~]# vim /usr/share/nginx/html/info.php
<?php
$link=mysqli_connect('127.0.0.1','root','123456');
if ($link) echo "連接成功!!!";
else echo "連接失敗!!!";
?>
- 此時LNMP的服務搭建完成,下面開始搭建zabbix服務
6、在數據庫中創建zabbix的用戶及數據庫
[root@localhost ~]# mysql -uroot -p
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
MariaDB [(none)]> grant all privileges on *.* to 'zabbix'@'%' identified by 'admin123';
MariaDB [(none)]> flush privileges;
- 在創建完成用戶zabbix後,發現無法進行本地數據庫登陸
[root@localhost ~]# mysql -uzabbix -p
Enter password:
ERROR 1045 (28000): Access denied for user 'zabbix'@'localhost' (using password: YES)
- 原因是有空用戶名稱佔用導致本地無法登陸
MariaDB [(none)]> select user,host from mysql.user;
+--------+---------------+
| user | host |
+--------+---------------+
| zabbix | % |
| root | 127.0.0.1 |
| | 192.168.7.168 |
| root | 192.168.7.168 |
| root | ::1 |
| | localhost |
| root | localhost |
+--------+---------------+
7 rows in set (0.00 sec)
#將空用戶刪除即可使用zabbix用戶登陸數據庫
MariaDB [(none)]> drop user ''@'localhost';
MariaDB [(none)]> drop user ''@'192.168.7.128';
MariaDB [(none)]> select user,host from mysql.user;
+--------+---------------+
| user | host |
+--------+---------------+
| zabbix | % |
| root | 127.0.0.1 |
| root | 192.168.7.168 |
| root | ::1 |
| root | localhost |
+--------+---------------+
5 rows in set (0.00 sec)
- 測試使用zabbix用戶連接數據庫
[root@localhost ~]# vim /usr/share/nginx/html/info.php
<?php
$link=mysqli_connect('127.0.0.1','zabbix','admin123');
if ($link) echo "連接成功!!!";
else echo "連接失敗!!!";
?>
7、下載zabbix的鏡像源並安裝配置
[root@localhost ~]# rpm -i https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
[root@localhost ~]# yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent -y
#更改zabbix_server的配置文件
[root@localhost ~]# vim /etc/zabbix/zabbix_server.conf
38 LogFile=/var/log/zabbix/zabbix_server.log
49 LogFileSize=0
72 PidFile=/var/run/zabbix/zabbix_server.pid
82 SocketDir=/var/run/zabbix
91 DBHost=localhost //註釋去掉
100 DBName=zabbix
116 DBUser=zabbix
124 DBPassword=admin123 //修改添加數據庫密碼
356 SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
473 Timeout=4
516 AlertScriptsPath=/usr/lib/zabbix/alertscripts
527 ExternalScripts=/usr/lib/zabbix/externalscripts
563 LogSlowQueries=3000
#修正圖表中文亂碼
[root@localhost ~]# vim /usr/share/zabbix/include/defines.inc.php
//將文中的graphfont改爲kaiti
#從微軟系統下複製相應的字體文件到/usr/share/zabbix/fonts
[root@localhost ~]# cd /usr/share/zabbix
[root@localhost zabbix]# mkdir fonts
[root@localhost zabbix]# cd fonts/
#上傳後查看
[root@localhost fonts]# ls
STKAITI.TTF