自动化运维工具之Zabbix服务器监控基本应用详解(一)

Zabbix基本概述:
Zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。它能监视各种网络参数,保证服务器系统的安全运营;并提供柔软的通知机制以让系统管理员快速定位/解决存在的各种问题。

zabbix由zabbix server与可选组件zabbix agent构成:
zabbix server:可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux, Solaris, HP-UX, AIX, Free BSD, Open BSD, OS X等平台之上。

zabbix agent:需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU等信息的收集。zabbix agent可以运行在Linux ,Solaris, HP-UX, AIX, Free BSD, Open BSD, OS X, Tru64/OSF1, Windows NT4.0, Windows 2000/2003/XP/Vista等系统之上。

Server:指安装zabbix服务的服务器(以下简称服务器端),是最重要的部份,主要安装在linux系统上(支持多种操作系统),采用mysql存储监.控数据并使用apache+php的方式呈现。

Agent:指安装在被监.控设备上的zabbix代理(以下简称代理),被监.控设备上的数据由代理收集后统一上传到服务器端由服务器端收集、整理并呈现。

SNMP:也是agent的一种,指支持SNMP协议的设备(也可以是服务器),通过设定SNMP的参数将相关监.控数据传送至服务器端(大部份的交换机、防火墙等网络设备都支持SNMP协议)。

IPMI:Agent的另一种方式,主要应用于设备的物理性能监.控,例如设备的温度、风扇的转速等。

Zabbix常用术语
1. 主机(host):要监控的网络设备,可由IP或DNS名称指定;

2. 主机组(host group):主机的逻辑容器,可以包含主机和模板,但同一个组织内的主机和模板不能互相链接;主机组通常在给用户或用户组指派监控权限时使用;

3. 监控项(item):一个特定监控指标的相关的数据;这些数据来自于被监控对象;item是zabbix进行数据收集的核心,相对某个监控对象,每个item都由"key"标识;

4. 触发器(trigger):一个表达式,用于评估某监控对象的特定item内接收到的数据是否在合理范围内,也就是阈值;接收的数据量大于阈值时,触发器状态将从"OK"转变为"Problem",当数据再次恢复到合理范围,又转变为"OK";

5. 事件(event):触发一个值得关注的事情,比如触发器状态转变,新的agent或重新上线的agent的自动注册等;

6. 动作(action):指对于特定事件事先定义的处理方法,如发送通知,何时执行操作;
7. 报警升级(escalation):发送警报或者执行远程命令的自定义方案,如每隔5分钟发送一次警报,共发送5次等;

8. 媒介(media):发送通知的手段或者通道,如Email、Jabber或者SMS等;

9. 通知(notification):通过选定的媒介向用户发送的有关某事件的信息;

10. 远程命令(remote command):预定义的命令,可在被监控主机处于某特定条件下时自动执行;

11. 模板(template):用于快速定义被监控主机的预设条目集合,通常包含了item、trigger、graph、screen、application以及low-level discovery rule;模板可以直接链接至某个主机;

12. 应用(application):一组item的集合;

13. web场景(web scennario):用于检测web站点可用性的一个活多个HTTP请求;

14. 前端(frontend):Zabbix的web接口;

Zabbix安装配置及基本架构实现


准备工作:

(1)准备好zabbix二进制rpm应用程序包:

zabbix_server端rpm包
1)zabbix-2.0.8-3.el6.x86_64.rpm                --主程序包
2)zabbix-get-2.0.8-3.el6.x86_64.rpm            --去被监.控端拉取数据的程序包
3)zabbix-server-2.0.8-3.el6.x86_64.rpm         --做为服务器端所需要安装的各
4)zabbix-server-mysql-2.0.8-3.el6.x86_64.rpm   --服务器端安装数据库程序包
5)zabbix-web-2.0.8-3.el6.noarch.rpm            --web界面需要安装的程序包
6)zabbix-web-mysql-2.0.8-3.el6.noarch.rpm      --web界面需要安装的数据库程序包

zabbix_client_agent端rpm包
1)zabbix-2.0.8-3.el6.x86_64.rpm
2)zabbix-agent-2.0.8-3.el6.x86_64.rpm
3)zabbix-sender-2.0.8-3.el6.x86_64.rpm

(2)安装epel源

# wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
# wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm 
# rpm -Uvh remi-release-6.rpm epel-release-6-8.noarch.rpm

Zabbix_DBServer安装配置如下:

(1)安装mysql数据库服务

# yum -y install mysql mysql-server
--启动mysql数据库服务
# service mysqld start

(2)授权root为远程用户及添加zabbix用户并授予权限,用于执行zabbix数据库创建,生产环境中不建议这样操作。

mysql> GRANT ALL ON *.* TO ‘root‘@‘172.16.%.%‘ IDENTIFIED BY ‘redhat‘ WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;
mysql> CREATE DATABASE zabbix;
mysql> GRANT ALL ON zabbix.* TO ‘zbuser‘@‘172.16.%.%‘ IDENTIFIED BY ‘rehdat‘;
mysql> FLUSH PRIVILEGES;

Zabbix_Server安装配置如下:

(1)安装Zabbix过程如下

--安装相关依赖包
# yum -y install iksemel fping
--安装web环境
# yum -y install httpd php php-devel mysql
--安装zabbix服务
# yum -y install *.rpm

(2)查询安装的zabbix服务生成的文件及目录

# rpm -ql zabbix-server-mysql | grep create
/usr/share/doc/zabbix-server-mysql-2.0.8/create
/usr/share/doc/zabbix-server-mysql-2.0.8/create/data.sql
/usr/share/doc/zabbix-server-mysql-2.0.8/create/images.sql
/usr/share/doc/zabbix-server-mysql-2.0.8/create/schema.sql

使用以上3个*.sql创建zabbix数据表

# mysql -uroot -predhat -h172.16.100.3 zabbix < /usr/share/doc/zabbix-server-mysql-2.0.8/create/schema.sql 
# mysql -uroot -predhat -h172.16.100.3 zabbix < /usr/share/doc/zabbix-server-mysql-2.0.8/create/images.sql 
# mysql -uroot -predhat -h172.16.100.3 zabbix < /usr/share/doc/zabbix-server-mysql-2.0.8/create/data.sql

(3)配置zabbix配置文件

# vim /etc/zabbix/zabbix_server.conf
DBHost=172.16.100.3 #连接数据库的主机名
DBName=zabbix       #数据库名
DBUser=zbuser       #连接数据库所使用的用户
DBPassword=redhat   #连接数据库所使用的密码
DBPort=3306         #连接数据库的端口

配置php.ini

# vim /etc/php.ini
date.timezone = Asia/Shanghai

(4)重启httpd服务启动zabbix服务

# service zabbix-server start
# service httpd resart

(5)访问zabbix_web页面开始配置zabbix,过程如下所示:

Zabbix_client_agent安装配置如下:

# yum -y install *.rpm
# vim /etc/zabbix/zabbix_agentd.conf
Server=172.16.100.2

启动agent服务:

# service zabbix-agent start

最后在zabbix web下添加监控主机客户端,如下所示:

针对添加主机创建一个监控项item,点击上图中的Item项,再点击右上角的create item就可以创建item项了,这里我们添加两个做为测试,一个是eth0的数据流出量、流入量和cpu性能数据:

创建监控eth0流出量监控:

创建监控eth0流入量监控:

创建监控CPU性能数据监控:

CPU swtich:

创建图形展示数据,点击Graphs,再点create graphs就可以创建图形展示数据了,填上相关的参数:

多个图组合在一个屏幕上查看的创建,也就是定义screens

=============================================================

Zabbix进阶应用请关注下篇博文!!

时间: 2024-08-24 05:13:04

自动化运维工具之Zabbix服务器监控基本应用详解(一)的相关文章

自动化运维工具之Zabbix分布式监控应用(五)

分布式监控概述proxy and nodeZabbix常用3种架构-->Server-agent-->Server-Node-agent-->Server-Proxy-agent Zabbix能高效地监控分布式IT架构在大型环境中Zabbix提供两种解决方案-->使用代理(proxy)-->使用节点(node)Proxy or Node?-->代理(proxy)用于本区域数据收集,并将数据发送给server-->节点(node)提供完整的Zabbix server

自动化运维工具之Zabbix宏使用及用户自定义监控(三)

Zabbix宏是一种抽象(Abstraction),它根据一系列预定义的规则替换一定得文本模式,而解释器或编译器在遇到宏时会自动进行这一模式替换: Zabbix基于宏保存预设文本模式,并且在调用时将其替换为其中的文本: Zabbix有许多内置的宏,如{HOST.NAME}.{HOST.IP}.{TRIGGER.DESCRIPTION}.{TRIGGER.NAME}. {TRIGGER.EVENTS.ACK}等 Zabbix为了更强的灵活性,zabbix还支持在全局.模板或主机级别使用用户自定义宏

自动化运维工具之Zabbix触发器_action动作及模板应用(二)

一个完善的监控系统需要一定的报警机制,什么时候告警警需要触发器,怎么告警,在什么情况下如何告警取决于action动作: 创建触发器(trigger) **"监控项"仅负责收集数据,而通常收集数据的目的还包括在某指标对应的数据超出合理范围时给相关人员发送告警信息,"触发器"正是用于为监控项所收集的数据定义阈值. **每个触发器仅能关联至一个监控项,但可以为一个监控项或同时使用多个触发器: 事实上,为一个监控项定义多个具有不用阈值的触发器,可以实现不用级别的报警功能 *

自动化运维工具(三)之( 时实监控)

话说运维监控,出口就是nagios.cacti.zabbix.Ganglia.Graphite 等,还有自已公司开发的,但采集轮询时间一般为 5分钟,1分钟 ,最少的也没30秒内的,但如果服务器异常,要时实查看,不得不开多个终端,一边处理分析,一边查看. 自动化运维工具,时实查看,5秒刷新一次并出图.可放心的去处理,并时实知道服务器的运行情况.

应用软件学习总结(包括监控,自动化运维工具,WEB服务等)

应用软件学习总结 目录 SVN部署及使用 一健安装Zabbix Ansible自动化运维工具安装及使用 PPTP服务器端部署到客户端连接使用 fail2ban安装配置 kvm安装使用 LVS+Keepalived搭建 Keepalived+LVS维护技巧与调优 LVS概念类型及三种工作模式和十种调度算法介绍 redis单实例.多实例.主从同步实战 整合Nginx和Tomcat Nginx服务器的搭建 安装LAMP 一健安装LNMP 生产环境Nginx配置文件 Apache安装配置解析 Rsync

自动化运维工具之ansible的简单应用

ansible: ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fabric)的优点,实现了批量系统配置.批量程序部署.批量运行命令等功能.ansible是基于模块工作的,本身没有批量部署的能力.真正具有批量部署的是ansible所运行的模块,例如shell,copy,ping等,ansible只是提供一种框架.ansible的主要特性: 模块化:调用特定的模块,完成特定任务 基于Python语言实现,由Pa

Puppet Saltstatck Ansible 自动化运维工具对比

最近尝试安装了一下salt statck就对自动化工具感兴趣了点所以找了一些资料入门下面总结一下希望和看到这篇文章一起探索自动化运维的世界.                              --- 小 Q ------------------------------------------------------------------------------------------------------ 自动化运维就是为减少重复又枯燥的工作而建立起来的流程更能减少失误及时报警并恢复

自动化运维工具之ansible

ansible ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fabric)的优点,实现了批量系统配置.批量程序部署.批量运行命令等功能. ansible是基于模块工作的,本身没有批量部署的能力.真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架. 主要包括: (1).连接插件connection plugins:负责和被监控端实现通信: (2).host inventory:指定

自动化运维工具Ansible详细部署

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://sofar.blog.51cto.com/353572/1579894 ========================================================================================== 一.基础介绍 =========================================================