设为首页 收藏本站
查看: 814|回复: 0

Nagios缓存检测

[复制链接]

尚未签到

发表于 2019-1-13 12:44:58 | 显示全部楼层 |阅读模式
  通过使用缓存检测机制可以显著改善Nagios监控逻辑的性能,缓存检测能够为Nagios在按要求检测或者称为经要求检测(on-demand)上***能上的改进,具体的做法就是通过使用被检测主机或者服务相关的最近检测结果来替代实际的主机和服务的检测。
  换言之,缓存检测的作用是当Nagios发现可以利用最近一次检查结果来替代这次检测时,那么Nagios将会放弃执行这次主机与服务的检测。
  
  缓存检测仅适用于经要求检测
  对于定期的主机和服务检测,如果使用缓存检测机制将不会有性能上的提高,因此在这种情况下不能使用缓存检测机。缓存检测(cached check)仅对于经要求检测检测的主机检测和服务检测提高性能有用。
  定期检测用于确保主机和服务状态能够有规律的更新,这种检测的结果将来可能更多会被用于缓存检测使用。
  经要求主机检测发生的情况:
  u       当与主机相关的服务发生改变;
  u       由于网络主机可达性逻辑的需要;
  u       由于预测主机依赖性检测的需要;
  经要求服务检测发生的情况:
  u       由于预测服务依赖性检测的需要;
  需要注意的是除非使用服务依赖性,否则Nagios将不能够使用缓存检测结果来提高检测性能。对于缓存主机检测在性能上会有很大的提高,每个主机监控都能够从中获益。
  缓存检测的工作原理
  当Nagios需要执行经要求(或者说是按照需要)的主机或者服务检测时,那么Nagios将会做出是否使用缓存检测结果,或者是否需要通过执行插件进行实际检测,到底是进行哪一个,它的根据是查看最后X秒内发生的最后一次主机或者服务检查,这里的X是主机或者服务检查的门限值。如果最后一次被执行的检测在缓存检测的门限值内,那么Nagios将会使用这个最后的主机或者服务检测结果,并且不再进行新的检测。如果主机或者服务尚未被检测,或者是最后一次检查超出了检查的门限值(或者称为时限值,由指令cached_host_check_horizon或者cached_service_check_horizon设置),那么Nagios将会使用插件执行一次新的主机或者服务检查。
  Nagios执行经要求检查的目的是想知道当前运行服务和主机在某一个特定时刻的状态。利用缓存的检查的目的是确定当前主机/服务状态“足够好”,而并没有真正的进行实际意义上的重新检查主机或者服务的状态。
  缓存检查的门限值告诉Nagios可以使用最近多久的检查结果,以便能够可靠的反应主机或者服务当前的状态。例如,将缓存检查门限值设置为30秒(就是将选项cached_host_check_horizon或者cached_service_check_horizon的值设置为30),这设置的意义在于告诉Nagios如果主机/服务状态在30秒内被检查过,那么这个检查的结果将会被看做是该主机/服务的当前状态。
  如果在经要求检查时Nagios在使用了执行缓存检查,那么称为“命中”,相应的,命中测次数与检查的次数将会被计算为命中率。通过增加缓存检查门限值到等于定时检查间隔值,那么在理论上缓存的命中率是100%,如果是这种情况(就是说缓存的命中率为100%),那么所有经要求检查将会使用缓存检查结果,这个性能是相当可观的!但是能够真的如此吗?实际上是不可能的!
  随着时间的推移缓存的检查结果信息的可靠性降低,高缓存命中率需要先前期检测结果在一个较长的时间阶段内被看做是“有效”的。在网络环境中,所有的事情总是发展很快,因此,谁也不能保证在30秒内服务器会发生什么情况。
  要权衡一下可靠性与速度,如果设置一个大的缓存门限值,那么在监控逻辑中将会使用不可靠的检测值。
  Nagios将最终确定所有的主机和服务的正确的状态,所以即使缓存的检查结果证明不可靠的结果代表true值,Nagios将只是在很短的时间内使用了不正确的信息。
  即使是在很短的时间内使用了不可靠的信息,但是对于管理员来说也是一个讨厌的行为,原因很简单,对于一个已经不存在了的问题,管理员还是收到了该问题的通知,原因很简单就是使用了过期的信息。
  关于缓存门限对于每一个Nagios用户来说没有标准值,或者说没有标准的缓存命中率,有些Nagios用户可能想使用短门限值和低缓存率,其它一些用户却可能使用一个大门限值和高缓存率(需要注意的是可能是一个低可靠性),而其它一些用户将会禁用缓存检测,从而获取100%的可靠性。可以通过对不同的门限值测试,以便获取它们的可靠性状态信息,对于个别的用户这样获取一个比较正确的值,也就是说以便在它们的环境中获取合适门限值。
  感谢原作者:【http://blog.itpub.net/27043155/viewspace-732405/】


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-662751-1-1.html 上篇帖子: nagios通过SNMP服务的网络监控 下篇帖子: Nagios状态长时间处于Pending的解决方法
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表