1 建议大家使用英文界面
2 添加一个主机host,Centos主机
sp1.在客户端安装agent端
./configure--prefix=/usr/local/zabbix --enable-agent或者rpm安装
sp2.修改/etc/zabbix/zabbix_agentd.conf
Server=60.60.60.11#你的Zabbix Server的地址
ServerActive=60.60.60.11:10051#如果开启,那么就是客户端主动发送信息,否则服务端主动过来提取信息
sp3.启动zabbix_agentd服务
sp4.在zabbix的网页配置界面,选择Configuration-Hosts-Create host,注意hostname一定要和原来的系统的一致
然后选择模板,注意一定要add
如何查看刚刚添加的那么多内容呢
进入Configuration-Host就可以看到刚刚添加的host了,点击那一排的graph
priview就可以看到基本信息了
由于模板预定义是一分钟,所以如果你看不到信息请耐心等待
发现一个graph不够全面,我们还可以添加screen,Configuration-screen-create screen
3 简单自定义模板
sp1.添加不含参数key
1.1 在客户端的/etc/zabbix/zabbix_agentd.conf.d/添加一个count.line.passwd的key,文件名为key_name.conf,当然方便的可以去在/etc/zabbix/zabbix_agentd.conf直接加上如下一行
UserParameter=<key_name>,scripts
这里的例子是
UserParameter=count.line.passwd,wc -l /etc/passwd|awk '{print $1}'
1.2 在服务器端检查是否能从key获得数据,有数据返回才行
# zabbix_get -s 127.0.0.1 -k 'count.line.passwd'
32
1.3在Web UI添加template,Configration-Templates-create templates
1.4 找到刚刚的模板,Configuration-Templates,单机模板后面一排的items项,这是最小单位了,然后create item
New application自己填一个
1.5 添加graph
这时候priview是没有数据的,因为没绑定主机呢,自己点进host增加模板吧
把它放到刚刚的屏幕里面
这样基本一个自定义的模板就ok了
sp2.带参数的key
UserParameter=key_name[*],scripts
scripts中可以使用Web UI给的参数,$1为第一个参数,如果脚本中用到$1,用$$1代替避免混淆
这里举个获取网卡流量的例子,大家可以看下
可以获得多少MiB流量
perl如下,我写的很烂啦
#!/usr/bin/perl -w
my $nic = $ARGV[0];
my $type = $ARGV[1];
my $line = `ifconfig $nic|grep bytes`;
my @info = $line =~ /\((\d+\.\d+)\s+MiB\)/g;
if ("\U$type" eq "RX"){
print $info[0];}
elsif ("\U$type" eq "TX"){
print $info[1];}
else {
print 0;}
# mkdir /etc/zabbix/externalscripts
# cp NIC.flow.pl /etc/zabbix/externalscripts/
然后在/etc/zabbix/zabbix_agentd.conf.d/添加NIC.flow.conf文件
UserParameter=NIC.flow[*],/usr/bin/perl NIC.flow.pl $1 $2
检验你的key
# zabbix_get -s 60.60.60.11 -k 'NIC.flow[eth0,rx]'
27.2
然后在模板中添加key,相信大家已经轻车熟路了,添加模板,添加item
添加graph,然后在主机上应用模板
如果有问题请注意几个问题:
1 你的item选择的类型是不是float型,有没有自己乘上1024*1024
2 在添加host的时候,你的host name那么是否是真的hostname,不是请自己修改
最终我把它放到了屏幕上
最终我们自定义的带参数的key添加成功。
QAQ:
补上最近一个问题:
1 key怎么添加都添加不上,原来的key却能用?
之前一直想不明白,各种排除法,打开zabbix.agentd.log文件,发现没有重启成功,瞬间自己都尴尬了,使用
fuser -k -n tcp 10050 && service zabbix_agentd start解决
2 自带模版监控mysql?
需要把编译解压的conf目录中的user_parameter_mysql.conf文件放到你放conf文件的地方,然后最好cp /etc/my.cnf ~/.my.cnf有时候会找不到path