企业级监控系列之七zabbix使用手册_第1页
企业级监控系列之七zabbix使用手册_第2页
企业级监控系列之七zabbix使用手册_第3页
企业级监控系列之七zabbix使用手册_第4页
企业级监控系列之七zabbix使用手册_第5页
已阅读5页,还剩139页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

文档信 Zabbix简 Zabbix功 优劣 安装部 服务端安装lamp环境 服务端配置lamp使用环 服务端server的安装过 安装zabbix服务 添加zabbix到系统服务文 导入zabbix数据库(此处采用mysql数据库 拷贝service启动 拷贝网页文件到 设置zabbix开机启 通过web页面配置 客户端agentd的安装过 linux服务器客户端的安 snmp方 windows客户端的安 Zabbix的配置使 Zabbix支持的方式类 一个简单的例子--添加Hosts,并应用模 如何自定义,key的创 ,web页面创建模 如何自定义 添加 添加 如何配置 触发器的表达 添加 添加 添加 添加WEB 添加 添加 添加 添加MySQL添加SNMP添加自定义添加 添加Reports(定制报表 添加 添加自动发现设 添加 Export/Import Maintenance(时间 Proxy的使 创建zabbix的(以postfix为例子 创建meida 创建 创建(以mail.py为例 如何有效的设置基于业务类 基于故障级 基于时间发 故障依赖关 故障处理自动命 一些使用的技 5.28.1项的使用技 触发器的使用技 定义全局变量的使用技 中文语言显示以及中文字体乱码解决方 Zabbix的4种方式概 zabbix_方式之一-- zabbix_方式之二 zabbix_方式之四 zabbix_方式之四 Zabbix的高级使用-之自动化功 自动发现添加主 4.1.1创建自动发现规 创建自动添加到相应模板规 通过low-leveldiscovery发现实现动态zabbix客户端配 自动发现编 自定义key配置文 web页面添加low-level zabbix_server.conf优 zabbix_agend.conf优 Zabbix数据库优 zabix集群扩展的使 批量更新参考文 将zabbix打包成rpm 文档信文档名:zabbix使用手运用zabbix构建大型系统 个人站点 (已满员),216490997(可加入2013-01-2013-02-2013-02-2013-05-2013-06-增加分组,一些使用技巧rpm打包2013-10-本文档涉及内容,zabbix的安装配置,zabbix的邮件,zabbix自定义,自动配由于 功能很丰富,许多功能需要逐步研究整理,后续本文档将继续完善2.如果你觉得本文档对你zabbix有所帮助,请和我一同继续完善本文档,如果你觉得本文档不适合你,或者说写的太差,请参看文档,那里是最的信息。同时,参考本文档的读者,还是需要去参看文档。 如果本文 的内 你的权力,请与我联系,将在下一个版本中删除相关内容总之,感谢各位的支持,才有本文档的出Zabbix简Zabbix是一个高度集成的网络解决方案,可以提供企业级的开源分布式解决目前版本为2.0.X,后续版本2.1,2.2目前正在开发之Zabbix2.0文档 端:主机通过安装agent方 数据,网络设备通过SNMP方 数,再通过php+apache在web前端展示。Zabbix运行条LNMPAgent:agentOSLinux、HPUX、Solaris、Sun、SNMP:过过程逻辑Zabbix能、FTP等通用协议、多种告式、详细的报表图表绘制)支持自动发现(lowdiscovery)key实现动态项的批量(需写)支持分布式,能集中展示、管理分布式的点编写插件容易,可以自定义项,级别的设置。可用和性能检 自定义的检灵活的触发发送通知,可定制 升级,收件人 类实时的绘图功项实时的将数据绘制在WEB能 可以模拟鼠标点击了一个,并检查返回值和响应时 优劣开源, 成本投开源, 成本投Server对设备性能要求支持设备多,自带多 模 的item比较多服务器队列比较大时可以采 状态,客户端主动server端 需 的item然后取数据上传到server端。这种方式对服务器的负载比Api的支持,方便与其他缺点agent,所有数据都存在数据库里,产生的数据据很大,安装部ZabbixServer可以运行在CentOS、RedHatLinux、DebainLinux系统上,这里以centos6.3_X64作为部署环境。本文的系统rhel6.3,rhel6.464位系统(其他版本也是可以的,suse,ubuntu等的系统分 100M- 剩余空s - (pel)服务端安lamp环境yum-yinstallgccgcc-c++autoconfhttpdphpmysqlmysql-serverphp-mysqlhttpd-manualmod_sslmod_perlmod_auth_mysqlphp-gdphp-xmlphp-mbstringphp-ldapphp-pearphp-xmlrpcphp-bcmathmysql-connector-odbcmysql-devellibdbi-dbd-mysqlnet-snmp-develcurl-develunixODBC-develOpenIPMI-develjava-服务端配lamp使用环 (修改这些参数的目的是zabbix的web代码要求要这么配置才max_execution_time=300post_max_size=32Mmemory_limit=128M常运行,所以,不修改饿就是安装无法获得正常的环境,关于phpni这些参数max_execution_time=300post_max_size=32Mmemory_limit=128M如果不想手工修改,可以使用以下sed命令操"s/;date.timezone=/date.timezone="s#post_max_size=8M#post_max_size="s#max_input_time=60#max_input_time="s#memory_limit=128M#memory_limit="/;mbstringfunc_overload=0/ambstring.func_overload=httpd,mysqld #chkconfig sehll#chkconfighttpd sehll#chkconfighttpd 服务端server的安装过说实话,第一次源码安装lamp,lnmp的朋友,确实会遇到很多问题,所以rpm安装, 安装zabbix服务 -(当然读者可能想用版本,当前的版本为2.0.9,估计2014年,版本2.2会即将,但是编译安装的过程都是相同的,所以读者无需担心,同时本人还会zabbixrpm包,方便各位几分钟内搭建zabbix服务器) #groupaddzabbix-g #useradd-gzabbix-u201-m #tarxfzabbix-2.0.8.tar.gz下面截图看一下 的文 #./configure-- -- --enable-server--enableenable- --enable-ipv6--with-mysql=/usr/bin/mysql_config--with-netwith- --with- --with- --with- --with- --enable-(如果你只是想安装一个服务端,只需开启--enable-server即可,其他参数可以不用选,但(如果缺少相应的依赖包 过程会给出提示 #make(rpm包安装吧rpm包安装,请到 相关的rpm安zabbix到系统服务文s (在rhel系列中,下面的服务参数可以不用添加,默认已经有了zabbix-#Zabbixzabbix-#Zabbixzabbix-#Zabbixzabbix-#Zabbixzabbix数据库(此处采用mysql数据库SSPATH/zabbix- (zabbix源码下面#mysqladmin-#mysql- (mysql ) all 确保以上操作都正常,测试下数据库连接 -uzabbix-pzabbix##zabbix #mysql-uzabbix-pzabbixzabbix< #mysql-uzabbix-pzabbixzabbix<./database/mysql/images.sql #mysql-uzabbix-pzabbixzabbix<./database/mysql/data.sql确保以上过程无s#mkdirsehll#chownzabbix.zabbixservice s#sed-i"s#BASEDIR=/usr/local#BASEDIR=/usr/#g"/etc/init.d/zabbix_servers#sed-i"s#BASEDIR=/usr/local#BASEDIR=/usr/#g" DBPassword=zabbix数据库当然如果你的mysql不是rpm包安装的,则需要将mysql.sock改为你的实际建议相关参Sed命建议相关参 - - - #egrep-v (测试环境默认值即可 (测试环境默认值即可 (测试环境默认值即可 (测试环境默认值即可)MaxHousekeeperDelete=5000(测试环境默认值即可) (测试环境默认值即可) (测试环境默认值即可) 2.3.6zabbix_agentd.conf文 server主动来拿取数据(模式。 自定义的 配置文件可以写在这 下UnsafeUserParameters=0 自定义的 配置文件可以写在这 下UnsafeUserParameters=01Server=此处添加服务端的ip,如服务器不为本机,则需要填写远端ipServerActive=此处修改为服务端的/tmp/zabbix_agentd.log修改日志路使用sed命令如下 - 建议的参考配S#egrep-v Server是采用工作模式,允许的ip地址,server端要获取数据,当然得允许server端了语法是ip1,ip2可以填写多个server端,中间用逗号隔开拷贝网页文件到 #cp- ./frontends/php/ #chown-R zabbix开机启s#chkconfigzabbix_serverons#chkconfigzabbix_agentdons#servicezabbix_serverstarts#servicezabbix_agentd(如果启动失败,请检查配置文件是否都正确至此,zabbix的server端安装完成。web页面配置在浏览器输点击testconnection,如果没有问题,则会提示OK,否则,需要检查数据库是否正 Name如果此处提示文件zabbix.conf.php无法创建,则是 无法写入/var/www/html/zabbix的文件权限不为输入以下命令解chown-R 默认用户名为admin,为客户端 的安装过 服务器客户端的那么其他需要的linux机器是如何安装的呢在安装客户端的时候,包和服务器是同一个,只是configure的配置参数不同而已。当ss - #useradd- #tar zabbix-#./configure--prefix=/usr --enable- s s# 755 #sed-i"s#BASEDIR=/usr/local#BASEDIR=/usr/#g"s zabbix- #Zabbixzabbix- #Zabbixzabbix- #Zabbixzabbix- #Zabbixs s s - s #servicezabbix_agentdstart #chkconfigsnmpd #servicesnmpdcom2secmynetworkpublicgroupMyROGroupv2caccessMyROGroup""anynoauthprefixallnonenoneviewallincluded.180 #yum-yinstallnet- #mv/etc/snmpd/snmpd.conf #vim/etc/snmpd/snmpd.conf 客户端的安 /downloads/2.0.8/zabbixagents解压,我是解压到C:\ProgramFiles\的,大家也可以解压到其服务程序,注意路径中有空格,应该引"C:\ProgramFiles\zabbix_agents_2.0.8.win\conf\zabbix_agentd.win.conf"如果64位系统,请选64位程去服务管理里面看看,已经添加启动服当然也可以用命令行启动服zabbix_agentd.conflinux一样,此处不再重Zabbix的配置使默认的用户名为admin,是zabbix一次完整的流程可以简单描述为:(触发器)->Actions(告警动作)->Medias(告式)- Groups(用户组)-(用户对于实际使用的时候,一般都是采用模板进行配置。使用过cacti的都知道,可以先添加主机,然后选择对应模板即可,zabbix中同样存在此功能。 支持的方式类一个简单的例子--添加Hosts,并应用模Host是Zabbix的基本载体,所有的项都是基于host的。通过Configuration->Hosts->CreateHost来创建设备点击右上按提示填Name、Groups、IP其他选项默认即可,LinkTemplates处选择一个模板,不到值,Zabbix自带大量的设备模板,添加主机时通过link到这些模板,就可以快速添加主机的项和告警触发条件。一旦采用Templates模板后,后面的步骤可以省hosts可以归属到同一个HostGroup,便于分类管理同一类设备,在Configuration->HostGroup->CreateHostGroup可以添加设备组名一个主机支持几种类型的主机接口协议类型:Agent,SNMP,JMXandIPMI如果想增加一个新ipDNS)从客户端获得数据。连接要主机的IP地址(TCP协议的端口,zabbix客户端使用的默认值是Not注意,此处的模板选择后,会自动创建的对象的到。义的。如何自定在自定义之前,需要了解几个概Items:创建项,这里会运用到自定义的key值自定义,可以在单台机器上面添加,也可以先定义成模板再把模板应用到主机面首先是key值比如/etc/passwd文件的行数,则,首先定义客户端配置#允执行命#允执行命令,非必要修本机称一样,且server端可以解析##ip####keyUserParameter=count.line.passwd,wc-lUserParameter=count.line.passwd,wc-l/etc/passwd|awk'{print然后重启客户#service#servicezabbix_agentd - - 值创建 - - 可以看到有返回值,则说明key值创建成关于zabbix_get的用法比较简单,查看帮助即可Key值创建的内容,参考下一章节,web页面创建注意,这里的key就是triggers的创grahps呢。Monitorgrahps--group--host- 选择相应的图形查看即可,此处效果如何自定自定义key即Userparameters这个功能,先看一下文档 Key自定义的语法格式 在/etc/zabbix/zabbix_agentd.conf后面添加如下内UserParameter=get.os.type,head-1 #service #zabbix_get-s-k 当然,UserParameter以单独写一个配置文件,便于 UserParameter`*~$&|@修改所有的数字所有的数字所有的小写字母所有大写字母下划线key破折号破折号点传递参这里表示把$2,$1的传递给key,测试如下 -k 注意,这里的/etc/passwd为$1,root为$2,则key最终运行令为grep-c 格式如如果[]中括号里面有多个参数选项的值,每一个参数用用逗号隔开 Agentd支持itemskey详 是项,是的基本元素,每一个项对应一个被端值在Configuration->Hosts界面,能看到每个host所包含的items总数,点击对应主机的items项,可以看到具体的每个item信息,这些items可以自templates,也可以自注意:当需要的服务器的时候,一般是模板,如需自定义item,则需要在此Items。通过点击具体item名字可以修改已有项的属性,点击Satus的可以禁用/启用的itemshostslinktotemplate,就不用一台台主机去更items)item可以通过点击右上角的createitem来创此处keyzabbix_agentd.conf文件自定义关于item,请参考文 Trigger是触发器,当Items值满足triggers的触发条件时,就会产生actionstriggeritemitemtrigger。通过设置多个同样,通过点击Configuration->Hosts->Triggers中某个trigger的名字,可以修改trigger的属性(注意:自template的trigger触发值是不能单独修改的,必须在template中修改,或是一个同样的trigger再修改,然后禁用掉之前的)trigger可以通过点击createtriggerExpression中选择对应的item、触发方式及触发值,Severity是告警级别,根据的严重性来选择Zabbix提供多种trigger触发方式供选择,常用的可以选择lastvalue</>/=/#/N(最近一次值),或是选择alvalueforperiodoftime(一段时间内的最大值),等等。可以根据实际需要来设定触发方式。的解释请参考: 触发器的表达 /2012/zabbix20614/161html的翻在触在触发器中使用表达式是非常灵活的。你可以用它们复杂的逻辑来测试关 统计 1、 2、function大多数数值型函数接受秒数作为一个变量你可以使用前缀#来指定一个变量(argument)有不同的意思函函数调用(FUNCTION 意思 600秒内所有值 最近5,,要忽略的函数也必须给它一个参数,例如 avgcountlastminandmaxavg(1h,1d)1小时之前的1天的平均值。) )3、运算触发器支持下列运算符(优先级渐降优先

运算

定义 整除 乘 。。小于(Lessthan)运算符可以这样定义5<6>大于(Morethan).运算符可以这样定义7#不等于(Notequal).运算符可以这样定义=.89&逻辑与(Logical|逻辑或(Logical4、触发器例例子{{服务器是通过使用函数参数的名称',关键字是指定最近的值。最后,'>5'的最后负载测量大于5则触发器进入PROBLEM{无论当前处理器负载大于5还是最近10分钟的负载大于2 当文件/etc/passwd之前的checksum值于最近的值不同,则该表达式为相相似的表达式也可以用 重要的文件(如/etc/passwd,/etc/inetd.conf,/kernel等)例子有人从有人从因特网 大文 当最近5分钟内,eth0接收的字节数大于100KB,则该表达式为例子SMTP服务器的集群节点都停止都停止时,表达式与SMTP都停止时,表达式与SMTP{例子zabbixzabbix客户 需要更例子当zabbix客户 有版本beta8时该表达式为真{服务器不可 在最近30分钟内超过5次不可达该表达式为例子最近三分钟内)使用函数nodata()'tick''tick'必须使用类型'Zabbixtrapper'。为了这个触发器工作,tick必须定义。该主机应该{zabbix_sender定期为该参数发送数据。如果180秒都没有收到数据,该触发器的值例子CPU在夜间活触发器只在晚上(00:00-06:00)例子检查客户端本地时间是否与zabbix服务器时间同,,5、滞留状有时候触发器必须在不同情况下有不同条件。例如:想定义当服务器房间的温度超过20摄氏度时触发器变为PROBLEM状态,然后触发器一直停留在这个状态除非温度低于15为了实为了实现这种功能 定义下面的触发器例子服务器房间温度注意使用了一个宏{TRIGGER.VALUE},这个宏返回当前触发器的300秒内1次和3次取的值同时不35,则触发规触发器的内容详细参考html,整理如【翻译】Zabbix触发器支持的函数说2013-05-06by原文出处 译者参数参数:支持值类型floatintstrtext描述:返回最近获取到的值与之前的值的差值的绝对值.对于字符串类型,0表示值参数参数:秒或支持值类型float描述描述:返回指定时间间隔的平均值.时间间隔可以通过第一个参数通过秒数设置或收集的值的数目(需要前边加上#,比如#5表示最近5次的值)。如果有第二个,则表示时间漂移(timeshift),例如像查询一天之前的一小时的平均值,对应的函数是参数参数:支持值类型floatintstrtext描述:返回最近获取到的值与之前的值的差值.对于字符串类型,0表示值相等,1参数参数:秒或支持值类型floatintstrtext描述:#.于样本,整数 项实用精确匹配,浮点型 项允许偏差支持的操作(operators)类型eqeq:相等ne不相等gt:大于ge:lt:le:like:持like(默认),eq,ne例子count(600):count(600):最近10分钟的值的个数count(600,12):最近10分钟,值等于12的个数count(600,12,"gt最近10分钟,值大于12的个数count(#10,12,"gt"):count(#10,12,"gt"):最近的10个值中,值大于12的个数count(600,12,"gt",8640024小时之前的前10分钟数据中,值大于12的个数count(600,,,86400):24小时之前的前10分钟数据的值的个数#numZabbix1.6.1起开始支持timeshiftZabbix1.8.2开参数参数:支持值类型:所有描述:返回当前日期(YYYYMMDD),例如参数:支持值类型:所有描述返回当前是本月第几天(数值范围:1-31),该函数从Zabbix1.8.5起开始参数参数:支持值类型:所有描述 返回当前是本周的第几天(数值返回:1-7),星期一是1,星期天是参数参数:秒或支持值类型float:一个参数可以是秒或者收集值的数目.从Zabbix1.8.2开始,支持可选的第二个参数参数参数:支持值类型floatintstrtext描述:返回值为1表示最近的值与之前的值不同,0参数:参数:支持值类型float描述:返回值为1ZabbixServerN秒0为其他常使system.localtime来检查本地时间是否与Zabbixserver时间相同参数:参数:第一个为字符串,第二个为秒或支持值类型strlog描述regexp参数参数:秒或支持值类型floatintstrtext和其他一些函数的#num的意思是不同的例子last(0)last(0)last(#3表示最近**第**3个值(并不是最近的三个值)last(0,86400)返回一天前的最近的值如果在history中同一秒中有多个值存在,Zabbix不保证值的精确#numZabbix1.6.2起开始支持,timeshift从1.8.2其开始支持,avg()函数获取它参数参数支持值类型:描述:检查最近的日志条目的EventID是否匹配正则表达式.参数为正则表达式,POSIX扩展样式.当返回值为0时表示不匹配,1Zabbix1.8.5起开始支持参数参数:支持值类型:描述:返回最近日志条目的日志等级(logseverity).当返回值为0N为具体对应等级(WindowseventlogsZabbix日志等级来源于Windowseventlog的Information列.参数: 支持值类型支持值类型:描述检查最近的日志条目是否匹配参数的日志来源当返回值为0 .例如logsource["VMWare参数参数:秒或支持值类型float描述:返回指定时间间隔的最大值.时间间隔作为第一个参数可以是秒或收集值的数目(前缀为#).Zabbix1.8.2time_shift,可以查看avg()函数获取它的使用方法参数参数:秒或支持值类型float描述:返回指定时间间隔的最小值.时间间隔作为第一个参数可以是秒或收集值的数目(前缀为#).Zabbix1.8.2time_shift,可以查看avg()函数获取它的使用方法参数:参数:支持值类型:描述:当返回值为1表示指定的间隔(间隔不应小于30秒)没有接收到数据,0表示其参数参数:支持值类型:描述00:00:00UTC)参数参数:支持值类型floatintstrtext参数参数:string,第二个参数为秒或支持值类型strlog描述:POSIX扩展样式,时表示找到,0为其他 参数参数:string,第二个参数为秒或支持值类型strlog描述:查找最近值中的字符串。第一个参数指定查找的字符串,大小写敏感。第二0为其他参数参数:秒或支持值类型strlog描述:指定最近值的字符串长度(并非字节),last函数.strlen(#1),strlen(#3)表示最近的第三个值strlen(0,86400)表示一天前的最近的值.该函数从Zabbix1.8.4起开始支持参数参数:秒或支持值类型float描述:返回指定时间间隔中收集到的值的总和.时间间隔作为第一个参数支持秒或可以查看avg函数获取它的参数参数:支持值类型:描述 触发器的故障等)触发器严重性定义了一个触发器的重要程度。 支持下列触发器严重性)严严重性未分类(Not定义未知严重性(Unknown颜色灰色信息(Information)信息(Forinformation高因此注意(Be平均问题(Average橘黄重要的事情发生(Somethingimportant红通过Configuration->Actions->CreateAction来创建ActionEventsource:来Autoregistration:事件产生记录Subject、Message:告警标题和内容,此处可zabbix的宏变量;例如{{HOSTNAME}:{TRIGGER.KEY}.last(0)}表示最后一次值,宏变量参考: RecoveryMessage:告警恢复信息,不勾选系统会用默认的,勾选后自定义Conditions:trigger产生的条件,条件可以多选 3.27Media,即告式,Zabbix可以提供四类 /SMS/Jabber/Script,通Administrator->MediaType来修改或新增告方式最常用的,填入相关的SMTP信息,即可通过邮件方式发送告警type有以下几种方 方式可以通过自己编写程序或的方式发送告警信息SMS方式要在server主机上接入modemJabber方式是一种linux下的即时通讯工具,Jabber发送即时消息在Administrator- 可以添加用户和用户UserGroup可以限制用户的权限,zabbix自带的用户组的权限限制基本能满足我创建用户时可以根据用户的不同作用划分到不同的组,media中填入告警接受地址及告Type:类用户权限的控WEBWebMonitoring是用来web程序的,可以到web程序的速度、返回码及响应时间,还支持把一组连续的web动作作为一个整体来。下面以登陆zabbix的web程序为例,来展示如何使用webmonitoring。Configuration->web->CreateScenarioScenario(host后才能创建scenario,zabbix的所items都必须创建hosts上图表1Name:scenario的名字Basicauthentication:鉴Updateinterval:频率,s为单Status:默认为用户和给index.php页面URL:的web页面(注:必须是全路径带页面名Post:传递给页面的参数,多个参数之间用&连接,此处可前面定义的变Statuscodes:页面返回码添加完step后,在Monitoring->web页面即能看到的状态和图创建完scenario后,zabbixserver会自动创建相关的items,所以只需为这些添加triggers即可让webscenario出错时产生Configuration->hosts->scenariohosttriggercreatetrigger,在selectitems的时候就可以看到系统自items(注:自动创建的itemshostitems列表中直接是看不到的,需要在创建trigger时选择items时才能看到可以items列表中看到,系统为step创建3item,DownloadSpeed/ResponseCode/ResponseTime,scenariotestfailitemtrigger下例创建一个Login页面返回码的trigger,大于等于400即为错再创建一个整个scenario所有step运行是否成功的trigger,值为0表示整个scenario的所有step都执行成功了,第几步的step执行失败就返回数字几,且后续的step都不会继这样,一个完整的webmonitoring就配置完成了Webmonitoring还有强大的功能,未能一一研究了解,有待挖ZabbixGraphsitemitems绘制configuration->hostshostgraphs,creategraphs即可创建注意,此处选择的数据如果为多项,则多项数据呈现在一张图表上(此处对中文的支持不好,建议在过程中全部使用英文字符graphsmonitoring->graphs中查monitoring->lastdata下能快速查看每hostitemScreen将多种信息放在一起展示,便于集中展示某个host的多个信息,或是比较多个hosts的同一种信息,这些信息可以为graphs、maps、serverinfos等等,几乎涵盖zabbix所有的信息。通过configuration->screen->creatscreen来创建,创建时定义screen的行数和列数,点击对应单元格内的change,添加相应的信息change添加图选择图像类型,对齐方式通过monitoring-screen,可以查看之前配置好的信这里可以添加关于主机的拓扑图:configration-maps,在右上角可以createmaps或import 点击cratemaps点save保存双上面加号和减号可以增加主 添加MySQLZabbix自带有MySQL的模板,可以做一些简单的1agentd ,mysqladmin ,mysqladmin-uroot-|grepalive|wc-修改后重启hostagentd,使配置文件#servicezabbix_agentd webmysqlhostlinktemplate_APP_MySQL的items里就能看到刚才定义的这些MySQL的项了,修改相应的trigger值即可可以自己编写或是找一些功能更强的mysql,加到zabbix里,后面会讲到如何自己添加。另外更详细的方法可参考zabbixwiki上的mysql方法,这个的就非常细:htt /wiki/howto/monitor/db/mysql/extensivemysqlmonitoringincluding添加SNMPZabbixsnmp的要在configration中hosts中添加相关主机的模板和snmp版本,一般snmp网络设备就可以了添加自定义对于zabbix功能上无法实现的,可以通过自己编写程序或来辅助完成,并将的结果通过agent递交给zabbixserver管理,一样可以绘制graph报表等。UserParameters 修改UnsafeUserParameters=1此处默认是0(不允许自定义)然后在后面添加Use mand为格key是在创item的时候填写在修改zabbix_agentd.confzabbix_agentd服 zabbix_get命令获取得到例如要mysql _test[*],mysqladmin _test[*],mysqladmin-u$1-|grepalive|wc-#servicezabbix_agentdzabbix_get检测设置是否Items-create graphscreate在ADD处选择Items为mysql._test--save,稍等会儿就出要写法可以通template来简化操作。Configuration->HostGroups->Template->CreateItemscreatecteategraph--creategraph-添加到模板,后面就可以改模板了添加Reports(定制报表zabbix中关于报表的功能有三项Statusofzabbix:这是关于整个zabbix系统 report:整个系统可用的系统报表提供过Mostbusytriggerstop100triggersBarreport:可定制报表可以报多个报表整合到一起Macros分系统自带全局宏的及自定义的宏。系统自带的macros列表及解释参考: macros的例子可参考上述action中添加{{Hostname}:{trigger.key}.last(0)}的例子。Zabbix还支持自定义macros,在添加host或是template时,可以在macros项中定自定义的宏变量及系统自带的宏变量都可以在zabbix场景中,zabbix在遇到host的自定义宏,接着查link的template的宏,最后查找zabbix系统自带的全局宏。所以在自定义宏时注意宏的顺序。添加自动发现设通过zabbix的相关设置,zabbix可以自动添加设备,可以更友好的和添加相关备详细参考 具体操作过程,请参看第4章,zabbix的高级使用-之自动化功能中的讲解Inventory用来管理设备存档信息的在添加host时,勾选右侧的Useprofile,即可填入该台设备的型号、编码、MACinventory信息inventory->hosts下能看到.可以代替OCS一些功能Export/Import 提供将所有配置导出为标准 格式的文件,同样,也支持导入标准格式XML配置导入导出功能就可以把之前做的功能进行模板化了,和cacti的模板一个道展示要导出的host的详细配置,选择export即可导出xml文件到本地。Maintenance(时间这一点和NagiosScheduledowntimeforthishost差不多,在Nagios中可以设置在downtime不需要告警,但是zabbxi设置的更加详细和可管理选择主注意,此功能的使用要结合Action功能一Proxyzabbix中文文档-- 概一个zabbix(Proxies)可以代表zabbix服务器收集性能和可用性数据。这样,(Proxies)可以负担数据的任务并且减轻(Proxies)与服务器之间仅需要一个TCP连接。这样将更容易避开因为你仅需要配置一条规 有()yr和rzabbix(Proxies)是一个数据收集器。它不进行触发器计算,处理事件或发送信息。要了解(Proxies)的全部功能,查看Yess 配一旦你安装并配置了一个服务器,现在该在zabix前端配置它了添加(Adding要在zabbix前端配置,按如下步骤在右上角的下拉列表框中选择点击Createproxy(或已经存在的服务器名称模式-zabbix服务器连接服务器服务器的主你可以在主机配置表单中使用Monitoredbyproxy字段指定应该被服务器的单个主机本节参考 /2012/zabbix2_0817/265创建zabbix的(以postfix为例子先看一下zabbix的运(触发器)->Actions(告警动作)->Medias(告式)- Groups(用户组)-(用户中写esges但及如送。创建meida步骤 CreateMediaType(右上角设置,为了安全,端口应该绑定为上),当然,此处是没法设置有认证的点击保此处内容的文zabbixcom/ation/20/manual/web_interface/frontend_sections/administration/mediatypes创建登录到zabbix,进入"Configation">>"Actions"(“系统配置”>>“操作),点击右上角”下的"New"按钮,"OperationType"选择"Sendmessage","SendMessageto"选择一个或多个要发送消息的用户组,”Sendonlyto"选择之前新增的mysql_baojing。save保Zabbix登陆ConfigationActionsCreateActions依次填 Defaultoperationstep Default Default Recoverymessage Typeofcalculation:逻辑值,and New 发送的用户和 ation/2.0/manual/webinterface/frontendzabbix用户配右上add添加保除了以上功能,还有用户登陆的默 url,语言选项配置创建(以 为例此处借用apy来说明发送邮件的问题,但是不建议用网上公用邮箱--为何?网这部分内容直接lihuipeng博客,地址为1、Zabbix添加处理方法:管理——处理方法——createmedia 会传给三个参数:接收用户,邮件,邮件内import import importsysmail_host= mail_pass='my_password'mail_postfix=' defmsg=MIMEText(content)msg['From']=memsg['to']=to_lists=smtplib.SMTP()returnTrueprintstr(e) ==" 2、添加触发设置:系统配置——操作—— mkdir-p把上传到修改zabbix_server.conf配置:#注意:以上内容部分做过修改,路径等的修改,请阅读/3064864/1066915如何有效的设们的工作情绪,适得其反。试想,当一天收到1000封信息,是否还会去逐一查看信息?是否还能分辨是否重大故障,还是1.基于业务类型,给相应的业务用户,例如运运维,不同的人管理不同的机器,因此需要把故障发送给相关用户处有以下1.基于业务类型,给相应的业务用户,例如运运维,不同的人管理不同的机器,因此需要把故障发送给相关用户处有以下5发送给运维一线,1030障发送市场部门相关。基于时间发送,比如业务期,无需发送。发送业务故障。对出现故障的服务尝试用相关基于业务将不同的用户,分配到不同 里面定义不同主机组发送信息给对应的用户当然,用户组里面的用户需要在用户管理里面定义,此处略)基于故障在定义触发器的时候,有故障级别的选可以对不同故障分级别定{TemplateOSLinux:agent..nodata(5m)}=1&{TemplateOSLinux:agent.{TemplateOSLinux:agent..nodata(10m)}=1&{TemplateOSLinux:agent.{TemplateOSLinux:agent..nodata(15m)}=1&{TemplateOSLinux:agent.{TemplateOSLinux:agent..nodata(30m)}=1&{TemplateOSLinux:agent.基于以上2个功能,完全可以做到将不同的故障级别发送给不同基于时间故障依赖{TemplateOSLinux:agent..nodata(5m)}=1&{TemplateOSLinux:agent.例如以上需要2个值同时成立才会触故障处理自动命除了发送消息,还可以执行命令,具体方法参考文一些使用的技项的使用技例如system.users.num,需要添加图形(如何添加Graphs参面章节)触发器的使用技默认的一些触发器由于触发值设置不合理,需要修改后才能适合自己的生产环例如此处{TemplateOSLinux:procnum[,,run].last(0)}>30大于30即,由于服务器应用的定义全局变量的使用技Snmp团组名的当使用snmp作为客户端的时候,需要定义团组添加单台主机的时候,也可以定义对单台主机有效的变中文语言显示以及中文字体乱码解决如何显示中文语方法1将(1)export(2)(2) - cd${ZABBIX_WEB}/locale/&&./make_mo.sh方法2.将 下的中文字体上传到 下面,替换原文件(与原文件同名Zabbix的4种方式概zabbix支持的工作方这里先就可以配置的zabbix方式进行讲解,下面的图给出了这4种方式的逻辑zabbix_方式之一--Agentd工作方式即安装zabbix的客户端的方式进行,这个前面章节已经进行了解zabbix_方式之二Snmp方式前面也进行了讲zabbix_方式之四Ipmi方首先来了解下ipmi相关概Ipmi智慧平台管理接口(InligentPlatformManagementInterface)In架构的企业系统的周边设备所采用的一种工业标准。IPMI亦是一个开放的免费标准,使用者无需IPMI能够横跨不同的操作系统、固件和硬件平台,可以智慧型的监视、控制和报大量服务器的状况,以降低服务器系统成本IpmiIPMI独立于操作系统外自行 的系统关机但有接电源的情况下仍能远端管理系统。IPMI也能在操作系统启动后活动,与系统管理功能一并使用时还能提供加强功能,IPMI只定义架构和接口格式成为标准,详细实作可能会有所不关于 信息,请读者自行参考相关资料书籍,此处不再做详细讲解电压,温度,风扇转速,硬盘健康状#yuminstallOpenIPMIipmitool#serviceipmistart关于怎么添host,前面的章节已经讲#yuminstallOpenIPMIipmitool#serviceipmistart#ipmitool#ipmitoollanset1ipaddr#ipmitoollanset1netmask#ipmitoollanset1defgwipaddr#ipmitoollanprint1#ipmitoollanset1access#ipmitoolusersetname10#ipmitoolusersetpassword10##ipmitooluserenable10#ipmitooluserpriv1021#ipmitooluserlist1ipmitoolipmitool-H0-Usensor-LUSERsensor创建模save,保创建新的#sed-i'/#StartIPMIPollers=0/aStartIPMIPollers=5'#servicezabbix-serveripmitool常用命ipmitool-Ilan-H服务器地址-Uroot-Ppoweroff(硬关机,直接切断电源ipmitool-Ilan-H服务器地址-Uroot-Ppowersoft(软关机,即如同轻按一下开机扭)ipmitool-Ilan-H服务器地址-Uroot-Ppoweron(硬开机)ipmitool-Ilan-H服务器地址-Uroot-Ppowerreset(硬重启)//这个你也许经常用到ipmitool-Ilan-H服务器地址-Uroot-Ppowerstatus(获取当前电源状态zabbix_方式之四首先说一下架编译、配#yuminstalljavajava-devel ##./configure--enable-java--prefix=/usrmake&&makeinstall在zabbix_server上面grepegrep-v"(^#|^$)"客户tomcat配vimexportexportexportexport#servicetomcat6stop#servicetomcat6start检测能否取得数#java-jarcmdline-jmxclient-0.10.3.jar-0:10053java.lang:type=MemoryWeb上面对主机添加JMX方Weblogic首先是安装export export exportJAVA_OPTIONS="${JAVA_OPTIONS} exportJAVA_OPTIONS="${JAVA_OPTIONS} 查看启动的过程,刚才加的参数会看然后去添加host,选择jmx方式,端口为 的高级使用-之自动化功使使用zabbix的目的是 次,zabbix提供了对多变控,从此告的经历吧项目自,例如本身2个网卡,新2个网卡。基zabbix2个功能可以做到对服务的自动化项的痛苦,相信用cactinagios到手抽自动发现添加主功能介绍文档已经给出了很详细的步骤,在此演示一下过 / 创建自动发现规Discoveryby IPrange:ip地址的范围,可以写一段地址,也可以写多段地址Delay:检测时间周期,注意这个值默认是3600,即一个小时才能发现服务Checks:检测命令,这里选择ICMP,zabbixagentd来检测创建自动添加到相应模板规此处是添加从自动发现规则里面发现的主机,包含这些规则,会进行下一步的操份额加。需要注意的是,选择相关选项后,需点击add后,然后才可以保low-leveldiscovery发现实现动态自动化运维之篇利用zabbix自动发现功能实现批量weburl需求现在有大量url需要,形式如,要求url状态不为即需求详细分析大量的ul且ul在是abbx量重复工作,造成人力财力的浪费,造成休息时间的浪费,得不尝失,如果利用al,解决方案zabbix客户端配 ##N多信息 自动发现编Low-leveldiscovery的是一个json格式,鉴于大多数童鞋使用 来书写,如用perl,python,则代码会更#function:monitortcpconnectstatusfromzabbix#License:GPL##version:1.0date:2012-12-09source/etc/bashrc>/dev/null2>&1source >/dev/null#/usr/bin/curl-o/dev/null-s-w%{http_code}http://$1/WEB_SITE_discovery(){ WEB.txt|grep-vprintfprintf'\t"data":[\n'{num=$(echo$((${#WEB_SITE[@]}-if["$i"!=${num}printf"\t\t{\n"printf"\t\t\t\"{#SITENAME}\":\"${WEB_SITE[$i]}\"},\n" "\t\t{ }}web_site_codeweb_site_code()/usr/bin/curl-o/dev/null-s-w%{http_code}}case"$1"inweb_site_code$2echo"Usage:$0{web_site_discovery|web_site_code输出格式如如果此处采用python则代码如#coding=utf8#Lastmodified:2013-04-1214:47#Author:itnihao#importosdevices=[]fordevpathindevice=os.path.basename(devpath)devices+=printprint自定key配置文#########cat/etc/zabbix/zabbix_agentd.conf.d/web_site_discovery.conf###########UserParameter=web.site.discovery,/etc/zabbix/scripts/web_site_code_statusweb_site_discoveryUserParameter=web.site.code[*],/etc/zabbix/scripts/web_site_code_statusweb_site_code$1如#########catzabbix_get-s-kzabbix_get-s-k 此时返回状态为至此,,客户端配置文件级别的设置:3个级 zabbixZabbixzabbix_server.confzabbix_agend.confZabbix本部分内容 .cn/s/blog一些图,其他基本没有什么 内容。如何度量Zabbix性ZabbixNVPS(每秒处理数值数)来衡量其性能。在Zabbix的dashboard上有一个错略的估值。在4核CPU,6GB内存,RAID10(带有写入缓存)这样的配置条件下,Zabbix可以处理每1M个数值,大约每秒15000 zabbixitem:Administration zabbix绘图中经常性出现,一些item没有数 nodata()函数的触发器出现 前端页面无哪些因素造Zabbix性能低因慢快 多少主机数量也是影响性能的主要因Zabbix工作状获得zabbix状zabbix[queue,1m延迟超过1分钟的获得zabbix组件工作状态(该组件处于BUSY状态的时间百分比)其中可用的参数为mode:avg,count,min,maxstate:Zabbix 确保zabbix组件性能处于被状态(调优的基础 使用硬件性能足够好的服 不同角色分开,使用各自独立的服务 使用分布式 MySQLZabbixZabbix数据库使用数据服务器,配置应该较给一个参考配置,可以处理NVPS为DellPowerEdgeCPU:InXeonL55202.27GHz(16cores)Memory:24GBRAMDisks:6xSAS10k每个table一个文件,修 使用分区表,关闭ALTERTABLE`acknowledges`DROPPRIMARYKEY,ADDKEY`acknowledgedid`ALTERTABLE`alerts`DROPPRIMARYKEY,ADDKEY`alertid`(`alertid`);ALTERTABLE`auditlog`DROPPRIMARYKEY,ADDKEY`auditid`(`auditid`);ALTERTABLE`events`DROPPRIMARYKEY,ADDKEY`eventid`(`eventid`);ALTERTABLE`service_alarms`DROPPRIMARYKEY,ADDKEY`servicealarmid`ALTERTABLE`history_log`DROPKEY`history_log_2`;ALTERTABLE`history_text`DROPPRIMARYKEY,ADDPRIMARYALTERTABLE`history_text`DROPKEYstep2.设置每月的分,以下步骤请在第一步的所有表中重 下例是为events表创建2011-5到2011-12之间的月,分区ALTERTABLE`events`PARTITIONBYRANGE(clock)PARTITIONp201105VALUESLESSTHAN(UNIX_TIMESTAMP("2011-06-0100:00:00")),PARTITIONp201106VALUESLESSTHAN(UNIX_TIMESTAMP("2011-07-0100:00:00")),PARTITIONp201107VALUESLESSTHAN(UNIX_TIMESTAMP("2011-08-0100:00:00")),PARTITIONp201108VALUESLESSTHAN(UNIX_TIMESTAMP("2011-09-0100:00:00")),PARTITIONp201109VALUESLESSTHAN(UNIX_TIMESTAMP("2011-10-0100:00:00")),PARTITIONp201110VALUESLESSTHAN(UNIX_TIMESTAMP("2011-11-0100:00:00")),PARTITIONp201111VALUESLESSTHAN(UNIX_TIMESTAMP("2011-12-0100:00:00")),PARTITIONp201112VALUESLESSTHAN(UNIX_TIMESTAMP("2012-01-0100:00:00"))为ioit表51552的分ALTERTABLE`history_uint`PARTITIONBYRANGE(clock)PARTITIONp20110515VALUESLESSTHAN(UNIX_TIMESTAMP("2011-05-1600:00:00")),PARTITIONp20110516VALUESLESSTHAN(UNIX_TIMESTAMP("2011-05-1700:00:00")),PARTITIONp20110517VALUESLESSTHAN(UNIX_TIMESTAMP("2011-05-1800:00:00")),PARTITIONp20110518VALUESLESSTHAN(UNIX_TIMESTAMP("2011-05-1900:00:00")),PARTITIONp20110519VALUESLESSTHAN(UNIX_TIMESTAMP("2011-05-2000:00:00")),PARTITIONp20110520VALUESLESSTHAN(UNIX_TIMESTAMP("2011-05-2100:00:00")),PARTITIONp20110521VALUESLESSTHAN(UNIX_TIMESTAMP("2011-05-2200:00:00")),PARTITIONp20110522VALUESLESSTHAN(UNIX_TIMESTAMP("2011-05-2300:00:00"))ALTERTABLE`history_uint`ADDPARTITIONPARTITIONp20110523VALUESLESSTHAN(UNIX_TIMESTAMP("2011-05-24删除分区(ALTERTABLE`history_uint`DROPPARTITIONstep4.自动分确认已经在step3的时候为history表正确创建了分区以下自动drop和创建分区,默认只保留最近3天,如果你需要天的,请修@mindays记将这条命令加入到你的cronmysql-B-hlocalhost-uzabbix-pPASSWORDzabbix-e"CALL

DELIMITERDROPPROCEDUREIFEXISTS`zabbix`.`create_zabbix_partitions`//CREATEPROCEDURE`zabbix`.`create_zabbix_partitions`()CALLzabbix.create_next_partitions("zabbix","history");CALLzabbix.create_next_partitions("zabbix","history_log");CALLzabbix.create_next_partitions("zabbix","history_str");C

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论