*配置编译:
./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()[function.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
在Administrator->Users 可以添加用户和