CACTI 0.8.7 迁移并升级到 1.2.7记录
升级前后环境
升级前: CactiEZ 中文版 V10
升级后: Ubuntu 2204+ Cacti 1.2.7
升级原因:风险漏洞太多,升不尽,补不完.
升级流程
Cacti 依赖包
注意:UBUNTU下有些包,它非另外取个名,真TMD有病
NET-SNMP --> snmp
php-dblib --> php-sybase
PHP/NET-SNMP/RRDtool,然后DB和Web Server
升级过程中遇到的问题及处理方法
DB相关问题
原DB默认字符集为latin1的处理方式
在字符集为latin之类,内容包含中文时,直接使用mysqldump导出就会乱码.
mysqldump --default-character-set latin1 --databases xxx --tables xx xx xx >>bak.sql
sed -i 's/latin1/utf8/g' bak.sql
注意: mysqldump命令设置default-character-set时,可能会对database级的导出不生效,所以具体到表.
源/目的地安装路径不一致,需要在DB中手动更改,不然启动不了.
mysql
use cacti
select * from settings where value like 'var/www/html%';
update settings set value='sdfsd' where name='adfsdf'
注意:不要手动更改version中的值,这个它自己升级database要用的.
SYSLOG相关的三个表先别导入,这个插件放后面搞,不然有问题
新旧SRV 的RRDTool版本不一样,旧图形不可直接使用.
旧的导出为xml到新的这边再恢复为rrd
find /var/www/html/rra -name *.rrd -exec /usr/local/rrdtool/bin/rrdtool dump {} {}.xml \;
tar -zcvf rra.tar.gz /var/www/html/rrascp user@host:/path/rra.tar.gz .
tar -zxvf rra.tar.gz
find . -name *.xml -exec rrdtool restore {} {}.rrd \;
find . -name *.rrd.xml.rrd |sed -e"p;s/.rrd.xml.rrd/.rrd/" |xargs -n2 mv
find . -name *.xml -exec rm -f () \;
升级过程中断失败
2024-09-03 09:02:22 - INSTALL: always: 从v1.0.0(数据库1.0.0)升级到v1.0.4
2024-09-03 09:02:22 - INSTALL: always: 从v1.0.4(数据库1.0.4)升级到v1.0.5
2024-09-03 09:02:23 - CMDPHP ERROR: A DB Exec Failed!, Error: Array to string conversion
2024-09-03 09:02:23 - CMDPHP SQL Backtrace: (/install/background.php[70]:Installer::beginInstall(), /lib/installer.php[3530]:Installer->install(), /lib/installer.php[3025]:Installer->upgradeDatabase(), /lib/installer.php[3423]:upgrade_to_1_0_5(), /install/upgrades/1_0_5.php[36]:db_install_execute(), /install/functions.php[160]:db_execute_prepared())
2024-09-03 09:02:23 - INSTALL: always: 已完成UPGRADE针对v1.2.27的进程
2024-09-03 09:02:23 - INSTALL: always: WARNING: One or more upgrades failed to install correctly
这个比较操蛋,找了一路,结果是1_0_5.php 36行这里传的参数在后面需要的是个string,但这里给了一个array. array( p r o f i l e i d ) ) ; − − > a r r a y ( profile_id)); --> array( profileid));−−>array(profile_id[‘data’]));
$profile_id = db_install_fetch_cell('SELECT id FROM data_source_profiles ORDER BY `default` DESC LIMIT 1');if ($profile_id > 0) {db_install_execute('UPDATE data_template_dataSET data_source_profile_id = ?WHERE data_source_profile_id = 0',array($profile_id));}
syslog 插件问题
升级过来后到syslog页面可能会卡死,提示什么升级得重安装什么的.
在README里看到这么一句:
If you are upgrading to 2.0 from a prior install, you must first uninstall
syslog and insure both the syslog, syslog_removal, and syslog_incoming tables
are removed, and recreated at install time.
正确步骤: 停服务-> 移插件 ->删表 -->cacti中uninstall -->移回来 -->cacti中install
- systemctl stop apach2
- mv plugins/syslog new/
- mysql -D cacti
- drop table syslog;
- drop table syslog_removal;
- drop table syslog_incoming;
- php path/cli/plugin_manage.php --plugin=syslog --uninstall
- mv new/syslog plugins/
- php path/cli/plugin_manage.php --plugin=syslog --install --enable --allperms
- systemctl start apach2
有问题时cacti在plugins页面时,后台程序可能报错死循环,到卡死.所以页面上uninstall不了.
中文界面上FORM提交后页面异常
现象:原本AJEX异步的页面,返回了无样式的页面
原因:中文翻译的字符串中的单引号会导致JS错误,使用AJEX部分不执行,变成常规的FORM提交.
vim locales/po/zh-CN.po
#: lib/html_form.php:1403
msgid "You have unsaved changes on this form. If you press 'Continue' these changes will be discarded. Press 'Cancel' to continue editing the form."
msgstr "您在此表单上有未保存的更改.如果按[继续],这些更改将被丢弃.按[取消]继续编辑表单."
这里的继续和取消两边原来是单引号,这个字符串会被写到js中,然后就坏了,改为括号.然后执行build_mo.sh
./build_mo.sh
更改认证方法后进不去了…
mysql -D cacti
update settings set value=1 where name like 'auth_method';
update user_auth set enabled='on' where username='admin';
这破东西可折腾人…
相关文章:
CACTI 0.8.7 迁移并升级到 1.2.7记录
升级前后环境 升级前: CactiEZ 中文版 V10 升级后: Ubuntu 2204 Cacti 1.2.7 升级原因:风险漏洞太多,升不尽,补不完. 升级流程 Created with Raphal 2.3.0 开始 DST:安装Ububtu/Mariadb/apache/php SRC:备份 DB/RRA 数据导入 结束 Cacti 依赖包 注意:UBUNTU下有些包,它非另外…...

OrionX vGPU 研发测试场景下最佳实践之Jupyter模式
在上周的文章中,我们讲述了OrionX vGPU研发测试场景下最佳实践之SSH模式,今天,让我们走进 Jupyter模式下的最佳实践。 • Jupyter模式:Jupyter是最近几年算法人员使用比较多的一种工具,很多企业已经将其改造集成开发工…...
国风编曲:了解国风 民族调式 五声音阶 作/编曲思路 变化音 六声、七声调式
中国风 以流行为基础加入中国特色乐器、调式、和声融为一体的风格 如:青花瓷、菊花台、绝代风华、江南等等等等 省流:中国风=流行民族乐 两者结合,民族元素越多越中国风 流行民族/摇滚民族/电子民族 注意:中国风≠…...
HTTP 响应状态码详解
HTTP状态码详解:HTTP状态码,是用以表示WEB服务器 HTTP响应状态的3位数字代码 小技巧: CtrlF 快速查找 Http状态码状态码含义100客户端应当继续发送请求。这个临时响应是用来通知客户端它的部分请求已经被服务器接收,且仍未被拒绝。客户端应当…...

在服务器上开Juypter Lab教程(远程访问)
在服务器上开Juypter Lab教程(远程访问) 文章目录 在服务器上开Juypter Lab教程(远程访问)一、安装anaconda1、安装anaconda2、提权限3、运行4、同意协议5、安装6、是否要自动初始化 conda7、结束8、检查 二、Anaconda安装Pytorch…...

【硬件模块】SHT20温湿度传感器
SHT20是一个用IIC通信的温湿度传感器。我们知道这个就可以了。 它支持的电压范围是2.1~3.6V,推荐是3V,所以如果我们的MCU是5V的,那么就得转个电压才能用了。 IIC常见的速率有100k,400k,而SHT20是支持400k的(…...

Redhat 8,9系(复刻系列) 一键部署Oracle23ai rpm
Oracle23ai前言 Oracle Database 23ai Free 让您可以充分体验 Oracle Database 的能力,世界各地的企业都依赖它来处理关键任务工作负载。 Oracle Database Free 的资源限制为 2 个 CPU(前台进程)、2 GB 的 RAM 和 12 GB 的磁盘用户数据。该软件包不仅易于使用,还可轻松下载…...
SIPp uac.xml 之我见
https://sipp.sourceforge.net/doc/uac.xml.html 这个 uac.xml 有没有问题呢? 有! 问题之一是: <recv response"200" rtd"true" rrs"true"> 要加 rrs, 仔细看注释就能看到 问题之二是࿱…...

引领智能家居新风尚,WTN6040F门铃解决方案——让家的呼唤更动听
在追求高效与便捷的智能家居时代,每一个细节都承载着我们对美好生活的向往。WTN6040F,作为一款专为现代家庭设计的低成本、高性能门铃解决方案,正以其独特的魅力,悄然改变着我们的居家生活体验。 芯片功能特点: 1.2.4…...
Android 蓝牙服务启动
蓝牙是Android设备中非常常见的一个feature,设备厂家可以用BT来做RC、连接音箱、设备本身做Sink等常见功能。如果一些设备不需要BT功能,Android也可以通过配置来disable此模块,方便厂家为自己的设备做客制化。APP操作设备的蓝牙功能ÿ…...

【安全系列--处理挖矿】
现象:我们云上waf提示有台服务器存在挖矿行为 解决思路: 1、查看服务器的进程情况 top发现服务的CPU使用率非常高 2、使用性能分析工具perf查看占用的cpu进程 sudo apt install linux-tools-common发现一些kernel进程存在异常 3、使用find查一下这…...

SpringBoot集成Thymeleaf模板引擎,为什么使用(详细介绍)
学习本技术第一件事:你为什么要使用,解决什么问题的? 1.为什么使用(使用背景)? 首先应用场景是单体项目,如果是前后端分离就不用关注这个了,因为单体项目你前后端都是写在一个项目…...

Docker突然宣布:涨价80%
从11月15日起,Docker的付费订阅中Pro和Team的价格都将大幅上调:Pro从原来的5美元每月激增到9美元每月,直接涨了80%;而Team也从之前的9美元每月来到15美元每月,涨价66.7%。只有Business保持此前的24美元每月不变。 同时…...

工厂方法模式和抽象工厂模式
工厂方法模式 一个工厂只能创建一种产品 工厂方法模式的结构 工厂方法模式包含以下4个角色 Product(抽象产品) ConcreteProduct(具体产品) Factory(抽象工厂) ConcreteFactory(具体工厂…...
【星海出品】go语言环境兼install
官网 https://golang.google.cn/dl/ go的安装包下载地址 https://go.dev/dl/ set GO111MODULEon //是否以Go modules的模式运行项目 auto,on,off set GOARCHamd64 //目标可执行程序操作系统构架 包括 386,amd64,arm set GOBIN //项目的第三方可执行文件目…...
Spring 源码解读:自定义实现BeanPostProcessor的扩展点
引言 在Spring的生命周期管理中,BeanPostProcessor是一个非常重要的扩展点。它允许开发者在Bean初始化的前后插入自定义的逻辑,从而实现更灵活的Bean管理。BeanPostProcessor是Spring框架中用于对Bean实例进行修改的机制之一。通过实现该接口࿰…...
Spring Boot-分布式系统问题
Spring Boot 在分布式系统中的常见问题及解决方案 随着互联网的发展,系统规模和复杂度越来越大,分布式系统成为应对高并发、大数据量场景的重要架构选择。Spring Boot 作为一种轻量级的开发框架,广泛应用于构建微服务和分布式系统中。然而&a…...
面试题总结(三) -- 内存管理篇
面试题总结(三) – 内存管理篇 文章目录 面试题总结(三) -- 内存管理篇<1> C 中堆内存和栈内存的区别是什么?<2> 如何在 C 中手动管理内存(new/delete 操作符)?<3> C 中内存泄漏的原因和避免方法<4> 谈谈…...
Qt 定时器-定时备份
定时备份 在Qt 中,可以使用QTimer类来实现定时备份功能。以下是一个示例代码,每隔一段时间自动执行备份操作: #include <QTimer>QTimer timer; int backupInterval 24 * 60 * 60 * 1000;//备份间隔为24小时connect(&timer, &…...

天融信把桌面explorer.exe删了,导致开机之后无windows桌面,只能看到鼠标解决方法
win10开机进入桌面,发现桌面无了,但是可以ctrlaltdelete调出任务管理器 用管理员权限打开cmd,输入: sfc /scanfilec:\windowslexplorer.exe 在运行C:\windows\Explorer.exe;可以进入桌面,但是隔离几秒钟…...

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明
LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造,完美适配AGV和无人叉车。同时,集成以太网与语音合成技术,为各类高级系统(如MES、调度系统、库位管理、立库等)提供高效便捷的语音交互体验。 L…...

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析
1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具,该工具基于TUN接口实现其功能,利用反向TCP/TLS连接建立一条隐蔽的通信信道,支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式,适应复杂网…...

Python:操作 Excel 折叠
💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 Python 操作 Excel 系列 读取单元格数据按行写入设置行高和列宽自动调整行高和列宽水平…...

[10-3]软件I2C读写MPU6050 江协科技学习笔记(16个知识点)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16...
JDK 17 新特性
#JDK 17 新特性 /**************** 文本块 *****************/ python/scala中早就支持,不稀奇 String json “”" { “name”: “Java”, “version”: 17 } “”"; /**************** Switch 语句 -> 表达式 *****************/ 挺好的ÿ…...
Caliper 配置文件解析:config.yaml
Caliper 是一个区块链性能基准测试工具,用于评估不同区块链平台的性能。下面我将详细解释你提供的 fisco-bcos.json 文件结构,并说明它与 config.yaml 文件的关系。 fisco-bcos.json 文件解析 这个文件是针对 FISCO-BCOS 区块链网络的 Caliper 配置文件,主要包含以下几个部…...
【碎碎念】宝可梦 Mesh GO : 基于MESH网络的口袋妖怪 宝可梦GO游戏自组网系统
目录 游戏说明《宝可梦 Mesh GO》 —— 局域宝可梦探索Pokmon GO 类游戏核心理念应用场景Mesh 特性 宝可梦玩法融合设计游戏构想要素1. 地图探索(基于物理空间 广播范围)2. 野生宝可梦生成与广播3. 对战系统4. 道具与通信5. 延伸玩法 安全性设计 技术选…...

Docker 本地安装 mysql 数据库
Docker: Accelerated Container Application Development 下载对应操作系统版本的 docker ;并安装。 基础操作不再赘述。 打开 macOS 终端,开始 docker 安装mysql之旅 第一步 docker search mysql 》〉docker search mysql NAME DE…...

排序算法总结(C++)
目录 一、稳定性二、排序算法选择、冒泡、插入排序归并排序随机快速排序堆排序基数排序计数排序 三、总结 一、稳定性 排序算法的稳定性是指:同样大小的样本 **(同样大小的数据)**在排序之后不会改变原始的相对次序。 稳定性对基础类型对象…...

计算机基础知识解析:从应用到架构的全面拆解
目录 前言 1、 计算机的应用领域:无处不在的数字助手 2、 计算机的进化史:从算盘到量子计算 3、计算机的分类:不止 “台式机和笔记本” 4、计算机的组件:硬件与软件的协同 4.1 硬件:五大核心部件 4.2 软件&#…...