这节内容,我向各位保证,您不会打一丁点linux的命令,甚至都不会进入linux的界面。全程都是在您熟悉的windows环境和web界面下操作。
part1,搭建windows的客户端环境
首先,需要去zabbix官网下载一个windows的zip客户端安装在机器上,由于是做实验是可以自己主机充当windows客户端,而虚拟机当监控端。截止本文完成时间,目前最新的客户端版本是2.6,但是只有linux的,windows还是2.4,如图:
下载到C盘,解压缩之,然后在C盘的根目录下建立一个zabbix的空文件夹,将下载下来并且解压缩完毕的这个文件夹/bin/win64里面的三个exe文件全部copy到zabbix这个空文件夹里。同时再返回那个解压缩的文件夹,把conf文件下的zabbix_agentd.win.conf文件copy到C盘的根目录下,同时改名叫zabbix_agentd.conf。
同时打开zabbix_agentd.conf,修改里面的配置信息,需要把server和serverActive都从127.0.0.1改成监控端的ip地址,host名字就是windows的名字就行,保存退出。如果保存的时候出现“访问被拒绝”,那就是在C盘下没有使用管理者权限操作,要么去调整一下 administator的权限,要不就在别的盘里把这个conf文件改好了,然后剪切到C盘根目录下。
然后打开cmd,进入C:\zabbix,里面不是有刚刚copy过来的三个exe文件吗?执行其中的zabbix_agentd.exe,具体语句如下:zabbix_agentd.exe --install,回车之后会看见两个successfully,证明客户端已经安装成功。
然后进入“服务”找到zabbix_agent,手动启动它。启动完毕发现C盘根目录下多了一个zabbix_agentd.log的日志文件,可以打开这个日志文件,如果里面说“目标计算机积极拒绝神马的”,那是因为你的监控端防火墙开启状态,先不用管他。至此,整个客户端环境搭建完毕。
part2,获得windows的各项指标
在cmd终端输入typeperf -qx > c:\指标.txt,然后会生成一个1M多的文本文件,可见一台电脑可以监控的项目竟然有这么多,这里举两个例子,一个叫\Processor(_Total)\% Processor Time,另一个叫\Processor(_Total)\% User Time,其实个数是没有限制的,爱找几个找几个,只不过后期在zabbix看到的图片跟盘丝洞似的。
上面举的这两个例子分别是\Processor(_Total)\% Processor Time,这个是7路进程cpu的总利用率,还有一个是\Processor(_Total)\% User Time,他是非核心操作消耗的cpu时间,我的机器同样是7路进程,这个也是总的时间数据。如果数据库在翻箱倒柜鸡头白脸的找数据,那么这两个数据就会变得很大值,这个时候需要发出警报告诉运维人员考虑优化一下算法。
打开C盘根目录下的那个zabbix_agentd.conf,然后在文件最末端输入一行字:
PerfCounter = UserPerfCountercpu,"\Processor(_Total)\% Processor Time",3
注意,这个命令的格式必须这么写,这是硬性规定,以上命令翻译成人话是:
计数器 = 一个查cpu的计数器,"链接的点是\Processor(_Total)\% Processor Time",每隔三秒查一次。
土黄的部分必须跟电脑的自带值一模一样,不然就会查不到,绿色的可以自己命名,绿色部分这个叫键值,在zabbix配置的时候需要用,必须一模一样,所以最好起一个有把握的名字,时间间隔可以根据实际情况设定。
同理,第二个被监控项就这么写:
PerfCounter = UserPerfCountercpuUsertime,"\Processor(_Total)\% User Time",3
保存退出,之后再去“服务”里把zabbix_agent给重新启动一下。
这里再多说一句,有些同学可能偷懒没有取得管理员权限,而是把那个conf文件又提出来,把两行字输入到文件末端,然后再故技重施拷贝回C盘根目录,可能这个时候会出现“错误0x0070522:客户端没有所需的权限”,这个情况下,用管理员模式启动cmd,输入“icacls c:\ /setintegritylevel M”,注意c盘符后面有个空格,要是没有空格的话会提示“无效参数M”。这样就可以拷贝回C盘了,如果是要copy去D盘,那就把命令的c:\改成d:\就行。
Part3,建立群组和主机
打开浏览器,地址栏输入“你的主机IP地址/zabbix",进入监控平台界面,选择上面的”组态“,然后点击”主机群组“,最右边有一个”创建主机群组“,这个是群组,组名随便写,因为是windows服务端,就写windowsServer,然后直接点击添加就行。
然后在“主机群组”旁边的旁边有一个主机,点击右上角的创建主机,注意,现在是主机了,也就是具体的客户端,主机名称输入主机的IP地址,可见名称随便写,这个可见名称就是以后在web监控平台上显示的名称,然后在群组选择里面就选择刚刚建立的那个windowsServer,如果一个主机没有群组是无法添加的。然后在下面把127.0.0.1改成主机的IP地址,其他DNS什么乱七八糟的就可以不用管,添加即可。
这样的话,这个被监控的对象就锁定了,但是由于没有添加里面具体的被监控项目,所以整个过程还没有结束。
Part4,定义监控项和图形
很多朋友很好奇,说了那么多的zabbix,又安装又设置的,七大姑八大姨扯了好几篇子,具体运行出来是骡子还是马?其实zabbix一个监控的结果就是以波浪线的形式在一个坐标轴上画图,随时随刻记录被监控项的数值。其中一个图形里可以有多个监控项的图线,持练当空舞。
选择屏幕左上面的“组态”,然后选择模板,模板是具有共同特性的监控项,即一类监控项的集合。在右边点击“新建模板”,模板名称写成“windowsServer”,可见名称也可以这么叫,而群组不选择我们之前的那个windowsServer,而是Templates(模板),然后点击添加,添加完毕之后再回到这个界面,看见上面有一个“项目(0)”,点击一下之后选择“创建监控项”。
监控名称写ProcessCpu,下面的键值必须要跟C盘根目录下conf那个文件最后两行的绿色内容完全一致,字符类型选择浮点型,单位%,其他的默认即可。然后“存档”。
然后再把第二个监控项User Time如法炮制添加进来。现在就有两个监控项,然后在一个坐标里体现出来。
选择项目(2)旁边的旁边那个“图形”,右上角创建图形,图形名称随便起,叫CPU就挺好。然后下面那些什么长宽高默认就行,最下面有一个项目,把刚刚那俩监控项打勾然后选择进行添加。然后就可以选择这两个监控项图线的颜色,绘图风格,左边出还有右边出还是中出等等乱七八糟的。最后选择添加。
再点击“主机群组”,点击成员,成员栏目里是刚刚设置的“可见的名称”,点击进来之后,右上面主机的旁边有一个模板,点击之后有一个“链接新模板”,“选择”出来一个表单,最下面有刚刚建立的那个windowsServer,打勾选择,更新。检查一下项目和主机里所有的监控项是不是处于“已启用”状态,如果有lost或者problem,就处理一下。
这时就可以点击界面左上面的检测中,选择图形,把群组选成windowsServer,主机选成建立的那个主机名,图形选择起好的图形名字,然后一个坐标轴就出现了。图表下面有监控项的各种数值,图表里就是两条曲线在双龙戏珠。
至此整个过程完毕。
Part5,总结
zabbix有一个群组的概念,这个群组是用来装载主机的,同是windows的系统装载到一个群组里,同是linux的装到另一个群组里,IOS的又找一个群组塞进去。而模板是用来装载“监控项目”“触发器”和“图形”,而图形是用来输出监控项的状态。
本文转自 苏幕遮618 51CTO博客,原文链接:http://blog.51cto.com/chenx1242/1738505