构建nagios
实验 11(nagios端) 12
11:拖入nagios镜像
mkdir /iso && mount -o loop nagios.iso /iso/ && cp -a /iso/* .
解决安装Nagios的依赖关系:
yum -y install httpd gcc glibc glibc-common *gd* php php-mysql (glib环境用来编译gcc的,gd库主要生成图片。这个安装后, gd库会报错,因为gd库由很多主包去构成的,并不是所有gd库都需要,一般CD1中会放一些比较常用的gd库,CD2中还有一些其他的gd库,但是挂载的CD1里的yum源数据文件是包含CD1和CD2的,因此安装 *gd* 安装的是CD1和CD2两个钟的所有相关。当前只挂载gd1的)
yum -y install httpd gcc glibc glibc-common php php-mysql
cd /mnt/Packages/ && yum -y install *gd* (这样就会匹配当前目录下的CD)
【如果要把两张盘CD1和CD2的包放在一起,需要安装 yum -y install createrepo-0.9.9-24.el6.noarch.rpm CD1和CD2的Package目录,如果将CD2的所有rpm包直接拷贝到CD1目录下没用,因为这里的元数据信息没有把这个位置改到CD1的目录下,因此传到CD1之后,再用createrepo加上目录的路径即可就会自动建立一个元数据信息的方案,然后才能直接使用这两张盘的数据包】
创建运行身份
groupadd nagcmd (与cacti不同的是 nagios中运行身份必须是这个名字,因为脚本运行的时候指定的脚本运行的身份就是这个用户,如果不对就会出现权限宠物)
useradd -m nagios
usermod -a -G nagcmd nagios (将nagios加入组)
usermod -a -G nagcmd apache (将Apache加入组,为了让apache运行的时候有权限)
编译安装 nagios
tar -zxvf nagios-3.3.1.tar.gz (用的是较新版本)
cd nagios
./configure –with-command-group=nagcmd –enable-event-broker (指定运行命令的组, –enable-event-broker指定允许将输出打断,老版本下不支持NDOUtils这个插件,因此配置起来会很困难,当前环境下没有安装NDOUtils,因此这个插件可装可不装)
make all (将所有的程序包括脚本编译成机器码,输出一些描述信息,make install 安装主程序 CGI 和 网页文件,这就是为什么在老牌监控服务器里一般都用apache不用nginx, 1,并发不需要 2,大部分都不对它做兼容 make install-init安装启动脚本即nagios并不是以网页的形式存在而是以守护进程的形式存在 make install-commandmode,修改配置文件权限以及目录相关权限 make install-config安装了大量的SAMPLE即模板配置文件到 /usr/local/nagios/etc下,make install-webconf为nagios web服务器安装apache的配置文件)
make install (安装主程序)
make install-init (安装脚本文件)
make install-config (安装相关配置文件)
make install-commandmode (配置权限)
vim /usr/local/nagios/etc/objects/contacts.cfg (释义)
make install-webconf (写了一个模板到apache配置文件中)
复制上述配置文件中的认证文件AuthUserFile的路径用来创建以下认证用户
htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin(注意用户名必须是nagiosadmin,因为在认证完了之后,它需要用nagiosadmin身份去运行)
service httpd start && service httpd restart (添加了新的配置文件apache要重启)
编译、安装nagios-plugins插件
tar -zxvf nagios-plugins-1.4.14.tar.gz
cd nagios-plugins-1.4.15
./configure –with-nagios-user=nagios –with-nagios-group=nagios –with-mysql –enable-perl-modules (指定运行用户 指定组 允许连接数据库 允许连接perl模块)
make
make install
配置并启动Nagios
chkconfig –add nagios
chkconfig nagios on
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg (在启动的时候先测试当期的配置文件有没有错误,提示warning和errors为0)
service nagios start
web访问 10.10.10.11/nagios用户名nagiosadmin
HTTP报warning原因是它访问的应该是10.10.10.11区检测apache是否工作正常,
cd /usr/local/nagios/share/ (存放的是网页文件) && vim /etc/httpd/conf/httpd.conf
搜索 DocumentRoot 修改为 DocumentRoot "/usr/local/nagios/share (后边的dirtory不需要再定义,因为后边的子配置文件会自动联立到主配置文件)
web访问10.10.10.11 不用加后缀目录
【补充:
cd /usr/local/nagios/libexec (脚本的存放路径)
cd /usr/local/nagios/etc && cat resource.cfg (宏配置文件,定义一些nagios的环境变量,最大可以定义32个$user的环境变量 $1定义的是脚本)
deifne command定义命令 命令名称为check_ping
命令用法:$user1脚本的存放路径,-H传递一个参数主机地址 $ARG1$位置参数变量 -p指定5次 -w warnging -c creatable指定两个阀值
cat contacts.cfg (报警邮件)
钉钉报警
安装钉钉:shell脚本的问题没有报错处理的机制,
创建群组——群设置——群机器人——自定义
上述地址相当于访问接口,api接口。打开设置说明
11:拖入jiankong脚本
将网卡2设置为自动获取并设置为桥接到无线网卡模式
tar -zxvf jiankong.tar_.gz && mkdir /usr/local/jiaoben.sh
mv jiankong /usr/local/jiaoben.sh/ && cd /usr/local/jiaoben.sh/jiankong
vim dingdingapi.sh(触发脚本)
如果将$text的内单引号和双引号去掉,相当于内容是text,而不是变量,所以要在里面加个单引号,单引号里再加个双引号代表的就是里边的内容必须强制执行
修改脚本中的api接口,将钉钉的访问接口复制到curl行即可(机器人——机器人设置)
chmod a+x * && bash dingdingapi.sh hello(钉钉成功接收消息)
vim /usr/local/nagios/share/index.html(写入随意内容)
cd /usr/local/jiaoben.sh/ && bash 80.sh (注意修改80.sh中的IP地址和脚本目录位置)
vim /etc/httpd/conf/httpd.conf (将网站位置修改回/var/www/html)
echo "I'm pig…" >> /var/www/html/index.html
service httpd restart && bash 80.sh (静默) && service httpd stop(假如服务死掉) && bash 80.sh
service httpd start (假设服务救活) && rm -rf /var/www/html/index.html (假设页面丢掉 && bash 80.sh(持久化可以和crondtab配合使用)
】
KiaThimb 2021年3月2日
cleocin 300 mg cost