运维自动化之zabbix ( low-level discovery)(10)

需求自动发现网卡并监控每小时的总流量。


自定义的key如下:

[root@localhost zabbix_agentd.conf.d]# cat Traffic_statistics.conf
UserParameter=Interface.Discovery,awk -F '[: \t]+' 'NR>2{b[++n]=$2}END{printf "{\n\t\"data\":[\n";for(i=0;i++<n;){printf "\t\t{\n\t\t\t\"{#NETPORT}\":\"%s\"}",b[i];if(i<n)print ","};print "]}"}'  /proc/net/dev
UserParameter=Interface.Input[*], awk -F '[: \t]+' -vIF=$1 'NR>2{for(i=1;i<=NF;i++)if($$i==IF)print $$(i+1)}' /proc/net/dev
UserParameter=Interface.Output[*],awk -F '[: \t]+' -vIF=$1 'NR>2{for(i=1;i<=NF;i++)if($$i==IF)print $$(i+9)}' /proc/net/dev
[root@localhost zabbix_agentd.conf.d]#
[root@localhost zabbix_agentd.conf.d]# awk -F '[: \t]+' 'NR>2{b[++n]=$2}END{printf "{\n\t\"data\":[\n";for(i=0;i++<n;){printf "\t\t{\n\t\t\t\"{#NETPORT}\":\"%s\"}",b[i];if(i<n)print ","};print "]}"}'  /proc/net/dev
{
        "data":[
                {
                        "{#NETPORT}":"lo"},
                {
                        "{#NETPORT}":"eth0"}]}
[root@localhost zabbix_agentd.conf.d]#
[root@localhost zabbix_agentd.conf.d]#
[root@localhost zabbix_agentd.conf.d]# awk -F '[: \t]+' -vIF=eth0 'NR>2{for(i=1;i<=NF;i++)if($i==IF)print $(i+1)}' /proc/net/dev
38349889980


wKiom1MGxHGBmL3fAAIPqKY8NZo766.jpg


接着创建:

wKioL1MGxJ6yTp3kAAGzOCu1w5w353.jpg


页面如下:

wKiom1MGxUSihvAzAAH9M3ZSVkM852.jpg


先看看正则表达式吧。

wKiom1MGxaPh73CvAALhDudvTeU215.jpg



下面的就不��嗦了,对于你们来说应该是很简单的

wKiom1MGxiyQ7fzDAAHzfN8wZwM840.jpg


正则弄明白了,{#NETPORT}又是哪儿来的?

wKioL1MGxpyhJT0hAADhY7LZJXc678.jpg


现在都明白了吧。那我们继续创建2个监控项,input和output

wKiom1MGx6GzIHYBAAJsY9NSyAE734.jpg

再添加一个graph。就不再上图了。


最后看结果:


wKioL1MGx_WBSZBiAAXCBMF1iQ0827.jpg


low-level discovery 挺简单吧。


你可能感兴趣的:(网卡,zabbix,运维自动化)