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

linux学习笔记

[复制链接]

尚未签到

发表于 2019-1-12 11:45:21 | 显示全部楼层 |阅读模式
第1章 nagios监控工具介绍及原理
1.1nagios监控工具介绍与优势
Nagios是一款开源的网络及服务的监控工具,其功能强大,灵活性强。能有效监控Window,Linux和Unix的主机各种状态信息,交换机、路由器等网络设置,主机端口及URL服务等。根据不同业务故障界别发出告警信息给管理员,当故障恢复时也会发出恢复消息。
Nagios服务端可以在linux和类unix的系统上运行,目前无法再windows上运行。
官方网站地址:http://www.nagios.org/
官方快速安装说明:http://nagios.sourceforge.net/docs/3_0/quickstart-fedora.html
Nagios的特点:
  01)监控网络服务(SMTP、POP3、HTTP、TCP、PING等);
  02)监控主机资源(CPU、负载、IP状况,虚拟及正式内存及磁盘利用率等);
  03)简单的插件设计模式使得用户可以方便定制符合自己的服务的检测方法;
  04)并行服务检查机制;
  05)几倍定义网络分层结构的能力,用“parent”主机定义来表达网络主机间的关系,这种关系可被用来发现和明晰主机宕机或不可达状态;
  06)当服务或主机问题产生于解决时将告警发送给联系人(mail/im/sms/sound);
  07)具备定义时间句柄功能,它可以在主机或服务的时间发生时获取更多问题定位;
  08)自动的日志回滚;
  09)可以支持并实现对主机的冗余监控;
  10)可选的WEB界面用于查看当前的网络状态、通知和故障历史、日志文件等。
1.2Nagios监控系统家族成员构成
Nagios监控一般由一个主程序(Nagios)、一个插件程序(Nagios-plugin)和一些可选的附加程序(NRPE、NSClient++、NSCA、和NDOUtils等)。
Nagios本身就是一个监控的平台而已,其具体的监控工作都是通过插件(也可以自己编写)来实现的,因此,Nagios主程序和Nagios-plugins插件都是Nagios服务端必须要安装的程序组件,Nagios-plugins一般也要安装于被监控端。几个附加程序的描述如下:
  1、NRPE
位置:此软件工作于被监控端,一般为linux/unix系统
用途:用于在被监控的远程Linux/Unix主机上执行脚本插件以实现对这些主机资源的监控。
  2、NSClient++:
位置:此软件工作于windows系统的被监控端
作用:用于监控Window主机时安装在Windows主机上的组件,功能相当于linux下的NRPE。
  3、NDOUtils:(不推荐用)
位置:此软件工作于服务器端
作用:用于将Nagios的配置信息和各event产生的数据存入数据库以实现对这些数据的检索和处理。
  4、NSCA
位置:此软件需要同时安装在nagios服务器端和客户端
作用:用于被监控的远程Linux/Unix主机主动将监控信息发送给Nagios服务器(在分布式监控集群模式中会用到)
第2章 Nagios服务端安装
2.1 nagios准备部分
2.1.1 服务器规划表
  Nagios服务器端
  一台
  监控服务器
  NFS客户端
  两台
  被监控的服务端
  说明:总共需要2台服务器完成本次搭建
2.1.2 主机IP规划表
  服务器说明
  IP地址
  主机名称规则
  Nagios服务器端
  172.16.1.61/24
  m01
  Nagios客户端
  172.16.1.31/24
  nfs01
  Nagios客户端
  172.16.1.8/24
  web01
2.1.3 主机名解析
  172.16.1.61    m01
  172.16.1.31    nfs01
  172.16.1.8     web01
2.2 安装环境
2.2.1 系统版本
[root@server ~]# cat /etc/redhat-release
CentOS release 6.5 (Final)
[root@server ~]# uname -r
2.6.32-431.el6.x86_64
[root@server ~]# uname -m
x86_642.2.2 NFS软件版本
2.3 服务端安装
2.3.1解决perl编译问题(均需要)
后面编译的软件有perl程序,这里要提前设置下环境变量(不修改安装PNP时会报错)
echo 'export LC_ALL=C' >> /etc/profile
tail -1 /etc/profile
source /etc/profile
echo $LC_ALL
cd ~2.3.2系统优化项(均需要)
    关闭防火墙
/etc/init.d/iptables stop
chkconfig iptables off    关闭selinux
setenforce 0
sed -i 's#SELINUX=enforcing#SELINUX=disabled#g'/etc/selinux/config   时间同步
/usr/sbin/ntpdate pool.ntp.org
echo '*/10 * * * *  /usr/sbin/ntpdate pool.ntp.org &>/dev/null'>> /var/spool/cron/root
crontab -l2.3.3安装nagios所需基础软件包
yum -y install gcc glibc glibc-common
yum -y install gd gd-devel
yum -y install mysql*
yum -y install httpd php php-gd
yum -y install openssl-devel2.3.4创建nagios需要的用户及组
/usr/sbin/useradd -s /sbin/nologin nagios
groupadd nagcmd
/usr/sbin/usermod -a -G nagcmd nagios
/usr/sbin/usermod -a -G nagcmd apache    #/etc/rc.local2.3.10安装服务端插件
cd /usr/local/src
tar -zxvf nagios-plugins-2.2.1.tar.gz
cd nagios-plugins-2.2.1
./configure --with-nagios-user=nagios--with-nagios-group=nagios --enable-perl-moudles
make  #> /etc/rc.local
/etc/init.d/nagios checkconfig   #/dev/null,打印输出
/usr/local/nagios/bin/nagios -v/usr/local/nagios/etc/nagios.cfg
/etc/init.d/nagios start
ps -ef |grep nagios2.3.12安装NRPE
cd /usr/local/src
tar -zxvf nrpe-2.12.tar.gz
cd nrpe-2.12
./configure
make all
make install-plugin
make install-daemon
make install-daemon-config
cd ..
ls -l /usr/local/nagios/libexec/check_nrpe第3章 客户端安装
  和nagios服务端相比,nagios客户端不需要安装如下内容:
  1、nagios客户端无需安装lamp环境
  2、客户端无需安装nagios包
3.1客户端添加用户
/usr/sbin/adduser -s /sbin/nologin -M nagios
id nagios3.2安装客户端插件
cd /usr/local/src
tar -zxvf nagios-plugins-2.2.1.tar.gz
cd nagios-plugins-2.2.1
./configure --with-nagios-user=nagios --with-nagios-group=nagios--enable-perl-moudles
make
make install
ls /usr/local/nagios/libexec/ | wc -l
553.3安装客户端NRPE
cd /usr/local/src
tar -zxvf nrpe-2.12.tar.gz
cd nrpe-2.12
./configure
make all
make install-plugin
make install-daemon
make install-daemon-config
cd ..
ls -l /usr/local/nagios/libexec/check_nrpe3.4配置nrpe.cfg
cd /usr/local/nagios/etc/
cp nrpe.cfg{,.ori}  修改文件的第79行为nagios监控服务器,如果有多台,那么用逗号隔开。
sed -i's#allowed_hosts=127.0.0.1#allowed_hosts=172.16.1.61#g' nrpe.cfg
allowed_hosts=127.0.0.1     #> /etc/rc.local
echo '/usr/local/nagios/bin/nrpe -c/usr/local/nagios/etc/nrpe.cfg -d' >> /etc/rc.local
tail -2 /etc/rc.local  检查启动结果
ps -ef |grep nrpe
lsof -i :5666第4章 配置服务器端
4.1nsgios主要配置文件说明
4.1.1nagios目录
[root@m01 ~]# ll /usr/local/nagios/
total 28
drwxrwxr-x 2 nagios nagios 4096 Nov 12 23:53 bin      
drwxrwxr-x 3 nagios nagios 4096 Nov 12 23:53 etc
drwxr-xr-x 2 root   root   4096 Nov 12 23:23 include
drwxrwxr-x 2 nagios nagios 4096 Nov 12 23:53 libexec
drwxrwxr-x 2 nagios nagios 4096 Nov 12 22:46 sbin
drwxrwxr-x 10 nagios nagios 4096 Nov 12 23:23share
drwxrwxr-x 5 nagios nagios 4096 Nov 14 10:33 var4.1.2主配置文件nagios.cfg
nagios主配置文件为nagios.cfg,默认在/usr/local/nagios/etc/目录下。/usr/local/nagios/etc目录下有个objects目录,里面放的是主配置文件nagios.cfg包含的其他的nagios配置文件。
[root@m01 etc]# tree
.
├── cgi.cfg
├── htpasswd.users
├── nagios.cfg
├── nrpe.cfg
├── objects
│   ├──commands.cfg
│   ├──contacts.cfg
│   ├── localhost.cfg
│   ├──printer.cfg
│   ├──services.cfg
│   ├──switch.cfg
│   ├──templates.cfg
│   ├──timeperiods.cfg
│   └──windows.cfg
└── resource.cfg4.1.3多个配置文件
在nagios.cfg中,既可以指定单独包含一个cfg文件,也可以指定包含一个目录,即该目录下所有的cfg文件都会包含进来。
为了目录结构看起来更清晰和批量部署服务的需要,我们把主配置文件包含的配置文件修改如下:
  配置文件名称
  说明
  commands.cfg
  存放命令相关配置(也可以执行commands目录)
  services.cfg
  存放服务的相关配置(默认不存在)
  hosts.cfg
  存放主机相关配置(默认不存在)
  contacts.cfg
  存放报警联系人相关配置
  timeperiods.cfg
  存放报警周期时间等相关配置
  templates.cfg
  模板配置文件
4.2配置前准备
4.2.1备份初始配置文件
cd /usr/local/nagios/
tar zcvf etc.tar.gz ./etc/4.2.2配置nagios.cfg
  vim nagios.cfg +34  增加如下两行
cfg_file=/usr/local/nagios/etc/objects/hosts.cfg
cfg_file=/usr/local/nagios/etc/objects/services.cfg  注释如下一行:
cfg_file=/usr/local/nagios/etc/objects/localhost.cfg4.2.3增加配置文件
    hosts.cfg
cd /usr/local/nagios/etc/objects
head -51 localhost.cfg > hosts.cfg
chown -R nagios.nagios hosts.cfg    services.cfg
cd /usr/local/nagios/etc/objects
touch services.cfg
chown -R nagios.nagios services.cfg4.3nagios的监控模式定义
按照监控的行为来看,可以吧Nagios的监控分为主动监控和被动监控。
主动监控:把对于像URL监控这样的一般由服务器端发出请求主动探测就可以得到数据的监控方式,定义为主动监控方式,也就是说不需要在客户端安装任何插件。当然,主动模式也可以配置成为被动模式。
被动监控:把对负载,内存,硬盘,虚拟内存,磁盘IP等的监控,这些都是本地的资源,非系统对外提供的服务,这种资源的监控是由nagios服务端通过nrpe插件定时去连接client的nrpe服务,然后定期获取信息发回到服务端。这样的监控模式称之为被动监控。
如何选择主动模式和被动模式?
  1)对于本地资源性能等的监控,一般用被动模式,例如:对负载,内存,硬盘,虚拟内存,磁盘IO等的监控;
  2)对于WEB服务这种能对外提供服务的监控,一般用主动模式,例如:http,ssh,mysql等的服务;
4.4hosts.cfg配置
    添加主机和主机组
define host{
       use                    linux-server         
       host_name               web01
       alias                   web01
       address                 172.16.1.8
        }
define host{
       use                    linux-server
       host_name               nfs01
       alias                   nfs01
       address                172.16.1.31
        }
define hostgroup{
       hostgroup_name  linux-servers
       alias           Linux Servers
       members         web01,nfs01
        }4.5services.cfg配置
    配置services.cfg
define service {
       use                    generic-service
       host_name              web01,nfs01
       service_description     DiskPartition
       check_command           check_nrpe!check_disk
       max_check_attempts      8
       normal_check_interval   3
       retry_check_interval    2
       check_period            24x7
       notification_interval   3
       notification_period     24x7
       notification_options    w,u,c,r
        contact_groups          admins
       process_perf_data       1
        }4.6check_nrpe!check_disk的说明
    check_nrpe
是在配置文件/usr/local/nagios/etc/objects/commands.cfg里面定义的,默认不存在,需要自己定义。与其类似的还有check_tcp、check_http等。
    check_disk
check_disk是在配置文件/usr/local/nagios/etc/nrpe.cfg里面定义的,定义如下:
command[check_disk]=/usr/local/nagios/libexec/
check_disk
-w $ARG1$ -c $ARG2$ -p $ARG3$  注意:红色标记的check_disk其实是插件名
4.7commands.cfg配置
services.cfg配置完成之后,使用/etc/init.d/nagios chkconfig检查,会有报错,因为check_nrpe未定义,需要在commads文件里定义
  在文件末尾填入如下内容
#'check_nrpe' command definition
define command{
       command_name    check_nrpe
       command_line    $USER1$/check_nrpe-H $HOSTADDRESS$ -c $ARG1$
        }  检查/etc/init.d/nagioschkconfig,未报错
  平滑重启nagios服务端
/etc/init.d/nagios reload4.8cgi.cfg配置
  配置访问nagios用户的权限,共有7处:
cd /usr/local/nagios/etc
vim cgi.cfg +119
authorized_for_system_information=nagiosadmin    #

运维网声明 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-662334-1-1.html 上篇帖子: nagios结合httpsqs做多点多包检查ping监控 下篇帖子: centos安装nagios服务(测试可用)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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