zabbix4.0单机搭建
部署数据库
首先设置一个阿里源的epel源
[root@zabbix ~]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
--2022-05-18 22:29:51-- http://mirrors.aliyun.com/repo/epel-7.repo
Resolving mirrors.aliyun.com (mirrors.aliyun.com)... 119.96.137.212, 119.96.137.215, 119.96.137.210, ...
Connecting to mirrors.aliyun.com (mirrors.aliyun.com)|119.96.137.212|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 664 [application/octet-stream]
Saving to: ‘/etc/yum.repos.d/epel.repo’
100%[=======================================================================>] 664 --.-K/s in 0s
2022-05-18 22:29:51 (111 MB/s) - ‘/etc/yum.repos.d/epel.repo’ saved [664/664]
安装mariadb数据库
[root@zabbix ~]# yum install -y mariadb-server mariadb
启动数据库并建zabbix库
[root@zabbix ~]# systemctl start mariadb.service
[root@zabbix ~]# mysql
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 5.5.68-MariaDB MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> create database zabbix charset utf8 collate utf8_bin;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
| zabbix |
+--------------------+
5 rows in set (0.00 sec)
授权zabbix库给本机用户zabbix
MariaDB [(none)]> grant all on zabbix.* to 'zabbix'@'localhost' identified by '123456';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)
下载zabbix数据库文件
[root@zabbix ~]# yum install -y zabbix40-dbfiles-mysql.noarch
[root@zabbix ~]# rpm -ql zabbix40-dbfiles-mysql
/usr/share/licenses/zabbix40-dbfiles-mysql-4.0.39
/usr/share/licenses/zabbix40-dbfiles-mysql-4.0.39/COPYING
/usr/share/zabbix-mysql
/usr/share/zabbix-mysql/Makefile
/usr/share/zabbix-mysql/Makefile.am
/usr/share/zabbix-mysql/Makefile.in
/usr/share/zabbix-mysql/data.sql
/usr/share/zabbix-mysql/images.sql
/usr/share/zabbix-mysql/schema.sql
导入数据库文件
[root@zabbix ~]# mysql -uzabbix -p123456 zabbix < /usr/share/zabbix-mysql/schema.sql
[root@zabbix ~]# mysql -uzabbix -p123456 zabbix < /usr/share/zabbix-mysql/images.sql
[root@zabbix ~]# mysql -uzabbix -p123456 zabbix < /usr/share/zabbix-mysql/data.sql
部署nginx和PHP
安装nginx和php-fpm
[root@zabbix ~]# yum install -y nginx php-fpm
下载web文件
[root@zabbix ~]# yum install -y zabbix40-web.noarch zabbix40-web-mysql.noarch
编辑nginx配置文件,复制以下代码到zabbix.conf文件中
[root@zabbix ~]# vim /etc/nginx/conf.d/zabbix.conf
###
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root /usr/share/zabbix;
index index.html index.php;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
location ~ \.php$ {
root /usr/share/zabbix;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
开启nginx和php-fpm服务
[root@zabbix ~]# systemctl start nginx
[root@zabbix ~]# systemctl start php-fpm.service
[root@zabbix ~]# netstat -tnlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 23908/php-fpm: mast
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 7960/mysqld
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 23861/nginx: master
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 6894/sshd
tcp6 0 0 :::80 :::* LISTEN 23861/nginx: master
tcp6 0 0 :::22 :::* LISTEN 6894/sshd
部署zabbix-server
安装zabbix-server服务
[root@zabbix ~]# yum install -y zabbix40-server.noarch zabbix40-server-mysql.x86_64
配置zabbix-server配置文件
[root@zabbix ~]# grep "^[a-Z ]" /etc/zabbix/zabbix_server.conf
LogFile=/var/log/zabbixsrv/zabbix_server.log
LogFileSize=0
PidFile=/run/zabbixsrv/zabbix_server.pid
SocketDir=/var/lib/zabbixsrv/tmp
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=123456
Timeout=4
AlertScriptsPath=/var/lib/zabbixsrv/alertscripts
ExternalScripts=/var/lib/zabbixsrv/externalscripts
LogSlowQueries=3000
TmpDir=/var/lib/zabbixsrv/tmp
SSLCertLocation=/var/lib/zabbixsrv/ssl/certs
SSLKeyLocation=/var/lib/zabbixsrv/ssl/keys
开启zabbix-server服务
[root@zabbix ~]# systemctl start zabbix-server
登录网页部署
输入主机IP访问
会发现以上有四个参数没达到要求报错,此时我们修改其数值
[root@zabbix ~]# vim /etc/php.ini
配置好以上四项后重启php-fpm服务,并刷新网页
[root@zabbix ~]# systemctl restart php-fpm.service
此时可以看到网页刷新后报错全都消除
输入数据库信息
命名监控服务
用户名是Admin,密码为zabbix
至此监控服务部署完成