首页
统计信息
友情链接
壁纸
Search
1
【更新】CommentToMail typecho2017&v4.1& Mailer三版本,支持php5.6/7,插件详解
158,426 阅读
2
【90APT开源免费】第三代哈弗H6、哈弗大狗、H6经典版、坦克300华阳安波福车机开启无线ADB、升级地图、安装软件全流程
42,242 阅读
3
CentOS 7安装bbr教程
13,108 阅读
4
深信服超融合架构测试介绍
12,805 阅读
5
纯小白10分钟变身linux建站高手?宝塔linux面板全体验
12,679 阅读
技术相关
ACG相关
胡言乱语
数码杂烩
登录
Search
标签搜索
进击的巨人
漫画
宝塔
php
typecho
diy
vps
折腾
动漫
优酷路由宝
ubuntu
路由器
QQ
KMS
王忘杰
累计撰写
316
篇文章
累计收到
179
条评论
首页
栏目
技术相关
ACG相关
胡言乱语
数码杂烩
页面
统计信息
友情链接
壁纸
搜索到
316
篇与
的结果
2025-05-08
OceanBase OB原生分布式数据库V4社区版高可用部署、OCP云平台、OMS迁移服务部署zabbix6数据迁移、1Panel面板adminer web数据库管理工具、minio S3备份还原计划、集群扩容缩容、租户扩容缩容、ODC开发者中心、OBProxy集群keepalived高可用主备VIP部署、故障处理、不停机滚动升级
{alert type="info"}本文使用vSAN集群进行真实安装,密码均为随机生成,试验结束后销毁网段和集群;虽为模拟实验,但完全适用于真实生产环境;因为使用的虚拟机,所以硬盘分区无意义,仅一个根分区500G。{/alert}本文已加入 《OceanBase 4.x DBA 进阶教程》用户共建计划https://ask.oceanbase.com/t/topic/35617370/所有参与共建的用户,都会出现在 OceanBase 进阶教程电子书的致谢名单中,欢迎大家加入~一、OceanBase 社区版为现代数据架构打造的开源分布式数据库。兼容 MySQL 的单机分布式一体化国产开源数据库,具有原生分布式架构,支持金融级高可用、透明水平扩展、分布式事务、多租户和语法兼容等企业级特性。OceanBase 内核通过大规模商用场景的考验,已服务众多行业客户;面向未来携手生态伙伴,共建开源开放的数据库内核和生态。文档:https://www.oceanbase.com/docs{lamp/}二、OCP云平台部署OceanBase 云平台(OceanBase Cloud Platform,OCP)是一款为 OceanBase 集群量身打造的企业级管理平台,兼容 OceanBase 所有主流版本。OCP 提供对 OceanBase 图形化管理能力,包括数据库及相关资源的全生命周期管理、监控告警、性能诊断、故障恢复、备份恢复等,旨在协助客户更加高效地管理 OceanBase 数据库,降低企业的IT运维成本和用户的学习成本。https://www.oceanbase.com/docs/ocp1、主机规划本教程部署简化版集群 1ocp 1oms 2proxy 3zone6server 共10台主机,另外独立安装zabbix6和minioocp配置 16C 64G 500G其他主机配置 8C 32G 500G操作系统为anolis8,全部关闭防火墙tntocp 192.168.4.100 tntoms 192.168.4.101 tntproxy1 192.168.4.102 tntproxy2 192.168.4.103 tntob1-1 192.168.4.104 tntob1-2 192.168.4.105 tntob2-1 192.168.4.106 tntob2-2 192.168.4.107 tntob3-1 192.168.4.108 tntob3-2 192.168.4.109 tntzabbix6 192.168.4.110 tntminio 192.168.4.111 tntproxy 192.168.4.99 keepalived虚拟IP2、安装准备下载OceanBase社区版一键安装包 (OceanBase All in One)OceanBase 数据库一键离线安装包,包括 OceanBase 数据库和 OCP(自 V4.3.3 起包含)、obd、OBProxy、OBClient、OCP Express、Prometheus、Grafana,以及诊断和测试工具。https://www.oceanbase.com/softwarecenterOCP依赖仅支持 JDK1.8 版本,下载并安装 jre-8u441-linux-x64.rpmhttps://www.java.com/en/download/manual.jsp3、图形化部署OCP所有主机关闭防火墙systemctl stop firewalld && systemctl disable firewalld上传一键安装包至OCP主机、解压安装解压 tar zxf oceanbase-all-in-one-4.3.5_bp1_20250320.el8.x86_64.tar.gz启动obdcd oceanbase-all-in-one/bin source ~/.oceanbase-all-in-one/bin/env.sh obd web install生成网页安装URL进入 OCP 部署向导页面部署OCP云平台并创建全新数据库设置集群名称创建metaDB,我这里使用ocp主机单机部署metaDB,即OCP、数据库节点、OBProxy都是一台服务器OCP 资源规划为20台主机预检查无异常部署中,等待部署完成,记好账号密码{lamp/}三、OCP云平台使用1、登录OCP云平台http://192.168.4.100:8080看到OCP平台初始化失败查看异常为netstat: 未找到命令{message type="info" content="注意,所有OB主机都需要netstat,通过yum安装"/}yum install net-tools -y所有OB主机都需要netstat!全部安装一遍点击重启,执行成功OCP部署成功2、OCP操作流程添加主机-新建集群-创建租户-创建用户-创建OBProxy集群3、添加作为OBProxy集群和OBserver的主机192.168.4.102-109主机标准化分为OBProxy和OceanBase,等待标准化完成OBProxy标准化无异常但也需要修复一下,OceanBase标准化有8个异常,都需要修复修复检查透明大页 echo never > /sys/kernel/mm/transparent_hugepage/enabled 生效 chmod +x /etc/rc.d/rc.local 添加到开机启动 vi /etc/rc.d/rc.local echo never > /sys/kernel/mm/transparent_hugepage/enabled 安装python2.7 yum install python2 -y 禁用swap分区 swapoff -a 删除swap分区 /etc/fstab 安装软件 yum -y install net-tools mtr tar binutils bind-utils curl nc iproute 添加admin用户 groupadd -g 500 admin useradd -m -u 500 -g 500 -s /bin/bash admin id admin 关闭selinux 检查ulimit信息 /etc/security/limits.d/99-oceanbase_limits.conf root soft nofile 655350 root hard nofile 655350 admin soft nofile 655350 admin hard nofile 655350 admin soft stack 10240 admin hard stack 10240 admin soft nproc 655360 admin hard nproc 655360 admin soft core unlimited admin hard core unlimited 检查 clocksource 信息 echo tsc > /sys/devices/system/clocksource/clocksource0/current_clocksource 时间同步 调整端口范围,保留端口 sudo sysctl net.ipv4.ip_local_port_range vi /etc/sysctl.conf net.ipv4.ip_local_port_range = 3500 65535 net.ipv4.ip_local_reserved_ports = 62881-63881 生效 sudo sysctl -p python2软连接到python sudo ln -sf /usr/bin/python2 /usr/bin/python 创建软件目录 mkdir /data/log1 -p mkdir /data/1 -p 重新检查,修复完成4、新建集群新建tntob集群,3zone,每zone 2台主机,由于是实验集群,我没有开启cgroup创建中安装完成5、创建租户创建zabbix6租户Unit规格选择S1并允许所有IP访问创建完成6、创建用户在zabbix6租户中创建用户zabbixdb,先不用创建数据库,一会直接导入一个数据库7、创建OBProxy集群创建tntproxy集群,加入102、103两台主机{message type="info" content="注意:102、103都可以访问集群,而访问地址,一般指的是负载均衡设备的VIP地址,暂不讨论,这里访问地址先填写102"/}创建完成连接到tntob集群8、连接测试使用adminer登陆测试一下连接参数 mysql -h192.168.4.102 -P2883 -uroot@zabbix6#tntob -p登录成功OceanBase分布式数据库集群部署完毕{lamp/}四、OMS迁移服务部署zabbix6数据迁移OMS文档https://www.oceanbase.com/docs/oms-cn1、创建oms租户创建oms租户作为OMS迁移服务的元数据库,需要使用租户的root用户2、安装OMS迁移服务下载软件包 oms_4.2.8-ce.tar.gz 上传到tntoms主机https://www.oceanbase.com/softwarecenter安装dockeryum install -y yum-utils #阿里云加速源 yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo yum install docker-ce docker-ce-cli containerd.io启动dockersystemctl enable --now docker导入镜像docker load -i oms_4.2.8-ce.tar.gz查看镜像名docker images REPOSITORY TAG IMAGE ID CREATED SIZE reg.docker.alibaba-inc.com/oceanbase/oms feature_4.2.8_ce d56598287295 7 weeks ago 10.9GB 获取部署脚本sudo docker run -d --net host --name oms-config-tool reg.docker.alibaba-inc.com/oceanbase/oms:feature_4.2.8_ce bash && sudo docker cp oms-config-tool:/root/docker_remote_deploy.sh . && sudo docker rm -f oms-config-tool 启动部署mkdir /oms bash docker_remote_deploy.sh -o /oms -i 192.168.4.101 -d reg.docker.alibaba-inc.com/oceanbase/oms:feature_4.2.8_ce 安装中 ****CPU**** CPU_Name(System_Name): Intel(R) Xeon(R) Silver 4309Y CPU @ 2.80GHz Total_physical_CPU: 8 Total_core_num: 8 *****Memory****** Total_Mem: 32915048 KB Total_Mem: 31 G *****Disk****** Total_disk_avail: 954 G 提示:输入 <Control-C> 可退出部署 请选择部署模式: ●单地域单节点 单地域多节点 多地域 您选择的部署模式是:单地域单节点部署模式 请选择您所需要进行的任务: ●无配置文件,全新部署 OMS,从生成配置文件开始 已通过脚本[-c]选项传入参考配置文件,基于参考配置文件开始配置 开始配置元信息库,可以是 MySQL 或 OceanBase 数据库 MySQL 租户 (元信息库用于存储 OMS 运行时元数据信息) 请输入元信息数据库 IP:192.168.4.102 请输入元信息数据库端口:2883 请输入元信息数据库用户名:root@oms#tntob 请输入元信息数据库密码:*********************** 请为 OMS 元数据库设置前缀 (示例:当前缀设置为 oms 时,最终库名分别为 oms_rm/oms_cm/oms_cm_hb): 您的元信息库配置如下: { "drc_cm_db": "_cm", "drc_cm_heartbeat_db": "_cm_hb", "drc_rm_db": "_rm", "init_db": "true", "oms_meta_host": "192.168.4.102", "oms_meta_password": "9cb;CcrN1C3f,Xlub)rx{(#", "oms_meta_port": "2883", "oms_meta_user": "root@oms#tntob" } [y/n] 请确认配置信息[y]y 您选择的部署模式为单地域单节点部署模式 [y/n] 是否自定义组件端口号,并配置相关参数?[n]n [y/n] 获取到您的默认 IP 地址:192.168.4.101,请确认是否需要更改?[n]n 您的 OMS 集群配置如下: { "cm_is_default": true, "cm_location": 0, "cm_nodes": [ "192.168.4.101" ], "cm_region": "default", "cm_region_cn": "默认地域", "cm_server_port": "8088", "cm_url": "http://192.168.4.101:8088", "ghana_server_port": "8090", "nginx_server_port": "8089", "sshd_server_port": "2023", "supervisor_server_port": "9000" } [y/n] 请确认配置信息[y]y [y/n] 您是否需要对 OMS 历史数据进行监控?[n]n [y/n] 是否需要开启 OMS 审计日志功能,并将审计日志写入 SLS 服务?[n]n 已加载您的所有配置项,并校验通过。 您的配置如下: { "apsara_audit_enable": "false", "apsara_audit_sls_access_key": "", "apsara_audit_sls_access_secret": "", "apsara_audit_sls_endpoint": "", "apsara_audit_sls_ops_site_topic": "", "apsara_audit_sls_user_site_topic": "", "cm_is_default": true, "cm_location": "0", "cm_nodes": [ "192.168.4.101" ], "cm_region": "default", "cm_region_cn": "默认地域", "cm_server_port": "8088", "cm_url": "http://192.168.4.101:8088", "drc_cm_db": "_cm", "drc_cm_heartbeat_db": "_cm_hb", "drc_rm_db": "_rm", "ghana_server_port": "8090", "init_db": "true", "nginx_server_port": "8089", "oms_meta_host": "192.168.4.102", "oms_meta_password": "9cb;CcrN1C3f,Xlub)rx{(#", "oms_meta_port": "2883", "oms_meta_user": "root@oms#tntob", "sshd_server_port": "2023", "supervisor_server_port": "9000", "tsdb_enabled": "false", "tsdb_password": "", "tsdb_service": "", "tsdb_url": "", "tsdb_username": "" } [y/n] 您是否需要重新配置?[n]n 您是需要在当前执行的机器上 接下来 OMS 需要在节点 ['192.168.4.101'] 上依次执行部署脚本。 请输入节点 192.168.4.101 上预备部署 OMS 的挂载目录:[/oms/]/oms/ 请您确认以下内容: [y/n] 部署 OMS 的 [镜像名/IMAGE-ID] 是:reg.docker.alibaba-inc.com/oceanbase/oms:feature_4.2.8_ce ,请确认是否正确。[y]y [y/n] 是否需要在 OMS 容器中挂载 HTTPS 证书?[n]n [y/n] 192.168.4.101 节点下的配置文件 config.yaml 将写在这个路径:/oms/ 下可以吗?[y]y ....... -------------------------------------------------------------------------------- # 【结束】全部初始化步骤执行成功 -------------------------------------------------------------------------------- 登录控制台,首次登陆设置密码http://192.168.4.101:8089/3、zabbix6安装查看王工zabbix6文章快速部署,部署完成后迁移到OceanBase集群https://90apt.com/2982安装完成4、导出zabbix6数据库结构使用adminer导出数据库结构,不包括数据adminer安装见后面1Panel部分使用adminer导入到zabbix租户中5、OMS全量迁移在OCP中给zabbixuser用户赋予zabbix数据库全部权限添加双方数据源配置迁移任务启动任务迁移完成,进行切换6、zabbix6切换数据库,重启服务、查看日志配置文件修改/etc/zabbix/web/zabbix.conf.php<?php // Zabbix GUI configuration file. $DB['TYPE'] = 'MYSQL'; $DB['SERVER'] = '192.168.4.102'; $DB['PORT'] = '2883'; $DB['DATABASE'] = 'zabbix'; $DB['USER'] = 'zabbixuser@zabbix6#tntob'; $DB['PASSWORD'] = 'r*h(c^rLst8F'; /etc/zabbix/zabbix_server.confDBHost=192.168.4.102 DBName=zabbix DBUser=zabbixuser@zabbix6#tntob DBPassword=r*h(c^rLst8F DBPort=2883重启zabbix服务 systemctl restart zabbix-server查看日志是否有异常/var/log/zabbix/zabbix_server.logUnable to start Zabbix server due to unsupported MySQL database version (5.06.25).修改OBPorxy数据版本,修改为8.0.0再次重启zabbix服务查看日志,无异常zabbix功能正常,采集正常{lamp/}五、1Panel面板minio S3备份还原计划1、安装docker安装dockeryum install -y yum-utils #阿里云加速源 yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo yum install docker-ce docker-ce-cli containerd.io启动dockersystemctl enable --now docker2、安装1Panel面板curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && sh quick_start.sh安装adminer web数据库管理工具支持MySQL、MariaDB、 SQLite、PostgreSQL、Oracle (beta)、MS SQL3、安装minio,配置S3存储登录1Panel面板安装minio登录minio创建Bucket创建Access Keys4、配置备份计划创建zabbix6租户备份策略存储目录为Bucket名称访问域名为API的URL http://192.168.4.111:9000在填入AK、SK,点击测试即可立即备份备份完成5、进行还原测试误删数据库由于王工上年纪老眼昏花,不小心删除了zabbix数据库,不稳啦!zabbix崩溃进行租户恢复恢复完成创建了新的租户,将原租户改名,新租户改为原来的名,这样业务就不用动了业务恢复了,王工又稳啦!{lamp/}六、集群、租户扩缩容1、集群扩容添加主机-集群管理-添加OBServer、新增Zone添加主机OCP云平台-主机-添加主机主机还是要按之前标准化进行环境修复,修复好再添加再次进行标准化OCP云平台-集群-概览-添加OBServer一段时间后部署模式变为集群 (3-3-3)新增Zone与之相同2、集群缩容https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000002013120删除OBServer时自动进行Unit迁出完成缩容我这边删除114 115 116三台主机批量删除删除中缩容完成3、租户扩容进入租户修改UnitOCP云平台-租户-概览-修改Unit如,将配置修改为S2,Unit修改为2扩容成功4、租户缩容如,将配置修改为S1,Unit修改为1缩容完成{lamp/}七、ODC开发者中心OceanBase 开发者中心(OceanBase Developer Center,ODC)是开源的企业级数据库协同开发工具,有桌面版、Web 版两种产品形态。 ODC Web 版提供了个人空间和团队空间两种工作模式。个人空间适合个人开发者使用,为您在浏览器端提供桌面版的体验;团队空间适合开发者和 DBA 协同使用,既是开发工具也是管控协同平台。 ODC 的代码维护在 Github,单击查看详情,加入 ODC 开源社区,一起创造 开发者和 DBA 喜爱的数据库协同开发工具。https://www.oceanbase.com/docs/odc{message type="info" content="注意:按官方教程你很可能装不上,还是看我的吧"/}1、下载OceanBase 开发者中心web镜像上传到OMS主机,我将ODC安装在OMS主机,ODC为docker镜像https://www.oceanbase.com/softwarecenter2、为ODC创建一个mysql租户并创建一个数据库创建tntodc租户 tntodc数据库 root用户{message type="info" content="注意:数据库用户我测试用普通用户无法部署ODC,需要root用户"/}3、加载镜像gunzip -c obodc4.3.3-bp2.tar.gz | docker load查看镜像docker images REPOSITORY TAG IMAGE ID CREATED SIZE reg.docker.alibaba-inc.com/oceanbase/oms feature_4.2.8_ce d56598287295 7 weeks ago 10.9GB oceanbase/odc 4.3.3_bp2 98a74ab3fbe1 7 weeks ago 1.75GB 4、创建安装脚本odcinstall.sh#!/usr/bin/env bash mkdir -p /tntodc/log/odc mkdir -p /tntodc/data/odc docker run -v /tntodc/log/odc:/opt/odc/log -v /tntodc/data/odc:/opt/odc/data \ -d -i -p 8989:8989 --cpu-period 100000 --cpu-quota 400000 --memory 8G --name "obodc" \ -e "DATABASE_HOST=192.168.4.102" \ -e "DATABASE_PORT=2883" \ -e "DATABASE_USERNAME=root@tntodc#tntob" \ -e "DATABASE_PASSWORD=78ABcd##123" \ -e "DATABASE_NAME=tntodc" \ -e "ODC_ADMIN_INITIAL_PASSWORD=78ABcd##123" \ oceanbase/odc:4.3.3_bp2 注意Shell 环境下,字符串中包含 !、$ 等特殊字符时,变量值需要使用单引号。例如:DATABASE_PASSWORD='11111!'。参数 ODC_ADMIN_INITIAL_PASSWORD 用于指定 ODC 管理员账号的初始密码。设置的初始密码需要须满足以下条件:至少 2 个数字。至少 2 个大写字母。至少 2 个小写字母。至少 2 个特殊字符,特殊字符的范围为 ._+@#$%。不包含空格和其他特殊字符,长度为 8-32。{lamp/}5、安装bash odcinstall.sh6、登录成功八、OBProxy集群keepalived高可用主备VIP部署keepalived介绍请看王工其他文章1、安装keepalived两台OBProxy主机分别安装keepalivedyum install -y keepalived2、配置keepalived两台OBProxy主机分别创建Proxy存活检测脚本vi /etc/keepalived/check_obproxy.sh#!/bin/bash # 检查2883端口是否有监听 if ss -tuln | grep -q ':2883\b'; then exit 0 # 检测成功,返回0 else exit 1 # 检测失败,返回1 fitntproxy1配置执行权限chmod +x /etc/keepalived/check_obproxy.sh配置文件vi /etc/keepalived/keepalived.conf! Configuration File for keepalived global_defs { router_id keepalived1 #只是名字而已,辅节点改为keepalived2(两个名字一定不能一样) } vrrp_script check_obproxy { script "/etc/keepalived/check_obproxy.sh" interval 2 #每2秒执行一次 } vrrp_instance VI_1 { state MASTER #定义主还是备,备用的话写backup interface ens192 #VIP绑定接口 virtual_router_id 66 #整个集群的调度器一致(在同一个集群) priority 100 #(优先权)back改为50(50一间隔) advert_int 1 #发包 authentication { auth_type PASS #主备节点认证 auth_pass 1111 } unicast_src_ip 192.168.4.102 #本机ip unicast_peer { 192.168.4.103 #其他机器ip,可多个 } virtual_ipaddress { 192.168.4.99/24 #VIP(自己网段的) } track_script { check_obproxy } }tntproxy2配置执行权限chmod +x /etc/keepalived/check_obproxy.sh配置文件vi /etc/keepalived/keepalived.conf! Configuration File for keepalived global_defs { router_id keepalived2 } vrrp_script check_obproxy { script "/etc/keepalived/check_obproxy.sh" interval 2 #每2秒执行一次 } vrrp_instance VI_1 { state BACKUP #设置为backup interface ens192 nopreempt #设置到back上面,不抢占资源 virtual_router_id 66 priority 50 #辅助改为50 advert_int 1 #检测间隔1s authentication { auth_type PASS auth_pass 1111 #认证类型和密码主备一样,要不然无法互相认证 } unicast_src_ip 192.168.4.103 #本机ip unicast_peer { 192.168.4.102 #其他机器ip,可多个 } virtual_ipaddress { 192.168.4.99/24 #抢占的VIP也一样 } track_script { check_obproxy } }3、启动服务systemctl enable --now keepalived4、高可用测试将zabbix数据库指向VIP,连续ping 192.168.4.99,并查看zabbix服务状态obproxy1关机,查看ping和zabbix状态正常,业务几乎无感来自 192.168.4.99 的回复: 字节=32 时间=15ms TTL=63 来自 192.168.4.99 的回复: 字节=32 时间=21ms TTL=63 来自 192.168.4.99 的回复: 字节=32 时间=28ms TTL=63 来自 192.168.4.99 的回复: 字节=32 时间=2ms TTL=63 来自 192.168.4.99 的回复: 字节=32 时间=49ms TTL=63 来自 192.168.4.99 的回复: 字节=32 时间=1ms TTL=63obproxy2获得VIPinet 192.168.4.103/24 brd 192.168.4.255 scope global noprefixroute ens192 valid_lft forever preferred_lft forever inet 192.168.4.99/24 scope global secondary ens192 valid_lft forever preferred_lft forever obproxy1开机,obproxy服务启动成功后,自动抢回VIP inet 192.168.4.102/24 brd 192.168.4.255 scope global noprefixroute ens192 valid_lft forever preferred_lft forever inet 192.168.4.99/24 scope global secondary ens192 valid_lft forever preferred_lft forever 5、测试结论高可用正常,VIP正常九、故障处理1、任意一台OBServer主机故障关机1台OBServer主机,集群无影响,一段时间后Zone内另一台主机接管此OBServer功能开机此OBServer,一段时间后集群自动修复此主机并上线2、{lamp/}十、不停机滚动升级V4.3.5_CE_BP1_HF1版本信息发布时间:2025 年 04 月 30 日下载数据库rpm安装包oceanbase-ce-4.3.5.1-101010042025042417.el8.x86_64.rpmhttps://www.oceanbase.com/softwarecenter登录OCP平台,进入集群,升级版本上传安装包升级路经确认提示 集群升级缺少社区版依赖包:[oceanbase-ce-utils-4.3.5.1-101010042025042417.x86_64, oceanbase-ce-libs-4.3.5.1-101010042025042417.x86_64]下载并上传oceanbase-ce-libs-4.3.5.1-101010042025042417.el8.x86_64.rpmoceanbase-ce-utils-4.3.5.1-101010042025042417.el8.x86_64.rpm升级中升级前版本升级中如果出现任务失败,根据情况可点击重试,我点了四五次就完成了升级后版本,升级完成,升级过程中业务无感知{lamp/}十一、总结太强了
2025年05月08日
971 阅读
0 评论
5 点赞
2025-05-07
Zabbix7 keepalived VIP高可用部署 对接 OceanBase高可用集群
{alert type="info"}文中密码均为随机生成,网段和主机实验完成后删除{/alert}一、方案规划Anolis8系统192.168.4.50 tntzabbix7虚拟地址 192.168.4.51 tntzabbix7-01 192.168.4.52 tntzabbix7-02 192.168.4.99 oceanbase高可用VIP数据库oceanbase高可用数据库集群见其他文章,为zabbix7创建数据库https://90apt.com/5580二、数据库准备创建zabbix7租户,创建zabbix7用户和数据库,utf8mb4_bin编码mysql -h192.168.4.99 -P2883 -uzabbix7@zabbix7#tntob -p Aq1[R!KM3%,|{sJ?UJ5;u]数据库具备VIP高可用能力三、安装zabbix1、准备主机准备两台主机,关闭防火墙systemctl stop firewalld && systemctl disable firewalld2、安装zabbix两台主机均安装rpm -Uvh https://repo.zabbix.com/zabbix/7.0/alma/8/x86_64/zabbix-release-latest-7.0.el8.noarch.rpm dnf clean all dnf module list php dnf module reset php dnf module install php:8.0 dnf install zabbix-server-mysql zabbix-web-mysql zabbix-nginx-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent2 dnf install zabbix-agent2-plugin-mongodb zabbix-agent2-plugin-mssql zabbix-agent2-plugin-postgresql01主机导入数据库先给予zabbix7用户权限,主要是为了给他触发器权限登录zabbix7租户的root用户 yum install mysql mysql -h192.168.4.99 -P2883 -uroot@zabbix7#tntob -p mysql> grant all privileges on zabbix7.* to zabbix7@"%"; mysql> set global log_bin_trust_function_creators = 1; Query OK, 0 rows affected (0.15 sec)修改租户的ob_query_timeout参数,防止导入超时ob_query_timeout 100000000再导入数据库zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -h192.168.4.99 -P2883 -uzabbix7@zabbix7#tntob -p zabbix7无报错就是导入成功导入数据库架构后禁用log_bin_trust_function_creators选项mysql -h192.168.4.99 -P2883 -uroot@zabbix7#tntob -p mysql> set global log_bin_trust_function_creators = 0; mysql> quit;为Zabbix server配置数据库编辑配置文件 /etc/zabbix/zabbix_server.confDBHost=192.168.4.99 DBName=zabbix7 DBUser=zabbix7@zabbix7#tntob DBPassword=Aq1[R!KM3%,|{sJ?UJ5;u] DBPort=2883 HANodeName=tntzabbix7-01 NodeAddress=192.168.4.51:10051配置默认端口和主机名/etc/nginx/conf.d/zabbix.conflisten 8080;启动Zabbix server和agent进程,并为它们设置开机自启systemctl restart zabbix-server zabbix-agent2 nginx php-fpm systemctl enable zabbix-server zabbix-agent2 nginx php-fpm查看日志是否有异常cat /var/log/zabbix/zabbix_server.log数据库提示 Unable to start Zabbix server due to unsupported MySQL database version (8.00.00). Must be at least (8.00.30).修改Oceanbase数据库将版本改为8.0.30 重启服务再次查看日志正常systemctl restart zabbix-server zabbix-agent2 nginx php-fpm cat /var/log/zabbix/zabbix_server.log02主机为Zabbix server配置数据库编辑配置文件 /etc/zabbix/zabbix_server.confDBHost=192.168.4.99 DBName=zabbix7 DBUser=zabbix7@zabbix7#tntob DBPassword=Aq1[R!KM3%,|{sJ?UJ5;u] DBPort=2883 HANodeName=tntzabbix7-02 NodeAddress=192.168.4.52:10051配置默认端口和主机名/etc/nginx/conf.d/zabbix.conflisten 8080;启动Zabbix server和agent进程,并为它们设置开机自启systemctl restart zabbix-server zabbix-agent2 nginx php-fpm systemctl enable zabbix-server zabbix-agent2 nginx php-fpm查看日志是否有异常cat /var/log/zabbix/zabbix_server.log无异常"tntzabbix7-02" node started in "standby" mode3、配置zabbix配置01主机http://192.168.4.51:8080/数据库连接主机名和时区默认账号密码为Admin zabbix配置02主机http://192.168.4.52:8080/与01主机相同,只有主机名不同两台主机的状态四、keepalived高可用部署zabbix高可用切换时,备用主机10051端口关闭,可以利用此端口配置keepalived配置01主机安装keealivedyum install -y keepalived编写zabbix高可用检测脚本vi /etc/keepalived/check_zabbix.sh#!/bin/bash # 检查10051端口是否有监听 if ss -tuln | grep -q ':10051\b'; then exit 0 # 检测成功,返回0 else exit 1 # 检测失败,返回1 fi执行权限chmod +x /etc/keepalived/check_zabbix.sh编辑配置文件vi /etc/keepalived/keepalived.conf! Configuration File for keepalived global_defs { router_id keepalived1 #只是名字而已,辅节点改为keepalived2(两个名字一定不能一样) } vrrp_script check_zabbix { script "/etc/keepalived/check_zabbix.sh" interval 2 #每2秒执行一次 } vrrp_instance VI_1 { state MASTER #定义主还是备,备用的话写backup interface ens192 #VIP绑定接口 virtual_router_id 66 #整个集群的调度器一致(在同一个集群) priority 100 #(优先权)back改为50(50一间隔) advert_int 1 #发包 authentication { auth_type PASS #主备节点认证 auth_pass 1111 } unicast_src_ip 192.168.4.51 #本机ip unicast_peer { 192.168.4.52 #其他机器ip,可多个 } virtual_ipaddress { 192.168.4.50/24 #VIP(自己网段的) } track_script { check_zabbix } }启动服务systemctl enable --now keepalived配置02主机安装keealivedyum install -y keepalived编写zabbix高可用检测脚本vi /etc/keepalived/check_zabbix.sh#!/bin/bash # 检查10051端口是否有监听 if ss -tuln | grep -q ':10051\b'; then exit 0 # 检测成功,返回0 else exit 1 # 检测失败,返回1 fi执行权限chmod +x /etc/keepalived/check_zabbix.sh编辑配置文件vi /etc/keepalived/keepalived.conf! Configuration File for keepalived global_defs { router_id keepalived2 } vrrp_script check_zabbix { script "/etc/keepalived/check_zabbix.sh" interval 2 #每2秒执行一次 } vrrp_instance VI_1 { state BACKUP #设置为backup interface ens192 nopreempt #设置到back上面,不抢占资源 virtual_router_id 66 priority 50 #辅助改为50 advert_int 1 #检测间隔1s authentication { auth_type PASS auth_pass 1111 #认证类型和密码主备一样,要不然无法互相认证 } unicast_src_ip 192.168.4.52 #本机ip unicast_peer { 192.168.4.51 #其他机器ip,可多个 } virtual_ipaddress { 192.168.4.50/24 #抢占的VIP也一样 } track_script { check_zabbix } }启动服务systemctl enable --now keepalived五、高可用测试登录http://192.168.4.50:8080/显示为tntzabbix7-02tntzabbix7-02重启,刷新网页,切换为zabbix7-01zabbix7-01关闭zabbix服务[root@tntzabbix7-01 ~]# systemctl stop zabbix-server刷新网页,切换为tntzabbix7-02启动zabbix7-01服务后并不会主动切回01[root@tntzabbix7-01 ~]# systemctl start zabbix-serverzabbix7-02关闭zabbix服务[root@tntzabbix7-02 ~]# systemctl stop zabbix-server 刷新网页,切换为tntzabbix7-01测试结论高可用能力正常,满足需求。六、zabbix server地址注意,在配置agent的时候,虽然HA地址是192.168.4.50但配置服务器仍要配置server的地址,使用英文逗号间隔192.168.4.51,192.168.4.52七、其他其他配置可查看我的zabbix6文章https://90apt.com/search/zabbix6/八、小结爽
2025年05月07日
388 阅读
0 评论
1 点赞
2025-05-07
ThinkSystem SR860 RAID1 硬盘故障更换
zabbix告警项目:VMware: 总体状况取值:red (3)等级:严重状态:PROBLEM线下查看硬盘故障,伴有咔咔声登录BMC查看告警硬盘1无法识别了热插拔更换硬盘告警恢复等待整列同步完即可四小时后同步完成,故障消除
2025年05月07日
164 阅读
0 评论
0 点赞
2025-04-30
keepalived 高可用主备VIP快速部署
IP规划192.168.4.20 VIP虚拟地址 192.168.4.21 keepalived1 192.168.4.22 keepalived2网卡为 ens192系统为Anolis8 龙蜥8关闭防火墙systemctl stop firewalld && systemctl disable firewalldkeepalived默认使用112端口{lamp/}软件安装主机1192.168.4.21 keepalived1安装yum install -y keepalived配置文件备份cp /etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf.bak 编辑vi /etc/keepalived/keepalived.conf ! Configuration File for keepalived global_defs { router_id keepalived1 #只是名字而已,辅节点改为keepalived2(两个名字一定不能一样) } vrrp_instance VI_1 { state MASTER #定义主还是备,备用的话写backup interface ens192 #VIP绑定接口 virtual_router_id 66 #整个集群的调度器一致(在同一个集群) priority 100 #(优先权)back改为50(50一间隔) advert_int 1 #发包 authentication { auth_type PASS #主备节点认证 auth_pass 1111 } virtual_ipaddress { 192.168.4.20/24 #VIP(自己网段的) } }主机2192.168.4.22 keepalived2安装软件yum install -y keepalived配置文件备份cp /etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf.bak编辑vi /etc/keepalived/keepalived.conf! Configuration File for keepalived global_defs { router_id keepalived2 } vrrp_instance VI_1 { state BACKUP #设置为backup interface ens192 nopreempt #设置到back上面,不抢占资源 virtual_router_id 66 priority 50 #辅助改为50 advert_int 1 #检测间隔1s authentication { auth_type PASS auth_pass 1111 #认证类型和密码主备一样,要不然无法互相认证 } virtual_ipaddress { 192.168.4.20/24 #抢占的VIP也一样 } }启动服务systemctl enable --now keepalived重启主机1,VIP自动漂移到主机2,启动主机1,VIP漂回来{lamp/}配置业务在两台主机上安装nginxyum install nginx -y systemctl enable --now nginx两台主机显示不同网页主机1echo "keepalived1 nginx" > /usr/share/nginx/html/index.html主机2echo "keepalived2 nginx" > /usr/share/nginx/html/index.html两台主机访问nginx业务正常{lamp/}配置nginx高可用检测两台主机均编写脚本vi /etc/keepalived/check_nginx.sh通过端口监听判断业务是否正常,几乎适用于所有业务,如MQ、nginx、OBProxy等等#!/bin/bash # 检查80端口是否有监听 if ss -tuln | grep -q ':80\b'; then exit 0 # 检测成功,返回0 else exit 1 # 检测失败,返回1 fi配置keepalived1192.168.4.21 keepalived1执行权限chmod +x /etc/keepalived/check_nginx.sh编辑配置文件vi /etc/keepalived/keepalived.conf! Configuration File for keepalived global_defs { router_id keepalived1 #只是名字而已,辅节点改为keepalived2(两个名字一定不能一样) } vrrp_script check_nginx { script "/etc/keepalived/check_nginx.sh" interval 2 #每2秒执行一次 } vrrp_instance VI_1 { state MASTER #定义主还是备,备用的话写backup interface ens192 #VIP绑定接口 virtual_router_id 66 #整个集群的调度器一致(在同一个集群) priority 100 #(优先权)back改为50(50一间隔) advert_int 1 #发包 authentication { auth_type PASS #主备节点认证 auth_pass 1111 } virtual_ipaddress { 192.168.4.20/24 #VIP(自己网段的) } track_script { check_nginx } }配置keepalived2192.168.4.22 keepalived2执行权限chmod +x /etc/keepalived/check_nginx.sh编辑配置文件vi /etc/keepalived/keepalived.conf! Configuration File for keepalived global_defs { router_id keepalived2 } vrrp_script check_nginx { script "/etc/keepalived/check_nginx.sh" interval 2 #每2秒执行一次 } vrrp_instance VI_1 { state BACKUP #设置为backup interface ens192 nopreempt #设置到back上面,不抢占资源 virtual_router_id 66 priority 50 #辅助改为50 advert_int 1 #检测间隔1s authentication { auth_type PASS auth_pass 1111 #认证类型和密码主备一样,要不然无法互相认证 } virtual_ipaddress { 192.168.4.20/24 #抢占的VIP也一样 } track_script { check_nginx } }改完配置文件两台主机都需要重启keepalived服务关闭主机1的nginx服务,VIP自动漂移到主机2,启动主机1的nginx服务,VIP漂回来{lamp/}配置为单播,抵御脑裂配置keepalived1192.168.4.21 keepalived1编辑配置文件vi /etc/keepalived/keepalived.conf! Configuration File for keepalived global_defs { router_id keepalived1 #只是名字而已,辅节点改为keepalived2(两个名字一定不能一样) } vrrp_script check_nginx { script "/etc/keepalived/check_nginx.sh" interval 2 #每2秒执行一次 } vrrp_instance VI_1 { state MASTER #定义主还是备,备用的话写backup interface ens192 #VIP绑定接口 virtual_router_id 66 #整个集群的调度器一致(在同一个集群) priority 100 #(优先权)back改为50(50一间隔) advert_int 1 #发包 authentication { auth_type PASS #主备节点认证 auth_pass 1111 } unicast_src_ip 192.168.4.21 #本机ip unicast_peer { 192.168.4.22 #其他机器ip,可多个 } virtual_ipaddress { 192.168.4.20/24 #VIP(自己网段的) } track_script { check_nginx } }配置keepalived2192.168.4.22 keepalived2编辑配置文件vi /etc/keepalived/keepalived.conf! Configuration File for keepalived global_defs { router_id keepalived2 } vrrp_script check_nginx { script "/etc/keepalived/check_nginx.sh" interval 2 #每2秒执行一次 } vrrp_instance VI_1 { state BACKUP #设置为backup interface ens192 nopreempt #设置到back上面,不抢占资源 virtual_router_id 66 priority 50 #辅助改为50 advert_int 1 #检测间隔1s authentication { auth_type PASS auth_pass 1111 #认证类型和密码主备一样,要不然无法互相认证 } unicast_src_ip 192.168.4.22 #本机ip unicast_peer { 192.168.4.21 #其他机器ip,可多个 } virtual_ipaddress { 192.168.4.20/24 #抢占的VIP也一样 } track_script { check_nginx } }改完配置文件两台主机都需要重启keepalived服务{lamp/}总结简单好用!
2025年04月30日
236 阅读
0 评论
0 点赞
2025-04-30
家用wifi6路由器推荐
编写中。。。
2025年04月30日
217 阅读
0 评论
0 点赞
2025-04-30
给20岁想入行IT行业的年轻人的建议
编写中...我是谁计算机牛马、行业砖家,为行业添砖加瓦1、热爱,不被过往束缚不被过往束缚掌握生存手段2、我的过往3、成就感4、基础学习5、但行好事、莫问前程6、最后如果有青岛的行业交流,有礼品的那种,别忘了叫我
2025年04月30日
214 阅读
0 评论
0 点赞
2025-04-26
2017款宝骏510天宝中控开通carplay,附资源。
下载地址:链接:https://pan.baidu.com/s/1B_RiCfHHFwFhaFWcsRBXlg 提取码:5e9e 2017款宝骏510的中控有天宝和航盛两个供应商,并且在苹果官方的carplay认证中也有宝骏的几款车型,航盛的刷机包其实早就公开了,但天宝的确很诡异的没有公开过。从方向盘可以看到siri呼叫按键。如何确定车机的版本呢?我们可以点击中控的主页按钮。点击设置点击系统如图所示,TP即为天宝,如果你是HSAE就是航盛的车机,网上都可以下载刷机包。刷机准备:1、准备一个好点的U盘,我用的“什么值得买”推的夏科u盘,用电脑格式化为FAT32格式。(如果你非要想知道为什么要用FAT32格式,其实也简单,因为这个车机是linux系统,所以理论上你也可以用ext3,但肯定不能是微软的NTFS)2、下载文件解压缩,把update-CN180S目录和upgrade.bin放到U盘根目录,不要有其他文件。3、拔掉点烟器!打开汽车钥匙电源打火,怠速稳定以后插入U盘,几秒后机器自动跳转到升级界面,更新第一个 系统软件4、升级过程大概15分钟左右,有百分比显示,升级完成后会自动重启,然后再次进入主界面,此时才能拔掉U盘。成功升级后,主界面会多出一个carplay图标,插入iPhone数据线(质量差的容易断开,最好用mfi认证的),图标就可以点击进入了。爽哦
2025年04月26日
1,272 阅读
1 评论
0 点赞
2025-04-26
宝骏510 2017款 1.5L 自动时尚 更换途虎 东风轮胎DU01 205/60R16 92V 单价171元 4条684元
本人的宝骏510在今年已经进入了第8个年头,原厂的佳通轮胎已经老化严重趁着途虎养车APP轮胎打折,下单了4条轮胎,东风轮胎DU01 205/60R16 92V 单价171元 4条684元价格里包含了轮胎的安装费、动平衡、常规检测、气门嘴轮胎次日达,预约了周末更换,在途虎工场店轮胎到店后查看出厂日期为25年13、14周,非对称花纹,分内外进行了常规检测,灯光、喇叭、防冻液、刹车油含水量、刹车片厚度、橡胶衬套异响等底盘整体无锈蚀排查到后减震漏油后减震更换,配件+工时费536拆卸后发现后减震完全失效后减震器、轮胎更换中,在更换中螺栓使用了扭矩扳手打扭矩更换了全新的气门嘴和气门帽整体评价途虎:明码标价、螺栓打扭矩,比较满意;但轮胎黄点没有对准气门芯,虽然没什么影响,但不舒服(黄点为轮胎最轻处,对准气门芯处可以减少平衡块用量)轮胎:更换后行驶了40多公里,比老轮胎静音多了,无其他感觉
2025年04月26日
283 阅读
0 评论
0 点赞
2025-04-23
ALMA Linux 8飞速搭建zabbix6LTS、微信邮箱短信报警、windows、linux、交换机、vCenter监控、grafana面板、modbus动环采集、ZbxTable分析系统、Mysql、MSsql数据库监控、分组报警、对接oceanbase数据库
一、环境 zabbix所在服务器系统为alma8,zabbix6要求的mariadb版本为10.5-10.6,同时zabbix提供了zabbix-selinux-policy来配置selinux,所以安装中也不再要求关闭selinux。二、安装zabbix 官方安装帮助页面,安装方法随版本更新,官方更新更快https://www.zabbix.com/cn/download1、配置zabbix 软件源rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/8/x86_64/zabbix-release-6.0-4.el8.noarch.rpm dnf clean all2、安装zabbix-server和zabbix-agent2dnf install zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent23、安装数据库配置mariabd源 /etc/yum.repos.d/MariaDB.repo# MariaDB 10.6 CentOS repository list - created 2023-02-02 03:14 UTC # https://mariadb.org/download/ [mariadb] name = MariaDB baseurl = https://mirrors.aliyun.com/mariadb/yum/10.6/centos8-amd64 module_hotfixes=1 gpgkey=https://mirrors.aliyun.com/mariadb/yum/RPM-GPG-KEY-MariaDB gpgcheck=1安装数据库、启动、并设置开机启动dnf clean all dnf install mariadb-server systemctl enable --now mariadb4、进行MariaDB数据库初始化mariadb-secure-installation首先是设置密码,会提示先输入密码 Enter current password for root (enter for none):<–初次运行直接回车 Set root password? [Y/n] <– 是否设置root用户密码,输入y并回车 New password: <– 设置root用户的密码 Re-enter new password: <– 再输入一次你设置的密码 Remove anonymous users? [Y/n] <– 是否删除匿名用户 Disallow root login remotely? [Y/n] <–是否禁止root远程登录 Remove test database and access to it? [Y/n] <– 是否删除test数据库 Reload privilege tables now? [Y/n] <– 是否重新加载权限表5、初始化并导入zabbix数据库 mysql -uroot -p登录mariadb> create database zabbix character set utf8mb4 collate utf8mb4_bin; mariadb> create user zabbix@localhost identified by 'password123'; mariadb> grant all privileges on zabbix.* to zabbix@localhost; mariadb> set global log_bin_trust_function_creators = 1; mariadb> quit;导入初始架构和数据,系统将提示您输入新创建的密码zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix导入数据库架构后禁用log_bin_trust_function_creators选项mysql -uroot -p mariadb> set global log_bin_trust_function_creators = 0; mariadb> quit;6、配置数据库密码编辑配置文件 /etc/zabbix/zabbix_server.confDBPassword=password1237、配置PHP时区编辑配置文件 /etc/php-fpm.d/zabbix.confphp_value[date.timezone] = Asia/Shanghai8、启动并设置开机启动systemctl enable --now zabbix-server zabbix-agent2 httpd php-fpm9、查看是否有错误信息 cat /var/log/zabbix/zabbix_server.log10、防火墙开放端口firewall-cmd --add-port=80/tcp --permanent firewall-cmd --permanent --add-port=10050-10051/tcp firewall-cmd --reload firewall-cmd --list-ports firewall-cmd --list-services11、替换zabbix自带字体,解决中文乱码百度下载Noto Sans S Chinese字体替换掉默认使用的DejaVuSanscp NotoSansSC-Regular.otf /usr/share/fonts/dejavu/DejaVuSans.ttf12、调整zabbix缓存/etc/zabbix/zabbix_server.confCacheSize=1G13、调整ping进程数/etc/zabbix/zabbix_server.confStartPingers=16三、服务端配置 1、连接到新安装的Zabbix前端: http://server_ip/zabbix注意,mariadb也属于mysql数据库类型2、登录zabbix账号Admin 密码zabbix前端配置完成请务必修改密码四、企业微信消息推送 注意:为了企业的数据安全,从2022年6月20号20点之后,新开启的通讯录同步助手与新创建的自建应用必须在管理端配置可信IP,仅配置的可信IP能调用接口。当前时间2023年6月,企业微信应用验证必须与企业名相同,请考虑使用企业微信机器人推送。1、在企业微信 - 我的企业 - 企业信息 - 企业ID 2、创建zabbix机器人应用企业微信后台 - 应用管理 - 应用 - 创建应用 先进行网页授权及JS-SDK可信域名下的网页可使用网页授权及JS-SDK可信IP位于自行创建的应用-开发接口-企业可信IP 可信IP即服务器所在网络的外网IP,可打开https://ifconfig.me/快速查看,如果企业机房接入多条外网宽带,把外网宽带的IP全都写上3、查看Agentld和Secret 4、准备zabbix机器人脚本环境dnf -y install epel-release dnf -y install python2-pip pip2 install requests查询脚本存放位置cat /etc/zabbix/zabbix_server.conf | grep AlertScript可以看到脚本存放在/usr/lib/zabbix/alertscripts目录中编写脚本 weixin.py并放入上面的目录 ,填入上面获得的三个值#!/usr/bin/env python2 #-*- coding: utf-8 -*- import requests import sys import os import json import logging logging . basicConfig ( level = logging . DEBUG , format = ' %(asctime)s , %(filename)s , %(levelname)s , %(message)s ' , datefmt = ' %a , %d %b %Y %H:%M:%S' , filename = os . path . join ( '/tmp' , 'weixin.log' ), filemode = 'a' ) corpid = 'ww36e' appsecret = '5yFNqeTjrr3I' agentid = 1000002 token_url = 'https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=' + corpid + '&corpsecret=' + appsecret req = requests . get ( token_url ) accesstoken = req . json ()[ 'access_token' ] msgsend_url = 'https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=' + accesstoken touser = sys . argv [ 1 ] subject = sys . argv [ 2 ] #toparty='3|4|5|6' message = sys . argv [ 2 ] + " \n\n " + sys . argv [ 3 ] params ={ "touser" : touser , # "toparty": toparty, "msgtype" : "text" , "agentid" : agentid , "text" : { "content" : message }, "safe" : 0 } req = requests . post ( msgsend_url , data = json . dumps ( params )) logging . info ( 'sendto:' + touser + ';;subject:' + subject + ';;message:' + message )赋予执行权限chmod +x /usr/lib/zabbix/alertscripts/weixin.py创建日志文件touch /tmp/weixin.log chown zabbix:zabbix /tmp/weixin.log测试脚本,用户名为企业微信通讯录中的用户名,一般为拼音全拼,严格区分大小写!/usr/lib/zabbix/alertscripts/weixin.py 用户名 '标题' '测试成功'此时企业微信可以收到zaabix应用发来的信息。5、添加报警媒介zabbix后台 - 管理 - 报警媒介类型名称 weixin类型 脚本脚本名称 weixin.py脚本参数:{ALERT.SENDTO} {ALERT.SUBJECT} {ALERT.MESSAGE} 6、配置Trigger actions触发动作,启用消息推送管理员,填写要发送的信息配置 - 动作 Trigger actions - 创建动作 在 动作 中填写名称在 操作 中编辑操作和恢复操作操作发送消息zabbix管理员组仅发送到微信custom message主题:服务器报警消息:告警主机:{HOST.NAME} 告警地址:{HOST.IP} 监控项目:{ITEM.NAME} 监控取值:{ITEM.LASTVALUE} 告警等级:{TRIGGER.SEVERITY} 当前状态:{TRIGGER.STATUS} 告警信息:{TRIGGER.NAME} 告警时间:{EVENT.DATE} {EVENT.TIME} 事件ID:{EVENT.ID}恢复操作通知所有参与者custom message主题:服务器已恢复消息:告警主机:{HOST.NAME} 告警地址:{HOST.IP} 监控项目:{ITEM.NAME} 监控取值:{ITEM.LASTVALUE} 告警等级:{TRIGGER.SEVERITY} 当前状态:{TRIGGER.STATUS} 告警信息:{TRIGGER.NAME} 告警时间:{EVENT.DATE} {EVENT.TIME} 事件ID:{EVENT.ID} 7、配置Autoregistration actions自动注册,填写要发送的信息在Autoregistration actions自动注册中注意:自动注册的其他内容在下方linux、windows部分发送消息zabbix管理员组仅送到weixinCustom message主题:Linux主机自动注册到zabbix服务器消息:主机名:{HOST.HOST} 主机IP:{HOST.IP} Agent端口:{HOST.PORT} 8、接收微信推送人员管理-用户-报警媒介邮箱推送、微信推送 可以理解为仅配置脚本不同,其他配置参数基本一致邮箱 1、安装mailxyum install mailx -y2、修改mailx配置vim /etc/mail.rc最后添加 set from=xx@qq.com set smtp=smtp.qq.com set smtp-auth-user=xx@qq.com set smtp-auth-password=邮箱密码 set smtp-auth=login3、测试邮箱echo “hello world” | mail -s “testmail” xx@qq.com4、编写邮箱脚本cd /usr/lib/zabbix/alertscripts/vim mailx.sh#!/bin/bash #send mail messages=`echo $3 | tr '\r\n' '\n'` subject=`echo $2 | tr '\r\n' '\n'` echo "${messages}" | mail -s "${subject}" $1 >>/tmp/mailx.log 2>&15、创建日志,添加权限touch /tmp/mailx.logchown -R zabbix.zabbix /tmp/mailx.logchmod +x /usr/lib/zabbix/alertscripts/mailx.shchown -R zabbix.zabbix /usr/lib/zabbix/6、添加使用其他添加过程与微信相同微信推送 1、查看短信平台文档编写短信脚本,注意不通用我用的短信平台采用http get通讯cd /usr/lib/zabbix/alertscripts/cat sendSMS.sh#!/bin/bash #手机号码 MOBILE_NUMBER=$1 #短信主题 MESSAGE_SUBJECT=$2 #短信内容 MESSAGE_UTF8=$3 #调用短信接口 /usr/bin/curl -s -G --data-urlencode userid=用户ID --data-urlencode account=用户名 --data-urlencode password=用户密码 --data-urlencode mobile=${MOBILE_NUMBER} --data-urlencode content="${MESSAGE_SUBJECT}-${MESSAGE_UTF8}" http://www.短信平台接口.com/xx?action=send >> /tmp/sendSMS.log2、添加使用其他添加过程与微信相同五、自动注册windows主机 平台 - 配置 - 动作 - Autoregistration actions自动注册 创建动作元数据中的 Linux 为下方脚本里的 HostMetadata=windows 严格区分大小写操作添加主机添加主机群组关联模板下载安装agent2客户端https://www.zabbix.com/cn/download_agents最新版本为 Zabbix agent 2 v6.0.5修改配置 HostMetadata=windowsC:\Program Files\Zabbix Agent 2\zabbix_agent2.conf重启服务收到自动注册提示六、自动注册linux主机 zabbix平台自动注册linux与windows方法基本相同,元数据修改为linux在linux客户端上可以使用自动化脚本安装zabbix agent2客户端我这里仅放一个centos7/8的安装脚本,内容为卸载agent1安装agent2#/bin/bash echo "关闭selinux" sed -i '/SELINUX/s/enforcing/disabled/' /etc/selinux/config setenforce 0 echo "下载zabbix-agent2,卸载agent1" OSVERSION=`cat /etc/redhat-release |awk -F "release " '{print $2}'|awk -F "." '{print $1}'` rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/$OSVERSION/x86_64/zabbix-release-6.0-1.el$OSVERSION.noarch.rpm yum clean all yum remove zabbix-agent -y yum install zabbix-agent2 -y echo "修改zabbix-agent2配置文件" ipaddr=$(ip a show |grep ens|grep inet |awk '{print $2}'|awk -F '/' '{print $1}') zabbix_server='192.168.1.110' hostname=$(hostname) sed -i "s/^Server=127.0.0.1/Server=${zabbix_server}/g" /etc/zabbix/zabbix_agent2.conf sed -i "s/^ServerActive=127.0.0.1/ServerActive=${zabbix_server}/g" /etc/zabbix/zabbix_agent2.conf sed -i "s/Hostname=Zabbix server/Hostname=${hostname}/g" /etc/zabbix/zabbix_agent2.conf sed -i "s/# HostMetadata=/HostMetadata=linux/g" /etc/zabbix/zabbix_agent2.conf echo "防火墙放行zabbix-agent端口" firewall-cmd --permanent --add-port=10050-10051/tcp firewall-cmd --reload echo "启动zabbix-agent服务" systemctl enable --now zabbix-agent2 zabbixagentpid=`ps -ef |grep zabbix_agent2|grep -w 'zabbix_agent2'|grep -v 'grep'|awk '{print $2}'` if [ "$zabbixagentpid" ];then echo "zabbix agent2 正在运行 " else echo "zabbix agent2 安装失败!!!" fi七、通过SNMP监控交换机 1、为zabbix添加SNMPv2模板SNMPv2模板下载https://share.zabbix.com/templates/network-devices-fortigate-template-fortinet-all-discovery/#body2、交换机配置snmpv2snmp-agent sys-info version v2c snmp-agent community read public snmp-agent community write private snmp-agent trap enable snmp-agent target-host trap address udp-domain 192.168.1.110 params securityname public v2c snmp-agent3、查找MIBH3C常用MIBhttps://www.h3c.com/cn/Service/Document_Software/TechnicalInfo/PorductMaintanInfo/Switches/DailyMainten/MIBList/4、安装snmp调试工具并进行测试dnf -y install net-snmp-utilssnmpwalk为模糊测试snmpwalk -v 2c -c public 192.168.237.50 .1.3.6.1.4.1.2021.10.1.3snmpget是zabbix的精准获取方式snmpget -v 2c -c public 192.168.237.50 .1.3.6.1.4.1.2021.10.1.35、举例如S5130 CPU使用率,查询H3C手册为 1.3.6.1.4.1.25506.8.35.18.1.3使用snmpwalk -v 2c -c public 192.168.237.50 1.3.6.1.4.1.25506.8.35.18.1.3后返回SNMPv2-SMI::enterprises.25506.8.35.18.1.3.0 = INTEGER: 16得知最后多一位.0使用snmpget -v 2c -c public 192.168.237.50 1.3.6.1.4.1.25506.8.35.18.1.3.0得到结果相同,则此项为s5130型号的CPU使用率在zabbix新建监控项,即可实现CPU使用率记录新建触发器,即可实现CPU使用率报警前5次报警值均超过80时进行CPU使用率过高报警最终效果其他参数:CPU使用率 1.3.6.1.4.1.25506.8.35.18.4.3.1.4.0.1 内存使用率 1.3.6.1.4.1.25506.8.35.18.1.16.0 固件版本 1.3.6.1.2.1.1.1.0 开机时间 1.3.6.1.2.1.1.3.0 SN 1.3.6.1.4.1.25506.2.6.1.2.1.1.2.2 温度 1.3.6.1.4.1.25506.2.6.1.1.1.1.12.212八、添加vsphere vCenter监控 1、开启VMware支持并重启zabbix-server服务/etc/zabbix/zabbix_server.conf ### Option: StartVMwareCollectors StartVMwareCollectors=52、检查vCenter sdk接口返回500代码代表接口在工作curl -i -k --data "" https://172.16.0.1/sdk HTTP/2 500 cache-control: no-cache content-type: text/xml; charset=utf-8 date: Tue, 28 Jun 2022 01:36:00 GMT x-envoy-upstream-service-time: 0 server: envoy3、登录每台ESXi主机开启MOB服务系统高级设置,搜索Config.HostAgent.plugins.solo.enableMob,确定值改为true4、zabbix创建主机注意是修改继承的宏 https://172.16.0.1/sdk5、查看数据一段时间后,zabbix可以获取到所有的vCenter、ESXi和虚拟机的信息九、grafana面板 1、安装当前最新版本grafana-10.0.1sudo yum install -y https://dl.grafana.com/oss/release/grafana-10.0.1-1.x86_64.rpm注意配置开机启动并配置防火墙,默认使用3000端口2、安装grafana zabbix插件grafana-cli plugins list-remote grafana-cli plugins install alexanderzobnin-zabbix-app systemctl restart grafana-server3、登录grafana接入zabbix源http://IP:3000/ 打开grafana界面,打开后输入admin/admin登录,登陆后按提示更改admin密码。启用zabbix插件配置数据源http://ip/zabbix/api_jsonrpc.php保存并测试成功新建面板即可十、首页图表监控 首页添加构件十一、modbus动环采集 https://90apt.com/3387十二、ZbxTable分析系统 十三、数据库监控 (一)微软MSSQL数据库监控安装完SQLServer数据库,开启数据库远程访问配置对IP的监听配置防火墙端口开放测试端口RHEL8系统安装ODBC驱动https://learn.microsoft.com/en-us/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server?view=sql-server-ver16&tabs=redhat18-install%2Calpine17-install%2Cdebian8-install%2Credhat7-13-install%2Crhel7-offlinesudo su #Download appropriate package for the OS version #Choose only ONE of the following, corresponding to your OS version #RHEL 7 and Oracle Linux 7 curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/mssql-release.repo #RHEL 8 and Oracle Linux 8 curl https://packages.microsoft.com/config/rhel/8/prod.repo > /etc/yum.repos.d/mssql-release.repo #RHEL 9 curl https://packages.microsoft.com/config/rhel/9.0/prod.repo > /etc/yum.repos.d/mssql-release.repo exit sudo yum remove unixODBC-utf16 unixODBC-utf16-devel #to avoid conflicts sudo ACCEPT_EULA=Y yum install -y msodbcsql18 # optional: for bcp and sqlcmd sudo ACCEPT_EULA=Y yum install -y mssql-tools18 echo 'export PATH="$PATH:/opt/mssql-tools18/bin"' >> ~/.bashrc source ~/.bashrc # optional: for unixODBC development headers sudo yum install -y unixODBC-devel配置/etc/odbc.inihttps://learn.microsoft.com/zh-cn/sql/connect/odbc/linux-mac/connection-string-keywords-and-data-source-names-dsns?view=sql-server-ver16[TEST] Driver = ODBC Driver 18 for SQL Server # Server = [protocol:]server[,port] Server = tcp:172.16.10.102,1433 TrustServerCertificate=YES # # Note: # Port isn't a valid keyword in the odbc.ini file # for the Microsoft ODBC driver on Linux or macOS 测试,连接成功isql -v TEST user passwd +---------------------------------------+ | Connected! | | | | sql-statement | | help [tablename] | | echo [string] | | quit | | | +---------------------------------------+ SQL> 配置zabbix模板,为目标主机配置一个MSSQL by ODBC在继承以及主机 宏中修改值{$MSSQL.DSN}即上方odbc.ini中定义的[TEST]{$MSSQL.USER}和{$MSSQL.PASSWORD}是自定义的账号密码注意右侧可以选择密文模式保存(二)MYSQL数据库监控为目标主机关联MySQL by Zabbix agent 2模板为MYSQL创建监控专用用户并配置宏mysql -uroot -p use mysql; CREATE USER 'zbx_monitor'@'%' IDENTIFIED BY '<password>'; GRANT REPLICATION CLIENT,PROCESS,SHOW DATABASES,SHOW VIEW ON *.* TO 'zbx_monitor'@'%';{$MYSQL.USER}和{$MYSQL.PASSWORD}是自定义的账号密码注意右侧可以选择密文模式保存十三、分组报警 1、将不同主机的告警发送给不同用户创建主机群组,并将主机添加至主机组,如动环告警 2、为主机添加群组3、创建用户群组动环报警组4、创建用户加入群组创建用户donghuanyonghu,加入动环报警组5、为用户创建报警媒介我这里用企业微信报警6、触发器操作发送报告的触发器7、操作发送群组配置完成十四、总结 对接oceanbase数据库见oceanbase文章十五、总结 功能强大、简单方便、干净卫生
2025年04月23日
2,048 阅读
0 评论
25 点赞
2025-04-02
群晖Active Backup for Business在vSphere vSAN集群中即时还原失败的原因和解决措施
问题在群晖Active Backup for Business中进行即时还原时,显示无法即时还原任务,状态 失败环境VMware ESXi, 7.0.3, 24585291VMware vCenter Server 版本:7.0.3.02200vSAN集群原因联系群晖官方售后查询日志发现,是NFS存储无法挂载判断为NFS被vSphere占用,检查发现vSphere HA,检测信号数据存储默认将群晖的NFS作为了检测信号存储关闭vSphere HA并卸载群晖NFS后,能够正常即时还原解决措施vSphere HA肯定要用,使用群晖创建iSCSI网络存储,将vSphere HA检测信号数据存储设置为iSCSI网络存储,不占用群晖NFS成功解决
2025年04月02日
261 阅读
0 评论
0 点赞
2025-04-02
群晖NAS服务器硬盘故障损坏 RAID6 下线更换硬盘 修复存储池步骤
1、发现故障硬盘5发生IO错误,一般为硬盘故障前兆2、查询保修期打群晖客服查询是原厂质保还是代理商质保,查询是否在保质期,提供序列号后,确认在维保期呢。3、运行S.M.A.R.T检测运行后显示状态正常4、综合判断由于服务器已经运行数年,此硬盘可能会很快损坏,服务器采用RAID6阵列,允许2块硬盘下线,综合判断后决定将此硬盘发回换货。5、硬盘下线拆掉6、硬盘上线安装换回来的新硬盘7、修复存储池提示不兼容因为群晖是很多年前的型号了,硬盘已经停产,尽量用同一型号的新硬盘8、等待并祈祷修复顺利9、修复成功
2025年04月02日
483 阅读
0 评论
0 点赞
2025-03-26
VMware vSphere vSAN ESXi笔记记录
最新版本下载:https://customerconnect.vmware.com/cn/downloads/#all_products1、loading esxi installer 卡死在 loading /lsi_mr3.v00 使用UEFI模式安装2、vSphere Clustering Service (vCLS)虚拟机异常处理 缺少功能进BIOS把MWAIT开启3、vCenter Converter standalone 转换物理机到虚拟机问题 提交任务后,总是停留在1%,进度信息停在:Connecting to the Converter helper server on the destination virtual machine.但是错误提示,一直等待。取消任务后,提示:Unable to connect to the Converter helper server on the destination virtual machine问题解决:因为Converter Server在 vCenter上创建的 helper vm虚拟机的缺省网络设置是自动获取ip地址,而网络上没有可用的dhcp服务,所以Converter Server和helper vm通讯失败。应该在vCenter Converter提交任务前的配置页,静态配置helper vm的ip地址,最好用ipv4,并且和vCenter Converter同网段,速度会更快。————————————————版权声明:本文为CSDN博主「我是超级用户」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/petrosofts/article/details/750034594、VMware EXSI 启用vMotion 选择编辑 VMkernel适配器启用 vMotion功能5、vSphere下载 当前已经无法下载,推荐一个大佬的收集网站https://sysin.org/6、vSAN 内部版本建议警报“vSAN 内部版本建议引擎” https://vcsa.vmware.com/ph/api/v1/results?deploymentId=2d02e861-7e93-4954-9a73-b08692a330d1&collectorId=VsanCloudHealth.6_5&objectId=0c3e9009-ba5d-4e5f6-bae8-f25ec506d219&type=vsan-updates-json下载文件,从文件更新7、vSAN 硬件兼容性警报“vSAN HCL 数据库最新版本” https://partnerweb.vmware.com/service/vsan/all.json 下载文件,从文件更新8、vSphere兼容列表 smartX兼容列表 https://compatibilityguide.broadcom.com/https://www.smartx.com/smtxos-compatibility/9、vSAN磁盘均衡报警 配置自动重新均衡策略
2025年03月26日
1,311 阅读
0 评论
0 点赞
1
...
3
4
5
...
27