监控软件学习之zabbix篇.docx
- 文档编号:24232977
- 上传时间:2023-05-25
- 格式:DOCX
- 页数:37
- 大小:662.41KB
监控软件学习之zabbix篇.docx
《监控软件学习之zabbix篇.docx》由会员分享,可在线阅读,更多相关《监控软件学习之zabbix篇.docx(37页珍藏版)》请在冰豆网上搜索。
监控软件学习之zabbix篇
监控软件学习之Zabbix篇
Part1.Zabbix简介
一、 Zabbix简介
ZabbixZabbix是一个提供Web管理界面的企业级的开源系统/网络监控分布式监控解决方案,由一个国外的团队持续维护更新,软件可以自由下载使用,运作团队靠提供收费的技术支持赢利。
官方网站:
Zabbix1.8官方文档:
Zabbix通过C/S模式采集数据,通过B/S模式在web端展示和配置。
被监控端:
主机通过安装agent方式采集数据,网络设备通过SNMP方式采集数据
Server端:
通过收集SNMP和agent发送的数据,写入MySQL数据库,再通过php+apache在web前端展示。
Zabbix运行条件:
Server:
ZabbixServer需运行在LAMP(Linux+Apache+Mysql+PHP)环境下,对硬件要求低
Agent:
目前已有的agent基本支持市面常见的OS,包含Linux、HPUX、Solaris、Sun、windows
SNMP:
支持各类常见的网络设备
二、 Zabbix功能
●∙具备常见的商业监控软件所具备的功能(主机的性能监控、网络设备性能监控、数据库性能监控、FTP等通用协议监控、多种告警方式、详细的报表图表绘制)
●∙支持自动发现网络设备和服务器
●∙支持分布式,能集中展示、管理分布式的监控点
●∙扩展性强,server提供通用接口,可以自己开发完善各类监控
三、 优劣势
优点:
●∙开源,无软件成本投入
●∙Server对设备性能要求低(实际测试环境:
虚拟机RedhatELAS5,2GCPU1G内存,监控5台设备,CPU使用率基本保持在10%以下,内存剩余400M以上)
●∙支持设备多
●∙支持分布式集中管理
●∙开放式接口,扩展性强
缺点:
●∙全英文,界面不友好
●∙无厂家支持,出现问题解决比较麻烦
●∙需在被监控主机上安装agent
安装前先配置好PHP,要求支持php-gd、php-bcmath、php-xml、php-mysql、php-net-socket、php-mbstring,即configure参数中加上–with-gd–enable-bcmath–enable-xml–with-mysql–enable-sockets–enable-mbstring
下面开始安装Zabbix:
下载并解压:
tarzxvfzabbix-1.8.2.tar.gz
cdzabbix-1.8.2
*创建zabbix用户组和用户:
groupaddzabbix
useraddzabbix-gzabbix
*创建mysql数据库:
createdatabasezabbixcharactersetutf8;
*创建mysql用户:
grantallonzabbix.*tozabbix@localhostidentifiedby'zabbix';
*导入表和数据:
mysql-uroot-pzabbix mysql-uroot-pzabbix mysql-uroot-pzabbix *配置编译: ./configure--enable-server--enable-proxy--enable-agent--with-mysql=/usr/local/mysql/bin/mysql_config--with-net-snmp--with-libcurl make&&makeinstall 配置参数说明: –enable-server安装ZabbixServer –enable-proxy安装ZabbixProxy –enable-agent安装ZabbixAgent –with-mysql使用mysql做数据库服务器 –with-net-snmp支持SNMP –with-libcurl支持curl,用于web监控 *服务端口定义: 编辑/etc/services,在后面追加: zabbix-agent10050/tcp#ZabbixAgent zabbix-agent10050/udp#ZabbixAgent zabbix-trapper10051/tcp#ZabbixTrapper zabbix-trapper10051/udp#ZabbixTrapper *复制配置文件: mkdir/etc/zabbix cpmisc/conf/zabbix_server.conf/etc/zabbix/ cpmisc/conf/zabbix_proxy.conf/etc/zabbix/ cpmisc/conf/zabbix_agent.conf/etc/zabbix/ cpmisc/conf/zabbix_agentd.conf/etc/zabbix/ *修改zabbixserver配置文件/etc/zabbix/zabbix_server.conf中的数据库用户名和密码: DBUser=zabbix DBPassword=zabbix *安装启动脚本 cpmisc/init.d/redhat/zabbix_server_ctl/etc/init.d/zabbix-server cpmisc/init.d/redhat/zabbix_agentd_ctl/etc/init.d/zabbix-agentd 添加可执行权限: chmod+x/etc/init.d/zabbix-server chmod+x/etc/init.d/zabbix-agentd 修改zabbix-server变量定义: BASEDIR=/usr/local ZABBIX_SUCKERD=$BASEDIR/sbin/zabbix_server 修改zabbix-agentd头部变量定义: BASEDIR=/usr/local ZABBIX_AGENTD=$BASEDIR/sbin/zabbix_agentd *添加到启动服务: chkconfig--addzabbix-server chkconfig--addzabbix-agentd chkconfigzabbix-serveron chkconfigzabbix-agentdon 如何让ZabbixServer和Zabbixagentd开机自动运行,免得每次都要手动运行,步骤如下: 1.复制zabbix源程序misc/init.d/redhat下的启动脚本到/etc/init.d目录下 cp/zabbix/zabbix-1.6.6/misc/init.d/redhat/zabbix_server_ctl/etc/init.d/zabbix_server cp/zabbix/zabbix-1.6.6/misc/init.d/redhat/zabbix_agentd_ctl/etc/init.d/zabbix_agentd 2.修改启动脚本使其支持redhat的chkconfig,分别在两个脚本的#! /bin/sh后加入如下两行注释,注意要行前要加“#”哦 #chkconfig: -9595 #description: ZabbixServer 3.修改启动脚本中BASEDIR和ZABBIX_SUCKERD,制定到zabbix_server和zabbix_agentd的安装位置,如: BASEDIR=/usr/local/sbin ZABBIX_SUCKERD=$BASEDIR/zabbix_server 4.使用chkconfig将其加入init的启动服务 chkconfig--addzabbix_server chkconfig--addzabbix_agentd chkconfig--level345zabbix_serveron chkconfig--level345zabbix_agentdon 4.使用chkconfig--list检查一下 chkconfig--list|grepzabbix 输出如下: zabbix_agentd 0: off 1: off 2: off 3: on 4: on 5: on 6: off zabbix_server 0: off 1: off 2: off 3: on 4: on 5: on 6: off *启动ZabbixServer: /etc/init.d/zabbix-serverstart *启动ZabbixAgentd /etc/init.d/zabbix-agentdstart *复制WebInterface到web目录: cp-rfrontends/php/data/wwwroot/ Zabbix会使用到fping,可以使用yuminstallfping安装,如果yum无此软件,可使用源码安装 进入fping解压后的源代码目录 ./configure makeinstall 修改/etc/zabbix/zabbix_server.conf FpingLocation=/usr/local/sbin/fping *开始安装ZabbixWebInterface 打开http: //192.168.9.23/zabbix/,看到提示: ∙date()[ Itisnotsafetorelyonthesystem'stimezonesettings.Pleaseusethedate.timezonesetting,theTZenvironmentvariableorthedate_default_timezone_set()function.Incaseyouusedanyofthosemethodsandyouarestillgettingthiswarning,youmostlikelymisspelledthetimezoneidentifier.Weselected'Asia/Chongqing'for'CST/8.0/noDST'instead[/data/wwwroot/ ∙TimezoneforPHPisnotset.Pleaseset"date.timezone"optioninphp.ini. 修改php.ini中时区设置: date.timezone=Asia/Shanghai 继续http: //192.168.9.23/zabbix/ 修改php.ini post_max_size=32M upload_max_filesize=16M max_execution_time=600 max_input_time=600 memory_limit=256M 默认编译没有加上bcmath,手动加上 cd/usr/local/src/monitor/php-5.2.13/ext/bcmath /usr/local/php-5.2.13/bin/phpize ./configure--with-php-config=/usr/local/php-5.2.13/bin/php-config make makeinstall 编辑php.ini extension_dir="/usr/local/php-5.2.13/lib/php/extensions/no-debug-zts-20060613/" 在其下增加一行: extension=bcmath.so cd/data/wwwroot/ chmod777conf Retry *结束: 安装完后直接访问: http: //192.168.9.23 输入管理用户名: admin默认口令zabbix登陆。 进入Configuration-》Hosts选择ZabbixServer然后ActivateSelect,ZabbixServer(本机)的监控激活。 进入MonitoringDashboard,可以看到ZabbixServer的监控结果! 汉化: zabbix本身有中文版,不过不够好,可以使用以下汉化文件 下载汉化文件: wget tarzxvfcn_zh.inc.php_.tar.gz mv/data/wwwroot//data/wwwroot/ cpcn_zh.inc.php/data/wwwroot/ 在hosts上配置agent Zabbix需要在被监控的host上安装agent,在zabbix官网上下载相应平台的agent包到各被监控端,按如下方式在被监控上运行agent。 (注: 官网上下载的agent包里没有运行agentd所必须的配置文件,可以从zabbixserver上拷贝一份zabbix_agentd.conf,这个conf文件是所有平台都通用的) Linux、UX: Linux、UX上的agent是编译好了的,不用安装 #cd/usr/local/zabbix #tarzxvfzabbix_agents_1.8.linux2_6.i386.tar.gz 取一份server上的zabbix_agnetd.conf到本地,然后按说明修改,一般我们只需修改如下3个参数: Hostname=本机名 Server=ZabbixServerIP LogFile=本机agentd日志保存文件 修改完成后,运行agentd #/usr/local/zabbix/sbin/zabbix-agentd–c/usr/local/zabbix/zabbix_agentd.conf& #ps–ef|grepzabbix_agentd 如果进程没起来,可查看agentd.log日志来排查问题。 (注: 启动时建议用全路径,否则可能会出错) 加入开机运行 #echo‘/usr/local/zabbix/sbin/zabbix-agentd–c/usr/local/zabbix/zabbix_agentd.conf& ‘>>/etc/rc Windows: Windows下解压客户端包到c: 下载修改好的zabbix_agentd.conf文件也放到c: 打开cmd命令行,执行 C: >zabbix_agentd–install 安装后会在系统服务里添加一个zabbix_agentd服务,会自动开机运行 如果需要将客户端和配置文件放在其他目录,请执行 C: >DIR/zabbix_agentd–cDIR/zabbix_agentd.conf–install 启动agentd服务 C: >zabbix_agentd–start 或是通过管理->服务找到zabbix_agentd来启动 Part3.配置使用 通过本地浏览器访问http: //ServerIP/zabbix来开始配置和使用zabbix。 使用zabbix进行监控之前,要理解zabbix监控的流程。 一次完整的监控流程可以简单描述为: HostGroups(设备组)->Hosts(设备)->Applications(监控项组)->Items(监控项)->Triggers(触发器)->Actions(告警动作)->Medias(告警方式)->UserGroups(用户组)->Users(用户) 一、 添加 Hosts Host是Zabbix监控的基本载体,所有的监控项都是基于host的。 通过Configuration->Hosts->CreateHost来创建监控设备 按提示填入Name、Groups、IP,其他选项默认即可,LinkTemplates 处选择一个模板,save即可成功添加设备。 (注: 如果host上没安装agent,添加后的状态会是unmonitor,会采集不到值,Zabbix自带大量的设备监控模板,我们添加主机时通过link到这些模板,就可以快速添加主机的监控项和告警触发条件。 ) 一类的hosts可以归属到同一个HostGroup,便于分类管理同一类设备,在Configuration->HostGroup->CreateHostGroup 可以添加设备组 二、 添加 Items Item是监控项,是监控的基本元素,每一个监控项对应一个被监控端的采集值。 在Configuration->Hosts界面,我们能看到每个host所包含的items总数,点击对应主机的items项,可以看到具体的每个item信息,这些items可以引用自templates,也可以自己创建。 通过点击具体item名字可以修改已有监控项的属性,点击Satus的链接可以禁用/启用这个监控项。 (注: 我们可以通过新建一个template,在template中禁用掉所有不需要用到的items,然后把同一类hostslinkto这个template,就不用一台台主机去更改items) 新增item可以通过点击右上角的createitem来创建 按提示逐项填入相关信息即可,其中key是zabbix已经自带的取值方法,Application类似于hostgroups,是item的组。 (itemkey也可以自定义,后面会讲到如何自定义监控项) Zabbix自带非常多的监控采集项及方法,基本能满足当前所有的监控功能,这些都包含在item的 itemkey中了,更多的type和key的解释请参考: 三、 添加 Triggers Trigger是触发器,当Items采集值满足triggers的触发条件时,就会产生actions。 每一个trigger必须对应一个item,但一个item可以对应多个trigger。 同样,通过点击Configuration->Hosts->Triggers中某个trigger的名字,可以修改trigger的属性。 (注意: 引用自template的trigger触发值是不能单独修改的,必须在template中修改,或是复制一个同样的trigger再修改,然后禁用掉之前的) 新增trigger可以通过点击右上角的createtrigger来创建 Expression中选择对应的item、触发方式及触发值,Severity是告警级别,根据trigger的严重性来选择。 Zabbix 提供多种trigger触发方式供选择,常用的我们可以选择lastvalue>/=/#/N(最近一次采集值),或是选择maximalvalueforperiodoftime(一段时间内的最大值),等等。 可以根据实际需要来设定触发方式。 更多的解释请参考: 四、 添加 Actions Action是告警动作,当触发器条件被满足时,就会执行指定的action。 通过Configuration->Actions->CreateAction来创建Action Eventsource: 来源,如果选择triggers,即所有的triggers条件满足时都会执行这个action Escalations: 告警是否升级,及升级时间 Subject、Message: 告警标题和内容 ,此处可引用zabbix的宏变量;例如 {{HOSTNAME}: {TRIGGER.KEY}.last(0)}表示最后一次采集值,更多宏变量参考: RecoveryMessage: 告警恢复信息,不勾选系统会用默认的,勾选后自定义 Conditions: trigger产生的条件,条件可以多选 Operation: 选择media 及user 五、 添加 Medias Media,即告警方式,Zabbix可以提供四类Media: Email/SMS/Jabber/Script,通过Administrator->MediaType来修改或新增告警方式 Email方式最常用的,填入相关的SMTP信息,即可通过邮件方式发送告警。 SMS方式要在server主机上接入短信modem。 Jabber方式是一种linux下的即时通讯工具,通过Jabber发送即时消息。 Script方式可以通过自己编写程序或脚本的方式发送告警信息。 六、 添加 Users 在Administ
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 监控 软件 学习 zabbix