问题描述
我现在需要从Zabbix的命令输出中获取有关LTE / 3G连接的一些信息。 Routerboard是6.47.7版本。
[admin@Mikrotik_24] > interface lte info lte1 once
pin-status: ok
registration-status: registered
functionality: full
manufacturer: "MikroTik"
model: "R11e-LTE"
revision: "MikroTik_CP_2.160.000_v008"
current-operator: MTS
psc: 295
lac: 5205
current-cellid: 241903616
access-technology: 3G
session-uptime: 21h3m18s
imei: 355654090621868
imsi: 250016652966098
uicc: 89701011266529660988
earfcn: 10762
ecno: 0dB
RSSi: -95dBm
例如“ RSSi”,“访问技术”,“ uicc”等。
此类命令的问题由他们自己描述-数据无限传播,您无法轻松掌握。 https://wiki.mikrotik.com/wiki/Manual:Scripting_Tips_and_Tricks#Get_values_from_looped_interactive_commands_like_.22monitor.22
/interface lte info lte1 once do={:global at $"access-technology" }
和终端中的“:put $ at”可以正常工作。但是我认为通过执行另一个脚本来显示此生成的var $ at来获取SNMP的结果。他们使用OID可能是出于“脚本结果”的目的。 问题是如何在脚本中输出此var?
[admin@Mikrotik_24] > /system script export compact
# oct/31/2020 01:52:57 by RouterOS 6.47.7
# software id = PW8X-NNQ5
#
# model = RouterBOARD wAP R-2nD
/system script
add dont-require-permissions=no name=at owner=admin policy=\
ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon source=\
"/interface lte info lte1 once do={:global at \$\"access-technology\" } \r\
\n"
add dont-require-permissions=no name=at_result owner=admin policy=\
ftp,romon source=":put \$at"
[admin@Mikrotik_24] > :environment print
at="3G"
[admin@Mikrotik_24] > /system script environment print
# NAME VALUE
0 at 3G
[admin@Mikrotik_24] > /system script run at_result
[admin@Mikrotik_24] >
您看到,/ system脚本运行在at_result为空,但是在终端中我可以看到它
[admin@Mikrotik_24] > :put $at
3G
[admin@Mikrotik_24] >
解决方法
好的。脚本var的正确形式是
expressApp.post('/delete',function (request,response) {
const id = request.body.id;
console.log(id)
MongoClient.connect(url,function (err,db) {
if (err) throw err;
let dbo = db.db(dbName);
dbo.collection("Members").deleteOne({"_id": objectId(id)},res) {
if (err) throw err;
db.close();
});
});
response.redirect('/agileApp');
});
t: function (index) {
fetch(membersUrl).then(function(response) {
return response.json();
}).then(function (data) {
const formData = new FormData();
formData.append("id",data[index]._id);
for (var pair of formData.entries()) {
console.log(pair[0]+ ',' + pair[1]);
}
fetch(deleteUrl,{
method: 'POST',body: formData
})
})
}
我必须先声明它。