#我开源我骄傲# 开源VPS监控软件Icinga尝鲜教程

icinga相信大家也和微魔一样,手上应该有不少的VPS,那么如何监控每个VPS便成了问题,今天微魔就要和大家分享的是一款开源的VPS监控软件——Icinga,有了它,你不仅可以监控(Web方式)当前的VPS,使用NRPE还可以监控其他的VPS(本文称之为被监控端)。算是比较实用的好东西了

本文首发在微魔部落,欢迎转载,一切不留本站链接的转载都视为小偷行为!

本文测试的环境是在Ubuntu 14.04下进行,其他发行版本基本一样,本文使用命令均需要root权限,如非root用户,请使用sudo命令进行每一步的命令

一、在监控端安装Icinga

1.导入Icinga的PPA到你的包管理器

add-apt-repository ppa:formorer/icinga

如果出现如下错误

add-apt-repository: command not found

请运行如下命令

apt-get install software-properties-common

网上传言的“apt-get install python-software-properties”的方法无效…

2.更新一下管理包数据库

apt update

3.安装MySQL

apt install icinga icinga-doc icinga-idoutils mysql-server libdbd-mysql mysql-client

安装各软件可能遇到的问题汇总如下

    MySQL:输入两次Root密码
    PostFix配置:选择"Internet Site"(也就是2)
    PostFix配置: 输入域名
    icinga-cgi配置: 输入"icingaadmin"用户的密码(用于登陆)
    icinga-common配置: 输入"yes"以其用外部命令
    icinga-idoutils配置: 输入"Yes"来配置icinga-idoutils和dbconfig-common的数据库连接
    icinga-idoutils配置:输入"mysql"作为数据库
    icinga-idoutils配置:输入MySQL的root密码
    icinga-idoutils配置:输入icinga-idoutils数据库用户的密码

4.将Apache用户(www-data)加入到nagios用户组

usermod -a -G nagios www-data

5.自启动

vi /etc/default/icinga

将设置为IDO2DB=yes

6.重启ido2db

service ido2db start

7.开启idomod模块,激活idoutils

cp /usr/share/doc/icinga-idoutils/examples/idoutils.cfg-sample /etc/icinga/modules/idoutils.cfg

8.重启icinga

service icinga restart

9.Web访问(用户名为icingaadmin)

访问地址:http://域名或ip/icinga

如果Localhost显示的是Down,证明本地的Ping权限没有开启,运行如下命令解决

chmod u+s 'which ping'

二、使用Icinga监控其他VPS

你可以使用icinga监控其他的VPS,我们只需要在那些需要监控的VPS(即被监控端)上安装NRPE和Nagios的插件

1.安装NRPE和Nagios的插件

apt install nagios-plugins nagios-nrpe-server

2.查看“/”目录的硬盘挂载位置(返回的是一个诸如/dev/vda的格式,后面会用到)

df -h /

3.修改NRPE的配置

sudo vi /etc/nagios/nrpe.cfg

具体修改如下

    server_address:本机ip地址
    allowed_hosts:Icinga监控端的ip地址(也就是我们第一部分安装的VPS)
    command[check_hda1]:修改/dev/hda1成你刚才得到的挂载位置

成品类似于

server_address=client_private_IP
allowed_hosts=nagios_server_private_IP
command[check_hda1]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p /dev/vda

注意默认NRPE监控的端口是5566,如果防火墙屏蔽了此端口,请开放

4.重启NRPE

service nagios-nrpe-server restart

5.Icinga配置监听设置

回到上面那台监控VPS,我们要监控的VPS都储存于/etc/icinga/objects文件夹中,接下来建立监听设置(也就是为我们后来安装NRPE的那台VPS进行配置)

vi /etc/icinga/objects/自行命名.cfg

里面的配置可以根据自己的需要选择,大家自行修改,案例如下,

Ping:

define service {
        use                             generic-service
        host_name                       wordpress-1
        service_description             PING
        check_command                   check_ping!100.0,20%!500.0,60%
        }

SSH:

define service {
        use                             generic-service
        host_name                       wordpress-1
        service_description             SSH
        check_command                   check_ssh
        notifications_enabled           0
        }

负载Load:

define service {
        use                             generic-service
        host_name                       wordpress-1
        service_description             Current Load
        check_command                   check_load!5.0!4.0!3.0!10.0!6.0!4.0
        }

当前用户:

define service {
        use                             generic-service
        host_name                       wordpress-1
        service_description             Current Users
        check_command                   check_users!20!50
        }

硬盘空间Disk Space:

define service {
        use                             generic-service
        host_name                       wordpress-1
        service_description             Disk Space
        check_command                   check_all_disks!20%!10%
        }

最后,重启一下Icinga以生效

service icinga reload

你能得到的效果图如下,
icinga_services

本文译自国外网友分享的技术贴,实际使用中微魔部分修改,不一一列举。

猜你 喜欢

关于作者: 微魔

小微魔,大智慧!

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注