我刚刚接管了一个 Cacti 服务器,并且正在从 5 分钟轮询到 1 分钟轮询做噩梦。
到目前为止,我已经将数据模板与Step(从300降到60)和Heartbeat(从600降到120)一起更改,并且我还将cron作业从*/5更改为*/1,最后,在设置下,我将轮询间隔更改为每分钟,将 cron 间隔更改为每分钟。
然而,这样做似乎会导致服务器负载过大,同时许多错误被添加到 /var/log/cacti/poller.log (?) 关于无效 SQL 语句和 RRD 的各种其他问题。
根据我的理解,编辑数据模板不会影响现有的 RRD,它只是设置将在未来创建的 RRD - 因此,我认为错误是因为默认情况下 RRD 文件只有 5 分钟的步骤在我需要的 60 个中。
最重要的是现有数据不会丢失,但是,如果无法合并,可以将其存档 - 到目前为止,我已尝试创建第二个仙人掌服务器以迁移现有数据(然后将它们全部设置为禁用) ,但是,这似乎效果不佳,因为我还没有找到批量导入现有 RRD 的好方法。
在过去的两周里,我一直在做这件事,但没有走得太远,我需要一些专家的帮助!我只是想知道是否有人以前这样做过并且可以提供任何建议/为了迁移我应该做什么?
我已经使用 Nagios 一段时间了,最近在对 MRTG 中缺乏缩放和任何 GUI 不满意后开始使用 Cacti。我有兴趣将趋势添加到我的 Nagios 安装中,并想知道最好的方法是什么。我环顾四周,看到了可用的东西,但周围没有很多信息来区分它们。我的 Nagios 安装有大约 250 个主机和 1100 个服务检查,但其中许多只是简单的网络设备,只有大约 20 个服务器和 300 个服务与它们相关联。除 2 台之外的所有服务器都运行 Windows Server 2003。 PNP4Nagios 与 nagiosgraph 的主要亮点是什么,还是我最好使用某种工具将数据转换为 RRD 形式并直接在 Cacti 中查看?有没有一个完全不同的方向我可以走得更好?如果您需要更多信息,请发表评论,我往往过于罗嗦,并试图保持这个问题的简短。
谢谢!
Nagios XI(这是 Nagios 的商业实现)可以根据阈值条件绘制图表并发送警报。我无法理解 Nagios 和 Cacti 之间的区别。关于两者之间的差异有什么想法吗?
我宁愿不重复努力。
我已经为仙人掌创建了 php 脚本,它以如下格式输出数据:<variable>:<value>
我的脚本的输出:temperature:20 humidity:15
然后我创建了数据输入方法,其中输入字符串是:php <path_cacti>/scripts/getTempHumData.php <host>
脚本放置在仙人掌文件夹/脚本中。
输入字段是主机名 - 在脚本中我将它用作 $ARGV[0] 变量。
输出字段有两个 - 温度和湿度。
然后我将该脚本分配给设备,添加它需要的所有内容,关闭设备的 SNMP 使用。设备状态为“启动”。
然后我创建了图形模板和图形并将其分配给图形树。但是无法看到图形 - 它只是显示无法找到图像(浏览器中的小红色 x)。
我编辑了我的脚本以传递相同格式的常量值,我查看了 cacti/log/cacti.log 但我的主机 IP 没有条目。
此外,没有图形需要的 rrd 文件 - 在调试模式下它尝试创建,但没有创建 rrd 文件。同样在数据源路径中,指向的 rrd 文件也不存在。
我该如何解决这个错误?
先感谢您。
脚本代码:
<?php
/*$content = file_get_contents("http://".$ARGV[0]);
$air_temperature = null;
$air_humidity = null;
$xml = simplexml_load_string($content);
$air_temperature = $xml->Item[1]->Value;
$air_humidity = $xml->Item[2]->Value;
echo "temperature:".$air_temperature." humidity:".$air_humidity;*/
echo "temperature:20 humidity:15";
?>
Run Code Online (Sandbox Code Playgroud)
RRD 文件不是自动创建的,当然在运行我打开调试时给出的命令后,我得到了我的 rrd 文件。但是为每个需要的值显示 NaN 值。
我正在寻找一个像 Cacti 这样的监控系统,它不会随着时间的推移丢失数据,我发现的所有工具都使用 rrd 文件,随着时间的推移平均数据。
我希望能够回到(例如)4 月 1 日 12:00 并查看当时捕获的数据是什么,而不是一整天的平均值。
有没有可以做到这一点的监控系统?
我们知道Cacti使用SNMP来查询和收集数据。据我所知,SNMP 管理器使用对象 ID (OID) 来查询某个对象,并从 SNMP 代理获取有关该 OID 的响应。
让我困惑的是Cacti如何使用egperl或python脚本来收集数据?那么它使用SNMP吗?如果是的话,协议如何运作?
我在 Ubuntu 上(通过保险丝)为家里的存储阵列设置了 ZFS,尽管它处于“测试版”状态,但它已经运行了将近一年。我不时登录并使用以下命令检查数组:
zpool status
Run Code Online (Sandbox Code Playgroud)
结果是:
NAME STATE READ WRITE CKSUM
media ONLINE 0 0 0
raidz1 ONLINE 0 0 0
sda ONLINE 0 0 0
sdb ONLINE 0 0 0
sdc ONLINE 0 0 0
errors: No known data errors
Run Code Online (Sandbox Code Playgroud)
这一切都很好,但我想自动化一种方法来每隔一段时间检查一次,以确保我的池没有错误。
我有仙人掌和 zabbix 可供我使用。我想我也可以编写一个程序来分析该输出,如果它没有找到“无已知数据错误”这句话,请给我发一封电子邮件。
但是,是否已经有任何包可以做到这一点,或者关于如何从这个阵列中获得一些性能指标的规范?
我正在使用仙人掌,我不小心把时钟调到了前面。Cacti 更新,将新数据存储在 rra 中 - 现在我已经修复了我的时钟,我无法让仙人掌再次更新。我该怎么办?
我需要使用 SNMP 和 Cacti 监控 Linux 和 Windows 主机。我正在寻找像 MRTG 这样的图形格式的结果。
我正在 Windows 主机上查找以下内容:
每 30 秒的磁盘利用率、CPU 负载、网络流量(上传和下载)。
需要拿报告PDF格式或EXCEL格式
谢谢K先生~
在我的分配交换机上将其设为镜像端口。并通过 IPtraf 监控这是有效的。我可以看到用户的当前带宽。需要走很长的路,现在只配置 TCP 流量。
工作和工作
谢谢K先生~
我在运行 Fedora 的笔记本电脑上安装了 cacti。使用 yum install cacti 安装它。希望负责安装所有支持工具。
现在我想知道如何打开应用程序并开始使用它。有谁用过仙人掌,能帮帮我吗?cacti 的可执行文件将存储在哪里?我该如何运行它?在命令行上输入 cacti 不起作用:/
cacti ×11
monitoring ×5
nagios ×3
rrdtool ×2
snmp ×2
zabbix ×2
linux ×1
networking ×1
performance ×1
php ×1
rras ×1
scripting ×1
ubuntu ×1
windows ×1
zfs ×1