Linux学习笔记13
Linux学习笔记13
- Linux学习笔记13
- 配置Nagios
- 基本介绍
- Nagios安装 - 服务端
- Nagios安装 - 客户端
- 监控中心添加被监控主机
- 配置文件的简单说明
- 继续添加需要服务端通过nrpe去连接到远程主机获得信息的服务
- 配置说明
- 配置邮件告警
- 配置Zabbix
- 基本介绍
- 安装zabbix
- 网页安装zabbix
- 接入要监控的主机
- 配置Nagios
配置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相关推荐
- Linux学习笔记13:把网卡名字都修改成eth*
修改网卡名: 对于Centos6一般就不改了,默认就是eth*,那么网卡名在哪里定义? 在这个文件:/etc/udev/rules.d/70-persistent-net.rules 如图:指明了MA ...
- Linux学习笔记--导航(CentOS 7)
Linux学习笔记1 Linux学习笔记2 Linux学习笔记3 Linux学习笔记4 Linux学习笔记5 Linux学习笔记6 Linux学习笔记7 Linux学习笔记8 Linux学习笔记9 L ...
- (零)我为什么要写Linux学习笔记?
我对Linux有强烈的好奇心,兴趣:写学习笔记会让我有成就感:我记忆力实在不好.好吧,其实真正原因是:如果我能把自己学到的知识简明扼要的讲出来,写出来,那便证明我真的学懂了我想学的知识.没时间怎么办? ...
- LINUX学习笔记共五部分
LINUX学习笔记1--LINUX系统命令 1. 界面切换: a) 进入字符界面:按住ctrl+alt+F1: 1. 首先需要进入用户登入,输入用户名和 ...
- Linux学习笔记14
Linux学习笔记14 Linux学习笔记14 DNS服务搭建 基本介绍 使用bind搭建dns服务 增加一个域名zone 配置DNS转发 配置主从 测试主从同步 后续课程 DNS服务搭建 基本介绍 ...
- Linux学习笔记12——配置ftp、squid、Tomcat、Samba、MySQL主从
Linux学习笔记12 Linux学习笔记12 配置FTP服务 配置pure-ftpd 开机启动 上传下载文件 配置vsftpd CentOS 70安装配置Vsftp服务器 搭好vsftp之后出现55 ...
- Linux学习笔记10
Linux学习笔记10 Linux学习笔记10 正则表达式 源码包约定目录 Shell脚本约定目录 Shell脚本的创建与执行 date命令 同步时间 Shell脚本预设变量 与用户交互 数学计算 S ...
- Linux学习笔记9
Linux学习笔记9 Linux学习笔记9 history命令 管道符的使用 错误重定向错误追加重定向 变量 系统环境变量与个人环境变量的配置文件 Linux Shell中的特殊符号 cut命令 so ...
- Linux学习笔记8
Linux学习笔记8 Linux学习笔记8 DHCP分配IP地址 打印或控制内核环缓冲区 查看某个分区格式化时指定的块大小 获取命令的安装包 文本编辑工具vim 上一条命令的最后一个参数 gzip压缩 ...
最新文章
- Styling with the DataGridColumnStyle
- 增加点击量的软件_老板总吐槽销售分析报表又多又丑?你一定没用BI软件
- 学习ID,ClientID,UniqueID
- Linux下的截图工具 KSnapshot
- 每日一皮:周末到了,我以为我能休息一下
- Qt中的QBoxLayout
- Java在线问题诊断工具Greys
- NetBeans 7 Python 又回来了
- 【机器学习基础】数学推导+纯Python实现机器学习算法10:线性不可分支持向量机...
- Leecode 222. 完全二叉树的节点个数——Leecode日常刷题系列
- 找到一个或多个多重定义的符号_初中数学之相反数,总结规律,学会多重符号的化简...
- sql server insert 锁表_SQL Server的insert执行的秘密(下) 带外键的insert分析
- 游戏服务器停机维护,游戏是如何做到服务器不停机维护的?
- smarty下载及入门教程
- 虚拟试衣APP软件一站式开发
- 红外测距模块 51单片机_智能激光测距
- 华为推送服务(Push)
- 在Redhat9下安装Oracle9
- 可以自己diy壁纸的app_有什么APP可以做壁纸?
- 力扣刷题 DAY_69 回溯