zabbix分布式部署

基于zabbix-proxy的分布式监控
在这里插入图片描述

1.1 分布式监控的作用
1)分担 server 的集中式压力;

2)解决多机房之间的网络延时问题。

1.2 数据流向
agent --> proxy --> server

1.3 构成组件
zabbix-server:整个监控体系中最核心的组件,它负责接收客户端发送的报告信息,所有配置、 统计数据及操作数据都由它组织。

Database:所有配置信息和zabbix收集到的数据都存储在数据库中。

zabbix-proxy:用于分布式系统中,可以代理zabbix-server的功能,减轻server的压力。

zabbix-agent:客户端软件,装在被监控主机上,用于采集监控数据,并把采集到的的数据发送给proxy或者server。

web界面:web界面可以让用户随时随地都能够轻松的访问到zabbix,是zabbix-server的一部分,通常跟server运行在同一台物理机上。

二、部署步骤
2.1、进入源仓库设置一个nginx的源
cd /etc/yum.repos.d/
vim nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/ r e l e a s e v e r / releasever/ releasever/basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

安装nginx
yum install -y nginx
安装PHP
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

yum install -y epel-release

rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

yum -y install php72w php72w-cli php72w-common php72w-devel php72w-embedded php72w-gd php72w-mbstring php72w-pdo php72w-xml php72w-fpm php72w-mysqlnd php72w-opcache php72w-ldap php72w-bcmath

修改配置文件
vim /etc/nginx/conf.d/zbx.conf
server {
listen 80;
server_name zbx.dznb.com;

location / {
root /var/www/zbx;
index index.php;
}

location ~ .php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/zabbix$fastcgi_script_name;
include fastcgi_params;
}
}

vim /etc/php-fpm.d/www.conf

vim /etc/php.ini

max_execution_time = 300 # 368行
max_input_time = 600 # 378行
post_max_size = 80M # 656行
date.timezone = Asia/Shanghai # 877行

测试
mkdir -p /var/www/zabbix
vim /var/www/zabbix/index.php
systemctl enable --now nginx php-fpm

3、zabbix-DB部署数据库
cat > /etc/yum.repos.d/mariadb.repo << EOF
[mariadb]
name = MariaDB
baseurl = http://mirrors.aliyun.com/mariadb/yum/10.5/centos7-amd64/
gpgkey = http://mirrors.aliyun.com/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck = 1
enabled=1
EOF

yum install -y mariadb-server mariadb

systemctl enable --now mariadb

初始化数据库
mysql_secure_installation

分别输入 回车 -> n -> Y (设置root密码,如abc123) -> 后面一路 Y

mysql -u root -pabc123

创建数据库并指定字符集
CREATE DATABASE zabbix character set utf8 collate utf8_bin;
创建 zabbix 数据库用户并授权
GRANT all ON zabbix.* TO ‘zabbix’@‘localhost’ IDENTIFIED BY ‘zabbix’;
GRANT all ON zabbix.* TO ‘zabbix’@‘%’ IDENTIFIED BY ‘zabbix’;
flush privileges;
向数据库导入 zabbix 数据
上传源码包 zabbix-6.0.*.tar.gz 到 /opt 目录
cd /opt
tar xf zabbix-6.0.13.tar.gz
cd /opt/zabbix-6.0.13/database/mysql
mysql -uroot -pabc123 zabbix < schema.sql
mysql -uroot -pabc123 zabbix < images.sql
mysql -uroot -pabc123 zabbix < data.sql
mysql -uroot -pabc123 zabbix < double.sql
mysql -uroot -pabc123 zabbix < history_pk_prepare.sql

4、zabbix-server编译安装
yum install -y mysql-devel pcre-devel openssl-devel zlib-devel libxml2-devel net-snmp-devel net-snmp libssh2-devel OpenIPMI-devel libevent-devel openldap-devel libcurl-devel fping gcc gcc-c++ make

4.1创建用户
useradd -s /sbin/nologin -M Zabbix
cd /opt/zabbix-6.0.13/
./configure
–sysconfdir=/etc/zabbix/
–enable-server
–with-mysql
–with-net-snmp
–with-libxml2
–with-ssh2
–with-openipmi
–with-zlib
–with-libpthread
–with-libevent
–with-openssl
–with-ldap
–with-libcurl
–with-libpcre

4.3检查版本
zabbix_server –version
4.4、修改 zabbix server 配置文件,修改数据库的密码
vim /etc/zabbix/zabbix_server.conf
LogFile=/var/log/zabbix_server.log # 38行,指定 zabbix 日志路径
DBPassword=zabbix # 123行,指定 zabbix 数据库的密码

准备 systemctl 服务管理文件
cat > /usr/lib/systemd/system/zabbix-server.service << EOF
[Unit]
Description=Zabbix Server with MySQL DB
After=syslog.target network.target mysqld.service

[Service]
Type=simple
ExecStart=/usr/local/sbin/zabbix_server -f
User=zabbix

[Install]
WantedBy=multi-user.target
EOF

创建一个日志文件
touch /var/log/zabbix_server.log
chown Zabbix:zabbix /var/log/zabbix_server.log
systemctl restart zabbix-server.service

6、部署 Web 前端,进行访问
将这个目录里的文件进行复制到之前创建的目录文件中
cp -r /opt/zabbix-6.0.27/ui/* /var/www/zab

给这个目录文件加上数组和属主为nginx
chown -R nginx.nginx /var/www/zab/

5.Zabbix-proxy操作
#关闭防火墙和selinux
systemctl disable --now firewalld
setenforce 0

设置 zabbix 的下载源,安装 zabbix-proxy
rpm -ivh https://repo.zabbix.com/zabbix/6.0/rhel/7/x86_64/zabbix-release-6.0-4.el7.noarch.rpm
sed -i ‘s#https://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#’ /etc/yum.repos.d/zabbix.repo

yum install -y zabbix-proxy-mysql zabbix-sql-scripts zabbix-selinux-policy zabbix-get

部署数据库并将zabbix相关文件导入
#配置 Mariadb yum源
cat > /etc/yum.repos.d/mariadb.repo << EOF
[mariadb]
name = MariaDB
baseurl = http://mirrors.aliyun.com/mariadb/yum/10.5/centos7-amd64/
gpgkey = http://mirrors.aliyun.com/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck = 1
enabled=1
EOF

#安装mariaDB;proxy需要一个独立的数据库,请勿和server同库
yum install -y mariadb-server mariadb

#启动
systemctl enable --now mariadb

#初始化数据库
mysql_secure_installation
分别输入 回车 -> n -> Y (设置root密码,如abc123) -> 后面一路 Y

#登录数据库
mysql -u root -pabc123

#创建数据库并指定字符集
create database zabbix_proxy character set utf8 collate utf8_bin;

#创建 zabbix 数据库用户并授权
grant all on zabbix_proxy.* to ‘zabbix’@‘localhost’ identified by ‘zabbix’;
grant all on zabbix_proxy.* to ‘zabbix’@‘%’ identified by ‘zabbix’;
flush privileges;
#导入数据库信息
rpm -ql zabbix-sql-scripts #查询 sql 文件的位置

cat /usr/share/zabbix-sql-scripts/mysql/proxy.sql | mysql -uroot -pabc123 zabbix_proxy

修改zabbix-proxy的配置文件,启动服务
#修改 zabbix-proxy 配置文件
vim /etc/zabbix/zabbix_proxy.conf
Server=192.168.2.100 #32行,指定 zabbix 服务端的 IP 地址
Hostname=zbx-proxy #42行,指定当前 zabbix 代理服务器的主机名
DBPassword=zabbix #194行,指定当前数据库 zabbix 用户的密码

#启动 zabbix-proxy
systemctl enable zabbix-proxy --now;systemctl status zabbix-proxy

在所有主机上配置 hosts 解析
vim /etc/hosts
192.168.2.100 zbx-server
192.168.2.102 zbx-agent01
192.168.2.103 zbx-agent02
192.168.2.106 zbx-proxy

在 Web 页面配置 agent 代理

在客户端修改 agent2 配置文件

vim /etc/zabbix/zabbix_agent2.conf

Server=192.168.2.106 #80行,指定 zabbix 代理服务器的 IP 地址
ServerActive=192.168.2.106 #120行,指定 zabbix 代理服务器的 IP 地址

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/494583.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

鸿蒙开发-UI-交互事件-手势事件

鸿蒙开发-UI-图形-绘制自定义图形 鸿蒙开发-UI-图形-页面内动画 鸿蒙开发-UI-图形-组件内转场动画 鸿蒙开发-UI-图形-弹簧曲线动画 鸿蒙开发-UI-交互事件-通用事件 鸿蒙开发-UI-交互事件-键鼠事件 鸿蒙开发-UI-交互事件-焦点事件 文章目录 前言 一、绑定手势方法 1. gesture …

【tingsboard开源平台】下载数据库,IDEA编译,项目登录

一&#xff0c; PostgreSQL 下载 需要看官网的&#xff1a;点此下载直达地址&#xff1a;点此进行相关学习&#xff1a;PostgreSQL 菜鸟教程 二&#xff0c;PostgreSQL 安装 点击安装包进行安装 出现乱码错误&#xff1a; There has been an error. Error running C:\Wind…

pyecharts操作二

pyecharts操作二 pyecharts 是一个用于生成Echarts图表的Python库。Echarts是百度开源的一个数据可视化JS库&#xff0c;可以生成一些非常酷炫的图表。 环境安装 pip install pyecharts 检查版本 import pyecharts print(pyecharts.version) 2.0.3 3D柱状图绘制 import p…

设计模式之组合模式解析

组合模式 1&#xff09;概述 1.定义 组合多个对象形成树形结构以表示具有“整体—部分”关系的层次结构。 组合模式对单个对象&#xff08;即叶子对象&#xff09;和组合对象&#xff08;即容器对象&#xff09;的使用具有一致性&#xff0c;组合模式又称为“整体—部分”(…

用Unity3D实现简单的RPG游戏

文章目录 开发流程及关键要素说明**1. **环境设置与项目创建******2. **场景搭建******3. **角色控制******4. **用户输入处理******5. **敌人与战斗系统******6. **物品与装备系统******7. **任务与对话系统******8. **UI与菜单系统******9. **保存与加载系统******10. **测试…

以太网链路聚合——增加带宽,解决生成树收敛慢的问题

目录 一.对STP生成树的补充 1.STP接口状态 2.STP生成树的改进 二.网络可靠性 1.单板可靠性 2.设备可靠性 3.链路可靠性 三.链路聚合 1.多条链路聚合增加带宽 2.链路聚合术语 四.链路聚合模式 1.手动模式 2.LASP模式 &#xff08;1).LASP术语 &#xff08;2&…

SecurityOauth2

引入SpringSecurity SpringSecurity 实现原理是提供了一个过滤器链&#xff0c;其中主要过滤器如下所示&#xff1a; 认证流程示意&#xff1a; 授权过程 SpringSecurity 会使用 FilterSecurityInterceptor 来进行权限校验&#xff0c;在 FilterSecurityInterceptor 中 会从…

Go-js,css,html压缩和混淆(可直接使用)

前提条件: 本地安装nodejs环境然后配置全局环境变量。 运行以下命令安装uglify压缩工具 npm install uglify-js -g 测试是否安装成功 uglifyjs -v 使用方式: 根据不同的操作系统取对应的压缩工具,然后将压缩工具放到项目根目录下,然后执行即可 工具文件: https://gitee.com…

协程库-锁类-实现线程互斥同步

mutex.h&#xff1a;信号量&#xff0c;互斥锁&#xff0c;读写锁&#xff0c;范围锁模板&#xff0c;自旋锁&#xff0c;原子锁 锁 **锁不能进行拷贝操作&#xff1a;**锁是用于管理多线程并发访问共享资源的同步原语。这些锁包括互斥锁&#xff08;mutex&#xff09;、读写锁…

ElementUI中的el-table表格实现动态添加一行、删除一行、清空所有行

ElementUI中的el-table表格实现动态添加一行、删除一行、清空所有行 1、需求分析2、代码实现HTMLdatamethods 1、需求分析 ElementUI中的el-table中实现动态添加一行、删除一行、清空所有行 2、代码实现 HTML <div class"middle-wrapper"><el-buttontype…

Golang hash/crc32 库实战指南:从基础到优化

Golang hash/crc32 库实战指南&#xff1a;从基础到优化 引言理解CRC32hash/crc32库概览实战技巧数据校验性能优化多线程应用 错误处理与调试错误处理调试 实际案例分析结论 总结重点回顾 引言 在现代软件开发中&#xff0c;数据的完整性和安全性至关重要。无论是数据库存储、…

Python抓取抖音直播间数据:技术探索与实践

目录 一、引言 二、技术准备 三、分析抖音直播间网页结构 四、编写爬虫代码 五、处理反爬虫机制 六、数据清洗与存储 七、总结 一、引言 随着互联网的快速发展&#xff0c;直播行业已成为当下的热门领域。抖音作为其中的佼佼者&#xff0c;吸引了大量的用户和主播。对于…

使用vue构建一个简单实用的春节红包插件!

摘要&#xff1a;本文将介绍如何使用Vue.js构建一个简单实用的春节红包插件。该插件通过模拟红包的打开和关闭过程&#xff0c;以及金额的随机分配&#xff0c;为春节红包活动提供了一个有趣且互动的体验。 一、引言 在春节这个充满欢乐和祝福的时刻&#xff0c;红包成为了传递…

Avalonia11.0.2+.Net6.0支持多语言,国际化使用DynamicResource绑定数据

Avalonia11.0.2+.Net6.0支持多语言,国际化使用DynamicResource绑定数据 介绍调整的内容效果展示介绍 本章内容是对上一章博客的补充,当时我们用的是自定义扩展的方式实现了多语言数据的绑定,本章我们用标准的 Text="{DynamicResource 名称}" 来替换 Text="{i…

iphoneX系统的参数

1. 2. 3. 4. 5.相关的网址信息 Apple iPhone X 規格、价格和评论 | Kalvo Apple iPhone X 規格、价格和评论 | Kalvo

Android ViewPager2 setOffscreenPageLimit预加载Fragment,Kotlin

Android ViewPager2 setOffscreenPageLimit预加载Fragment&#xff0c;Kotlin import android.os.Bundle import android.util.Log import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import android.widget.TextView import androi…

社交革命:Facebook如何塑造数字社交的未来

引言 在当今数字化时代&#xff0c;社交媒体已成为人们生活的核心&#xff0c;而Facebook作为其中的领军者&#xff0c;一直在塑造着数字社交的未来。本文将深入探讨Facebook在数字社交领域的地位、影响力以及对未来社交的塑造作用&#xff0c;为读者揭示这场社交革命如何由Fa…

华为开源自研AI框架昇思MindSpore应用案例:梯度累加

目录 一、环境准备1.进入ModelArts官网2.使用CodeLab体验Notebook实例 二、案例实现 梯度累加的训练算法&#xff0c;目的是为了解决由于内存不足&#xff0c;导致Batch size过大神经网络无法训练&#xff0c;或者网络模型过大无法加载的OOM&#xff08;Out Of Memory&#xff…

华为实验-基于用户和应用的安全策略

CLI举例&#xff1a;基于用户和应用的安全策略 通过配置安全策略&#xff0c;实现基于用户、时间段以及应用的访问控制。 组网需求 如图1所示&#xff0c;某企业在网络边界处部署了FW作为安全网关。 企业根据员工级别和职能不同划分了三种用户&#xff1a;高层管理者、市场员…

OSG编程指南<二十一>:OSG视图与相机视点更新设置及OSG宽屏变形

1、概述 什么是视图?在《OpenGL 编程指南》中有下面的比喻,从笔者开始学习图形学就影响深刻,相信对读者学习场景管理也会非常有帮助。 产生目标场景视图的变换过程类似于用相机进行拍照,主要有如下的步骤: (1)把照相机固定在三脚架上,让它对准场景(视图变换)。 (2)…