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

Nagios学习笔记之(五)后期维护

[复制链接]

尚未签到

发表于 2019-1-15 11:00:00 | 显示全部楼层 |阅读模式
  Nagios学习笔记之(五)后期维护



前言:前面都已经把整个Nagios算是搭建起来了,现在就是来想想在以后的工作中都需要注意什么,以及怎么把工作做的简化、快速、安全。



后期维护就是后续的琐碎的工作,例如:增加监控主机、调整阀值、检查配置文件等等。

总结如下:

1.如何更快速的增加主机?

2.如何调整合适的阀值?

3.如何保证nagios稳定的运行?

4.定期查看日志、pnp图,了解监控情况。



一、首先说下如何更快速的增加主机?

a.我们都知道Nagios的配置文件都在/usr/local/nagios/etc/下,可以在其新建个servers目录来存在后续新增的主机配置文件,而不用放在默认的object里,也不更改其默认的配置文件,这样在以后排错就有针对性。

b.再一个就是如何快速的增加主机,也就是批量增加,利用脚本可以帮你实现。



以下内容为朋友(xiaojun.wang)提供:

批量脚本的思路是这样的:

需要东西:一个批量脚本、一个Linux模版、一个Windows模版、一个IP对应主机名的列表文件。

最终实现:每个主机以及对应的服务为单独的配置文件,文件名为主机名-ip.cfg的格式,方便快速的明白此配置文件对应的主机。这样也方便了出了问题然后排错,可以快速定位。

可以这么设计:

servers/Create.sh                        #批量脚本

servers/Linux.template                   #Linux主机模版

servers/Windows.template                 #Windows主机模版

servers/list.txt                         #IP对应主机名的列表文件



1.批量脚本:

vim servers/Create.sh




  • #!/bin/bash

  • #author: xiaojun.wang

  • usage () {
  •         echo -en "USAGE: $0 [host list] or $0 [template] [host list]\nFor example: $0 host.template host.list(Field : [IP] [HOST NAME])\n" 1>&2
  •         exit 1
  • }

  • if [ $# -gt 2 ];then
  •         usage
  •         exit 1
  • fi

  • case "$#" in
  •         2)
  •                 template=$1
  •                 host_list=$2
  •         ;;
  •         1)
  •                 template='host.template'
  •                 host_list=$1
  •         ;;
  •         0)
  •         #       template='host.template'
  •         #        host_list='host.list'
  •                 usage
  •         ;;
  • esac

  • if [ ! -f "${template}" ];then
  •         echo "template : ${template} not exist!" 1>&2
  •         exit 1
  • fi

  • if [ ! -f "${host_list}" ];then
  •         echo "host list : ${host_list} not exist!" 1>&2
  •         exit 1
  • fi

  • cat ${host_list}|\
  • while read ip hostname
  • do
  •         echo "${ip}"|grep -oP '^\d{1,3}(\.\d{1,3}){3}$' >/dev/null 2>&1 || Field='not ip'
  •         if [ "${Field}" = 'not ip' ];then
  •                 echo "${ip} not ip!" 1>&2
  •                 exit 1
  •         fi
  •         host_cfg="${hostname}-${ip}.cfg"
  •         cp ${template} ${host_cfg}
  •         sed -i "s/HOST_NAME/${hostname}/g;s/ADDRESS/${ip}/g" ${host_cfg}
  • done



2.Linux主机模版:(自己任意即可,写好要监控的项目)




  • define host{                                           #主机配置
  •         use linux-server,hosts-pnp  
  •         host_name HOST_NAME                            #这个就是到时脚本写入的主机名
  •         alias HOST_NAME; A longer name for the server
  •         address ADDRESS ; IP address of the server     #脚本要写入的ip
  • }
  • define service{
  •         use generic-service,services-pnp
  •         host_name HOST_NAME                            #同上
  •         service_description CPU Load
  •         check_command check_nrpe!check_load
  • }
  • define service{
  •         use generic-service,services-pnp
  •         host_name HOST_NAME
  •         service_description Current Users
  •         check_command check_nrpe!check_users
  • }
  • define service{
  •         use generic-service,services-pnp
  •         host_name HOST_NAME
  •         service_description Disk Free Space /
  •         check_command check_nrpe!check_root
  • }
  • define service{
  •         use generic-service,services-pnp
  •         host_name HOST_NAME
  •         service_description Total Processes
  •         check_command check_nrpe!check_total_procs
  • }
  • define service{
  •         use generic-service,services-pnp
  •         host_name HOST_NAME
  •         service_description Zombie Processes
  •         check_command check_nrpe!check_zombie_procs
  • }
  • define service{
  •         use             generic-service,services-pnp
  •         host_name HOST_NAME
  •         service_description     SSH
  •         check_command   check_ssh
  •         register                0
  •         }

        

3.Windows主机模块也是一样的,这里就略了。



4.列表文件,格式如下:

192.168.1.1         Http

192.168.1.2         Mail



使用格式:

./Create.sh linux.template list.txt                   #这样就增加了两个主机以及服务了。

这样以后批量就很方便了。



二、如何调整合适的阀值?

我们都知道,报警是根据设定的阀值来的。

例如:进程数,默认警告的阀值为150,严重的阀值为200,假如目标主机为Mail,进程数长时间保持在200以上,这时候就需要调整nrpe的阀值了。

那么我们如何来判定多少的阀值合适呢?

其实可以写个简单的命令来定时收集这些信息,例如:每5分钟收集一次进程数。

crontab -e

*/5 * *** ps -ef |wc -l >> /total_procs.txt



这样就可以来分析目标主机的进程数在一个什么范围比较合适了。



还有一个方便就是检测失败次数的调整,有的时候可能因为网络短时间的延迟,这样如果失败检测次数过少,就会有大量的报警邮件,这样以后报警邮件多了,人的警惕意识也会有所下降,所以给失败检测次数一个合理的值也是非常有必要的。

这里其实说的非常有限,只是告诉要有这个意识,nagios本身默认的东西很多是合适的,但更多的是需要调整的!



三、如何保证nagios稳定的运行?

其实这也是个老生常谈的问题,假如Nagios都宕机了,谁来报警?

所以必要的保证Naigos的安全也是很重要的。无非也就是关闭一些不必要的端口、不必要的服务,只提供Nagios必须的端口,这样很大程度的增强了安全性。还要经常检查其配置文件,以及log日志。

也可以写个简单的脚本来监控本机nagios进程:ps -ef |grep nagios |grep -v grep |wc -l 用个if语句来判断下是否为0,为0就发邮件通知即可。

这个其实也就是提醒要有这个意识!



四、定期查看日志、pnp图,了解监控情况

下面呢,就是来说说nagios web页面的事了。

首先就是可以没事看看当天的Event Log




再者呢就是看看Alerts,有的时候可能你没收到报警邮件,也许是没达到失败检测次数,但看看还是很有必要的




还有可能就是看看pnp绘图了,可以分析出那个时间段,目标主机存在问题






行了,先说到这吧,想到什么再加。



Nagios全系列笔记:
Nagios学习笔记之(一)最初搭建

Nagios学习笔记之(二)监控部署

Nagios学习笔记之(三)配置详解

Nagios学习笔记之(四)外部扩展
Nagios学习笔记之(五)后期维护






运维网声明 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.iyunv.com/thread-663522-1-1.html 上篇帖子: Nagios的性能分析图表PNP 下篇帖子: nagios 安装与配置以及遇到一些问题的解决方案
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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