简 介
Nagios Core 原先设计在Linux下运行,当然,它在其他的Unix系统下应该也能进行工作。
组件和插件
https://exchange.nagios.org/directory/Addons //监控插件或脚本。
优 点
8)WEB界面。
运行原理
4.2 获取数据的方式
Nagios 依次读取队列中的信息,再把结果显示出来。
所需软件
6)vautour_style.zip #主题包;
部署nagios
[root@Bob10 ~]# yum install -y gcc glibc glibc-common gd gd-devel libpng libmng libjpegzlib #安装依赖
[root@Bob10 ~]# yum install -y httpd mysql-server mysql php php-mysql mysql-devel #安装lamp环境,在使用check_mysql插件时需要使用mysql客户端和mysql-devel
[root@Bob10 ~]# service httpd restart
[root@Bob10 ~]# chkconfig httpd on
[root@Bob10 ~]# service mysqld restart
[root@Bob10 ~]# chkconfig mysqld on
[root@Bob10 ~]# ll /root/nagios/ #准备软件包
total 9204
-rw-r--r-- 1 root root 1763584 May 31 2016 nagios-3.5.1.tar.gz
-rw-r--r-- 1 root root 2677352 May 31 2016 nagios-plugins-2.1.1.tar.gz
-rw-r--r-- 1 root root 419695 May 31 2016 nrpe-2.15.tar.gz
-rw-r--r-- 1 root root 2013184 Oct 30 2016 NSClient.-0.3.3-Win32.msi
-rw-r--r-- 1 root root 2541568 Oct 30 2016 NSClient.-0.3.3-x64.msi
[root@Bob10 ~]# useradd nagios
[root@Bob10 ~]# groupadd nagcmd
[root@Bob10 ~]# usermod -G nagcmd nagios
[root@Bob10 ~]# usermod -G nagcmd apache
[root@Bob10 ~]# tar -xf /root/nagios/nagios-3.5.1.tar.gz -C /usr/local/src/
[root@Bob10 ~]# cd /usr/local/src/nagios/
[root@Bob10 nagios]# ./configure --with-command-group=nagcmd #指定用户组
[root@Bob10 nagios]# make install #安装生成/usr/local/nagios/,其中/usr/local/nagios/share即nagiosWEB访问界面的站点目录
[root@Bob10 nagios]# make install-init #安装生成/etc/rc.d/init.d/nagios 启动脚本
[root@Bob10 nagios]# make install-commandmode #设定相应nagios工作目录的权限
[root@Bob10 nagios]# make install-config #安装生成/usr/local/nagios/etc下的nagios相关配置文件
[root@Bob10 nagios]# make install-webconf #安装Nagios的WEB配置文件到Apache的conf.d目录下
[root@Bob10 nagios]# make install-exfoliation
[root@Bob10 nagios]# make install-classicui
[root@Bob10 nagios]# ll /usr/local/nagios/ # 查看安装路径
total 24
drwxrwxr-x 2 nagios nagios 4096 Jun 10 16:55 bin #Nagios执行程序所在目录
drwxrwxr-x 3 nagios nagios 4096 Jun 10 16:56 etc #nagios配置文件所在目录,初始安装只有几个*.cfg文件
drwxrwxr-x 2 nagios nagios 4096 Jun 10 16:55 libexec #监控所用命令,需要安装了nagios-plugins插件了才会有,检测命令,不装是空的
drwxrwxr-x 2 nagios nagios 4096 Jun 10 16:55 sbin #Nagios的Cgi文件所在目录,外部命令所需要的文件存放目录
drwxrwxr-x 10 nagios nagios 4096 Jun 10 16:55 share #访问界面目录
drwxrwxr-x 5 nagios nagios 4096 Jun 10 17:01 var #日志文件,pid文件等
[root@Bob10 ~]# ll /etc/init.d/nagios
-rwxr-xr-x 1 root root 5310 Jun 10 16:56 /etc/init.d/nagios #其实就是在/etc/rc.d/init.d/nagios.在make install-config的时候,生成了Nagios的相关配置文件
[root@Bob10 ~]# ll /usr/local/nagios/etc/ #查看配置文件,包括以后安装了plugin等软件后,配置文件也会放入此目录
total 64
-rw-rw-r-- 1 nagios nagios 11669 Jun 10 16:56 cgi.cfg
-rw-rw-r-- 1 nagios nagios 44710 Jun 10 16:56 nagios.cfg
drwxrwxr-x 2 nagios nagios 4096 Jun 10 16:56 objects
-rw-rw---- 1 nagios nagios 1340 Jun 10 16:56 resource.cfg #定义了很多资源变量的调用.在make install-webconf的时候,已经把web-conf的相配置文件放入了/etc/httpd/conf.d/下面
[root@Bob10 ~]# vim /etc/httpd/conf.d/nagios.conf
26 Alias /nagios "/usr/local/nagios/share" #配置了一个别名,直接引用了/usr/local/nagios/share目录
28 "/usr/local/nagios/share">
29 # SSLRequireSSL
30 Options None
31 AllowOverride None
32 Order allow,deny
33 Allow from all
34 # Order deny,allow
35 # Deny from all
36 # Allow from 127.0.0.1
37 AuthName "Nagios Access"
38 AuthType Basic
39 AuthUserFile /usr/local/nagios/etc/htpasswd.users #网页用户名密码路径,在打开http://192.168.1.63/nagios是需要的用户名密码路径
40 Require valid-user
41
[root@Bob10 ~]# vim /usr/local/nagios/etc/nagios.cfg #看一下配置文件
log_file=/var/log/nagios/nagios.log #日志位置
cfg_file=/etc/nagios/objects/commands.cfg #这个文件定义了很多命令
cfg_file=/etc/nagios/objects/contacts.cfg #定义联系人,怎么联系
cfg_file=/etc/nagios/objects/timeperiods.cfg #定义了时间段
cfg_file=/etc/nagios/objects/templates.cfg #模板(联系人,主机,时间)
cfg_file=/etc/nagios/objects/localhost.cfg #监控本机相关配置文件
#cfg_file=/etc/nagios/objects/windows.cfg #windows,默认不监控
#cfg_file=/etc/nagios/objects/switch.cfg #交换机路由器监控,默认不监控
#cfg_file=/etc/nagios/objects/printer.cfg #打印机监控,默认不监控
#cfg_dir=/etc/nagios/servers #定义了服务合集(多个使用)
#cfg_dir=/etc/nagios/printers #定义了打印机合集(多个使用)
#cfg_dir=/etc/nagios/switches #定义了交换合集(多个使用)
#cfg_dir=/etc/nagios/routers #定义了路由合集(多个使用)
resource_file=/etc/nagios/private/resource.cfg 资源变量配置文件,包括$USER1$变量(一个路径)等
status_update_interval=10 #状态更新时间,单位s
log_rotation_method=d #日志滚动,默认天
service_check_timeout=60 #服务检查超时时间
host_check_timeout=30 #主机检查超时时间
[root@Bob10 ~]# vim /usr/local/nagios/etc/cgi.cfg #此配置文件的优先级比nagios.cfg高
15 main_config_file=/usr/local/nagios/etc/nagios.cfg #主配置文件
24 physical_html_path=/usr/local/nagios/share #物理路径
36 url_html_path=/nagios #在URL后面加上/nagios才能访问
78 use_authentication=1 #使用认证
88 use_ssl_authentication=0 #不使用ssl
119 authorized_for_system_information=nagiosadmin #认证用户
[root@Bob10 ~]# htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin #创建用户名密码文件,nagios 默认使用nagiosadmin来管理,如果使用其他用户名,对应的配置文件也要修改
[root@Bob10 ~]# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg #在nagios的目录下,bin目录下有一个nagios命令,这个命令可以帮助我们对配置文件的检查工作以及指定相关配置文件.-v=--verify-config 验证配置文件是否有误.
[root@Bob10 ~]# service httpd restart #重启httpd
[root@Bob10 ~]# /usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg #指定配置文件,以守护进程的方式启动
[root@Bob10 ~]# tar -xf /root/nagios/nagios-plugins-2.1.1.tar.gz -C /usr/local/src/
[root@Bob10 ~]# cd /usr/local/src/nagios-plugins-2.1.1/
[root@Bob10 nagios-plugins-2.1.1]# ./configure --with-nagios-user=nagios --with-nagios-group=nagcmd
[root@Bob10 nagios-plugins-2.1.1]# make
[root@Bob10 nagios-plugins-2.1.1]# make install
[root@Bob10 ~]# cd /usr/local/nagios/libexec/ #刚才安装的插件都在这个目录下
[root@Bob10 libexec]# ./check_mysql -h #查看插件的使用方法
[root@Bob10 ~]# /etc/init.d/nagios restart
[root@Bob10 ~]# elinks 192.168.1.63/nagios #浏览器测试:登陆之后,点击hosts,可以看到,默认监控的是本机,说明环境没有什么问题
nagios监控本机服务
[root@Bob10 ~]# vim /etc/exports #创建一个共享
1 /tmp *(rw)
[root@Bob10 ~]# /etc/init.d/nfs restart #启动服务
[root@Bob10 ~]# showmount -e 192.168.1.63 #检测NFS目前是否正常
[root@Bob10 ~]# cp -ar /usr/local/nagios/etc/objects/localhost.cfg /usr/local/nagios/etc/objects/localhost.cfg.bak #备份配置文件
[root@Bob10 ~]# vim /usr/local/nagios/etc/objects/localhost.cfg #修改配置文件
158 define service{ #添加监控的服务
159 use local-service
160 host_name localhost
161 service_description NFS
162 check_command check_tcp!2049 #在使用check命令之前,要确保下/usr/local/nagios/libexec/ 目录下有没有你需要的check命令,如果有,直接调用,如果没有,检测端口来代替,检测格式:check_tcp!端口号
163 }
[root@Bob10 ~]# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg #检查配置文件是否有误
[root@Bob10 ~]# service httpd restart
[root@Bob10 ~]# service nagios restart
[root@Bob10 ~]# elinks 192.168.1.63/nagios #测试,浏览器的service里面多了一个nfs服务
nagios监控远程主机服务
[root@Bob11 ~]# yum install -y mysql-server mysql
[root@Bob11 ~]# service mysqld restart
mysql> grant select on *.* to nagios@192.168.XX.XX; #创建授权用户
[root@Bob10 ~]# vim /usr/local/nagios/etc/nagios.cfg #修改主配置文件
35 # Definitions for monitoring the local (Linux) host
36 cfg_file=/usr/local/nagios/etc/objects/localhost.cfg
37 cfg_file=/usr/local/nagios/etc/objects/hosts.cfg #添加此行
38 cfg_file=/usr/local/nagios/etc/objects/service.cfg #添加此行
[root@Bob10 ~]# vim /usr/local/nagios/etc/objects/hosts.cfg #定义主机
1 define host{
2 use linux-server
3 host_name Bob11
4 address 192.168.xx.11
5 }
[root@Bob10 ~]# vim /usr/local/nagios/etc/objects/service.cfg #定义服务
1 define service{
2 use local-service
3 host_name Bob11
4 service_description MySqlSev
5 check_command check_mysql
6 }
[root@Bob10 ~]# vim /usr/local/nagios/etc/objects/commands.cfg #定义命令
241 # check_mysql command definition
242 define command{
243 command_name check_mysql
244 command_line $USER1$/check_mysql -H $HOSTADDRESS$ -u nagios # $USER1$这个变量是在/usr/local/nagios/etc/cgi.cfg中定义的.$USER1$对应的就是/usr/local/nagios/libexec,
245 }
[root@Bob10 ~]# /usr/local/nagios/libexec/check_mysql -H 192.168.xx.11 -u nagios #检查check_command命令是否正确
Uptime: 1848 Threads: 1 Questions: 6 Slow queries: 0 Opens: 15 Flush tables: 1 Open tables: 8 Queries per second avg: 0.3|Connections=4c;;; Open_files=16;;; Open_tables=8;;; Qcache_free_memory=0;;; Qcache_hits=0c;;; Qcache_inserts=0c;;; Qcache_lowmem_prunes=0c;;; Qcache_not_cached=0c;;; Qcache_queries_in_cache=0;;; Queries=6c;;; Questions=6c;;; Table_locks_waited=0c;;; Threads_connected=1;;; Threads_running=1;;; Uptime=1848c;;;
[root@Bob10 ~]# service httpd restart
[root@Bob10 ~]# service nagios restart
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/129132.html
摘要:文章地址的顺带标记下其他两个自动化部署的工具的地址的地址 注:该篇文章由 Ryan Frantz 编写,详情请阅读原文 这篇文章主要介绍了 nagios-herald 这个工具以及报警的设计,该工具的作用是结合上下文报警,原文有时间翻译,先标记下,主要由下面两幅图做下对比,你们感受下 和上下文不关联的监控设计 disk-space-no-context showImg...
摘要:网络管理系统需要广泛的信任和对网络组件的访问,以便正确监控网络行为和性能是否出现故障和效率低下,称。今年月早些时候,披露了网络监控应用程序中的个安全漏洞,这些漏洞可能被攻击者滥用,在没有任何运营商干预的情况下劫持基础设施。 .markdown-body{word-break:break-word;line-height:1.75;font-weight:400;font-size:15px...
简介 Nagios 是一款自动化运维工具,可以协助运维人员监控服务器的运行状况,并且拥有报警功能。本文章将介绍其安装方法和详细的配置方法。 nagios 监控服务应用指南本地资源:负载,CPU,磁盘,内存。IO,RAID,温度,passwd文件变化,本地所有文件指纹识别网络服务:端口,URL,丢包,进程,网络流量其他设备:交换机,打印机,windows等。业务数据:用户登录失败次数,用户登录网站...
摘要:告警关联唯一使监控和报警都步入正轨的好办法,就是通过告警关联。企业如果适应了告警关联,信息告警的图表盘上确实能减少很多压力。 上节回顾 对于许多 IT 和运维团队来说,Nagios 既是一个福音也是一个诅咒。一方面,Naigos 在 IT 应用的工作领域中,给予了你可以实时查看告警数据的可能性;但是另一方面,Nagios 也能够生成超级多的告警,对于任何一个运维人员或是运维团队来说都是...
摘要:自动化监控这里我需要问两个重要的问题为什么洪水警戒会一直发生并且为什么会愈演愈烈问题的根源其实是基于告警监控的积极一面自动化。所以,我们对配置好阈值,并把这项艰巨的工作委派给它。开发人员通过吸收客户的反馈指导,会选择短平快的项目。 如果你受困于 Nagios 的告警洪潮中不能自拔,那么这两篇连载博客就是为你而生的。让我们来详细的阐述下这个问题! showImg(https://segm...
阅读 1249·2023-01-11 13:20
阅读 1557·2023-01-11 13:20
阅读 1011·2023-01-11 13:20
阅读 1680·2023-01-11 13:20
阅读 3971·2023-01-11 13:20
阅读 2518·2023-01-11 13:20
阅读 1310·2023-01-11 13:20
阅读 3485·2023-01-11 13:20