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               switchuse                     generic-contactalias                      switchemail                   emailname@139.com}

最关键的是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学习笔记13相关推荐

  1. Linux学习笔记13:把网卡名字都修改成eth*

    修改网卡名: 对于Centos6一般就不改了,默认就是eth*,那么网卡名在哪里定义? 在这个文件:/etc/udev/rules.d/70-persistent-net.rules 如图:指明了MA ...

  2. Linux学习笔记--导航(CentOS 7)

    Linux学习笔记1 Linux学习笔记2 Linux学习笔记3 Linux学习笔记4 Linux学习笔记5 Linux学习笔记6 Linux学习笔记7 Linux学习笔记8 Linux学习笔记9 L ...

  3. (零)我为什么要写Linux学习笔记?

    我对Linux有强烈的好奇心,兴趣:写学习笔记会让我有成就感:我记忆力实在不好.好吧,其实真正原因是:如果我能把自己学到的知识简明扼要的讲出来,写出来,那便证明我真的学懂了我想学的知识.没时间怎么办? ...

  4. LINUX学习笔记共五部分

    LINUX学习笔记1--LINUX系统命令 1.         界面切换: a)         进入字符界面:按住ctrl+alt+F1: 1.         首先需要进入用户登入,输入用户名和 ...

  5. Linux学习笔记14

    Linux学习笔记14 Linux学习笔记14 DNS服务搭建 基本介绍 使用bind搭建dns服务 增加一个域名zone 配置DNS转发 配置主从 测试主从同步 后续课程 DNS服务搭建 基本介绍 ...

  6. Linux学习笔记12——配置ftp、squid、Tomcat、Samba、MySQL主从

    Linux学习笔记12 Linux学习笔记12 配置FTP服务 配置pure-ftpd 开机启动 上传下载文件 配置vsftpd CentOS 70安装配置Vsftp服务器 搭好vsftp之后出现55 ...

  7. Linux学习笔记10

    Linux学习笔记10 Linux学习笔记10 正则表达式 源码包约定目录 Shell脚本约定目录 Shell脚本的创建与执行 date命令 同步时间 Shell脚本预设变量 与用户交互 数学计算 S ...

  8. Linux学习笔记9

    Linux学习笔记9 Linux学习笔记9 history命令 管道符的使用 错误重定向错误追加重定向 变量 系统环境变量与个人环境变量的配置文件 Linux Shell中的特殊符号 cut命令 so ...

  9. Linux学习笔记8

    Linux学习笔记8 Linux学习笔记8 DHCP分配IP地址 打印或控制内核环缓冲区 查看某个分区格式化时指定的块大小 获取命令的安装包 文本编辑工具vim 上一条命令的最后一个参数 gzip压缩 ...

最新文章

  1. Styling with the DataGridColumnStyle
  2. 增加点击量的软件_老板总吐槽销售分析报表又多又丑?你一定没用BI软件
  3. 学习ID,ClientID,UniqueID
  4. Linux下的截图工具 KSnapshot
  5. 每日一皮:周末到了,我以为我能休息一下
  6. Qt中的QBoxLayout
  7. Java在线问题诊断工具Greys
  8. NetBeans 7 Python 又回来了
  9. 【机器学习基础】数学推导+纯Python实现机器学习算法10:线性不可分支持向量机...
  10. Leecode 222. 完全二叉树的节点个数——Leecode日常刷题系列
  11. 找到一个或多个多重定义的符号_初中数学之相反数,总结规律,学会多重符号的化简...
  12. sql server insert 锁表_SQL Server的insert执行的秘密(下) 带外键的insert分析
  13. 游戏服务器停机维护,游戏是如何做到服务器不停机维护的?
  14. smarty下载及入门教程
  15. 虚拟试衣APP软件一站式开发
  16. 红外测距模块 51单片机_智能激光测距
  17. 华为推送服务(Push)
  18. 在Redhat9下安装Oracle9
  19. 可以自己diy壁纸的app_有什么APP可以做壁纸?
  20. 力扣刷题 DAY_69 回溯

热门文章

  1. SpringMVC 控制层注解
  2. jquery ajax 设置header的方式
  3. C#LeetCode刷题-哈希表
  4. google search console的使用
  5. Jmeter获取性能指标
  6. 订单状态 css_CSS状态2019
  7. 5 分钟全面掌握 Python 装饰器
  8. Python 正则表达式re模块的使用
  9. 在DataTable和DataView中查找指定记录
  10. 深度学习 《BiRNN》