xdays

Zabbix监控MySQL

安装源

rpm -ivh http://www.percona.com/downloads/percona-release/percona-release-0.0-1.x86_64.rpm
rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -ivh http://repo.zabbix.com/zabbix/2.2/rhel/6/x86_64/zabbix-release-2.2-1.el6.noarch.rpm

安装包

yum install -y zabbix-agent php php-mysql ...

Zabbix代理模式

简介

Proxy模式用于监控服务器无法直接访问被监控机器的情况,如内网监控。

安装

安装源

rpm -ivh http://repo.zabbix.com/zabbix/2.2/rhel/6/x86_64/zabbix-release-2.2-1.el6.noarch.rpm 

安装proxy及依赖

yum install -y zabbix-proxy-mysql mysql-server

mysql初始化

/usr/bin/mysql_secure_installation

配置

创建数据库

CREATE DATABASE zabbix CHARACTER SET utf8;
GRANT ALL ON zabbix.* TO zabbix@'localhost' IDENTIFIED BY 'zabbixpass ...

Zabbix监控Hadoop

基础概念

JMX

JMX就是Java Management Extentions,为Java程序提供管理功能的框架。看了几个介绍,感觉这个说明比较通俗易懂。一句话说就是JMX为你提供了一个通过特定协议管理应用程序的方案,而我们这里主要用其查询配置和监控数据的功能。

External Check

通过主动调用自定义脚本来获取监控数据,脚本的输出即为该监控项的监控值,这种方式有更强的定制化。因为下午在这里踩到了坑,走了不少弯路,所以这里要对配置方法做个特殊说明。配置监控项时选择external chek,然后在key这一栏要指定运行脚本和参数。下边说下1.8和2.0之后的版本在key配置上的不同:
* 在1.8的版本里key的格式为scriptname[arg1 arg2 ...],参数以空格,Zabbix实际执行的命令是scriptname server_hostname arg1 arg2,详见这里
* 在2.0之后的版本key的格式为scriptname[arg1, arg2 ...],参数以逗号分隔,Zabbix实际执行的命令是scriptname arg1 arg2 ...,详见 ...

Zabbix性能优化

概述

关于优化,我个人观点是这样的:首先,优化的前提是完善的监控,因为你有完善的监控才能发现确定问题所在,才能看到优化后的效果;然后,不要过度优化,时间很宝贵,视需求来决定优化的程度,够用即可;最后优化不是一件容易的事情,需要对方方面面有深入的理解。

性能评估

Zabbix自带了对自身的监控,包括繁忙worker进程的比例,缓存使用情况等,也有相应的触发器。

配置调整

#采集进程的数量,这个值是关键,当监控数目较多时需增大此值
StartPollers=100
#对不可达设备的采集进程数量,适当增加
StartPollersUnreachable=100
#缓存大小,用于存储主机,项目和触发器的数据
CacheSize=256M
#历史数据值缓存
ValueCacheSize=64M
#认为agent不可达的时间
Timeout=10
#数据库慢查询
LogSlowQueries=1000

吐槽: 官方文档对配置文件的描述太简单了,只能知其然不能知其所以然。

参考链接
zabbix performance tuning

Zabbix自动发现

Thu 28 November 2013

简介

通过近段时间对Zabbix的研究,我认为实现批量监控设备的方式有两种:一种是封装API,通过调用函数传递主机信息来新增设备;另一种是通过自动发现并新增设备。本文主要讨论自动发现,因为它功能强大且操作简单。自动发现可分为网络发现,自动注册和底层发现。一言以蔽之,通过自动发现你只需要配置一个网段和发现规则即可自动完成设备的监控。

底层发现

原理

底层发现的原理大致如下:当Zabbix被告知需要监控一台设备时,会主动去探测设备上一些信息来作为item,然后可以为这些item创建trigger和graph;目前这种去探测设备的常见方式有agent和snmp等;探测来的信息实际上是一个个key,需要通过正则表达式来筛选,然后拿筛选后的key来获取实际想要的信息;item,trigger和graph在发现里叫做prototype,即原型。

配置流程

底层发现的创建流程如下:

  1. 进入模板配置,点击discovery
  2. 点击create discovery rule
  3. 填写discovery的相关信息
  4. 点击items prototypes
  5. 点击trigger prototypes
  6. 点击graph prototypes
  7. 检查配置

注意: 以上每个步骤的具体细节请参考官方文档,我只写思路。

实例1 通过SNMP自动发现DiskIO

由于Net-SNMP已经包含了磁盘IO的相关信息,所以只需要添加一个模板即可,考参照zabbix_snmp_linux_templates模板 ...

Zabbix编译安装

安装依赖

由于自带的PHP版本为5.1,而Zabbix2.2对PHP版本需要是不低于5.3,故而卸载系统自带的版本安装5.3:

rpm -e php-common php-cli php
yum install httpd yum install php53 php53-cli php53-common php53-pdo php53-mysql php53-gd php53-bcmath php53-xml php53-mbstring mysql mysql-server mysql-devel net-snmp net-snmp-utils net-snmp-devel

下载解压

wget -SO zabbix-2.2.0.tar.gz "http://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable ...

Zabbix基本安装

简介

目前系统运维监控环节有Cacti和Nagios两大工具,分别用于监控中的作图和报警两个重要方面。而Zabbix可以集两工具的功能于一体并且具有一些额外的包括告警自动处理,资产管理等“福利”。官方称其为企业级的开源监控解决方案,其中含义可在学习研究中慢慢体会。

特性

  • 数据采集,支持SNMP,IPMI,JMX和agent等多种模式
  • 分析采集数据,问题探测
  • 可视化,可做成牛掰的大屏幕模式
  • 告警通知,自动处理
  • 模板机制,简化操作
  • 自动发现
  • 支持proxy模式,可做分布是监控
  • 资产管理

安装配置

安装需求

zabbix hardware reuqirement

安装官方源

rpm -ivh http://repo.zabbix.com/zabbix/2.2/rhel ...

网络监控cacti初探

什么是cacti?

cacti是一个套基于lamp的网络流量监控软件,也可以监控服务器状态等方面。它是由php编写的完全基于web管理,而且可以安装插件来扩展其功能和监控对象的范围,有做好的模板可供使用简化了配置。

cacti有哪些组成部分?

cacti-componets

由上图可以看出,cacti是调用mysql,rrdtool,net-snmp来实现监控的,net-snmp定时轮询设备采集信息,将采集的信息写入rrd文件中,而mysql负责记录这些数据的对应关系以及其他相关的配置信息。当用户请求查看相应设备流量时,cacti查询mysql然后调用rrdtool来完成绘图。

如何安装配置?

关于安装可以参考官方手册,具体见参考链接。对于配置,大体上是先建立设备,然后添加相应的模板,然后创建相应的图形,最后再编辑一下自己的监控列表树。

下面附张效果图:

cacti-monitor

参考链接:

官方手册从安装到配置http://docs.cacti.net/manual:087

中文文档http://www.docin.com/p-12395104.html

详细的中文文档http://www.docin.com/p-47052887.html