服务器监控工具
服务器监控工具功能相当强大,无论何时何地,我们都可以了解到服务器的功能以及性能。服务器监控工具的使用,可以让我们清楚的知道用户可以打开我们的网站,且确保网速不慢。只有这样做,才能留住宝贵的用户,以免因为系统停运的原因,导致用户丢失。
监控工具:
cacti、Nagios、Ganglia、zabbix
cacti:它是一款数据采集、数据存储,外加web界面展示的工具,它的数据展示功能很强大,但是故障报警方面很薄弱。
Nagios:告警功能异常强大,但是数据展示方面薄弱,并且监控主机数量有限。
zabbix:zabbix集以上两款工具的优点于一身,并且更加强大,能实现企业级的分布式监控。
监控系统采集数据的方式:
snmp:简单,但是安全性差,主要针对网络设备,网络设备不能安装agent。
server/agent:安全性高,功能强大
zabbix的基本概念
zabbix能监控服务器的各项性能及各种网络参数,保证服务器系统及服务正常的运营,并提供灵活的通知机制,可与各种社交方式对接(短信、微信、QQ、邮箱等),让系统管理员快速定位并及时解决存在的各种问题,从而提高服务的可用性及安全性。
zabbix工作原理
zabbix运行的大概的流:
zabbix-agent需要安装到被监控的主机上,它负责定期收集的各项数据,并发送到zabbix-server端,zabbix-server将数据存储到数据库中,zabbix-web根据数据在前端进行展现和绘图。这里agent收集数据分为主动和被动两种模式:
主动:agent请求server获取主动的监控项列表,并主动将监控项内需要检测的数据提交给sever/proxy
被动:server向agent请求获取监控项的数据,agent返回数据
zabbix提供的功能
1、主机性能的监控
2、数据库性能的监控
3、网络设备性能的监控
4、灵活的告警方式
5、可视化图表展示
zabbix可监控的目标
1、硬件设备性能
2、应用软件的启用
3、服务的运行状态
zabbix的组成
zabbix主要由两部分组成:zabbix-server和zabbix-agent,或者说是监控者与被监控者
zabbix-server:监控者,通过收集agent发送的数据,写入数据库(mysql,oracal)中,再通过web展示出来。默认端口号为10051
zabbix-agent:被监控者,通过安装zabbix agent,可将主机作为一个被监控的节点,通过agent采集数据并发送到zabbix server或zabbix proxy
端。默认端口号为10050
zabbix其他重要组件及工具
zabbix-proxy:监控代理者,通过安装zabbix-proxy,可将主机作为代理,代理zabbix-server收集部分被监控的监控数据,写入zabbix-proxy自己的数据库中,再统一按时发往zabbix-server端。(可视为一个小型的zabbix-server,配置方法也几乎等同于zabbix-server,常用于分布式监控环境中),默认端口号为10051
Database Storage:专用于存储所有配置信息,以及由zabbix收集的数据。
web interface:zabbix的GUI接口,通常与server运行再同一台主机上。
zabbix的监控架构
zabbix有三种监控架构:server-agent、server-proxy-agent、master-node-client
<1>、server-agent架构
是zabbix最基本的结构,如名称所示其结构为zabbix-server与zabbix-agent构成,中间没有设计任何代理环节,其直接由zabbix-server与zabbix-agent之间进行数据交互,搭建时,在监控主机上安装zabbix-server,被监控主机上安装zabbix-agent。适用于网络简单,设备较少的监控环境。
<2>、server-proxy-agent架构
是zabbix企业级的架构,如名称所示其结构由zabbix-server、zabbix-proxy、zabbix-agent构成,其中zabbix-proxy作为代理环节,这个架构中的zabbix-proxy本身没有前端,会将从zabbix-agent收集的数据放入自己的数据库,再统一按时发给zabbix-server。一般用于跨机房或者跨网络,设备较多的网络环境的监控。
<3>、server-node-client架构
是zabbix中最复杂的架构,是zabbix企业级架构,其结构为zabbix-server(master)、node节点、zabbix-agent(client)构成,其中的node节点可以单独的作为一个zabbix-server端,下方可接zabbix-proxy,作类似于server-proxy-agent的架构,也可直接连接zabbix-agent做server-agent架构。这个架构中的node节点有自己的配置文件和数据库,它会将配置信息和监控数据向master同步,master的故障或损坏对node其下架构的完整性没有影响。与server-proxy-agent类似,都是适用于跨机房、跨网络,设备较多的大型网络环境。
安装zabbix
监控主机配置(zabbix-server)
我们使用一个rhel7的虚拟机,用来搭建zabbix,安装zabbix-server
1、下载所需安装包
2、使用yum安装这些安装包
yum install zabbix-server-mysql-3.4.6-1.el7.x86_64.rpm zabbix-web-3.4.6-1.el7.noarch.rpm zabbix-web-mysql-3.4.6-1.el7.noarch.rpm fping-3.10-1.el7.x86_64.rpm iksemel-1.4-2.el7.centos.x86_64.rpm php-* -y
3、zabbix需要数据库的支持,下载mariadb数据库并进行安全初始化
yum install mariadb-server -y
打开mariadb并进行安全初始化:
输入两次密码后一直输入y回车即可
4、进入数据库执行以下操作
创建zabbix数据库支持utf8格式:
create database zabbix character set utf8 collate utf8_bin;
授权zabbix用户:
grant all privileges on zabbix.* to zabbix@localhost identified by ‘Guodong+0306’;
5、cd /usr/share/doc/zabbix-server-mysql-3.4.6/
将create.sql.gz包中的内容导入mysql:
zcat create.sql.gz | mysql -u zabbix -p zabbix ####zcat为查看gz包内容的命令
此处密码为数据库密码
执行完此操作后,进入数据库,选择zabbix库,查看数据表会看到140张新增加的数据表
6、进入/etc/zabbix目录,编辑配置文件zabbix_server.conf
在配置文件中对数据库进行授权:
7、进入/etc/httpd/conf.d/编辑zabbix.conf文件修改时区
8、开启zabbix-server服务和httpd服务
systemctl start zabbix-server
systemctl start httpd
9、安装zabbix-agent-3.4.6-1.el7.x86_64.rpm
安装完成后直接打开服务
systemctl start zabbix-agent
10、在网页中输入 172.25.66.11/zabbix进入web界面
11、点击上图中红框所示,进入下一步
这一步为检查先决条件,如果都没问题,即所有项都显示OK,则进入下一步
12、下图中密码为数据库密码
下一步填写zabbix信息
下一步为安装前的检查,如果没问题点击Next进行安装
安装成功
13、登陆
用户名为Admin,登陆密码为zabbix进入后可以修改
14、进入后,我们可以点击web界面右上角的人像进行修改密码和语言
被监控主机配置(server-agent)
新打开一个rhel6的虚拟机server1,因为在企业中服务器很多都是6版本的,所以我们使用rhel6作为实验主机,安装server-agent
一、先在zabbix-server主机中添加agent的解析
二、在zabbix-agent主机中
1、在新打开的rhel6主机server1中添加zabbix-server的解析
2、安装zabbix-agent-3.4.6-1.el6.x86_64.rpm
3、进入/etc/zabbix/编辑配置文件zabbix_agentd.conf
4、开启服务
/etc/init.d/zabbix-agent start
使用zabbix-server监控agent
1、在zabbix的web界面中点击配置,再点击下面的主机,将zabbix server启用
等可用性下面的ZBX亮起就说明可以使用
2、使用自动注册发现要被监控的主机,点击配置下面的动作,然后在有上角选择自动注册
然后点击创建动作
在动作中的名称中填写agent的主机名server1
然后选择操作后点击下面的新的,第一个添加主机
然后点击下面的添加,不是最下面
第二个点击新的然后选择添加主机到群组,点击选择在弹出的界面选择linux servers
第三个选择与模板关联,在弹出的界面中选择OS linux
点击添加后为下图所示
3、点击上图中最后的添加按钮将动作添加
然后进到配置下面的主机,多刷新几次就可以发现server1