Zabbix监控架构的搭建-01

Zabbix监控架构的搭建

1、架构环境

Server端

​	操作系统:Centos7

​	Web应用:Nginx

​	DB:mariadb(此为轻量级DB适合拿来练手,也可根据自身选择mysql等)

​	脚本语言:PHP

​	IP:192.168.254.130

agent端

agent01:

	操作系统:centos7
	IP:192.168.254.131

agent02:

	操作系统:windows 11
	IP:192.168.254.1

2、Zabbix-Server的搭建与部署

配置yum源

可在Zabbix官网中的产品手册查询各个版本的repo源(链接:https://repo.zabbix.com/zabbix/),这里我用的是centos7系统的zabbix5.0版本。

rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-agent-5.0.0-1.el7.x86_64.rpm

更改yum源

如果你默认使用的是国外yum源,可更改为阿里源以提升下载速度。

# 备份yum文件
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo_bak
#下载阿里云的 CentOS-Base.repo 到/etc/yum.repos.d/
# 方式一:
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
# 方式二:
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
# 清空yum缓存
yum clean all
# 生成阿里云的yum缓存
yum makecache

安装Zabbix-server应用

# zabbix-server-mysql:用于zabbix数据写入数据库
# zabbix-agent:zabbix被监控端所需软件
yum install -y zabbix-server-mysql zabbix-agent

zabbix5.0之后需对zabbix的Web端进行另外的配置与安装

# scl:(Software Collections)软件集,是为了给RHEL/CentOS用户提供一种以方便,安全地安装、使用应用程序和运行时环境的多个版本方式
yum install -y centos-release-scl

修改安装Zabbix-Web端的yum源

vim /etc/yum.repos.d/zabbix.repo
[zabbix-frontend]
name=Zabbix Official Repository frontend - $basearch
baseurl=http://repo.zabbix.com/zabbix/5.0/rhel/7/$basearch/frontend
enabled=1  ##将前端的源开启(由0改为1)
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591

安装Zabbix-Web端

yum install -y zabbix-web-mysql-scl zabbix-nginx-conf-scl mariadb-server

创建数据库

# 启动数据库服务
systemctl start mariadb
# 进入mysql交互式命令行模式
mysql
# 创建zabbix数据库,字符集设置为utf-8
create database zabbix character set utf8 collate utf8_bin;
# 用户授权并赋予密码
grant all on zabbix.* to zabbix@localhost identified by 'zabbix';
# 查看是否创建成功
show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
| zabbix             |
+--------------------+
5 rows in set (0.00 sec)
# 若出现名为zabbix的数据库,则表示创建成功

zabbix默认数据表的导入

寻找Zabbix默认数据表头的位置
rpm -ql zabbix-server-mysql

/etc/logrotate.d/zabbix-server
/etc/zabbix/zabbix_server.conf
/usr/lib/systemd/system/zabbix-server.service
/usr/lib/tmpfiles.d/zabbix-server.conf
/usr/lib/zabbix/alertscripts
/usr/lib/zabbix/externalscripts
/usr/sbin/zabbix_server_mysql
/usr/share/doc/zabbix-server-mysql-5.0.19
/usr/share/doc/zabbix-server-mysql-5.0.19/AUTHORS
/usr/share/doc/zabbix-server-mysql-5.0.19/COPYING
/usr/share/doc/zabbix-server-mysql-5.0.19/ChangeLog
/usr/share/doc/zabbix-server-mysql-5.0.19/NEWS
/usr/share/doc/zabbix-server-mysql-5.0.19/README
/usr/share/doc/zabbix-server-mysql-5.0.19/create.sql.gz  # 这个便是我们所需数据表头的压缩档
/usr/share/doc/zabbix-server-mysql-5.0.19/double.sql
/usr/share/man/man8/zabbix_server.8.gz
/var/log/zabbix
/var/run/zabbix
导入数据表头
# 解压gz文件
zcat /usr/share/doc/zabbix-server-mysql-5.0.19/create.sql.gz >/usr/share/doc/zabbix-server-mysql-5.0.19/zabbix.sql
# 修改sql文件
vim /usr/share/doc/zabbix-server-mysql-5.0.19/zabbix.sql
#在sql文件的第一行增加如下代码以指明所要导入的数据库
USE zabbix;
# 将sql文件导入数据库
mysql <zabbix.sql
# 查看是否导入成功
# 进入mysql交互式命令行
mysql
# 进入zabbix database
use zabbix
# 查看Table
show tables;
#出现一大堆行说明你已经导入成功了,手动狗头
配置zabbix-server的数据库连接
vim /etc/zabbix/zabbix_server.conf
# 因配置档中默认数据库名称为zabbix,故无需修改,只需修改zabbix登录数据库的密码
# 将DBPassword取消注释并更改
DBPassword=zabbix

修改PHP的配置

vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
# 增加Nginx的acl
listen.acl_users = apache,nginx
# 更改时区为国内Area
php_value[date.timezone] = Asia/Shanghai

修改Nginx的配置

# 此配置档为zabbix官方提供,无需进行太多更改
vim /etc/opt/rh/rh-nginx116/nginx/conf.d/zabbix.conf

# 开启80端口的监听
# 配置server_name
listen          80;
server_name     localhost;
# 其余无需更改

覆盖主Nginx配置档的80端口监听

vim /etc/opt/rh/rh-nginx116/nginx/nginx.conf
# 将以下内容注释
#    server {
#        listen       80 default_server;
#        listen       [::]:80 default_server;
#        server_name  _;
#        root         /opt/rh/rh-nginx116/root/usr/share/nginx/html;
#
#        # Load configuration files for the default server block.
#        include      /etc/opt/rh/rh-nginx116/nginx/default.d/*.conf;
#
#        location / {
#        }
#
#        error_page 404 /404.html;
#        location = /40x.html {
#        }
#
#        error_page 500 502 503 504  /50x.html;
#        location = /50x.html {
#        }
#
#        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
#        #
#        #location ~ .php$ {
#        #    proxy_pass   http://127.0.0.1;
#        #}
#
#        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#        #
#        #location ~ .php$ {
#        #    root           html;
#        #    fastcgi_pass   127.0.0.1:9000;
#        #    fastcgi_index  index.php;
#        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
#        #    include        fastcgi_params;
#        #}
#
#        # deny access to .htaccess files, if Apache's document root
#        # concurs with nginx's one
#        #
#        #location ~ /.ht {
#        #    deny  all;
#        #}
#    }

启动服务

# 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
# selinux更改为宽容模式
setenforce 0
vim /etc/selinux/config
# 修改配置档
SELINUX=disabled

# 启动所有服务
systemctl start zabbix-server.service rh-php72-php-fpm.service rh-nginx116-nginx.service
# 查看服务
netstat -lntup
# 若是没有netstat工具可进行安装(yum install -y net-tools)
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1055/sshd           
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1221/master         
tcp        0      0 0.0.0.0:10050           0.0.0.0:*               LISTEN      14519/zabbix_agentd 
tcp        0      0 0.0.0.0:10051           0.0.0.0:*               LISTEN      16793/zabbix_server 
tcp        0      0 127.0.0.1:9000          0.0.0.0:*               LISTEN      16786/php-fpm: mast 
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      2148/mysqld         
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      16831/nginx: master 
tcp6       0      0 :::22                   :::*                    LISTEN      1055/sshd           
tcp6       0      0 ::1:25                  :::*                    LISTEN      1221/master         
tcp6       0      0 :::10050                :::*                    LISTEN      14519/zabbix_agentd 
tcp6       0      0 :::10051                :::*                    LISTEN      16793/zabbix_server 
udp        0      0 127.0.0.1:323           0.0.0.0:*                           698/chronyd         
udp        0      0 0.0.0.0:68              0.0.0.0:*                           866/dhclient        
udp6       0      0 ::1:323                 :::*                                698/chronyd

#至此我们的服务便是已经安装成功了
由于我的Server IP为192.168.254.130,故便可通过同网段的客户端进行zabbix-web的访问
"http://"+你的Server IP,即可进入Web界面的配置

共勉
http://192.168.254.130

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>