如何调整Nagios的最高性能
优化建议:
1。 图与MRTG性能统计。为了保持对如何处理您的Nagios的安装负载随着时间的推移,以及如何配置更改会影响它的轨道,你应该用MRTG图表一些重要统计数字。 这是真的,真的,真的有用当涉及到调整的Nagios的安装性能。 真正地。 关于如何做到这一点的信息可以在这里找到。
2。 使用大型装置调整 。 启用use_large_installation_tweaks选项可能会提供更好的效能。 了解更多关于此选项不会在这里。
3。 禁用环境宏 。 宏通常提供给检查,通报,事件处理,环境变量等命令。 这可以是一个大Nagios的安装问题,因为它消耗了一些额外的内存和(更重要)更多的CPU。 如果你的脚本不需要访问环境变量的宏(例如,你通过在命令行一切必要的宏),则不需要此功能。 您可以防止宏从正在使用enable_environment_macros选择,因为环境变量可用。
4。 检查的结果收割机频率 。 在check_result_reaper_frequency变量决定Nagios的频率应该为主机和服务的检查结果检查需要处理。 的时间可以处理这些结果花费的最高金额是由最大收割机的时间(见下文)。 如果您的收割机频率太高(太稀少),您可能会看到检查主机和服务的高延迟。
5。 最大收割时间 。 在max_check_result_reaper_time变量决定了Nagios的时间守护进程可以用之前不会转移到其他事情处理的主机和服务的检查结果的最高金额 - 如执行新的主机和服务的检查。 过高的值会导致你的主机和服务大检查延迟。 过低的值可以有同样的效果。 如果您遇到的高延迟,调整这个变量,看看有什么效果。 同样,你应该图表统计数据,以便使这个决心。
6。 调整缓冲槽 。 您可能需要调整external_command_buffer_slots期权的价值。 图形与MRTG缓冲槽统计(见上文),是在确定什么价值你应该使用这个选项的关键。
7。 检查服务的延迟 , 以确定最大并发检查最大的价值 。 Nagios的可以限制最大数量并发执行的服务会检查您指定的值与max_concurrent_checks选项。 这是好事,因为它给你一些控制负载Nagios的多少会令你的监控主机,但它也可以放慢改革的步伐。 如果您看到高延迟值(“10或15秒为您服务检查的多数)(通过extinfo CGI)的,你可能挨饿的检查需要Nagios的。 这不是Nagios的的错 - 钱。 在理想的条件下,所有的服务检查将是0延迟,这意味着他们的确切时间,他们原计划在执行处决。 然而,这是正常的检查,有一些小的延迟值。 我建议采取的最大并发检查报告的最低数目运行时使用- s命令行参数和它Nagios的一倍。 不断增加,直到你的服务的平均潜伏期检查是相当低的。 更多关于检查调度信息服务可以在这里找到。
8。 使用时 , 可能被动检查 。 需要处理的被动服务的检查结果的开销远低于“正常”的主动检查,以便使这一块的信息如果您使用的监测一系列的服务。 应当指出,被动服务的检查,只有真正有用的,如果你有一些外部的应用做了一些监测或报告的类型,所以如果你遇到Nagios的做所有的工作,这不仅无助于事情。
9。 避免使用解释插件 。 有一件事将大大减轻您的监控主机负载的编译(的C / C + +的使用等)的插件,而不是解释脚本(Perl中,等)插件。 尽管Perl脚本等很容易编写,并且运作良好,是他们被编译/在每一个执行实例解释,可显着提高您的监控主机的负载,如果您有很多的服务检查。 如果你想用Perl插件,考虑到真正的可执行文件汇编并使用perlcc(1)(实用工具这是标准的Perl分配部分)或编译带有嵌入Perl解释Nagios的(见下文)。
10。 使用嵌入Perl解释 。 如果您使用的服务检查很多Perl脚本,等等,你可能会发现,编译到Nagios的二进制将加快速度嵌入Perl解释。
11。 优化主机检查命令 。 如果您检查东道国使用check_ping插件,你会发现主机检查将进行得更快,如果你打破了检查。 而不是指定max_attempts在东道国的定义值1和具有check_ping插件10 ICMP数据包发送到主机,就快得多设置max_attempts值为10和1只发送ICMP包,每次。 这是因为Nagios的事实后,往往可以决定执行插件一旦主机的状态,所以你要首先检查尽快。 此方法在某些情况下(即主机的响应速度慢的缺陷,可假定为下降),但是你会看到更快的主机会检查你是否使用它。 另一种选择是使用更快的插件(即check_fping作为,而不是check_ping host_check_command)。
12。 附表常规的主机检查 。 调度主机的定期检查,实际上可以帮助Nagios的性能。 这是由于缓存的方式检查逻辑工程(见下文)。 在此之前给Nagios 3,定期检查使用主机造成大的性能损失。 这不再是这样,作为东道主检查并行运行 - 就像服务检查。 要安排一个主机定期检查,设置在主机定义check_interval指令的东西大于0。
13。 启用缓存的主机检查 。 Nagios的开始3,按需主机检查可以受益于缓存。 按需主机执行检查工作时,Nagios的检测服务状态的改变。 基于这些需求,检查执行,因为Nagios的想知道如果与服务有关的主机改变了状态。 通过启用缓存的主机检查,您可以优化性能。 在某些情况下,Nagios的可能能够使用旧/缓存状态的主机,而不是实际执行的主机检查命令。 这可以加快速度,减少监测服务器的负载。 在缓存的检查,才能有效,您需要安排您的主机的定期检查(见上文)。 更多关于检查缓存信息可以在这里找到。
14。 侵略不要使用主机检查 。 除非您在使用主机回收率Nagios的承认问题,我建议不要使use_aggressive_host_checking选项。 使用此选项关闭主机检查将执行的速度更快,更快捷的服务,检查结果的处理结果。 但是,东道主回收率可以在某些情况下时,错过了这个关闭了它。 例如,如果一个主机复苏,与该主机留在非行成员国相关的所有服务(不“摇摆不同非行国”),Nagios的可能错过该主机已经恢复的事实。 有几个人可能需要启用这个选项,但大多数人没有,我会recommendnot使用它,除非你觉得有必要...
15。 外部命令优化 。 如果你处理了大量的外部命令(即在分布式安装被动检查,你可能要设置command_check_interval变量为-1。这将导致对Nagios的检查尽可能经常外部命令。您还应考虑增加可用外部命令缓冲区插槽的数量。缓冲器插槽用来存放已经读取从外部命令文件(由一个单独的线程),然后他们用Nagios守护进程处理外部命令。如果你的Nagios的守护进程收到被动支票或外部命令很多,你可能会在一个情况下缓冲区总是爆满。在子进程(外部脚本,NSCA的守护进程等),当他们试图阻止写入到外部命令文件这个结果。我会强烈建议您将图形插槽外部命令缓冲区的使用使用MRTG和nagiostats实用此处所述,让您了解典型的外部命令你的缓冲Nagios的安装使用。
16。 优化硬件的最大性能 。 注意:硬件性能应该不是一个问题,除非:1)你是监测数以千计的服务,2)你做了很多后的性能数据处理等系统配置和硬件的设置将要直接影响您的操作系统执行,因此它们将影响到Nagios的执行。 最常见的硬件优化您可以与您的硬盘驱动器。 CPU和内存速度明显影响性能的因素,但磁盘访问将是你最大的瓶颈。 不存储插件,状态日志上(即旧的IDE硬盘驱动器或NFS缓慢等坐骑)。 如果你有话,请使用UltraSCSI驱动器或快速IDE驱动器。 一种IDE的重要注意事项/ Linux用户的是,许多Linux的安装不会尝试优化磁盘访问。 如果您不更改磁盘访问参数(通过使用像hdparam实用程序),你就活出一个新的IDE驱动器的迅速很多特点。

































