nagios的简单配置实践

我们都知道军队里,哨兵的角色很重要,敌人来了先把哨兵解决了。猴子,在企业网站

架构里,这个监控系统就相当于哨兵的作用,监控系统非常重要。体检。。

监控系统都需要监控:

1、本地资源:负载uptime, CPU(top,sar), 磁盘(df-h),内存(free swap ),lO(iostat), RAID
级别,CPU温度,passwd文件的变化,本地所有文件指纹识别监控。。

2、网络服务:端口,web(URL),DB, ping 丢包,进程数,IDC 网络流量。。

3、其他设备:路由器、交换机端口流量,监控光衰,打印机,WINDOWS等。。

4、业务数据:用户登录失败次数,用户登录网站次数,输入验证码失败的次数,某个
API接口流量并发,电商网站订单,支付交易的数量。。

5、监控软件本身仅仅是一个平台,我们想监控的内容,理论上只要在服务器命令行可以
获取到就可以被监控软件监控。

nagios(难够死)监控工具介绍与优势

Nagios是一款开源的网络及服务的监控工具,其功能强大,灵活性强。

能有效监控Windows、Linux和Unikx等系统的主机各种状态信息,交换机、路由器等网络设备,

主机端口及URL服务等。

根据不同业务故障级别发出告警信息(邮件、微信、短信、语音报警、飞信、MSN)给管理员,当故障

恢复时也会发出恢复消息给管理员。

官方网站地址:http://www.nagios.org

官方快速安装说明:http://nagios.sourceforge.net/docs/3_0/quickstart-fedora.html

Nagios的特点:

01)监控网络服务(SMTP、 POP3、 HTTP、TCP、 PING等);

02)监控主机资源(CPU、 负载、IO状况,虚拟及正式内存及磁盘利用率等);

03)简单地插件设计模式使得用户可以方便定制符合自己的服务的检测方法:

04)并行服务检查机制;.

05)具备定义网络分层结构的能力,用"parent"主机定义来表达网络主机间的关系,这种
关系可被用来发现和明晰主机宕机或不可达状态。

06)当服务或主机问题产生与解决后将告警发送给联系人(mail/ im/ sms/sound/语音);。

07)具备定义事件句柄功能,它可以在主机或服务的事件发生时获取更多问题定位;。

08)自动的日志回滚;。

09)可以支持并实现对主机的冗余监控(支持分布式监控);

10)可选的WEB界面用于查看当前的网络状态、通知和故障历史、日志文件等。

缺点:有好多模块构成的

nagios的家族成员构成

nagios监控一般由一个主程序(nagios-->黑帮老大),一个插件程序(Nagios-plugins)和一些可选的附加程序(nrpe、nsclient++、nsca、ndoutils)等

nagios只是一个监控平台,其余的监控工作都是由插件(nagios-plugins,也可以自己编写来实现),因此,nagios主程序和nagios-plugins插件都是nagios服务端必须安装的程序组件,nagios-plugins一般也要安装于被监控端,几个附加程序描述如下:

1、NRPE:半被动模式

存在位置:NRPE软件工作存在于被控端,操作系统为linux系统

NRPE作用: 用于在被监控的远程Linux/Unix主机上执行脚本插件获取数据回传给服务器端,以实现对这些主机资源的监控。

存在形式:守护进程(agent)模式,开启的端口5666。。
主要用于监控本地资源:负载uptime, CPU(top,sar), 磁盘(df -hi), 内存(free swap ),

lO(iostat),RAID 级别,CPU 温度,passwd 文件的变化,本地所有文件指纹识别监控。。

2.NSClient++:半被动模式

存在位置:用于被监控端为windows系统的服务器。

作用:功能相当于linux下的NRPE。

用于监控Windows主机时,安装在Windows主机上的组件。

3.nDOUtils: (不推荐用)

为什么不推荐使用数据库?因为nagios默认在磁盘上,效率高;放在数据库的好处:检索方便。

存在位置: NDOUtils 工作于nagios服务器端。

作用:用于将Nagios的配置信息和各event产生的数据存入数据库以实现对这些数据的检索和处理。

4 NSCA:纯被动模式的监控

位置:NSCA需要同时安装在nagios的服务器端和客户端(被监控端)。

作用:用于让被监控的远程Linux/Unix主机主动将监控到的信息发送给Nagios服务器(在分布式监控集群模式中要用到,300 台服务器以内,可以不用)。

分布式监控NSCA外部构件简介

分布式监控NSCA外部构件简介:为完成从远程主机主动提交强制检测结果,于是就开发了NSCA外部构件。该外部构件包括两部分,第一部分是客户端程序(send_nsca),运行于远程主机上并负责将强制检测结果送到指定的Nagios服务端,另一部分是NSCA守护进程(nsca),它既可以独立地运行于守护服务也可以注册到inetd里作为-一个inetd客户程序来提供监听联接。从客户端收到服务检测结果信息之后,守护进程将结果提交给在中心服务器的Nagios,方式是通过在外部命令文件里插入一条PROCESS_ SVC_ CHECK RESULT 命令,之后跟上检测结果。在Nagios服务端下一-次处理外部命令时将会找到这条由分布式服务器送来的强制检测信息并处理它。|

1.NRPE原理图

2.NSclient++运行原理图

3.NDOUtils运行原理图

4.nsca分布式监控运行原理(500+)

5.nagios监控工具综合系统简单原理图

Nagios服务端的安装

实验环境:

nagios------------>10.0.0.7 Nagios监控服务器

nagios-server1-->10.0.0.8 LAMP服务器 被监控的客户端服务器

nagios-server2-->10.0.0.9 LNMP服务器 被监控的客户端服务器

配置yum源
#三台服务器均执行
rm -f /etc/yum.repos.d/*
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

环境准备

#安装基础编译环境软件10.0.0.7服务端安装
#1.关闭防火墙firewalld
systemctl disable firewalld
systemctl stop firewalld

#2.关闭selinux
sed -i '/^SELINUX=/c SELINUX=disabled' /etc/selinux/config

#3.调整单个进程最大能打开文件的数量
            echo '* - nofile 65535' >> /etc/security/limits.conf
#4.配置php的源
[[email protected] yum.repos.d]# cat /etc/yum.repos.d/php.repo
[webtatic-php]
name = php Repository
baseurl = http://us-east.repo.webtatic.com/yum/el7/x86_64/
gpgcheck = 0

#5.安装基础软件包
yum -y install php71w php71w-cli php71w-common php71w-devel php71w-embedded php71w-gd php71w-mcrypt php71w-mbstring php71w-pdo php71w-xml php71w-fpm php71w-mysqlnd php71w-opcache php71w-pecl-memcached php71w-pecl-redis php71w-pecl-mongodb

yum install gcc glibc glibc-common unzip gd gd-devel –y

yum install -y gcc glibc glibc-common gd gd-devel xinetd openssl-devel

#6.解决perl编译问题
echo "export LC_ALL=C" >> /etc/profile

#7.解决时间同步问题
#此处上述安装会产生pid死锁,需要删除
[[email protected] ~]# rm -rf /var/run/yum.pid
[[email protected] ~]# yum install ntp -y
[[email protected] ~]#  vim /etc/ntp.conf
......
server 0.centos.pool.ntp.org iburst
server 1.centos.pool.ntp.org iburst
server 2.centos.pool.ntp.org iburst
server 3.centos.pool.ntp.org iburst
server ntp1.aliyun.com     #将这两行加进去
server time.nist.gov       #将这两行加进去
......
[[email protected] ~]# systemctl start ntpd
[[email protected] ~]# systemctl enable ntpd
#默认监听udp123端口
[[email protected] ~]# netstat -lntup |grep 123

创建用户以及相关的组

[[email protected] ~]# useradd -m nagios
[[email protected] ~]# passwd nagios
Changing password for user nagios.
New password:
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:
passwd: all authentication tokens updated successfully.
[[email protected] ~]# groupadd nagcmd
[[email protected] ~]# usermod -a -G nagcmd nagios
[[email protected] ~]# usermod -a -G nagcmd apache

nagios官网 https://assets.nagios.com

#下载nagios服务端软件及插件
[[email protected] ~]# wget?https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.2.1.tar.gz
[[email protected] ~]# wget?https://nagios-plugins.org/download/nagios-plugins-2.1.2.tar.gz

源码编译安装nagios以及相关插件

[[email protected] ~]# tar zxf nagios-4.2.1.tar.gz
[[email protected] ~]# cd nagios-4.2.1
[[email protected] nagios-4.2.1]#  ./configure --prefix=/usr/local/nagios
......
Review the options above for accuracy.  If they look okay,
type 'make all' to compile the main program and CGIs.
没有提示任何错误出现以下画面说明配置成功

#接下来安装提示进行编译
[[email protected] nagios-4.2.1]# make all

#编译安装并初始化配置文件

[[email protected] nagios-4.2.1]# make install
[[email protected] nagios-4.2.1]# make install-init
[[email protected] nagios-4.2.1]# make install-config
[[email protected] nagios-4.2.1]# make install-webconf
[[email protected] nagios-4.2.1]# make install-commandmode
[[email protected] nagios-4.2.1]# chkconfig --add nagios
[[email protected] nagios-4.2.1]# chkconfig nagios on
[[email protected] nagios-4.2.1]# make install-commandmode

配置邮件联系人信息

配置文件在目录 /usr/local/nagios/etc 下;

通过这些基础配置信息可以直接启动 Nagios

现在唯一需要更改的是联系人信息,可以编辑 /usr/local/nagios/etc/objects/contacts.cfg ,

将联系人邮件地址换成你自己的。

若系统中需通过安装sedmail来发送邮件(此处博主没有自己配置)
yum install sendmail sendmail-cf -y

为nagios创建登录web界面的密码

[[email protected] nagios-4.2.1]# htpasswd -c /usr/local/nagios/etc/htpasswd.users admin
New password:
Re-type new password:
Adding password for user admin
#此处密码博主统一设置为admin

编译安装nagios插件

[[email protected] ~]# tar zxf nagios-plugins-2.1.2.tar.gz
[[email protected] ~]# cd nagios-plugins-2.1.2
[[email protected] nagios-plugins-2.1.2]# ./configure --with-nagios-user=nagios --with-nagios-group=nagios
[[email protected] nagios-plugins-2.1.2]# make
[[email protected] nagios-plugins-2.1.2]# make install
......
make[1]: Leaving directory `/root/nagios-plugins-2.1.2/po'
make[1]: Entering directory `/root/nagios-plugins-2.1.2'
make[2]: Entering directory `/root/nagios-plugins-2.1.2'
make[2]: Nothing to be done for `install-exec-am'.
make[2]: Nothing to be done for `install-data-am'.
make[2]: Leaving directory `/root/nagios-plugins-2.1.2'
make[1]: Leaving directory `/root/nagios-plugins-2.1.2'
[[email protected] nagios-plugins-2.1.2]# ls /usr/local/nagios/libexec/ |wc -l
58     #此处数字意义不大,每个人可能都有区别

设置nagios服务开机自启并启动ngios

启动nagios服务
[[email protected] ~]# systemctl enable nagios
nagios.service is not a native service, redirecting to /sbin/chkconfig.
Executing /sbin/chkconfig nagios on
[[email protected] ~]# chkconfig --list |grep nagios

Note: This output shows SysV services only and does not include native
      systemd services. SysV configuration data might be overridden by native
      systemd configuration.

      If you want to list systemd services use 'systemctl list-unit-files'.
      To see services enabled on particular target use
      'systemctl list-dependencies [target]'.

nagios          0:off   1:off   2:on    3:on    4:on    5:on    6:off
[[email protected] ~]# systemctl start nagios

#检查是否启动成功
[[email protected] ~]# ps -ef |grep nagios
nagios    48521      1  0 21:59 ?        00:00:00 /usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg
nagios    48523  48521  0 21:59 ?        00:00:00 /usr/local/nagios/bin/nagios --worker /usr/local/nagios/var/rw/nagios.qh
nagios    48524  48521  0 21:59 ?        00:00:00 /usr/local/nagios/bin/nagios --worker /usr/local/nagios/var/rw/nagios.qh
nagios    48525  48521  0 21:59 ?        00:00:00 /usr/local/nagios/bin/nagios --worker /usr/local/nagios/var/rw/nagios.qh
nagios    48526  48521  0 21:59 ?        00:00:00 /usr/local/nagios/bin/nagios --worker /usr/local/nagios/var/rw/nagios.qh
nagios    48527  48521  0 21:59 ?        00:00:00 /usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg
root      48551  10236  0 22:01 pts/0    00:00:00 grep --color=auto nagios

检查nagios主配置文件语法是否正确

[[email protected] ~]# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
......
Checking misc settings...

Total Warnings: 0
Total Errors:   0

Things look okay - No serious problems were detected during the pre-flight check
接下来在浏览器输入 http://服务器ip地址/nagios
用户名和密码为第五步用htpasswd设置的,

原文地址:https://www.cnblogs.com/wangyongqiang/p/12241881.html

时间: 2024-10-06 16:38:37

nagios的简单配置实践的相关文章

nagios+centreon总结之第三章——nagios+centreon简单配置

因已在oschina上发表,所以这里就不在重复了,详情可访问:http://my.oschina.net/fufangchun/blog/312808

linux学习笔记-nagios监控的简单配置

第1章 nagios监控工具介绍及原理 1.1nagios监控工具介绍与优势 Nagios是一款开源的网络及服务的监控工具,其功能强大,灵活性强.能有效监控Window,Linux和Unix的主机各种状态信息,交换机.路由器等网络设置,主机端口及URL服务等.根据不同业务故障界别发出告警信息给管理员,当故障恢复时也会发出恢复消息. Nagios服务端可以在linux和类unix的系统上运行,目前无法再windows上运行. 官方网站地址:http://www.nagios.org/ 官方快速安装

nagios原理及配置详解

1.Nagios如何监控Linux机器 NRPE总共由两部分组成:(1).check_nrpe插件,运行在监控主机上.服务器端安装详见:(2).NRPE daemon,运行在远程的linux主机上(通常就是被监控机)客户端具体安装详见: 图1按照上图,整个的监控过程如下:当Nagios需要监控某个远程linux主机的服务或者资源情况时:1).nagios会运行check_nrpe插件,我们要在nagios配置文件中告诉它要检查什么.2).check_nrpe插件会通过SSL连接到远程的NRPE

[转载] iptables配置实践

原文: http://wsgzao.github.io/post/iptables/ iptables配置实践 By wsgzao 发表于 2015-07-24 文章目录 1. 前言 2. 更新历史 3. 基础知识 3.1. 关闭iptables 3.2. 基础语法 4. 配置iptables白名单机制 5. 设置crontab脚本 前言 在大企业中防火墙角色主要交给硬件来支持,效果自然没话说只是需要增加一点点成本,但对于大多数个人或者互联网公司来说选择系统自带的iptables或者第三方云防火

Nginx虚拟主机配置实践之nginx访问同一个地址方法(二)

Nginx虚拟主机配置实践之nginx访问同一个地址方法(二) 一.虚拟主机别名介绍 虚拟主机别名就是为虚拟主机设置除了主域名以外的另一个或多个域名名字,这样就能实现用户访问的多个域名对应于同一个虚拟主机网站的功能.在生产环境中,以www.afeilinux.com域名的虚拟主机为例,为其增加一个别名afeilinux.com时,在该域名出现的网站内容和访问www.afeilinux.com得到的结果是一样的. 二.实施方法 第一种方法:Nginx虚拟主机的别名配置 更改wtf.conf配置文件

【转】Flume(NG)架构设计要点及配置实践

Flume(NG)架构设计要点及配置实践 Flume NG是一个分布式.可靠.可用的系统,它能够将不同数据源的海量日志数据进行高效收集.聚合.移动,最后存储到一个中心化数据存储系统中.由原来的Flume OG到现在的Flume NG,进行了架构重构,并且现在NG版本完全不兼容原来的OG版本.经过架构重构后,Flume NG更像是一个轻量的小工具,非常简单,容易适应各种方式日志收集,并支持failover和负载均衡. 架构设计要点 Flume的架构主要有一下几个核心概念: Event:一个数据单元

nagios安装和配置(个人笔记)

Nagios是一款开源的免费网络监视工具,能有效监控Windows.Linux和Unix的主机状态,交换机路由器等网络设置,打印机等.在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员,在状态恢复后发出正常的邮件或短信通知. Nagios和cacti有什么区别呢?简单的来说cacti主要监控流量,服务器状态页面展示:nagios主要监控服务,邮件及短信报警灯,当然也有简单的流量监控界面,二者综合使用效果更好.(附Nagios工作简单逻辑图) Nagios监控客户端需要借助插件及NR

Nagios安装与配置(2)

一.配置Nagios Nagios 主要用于监控一台或者多台本地主机及远程的各种信息,包括本机资源及对外的服务等.默认的Nagios 配置没有任何监控内容,仅是一些模板文件.若要让Nagios 提供服务,就必须修改配置文件,增加要监控的主机和服务,下面将详细介绍. Nagios 安装完毕后,默认的配置文件在/usr/local/nagios/etc目录下.我们在编译的时候指定了 --sysconfdir=DIR, 所以我们的配置文件目录为/etc/nagios. 1.配置文件的作用概述 备注:N

wwwhj8828com系统安装简单,配置简单19908836661

一款分布式开源监控系统asuramonitor 阿修罗监控,最好用的分布式开源监控系统,运维工作中自己开发的linux监控系统,功能强大灵活, 系统安装简单,配置简单相比zabbix, nagios,cacti,小米监控等都使用相当简单.只需要会写脚本,语言不限就可以实现任意监控需求. 系统安装简单,配置简单1.数据采集免配置: agent自发现.agent主动推送, 任何数据自定义脚本2.可扩展性, 扩展简单,随时扩,随心扩3.历史数据查询, 可以秒级返回全年数据趋势图, 多个指标数据, 趋势