Linux学习笔记13

Linux学习笔记13

  • Linux学习笔记13
    • 配置Nagios
      • 基本介绍
      • Nagios安装 - 服务端
      • Nagios安装 - 客户端
      • 监控中心添加被监控主机
        • 配置文件的简单说明
      • 继续添加需要服务端通过nrpe去连接到远程主机获得信息的服务
        • 配置说明
        • 配置邮件告警
    • 配置Zabbix
      • 基本介绍
      • 安装zabbix
      • 网页安装zabbix
      • 接入要监控的主机

配置Nagios

基本介绍

是一个开源软件,可以监控网络设备网络流量、Linux/windows主机状态,甚至可以监控打印机

它可以运行在Linux上或windows上

基于浏览器的web界面方便运维人员查看监控项目的状态

支持web界面配置、管理操作

支持短信、邮件通知

可以自定义脚本实现自定义化监控

Nagios官网 http://www.nagios.org/

Nagios安装 - 服务端

服务端

yum install -y httpd nagios nagios-plugins nagios-plugins-all nrpe nagios-plugins-nrpe

设置登录nagios后台的用户和密码:htpasswd -c /etc/nagios/passwd nagiosadmin

配置文件:vim /etc/nagios/nagios.cfg,先保持默认。

检测配置文件:nagios -v /etc/nagios/nagios.cfg

显示如下则无问题:

Total Warnings: 0
Total Errors: 0

启动服务:service httpd start; service nagios start

浏览器访问: http://ip/nagios

账号是:nagiosadmin, 密码是:你刚刚设置的

Nagios安装 - 客户端

客户端

rpm -ivh http://www.lishiming.net/data/attachment/forum/month_1211/epel-release-6-7.noarch.rpm

yum install -y nagios-plugins nagios-plugins-all nrpe nagios-plugins-nrpe

vim /etc/nagios/nrpe.cfg

找到allowed_hosts=127.0.0.1 改为allowed_hosts=127.0.0.1,172.21.96.98 后面的ip为服务端ip

找到dont_blame_nrpe=0改为dont_blame_nrpe=1

启动客户端 service nrpe start

监控中心添加被监控主机

服务端

vim /etc/nagios/conf.d/nagios1.cfg

配置模板:

define host{
use linux-server
host_name 主机名(可自定义)
alias 昵称(可自定义)
address 客户端IP地址
}
define service{
use generic-service
host_name 主机名(可自定义)
service_description check_ping
check_command check_ping!100.0,20%!200.0,50%
max_check_attempts 5
normal_check_interval 1
}
define service{
use generic-service
host_name 主机名(可自定义)
service_description check_ssh
check_command check_ssh
max_check_attempts 5
normal_check_interval 1
}
define service{
use generic-service
host_name 主机名(可自定义)
service_description check_http
check_command check_http
max_check_attempts 5
normal_check_interval 1
}

配置文件的简单说明

配置文件中一共监控了三个service:ssh, ping, http 这三个项目是使用本地的nagios工具去连接远程机器,也就是说即使客户端没有安装nagios-plugins以及nrpe也是可以监控到的。其他的一些service诸如负载、磁盘使用等是需要服务端通过nrpe去连接到远程主机获得信息,所以需要远程主机安装nrpe服务以及相应的执行脚本(nagios-plugins)

max_check_attempts 5 #当nagios检测到问题时,一共尝试检测5次都有问题才会告警,如果该数值为1,那么检测到问题立即告警

normal_check_interval 1 #重新检测的时间间隔,单位是分钟,默认是3分钟

notification_interval 60 #在服务出现异常后,故障一直没有解决,nagios再次对使用者发出通知的时间。单位是分钟。如果你认为,所有的事件只需要一次通知就够了,可以把这里的选项设为0。

继续添加需要服务端通过nrpe去连接到远程主机获得信息的服务

服务端

vim /etc/nagios/objects/commands.cfg

增加:

define command{
command_name check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}

PS:客户端必须service nrpe start开启服务。

继续编辑刚刚写的监控主机配置文件vim /etc/nagios/conf.d/nagios1.cfg

配置模板:

define service{
use generic-service
host_name switch_client1
service_description check_load
check_command check_nrpe!check_load
max_check_attempts 5
normal_check_interval 1
}
define service{
use generic-service
host_name switch_client1
service_description check_disk_hda1
check_command check_nrpe!check_hda1
max_check_attempts 5
normal_check_interval 1
}
define service{
use generic-service
host_name switch_client1
service_description check_disk_hda2
check_command check_nrpe!check_hda2
max_check_attempts 5
normal_check_interval 1
}

PS:配置完成后使用nagios -v /etc/nagios/nagios.cfg检测配置是否正确。

配置说明

check_nrpe!check_load :这里的check_nrpe就是在commands.cfg刚刚定义的,check_load是远程主机上的一个检测脚本

在远程主机上vim /etc/nagios/nrpe.cfg 搜索check_load,这行就是在服务端上要执行的脚本了,可以手动执行这个脚本

check_hda1更改一下:/dev/hda1 改为 /dev/sda1

再加一行

command[check_hda2]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p /dev/sda2

客户端上重启一下nrpe服务: service nrpe restart

服务端也重启一下nagios服务: service nagios restart

PS:表示出现(Return code of 255 is out of bounds)错误提示,现在无法解决,以后遇到再想办法。

配置邮件告警

vim /etc/nagios/objects/contacts.cfg

增加如下代码:

define contact{
        contact_name               switch
        use                     generic-contact
        alias                      switch
        email                   [email protected]
        }

最关键的是email这个参数

关于定义的service可以在这里定义告警策略:

vim /etc/nagios/objects/templates.cfg

搜索generic-service

这个文件中定义了诸多监控告警策略,一些重要参数如下所示:
>

notifications_enabled : 是否开启提醒功能。1为开启,0为禁用。一般,这个选项会在主配置文件nagios.cfg中定义,效果相同。

notification_interval : 表示重复发送提醒信息的最短间隔时间。默认间隔时间是60分钟。如果这个值设置为0,将不会发送重复提醒。

notification_period : 发送提醒的时间段。非常重要的主机(服务),定义为7×24表示一天24小时都会提示。一般的主机(服务)就定义为上班时间。如果不在定义的时间段内,无论什么问题发生,都不会发送提醒。

notification_options: 这个参数定义了发送提醒包括的情况:d = 状态为DOWN, u = 状态为UNREACHABLE , r = 状态恢复为OK , f = flapping。,n=不发送提醒。

发送邮件需要安装邮件服务yum install -y sendmail

重启nagios服务:service nagios restart

配置Zabbix

基本介绍

基于web的开源软件,开源监控系统状态也可以监控网络设备。

和nagios不同的是zabbix会把获取的数据保存在数据库中,所以zabbix需要有数据库支持

Zabbix还可以自动发现主机和网络设备

支持邮件和短信告警

Zabbix大多配置都可以在web界面配置完成
官网http://www.zabbix.com/

安装zabbix

rpm -ivh http://www.lishiming.net/data/attachment/forum/month_1211/epel-release-6-7.noarch.rpm

安装rpm包的lamp环境:

yum install -y httpd mysql mysql-libs php php-mysql mysql-server php-bcmath php-gd php-mbstring

安装zabbix服务端:
yum install zabbix20 zabbix20-agent zabbix20-server zabbix20-server-mysql zabbix20-web zabbix20-web-mysql net-snmp-devel

service zabbix-server start; service zabbix-agent start

service httpd start; service mysqld start

mysql -uroot -p -e "create database zabbix"

mysql -uroot -p --default-character-set=utf8 zabbix < /usr/share/zabbix-mysql/schema.sql

mysql -uroot -p --default-character-set=utf8 zabbix < /usr/share/zabbix-mysql/images.sql

mysql -uroot -p --default-character-set=utf8 zabbix < /usr/share/zabbix-mysql/data.sql

service httpd restart

网页安装zabbix

浏览器访问 http://ip/zabbix, 默认会有"It is not safe to rely on the system‘s timezone settings..."这样的警告信息,需要vim /etc/php.ini设置date.timezone=”Asia/Shanghai”`点next

解决相关的报错信息,点retry (在配置文件中解决vim /etc/php.ini)

PS:修改配置文件最好是重启服务service httpd restart

输入mysql相关信息, 首先要测试一下,如果不通过,则需要调试,测试通过后,点next

PS:如果出现了mysql_connect(): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'这样的错误信息,则表示sock路径不同,这时候可以用一个软链接解决:mkdir /var/lib/mysql; ln /tmp/mysql.sock /var/lib/mysql/mysql.sock

Name 写Switch,(可以自定义)点next,再点next,最后点finish

默认管理员账号:密码为 admin:zabbix

这时会遇到"zabbix server is not running"这样的错误,需要编辑一下 vim /etc/zabbix/zabbix_server.conf,配置DBUser, DBPassword,这相当于配置数据库用户名和密码。

PS:这个原因是因为没有填写用户名和密码,如果还有错误可以到
vim /etc/zabbix/zabbix_server.conf日志文件查看错误。

PS:zabbix是支持中文的,可以搜索查找。

接入要监控的主机

在客户端上yum install zabbix20-agent

vim /etc/zabbix_agentd.conf

更改Server=服务端ip; ServerActive=0.0.0.0:10050; Hostname=switch(自定义,但要唯一)

启动客户端 service zabbix-agent start

服务端上命令行测试:zabbix_get -s 客户端IP -p10050 -k "system.hostname"

在web界面下,点”configuration” –> “hosts” –> 右上角点”Create Host”

其中host name, visible name自定义,可以选择groups,这里默认即可,ip address 写入客户端ip

配置监控项目模板:点“templates”, 点add, 在弹出的小窗口中选择Template OS Linux, 然后点select, 最后点save

PS:修改主机名hostname 主机名

参考《跟阿铭学Linux》

你可能感兴趣的:(linux,centos,配置,nagios,zabbix)