Zabbix 5.0 监控架构的搭建-01
Posted 海艳的小迷弟
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Zabbix 5.0 监控架构的搭建-01相关的知识,希望对你有一定的参考价值。
Zabbix Server端的搭建
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-release-5.0-1.el7.noarch.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界面的配置
以上是关于Zabbix 5.0 监控架构的搭建-01的主要内容,如果未能解决你的问题,请参考以下文章