Nagios 安装及微信短信提醒(nagios更改阈值)

网友投稿 755 2022-09-12

本站部分文章、图片属于网络上可搜索到的公开信息,均用于学习和交流用途,不能代表睿象云的观点、立场或意见。我们接受网民的监督,如发现任何违法内容或侵犯了您的权益,请第一时间联系小编邮箱jiasou666@gmail.com 处理。

Nagios 安装及微信短信提醒(nagios更改阈值)

引言

监控网络服务(SMTP、POP3、HTTP、NNTP、PING 等);监控主机资源(处理器负荷、磁盘利用率等);简单地插件设计使得用户可以方便地扩展自己服务的检测方法;这一点是 Nagios‘er 们非常喜欢的。当服务或主机问题产生与解决时将告警发送给联系人(通过 EMail、短信、用户定义方式);需要配套的邮件服务器和短信网关对接。

安装说明

Nagios 服务器: 10.128.6.38 CentOS 6.5 64bit被监控机器: 10.128.14.102 CentOS 6.7 64bit

安装 Nagios 和 Nagios 插件(安装过程中标红的操作为安装 Apache,方便我们后面的调试,可以选择性安装,建议安装 Apache,因为有页面的交互方面快捷。)

安装 Nagios 服务器

在服务器10.128.6.38上安装 Nagios Server 相关软件。

1.依赖包安装请使用 root 用户或者 sudo 权限安装相关依赖包,建议先执行更新:

2.创建用户组

创建 Nagios 用户,并设置初始密码

useradd -m nagios(/usr/sbin/useradd -m nagios) passwd nagios(提示输入两次密码)

创建用户组 nagcmd,允许外部命令通过 Web 接口提交动作,并将 Nagios 和 Apache 用户加入该用户组中.

/usr/sbin/groupadd nagcmd/usr/sbin/usermod -a -G nagcmd nagios/usr/sbin/usermod -a -G nagcmd apache

3.下载 Nagios 和插件在~目录创建子目录 downloads

mkdir ~/downloads cd ~/downloads

下载 Nagios 4.0.8

下载 Nagios Plugins 2.0.3插件

4.编译安装 Nagios

cd ~/downloads tar xzf nagios-4.0.8.tar.gz cd nagios-4.0.8 ./configure --with-command-group=nagcmd

make all make install make install-init make install-config make install-commandmode make install-webconf

设置nagios界面控制台admin用户和密码,账号是nagiosadmin,请自行输入密码

htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

重启界面服务

可以通过下面地址访问:

5.编译安装插件

cd ~/downloads tar xzf nagios-plugins-2.0.3.tar.gz cd nagios-plugins-2.0.3 ./configure --with-nagios-user=nagios --with-nagios- group=nagios make make install

6.启动 Nagios

将 Nagios设置为开机启动

chkconfig --add nagios chkconfig nagios on

检查配置文件是否正确

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

如果没有错误,启动 Nagios

service nagios start

7.修改 linux 的 SElinux 配置(两种方法)

设置linux为混杂模式,该方法重启后不生效

setenforce 0

或直接修改配置文件

vi /etc/selinux/config

设置为 SELINUX=permissive,修改完毕后重启服务器

8.允许 cgi 运行

通过OneAlert微信报警

下文以 Nagios 默认安装路径 /usr/local/nagios/ 为例,如果你的 Nagios 服务器不是安装在该目录,请自行替换。

tar xvf alert-agent-4.0.1-RC1.tar.gz cp -R alert-agent /usr/local/nagios/libexec/ cp alert-agent/plugin/nagios-plugin/nagios /usr/local/nagios/libexec/ chmod +x /usr/local/nagios/libexec/nagios cp alert-agent/plugin/nagios-plugin/110monitor.cfg /usr/local/nagios/etc/objects/

3.修改配置

修改默认用户 110monitor 的联系方式,在文件 /usr/local/nagios/etc/objects/110monitor.cfg 中,设置pager为上面应用的 appkey: 例如 3adac4c9-3a82-76af-7b33-0a0bdf16334d

vi /usr/local/nagios/etc/objects/110monitor.cfg

define contact{ contact_name 110monitor ; The name of this contact template alias 110monitor ; service_notification_period 24x7 ;service notifications can be sent anytime host_notification_period 24x7 ; host notifications can be sent anytime service_notification_options w,u,c,r,f,s ; send notifications for all service states, flapping events, and scheduled downtime events host_notification_options d,u,r,f,s ; send notifications for all host states, flapping events, and scheduled downtime events service_notification_commands notify-service-by-110monitor ; send service notifications via email host_notification_commands notify-host-by-110monitor ; send host notifications via email pager 3adac4c9-3a82-76af-7b33-0a0bdf16334d ; your nagios app key }

修改/usr/local/nagios/etc/objects/contacts.cfg,新增110monitor到默认联系组.

vi /usr/local/nagios/etc/objects/contacts.cfg

define contactgroup{ contactgroup_name admins alias Nagios Administrators members nagiosadmin,110monitor }

修改 /usr/local/nagios/etc/nagios.cfg,将 110monitor.cfg 新增到 nagios.cfg 中

vi /usr/local/nagios/etc/nagios.cfg cfg_file=/usr/local/nagios/etc/objects/110monitor.cfg可选为了让告警信息显示更友好,建议修改 nagios.cfg 由原先 us 更改为 iso8601date_format=iso8601

4.重启 Nagios

重启前检查下配置是不是正确/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

如果没有报错,就可以重启 Nagios 了

service nagios restart

5.完成

基本上按照上面配置就 OK 了,后面需要验证下是否正常发送。最简单的方式是将禁 Ping Nagios 服务器。

echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all 禁ping echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all 恢复ping

禁 Ping 后,Nagios 服务器会发生告警,默认尝试3次后发送告警通知。我们通过跟踪 OneAlert Agent 日志就可以看出来:

tail -f /usr/local/nagios/libexec/alert-agent/log/agent.log

10-05-2015 15:48:53,056 CST INFO [main] [com.upyoo.agent.NagiosClient@45] start to call alert ...10-05-2015 15:48:53,775 CST INFO [main] [com.upyoo.agent.CommandClient@68] result:{"result":"success","message":null,"data":"3516","totalCount":0,"code":"200"}`

好了,后续可以接着安装 Nagios 被监控服务器了。

安装 Nagios 被监控服务器

之前是安装了 Nagios Server,接下来我们可以在其他应用服务器,被监控节点10.128.14.102上安装 Nagios Agent 了。

1、提前准备

使用 root 权限

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

2、新增 Nagios 用户

/usr/sbin/useradd -m nagios passwd nagios

/usr/sbin/groupadd nagcmd /usr/sbin/usermod -a -G nagcmd nagios

3、安装插件

./configure --with-nagios-group=nagcmd make make install chown -R nagios:nagcmd /usr/local/nagios/

安装 nrpe 插件

./configure —with-nagios-group=nagcmd

make all make install-plugin make install-daemon make install-daemon-config make install-xinetd

4、修改配置 修改 only_from= 127.0.0.1 10.128.6.38(10.128.6.38为 nagios 服务端ip地址)

vi /etc/xinetd.d/nrpe

在 Nagios 服务器上增加对被监控机器的监控,先看看被监控机器上的 nrpe 配置more /usr/local/nagios/etc/nrpe.cfg

command[check_users]=/usr/local/nagios/libexec/check_users -w 5 -c 10command[check_load]=/usr/local/nagios/libexec/check_load -w 15,10,5 -c 30,25,20command[check_hda1]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/vda1command[check_zombie_procs]=/usr/local/nagios/libexec/check_procs -w 5 -c 10 -s Zcommand[check_total_procs]=/usr/local/nagios/libexec/check_procs -w 150 -c 200command[check_swap]=/usr/local/nagios/libexec/check_swap -w 20% -c 10%

以上命令[check_hda1]就是检测被监控机器 10.128.14.102 的磁盘空间,20% 空闲时警告,10% 空闲时严重告警。那么 Nagios 服务器 10.128.6.38 就要通过 nrpe 调用监控对应命令。

现在进入 Nagios 服务器 10.128.6.38,编写对应的监测命令,加入一个 linux-server,和对应监控命令。vi /usr/local/nagios/etc/objects/localhost.cfg 加入机器:

配置如下图:

红色为添加项(对图片的文字描述,一个意思。)

define host{ use linux-server host_name localhost alias localhost address 127.0.0.1 }define host{ use linux-server host_name ligehost alias ligehost address 10.128.14.102 }define hostgroup{ hostgroup_name linux-servers alias Linux Server members localhost,ligehost }define service{ use local-service host_name localhost,ligehost service_description PING check_command check_ping!100.0,20%!500.0,60% }define service{ use local-service host_name localhost,ligehost service_description Root Partition check_command check_local_disk!20%!10%!/ }

修改完毕后,重新加载配置

service nagios reload

可看到监控如图所示:

好了 ,现在全部配置完毕,Nagios 监控正常,如果服务故障,会通过 OneAlert 平台统一告警。

上一篇:DIY Ruby CPU 分析——Part I
下一篇:盘点 DevOps 世界的杰出女性(一)(盘点是什么意思)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~