Skip to content

Commit

Permalink
Merge pull request #250 from OpenAF/#249
Browse files Browse the repository at this point in the history
  • Loading branch information
nmaguiar authored Feb 7, 2025
2 parents fd744f9 + 2a1f8d1 commit 3d778b6
Show file tree
Hide file tree
Showing 12 changed files with 366 additions and 160 deletions.
26 changes: 13 additions & 13 deletions .package.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,9 @@ name: nAttrMon
main: nattrmon.js
mainJob: ''
license: Apache 2.0 license
version: '20250113'
version: '20250207'
dependencies:
openaf: '>=20230704'
openaf: '>=20241117'
files:
- .gitignore
- .package.yaml
Expand Down Expand Up @@ -288,7 +288,7 @@ filesHash:
config/inputs.disabled/js/13.ListDirFiles.js: 036bbed7d54bc873a5437fa757af5e7b757b9345
config/inputs.disabled/js/22.fraud.snapshots.js: 1af700aa9302c8a0b0a3e381dac357922d2d2a39
config/inputs.disabled/js/41.fms.rulestatus.js: cd8b30f94543a6fa3ada1c455da4e0accc3ca770
config/inputs.disabled/yaml/00.init.yaml: 05be480e07dd873a157efc1b868ffd15e75d1897
config/inputs.disabled/yaml/00.init.yaml: b5a62f7848a263730352eae45dcfd557eac73f84
config/inputs.disabled/yaml/01.ping.yaml: fe3c634d7b0beff66a59484a315fcc205ffe1ca9
config/inputs.disabled/yaml/01.test.yaml: 1f769bf740a9820d8ed8f4684f74c7e53611a765
config/inputs.disabled/yaml/02.showIgnoredPlugs.yaml: 4d9c788bb2069018ab4f3f9ce41504ddc8931670
Expand Down Expand Up @@ -393,19 +393,19 @@ filesHash:
config/objects/nInput_EndPoints.js: 56ebe885b9af2e39d19578f0cf34df44ee9d5f6f
config/objects/nInput_FMSRuleStatus.js: 1acccca00b89a38cd53891601f66401f3513f782
config/objects/nInput_FilesProcessed.js: 66538c2281edbbc8598a5f9d212f9c6e247384d4
config/objects/nInput_Filesystem.js: 59f6c245ec5acf11111d92ea0f83797214bf6030
config/objects/nInput_Filesystem.js: c24a852ad6dbe168c7a543f49b010e72df67432a
config/objects/nInput_FilesystemCount.js: e36218f7c2ffa39438f1c1d22ad982c04e0fd4a0
config/objects/nInput_HTTPJson.js: 3bf9fc0a1d15592f46331725370577bbadc382b9
config/objects/nInput_IMAbnormalLoadings.js: b7d86f2f5b70e218de6967a52114cac15fe5b570
config/objects/nInput_IMLoadingsProgress.js: 1987633b3cf1ee4f8a1f74a7441f386637aa93a6
config/objects/nInput_IMMemory.js: 69f6e3d39aa5a75c83d2e4f8e2ece0b28df7e3f1
config/objects/nInput_Init.js: 9631c3e1fb87117000eb9da225ae760c9a4cd1a0
config/objects/nInput_Init.js: d2541ef0d2696ab1d4ecc338a4aa91a2154c19c8
config/objects/nInput_JMX.js: fce9011c729efafd1abe79588a274ee36aac3c16
config/objects/nInput_JavaGC.js: 49acab1ac18ee25630e1845ee9d4f5a17b5767ef
config/objects/nInput_Kube_Events.js: 7a36aa2e72973d9369b856c6ef2ce4eddcab8459
config/objects/nInput_Kube_NodesMetrics.js: 1eb83e5f43535c9b688424a022c4bcb38fc791f3
config/objects/nInput_Kube_Pods.js: 3afb158052eb3eb1b9ffb70d68f0fa23c20b7c81
config/objects/nInput_Kube_PodsMetrics.js: c9255fc8c0e310dff7dd0181487a3e4b0dbb46a0
config/objects/nInput_Kube_NodesMetrics.js: 182bc697ef68d44db0f31ee5483e7157aaa7ec66
config/objects/nInput_Kube_Pods.js: 920eb13eecc2ff12d565278292d3a98d300812f5
config/objects/nInput_Kube_PodsMetrics.js: ad2ce33e1dfa3b085f0289b4e2a9a5fa7cd7c408
config/objects/nInput_LogErrorAgg.js: 43e3809d524752c55f7c58403661beb8e623f52b
config/objects/nInput_OSInfo.js: b8548f6d69dea80553fbef3e6e8d6552c15362e9
config/objects/nInput_OpenMetrics.js: 67c90bf64c35d639499c7bbf8273af715050ee5d
Expand All @@ -419,7 +419,7 @@ filesHash:
config/objects/nInput_Schedulers.js: 96771d166e2574b6d5a526cc6025ad3abf1363d4
config/objects/nInput_Semaphores.js: 9b0c0d8ca1b1c33d8faeaae89738360c8569534e
config/objects/nInput_Sessions.js: e4adb3f97db438aa0524ba3a1efebd615d7c3057
config/objects/nInput_Shell.js: 665ceb67aa726a20b370ada8cd412bcb530335f9
config/objects/nInput_Shell.js: 06740a834815c664f3a28018a533d37e3d8f3427
config/objects/nInput_nAttrMon.js: c8ec9f45f724e7372b02751b893178490587641b
config/objects/nOutput_AWSCloudWatch.js: 7e481df8405dd5f00f62350af1e0a10feb7fb457
config/objects/nOutput_ChMirror.js: c1b5d965320aac73d90f0a6e12ae0a4123f8afd5
Expand All @@ -430,9 +430,9 @@ filesHash:
config/objects/nOutput_H2.js: f812e07f5bb7c396e55a8c70e7c4d8112b9435a6
config/objects/nOutput_HK.js: c9887fd101189ea35deaa8cdaddb280563856e01
config/objects/nOutput_HTMLStatus.js: 5672ea6092958891bb4a3a8eb3e8317c6e250600
config/objects/nOutput_HTTP.js: 503eb7a2f8125aae56757ded7ae0e64915193aa5
config/objects/nOutput_HTTP_HealthZ.js: 557b493bc6cba42bc913376b8bc607700521f730
config/objects/nOutput_HTTP_JSON.js: 73c4619994bf56f923fc3d2860e0aa6b422e3748
config/objects/nOutput_HTTP.js: cf45ff36043e11dd5ebffa51151d87a385950aea
config/objects/nOutput_HTTP_HealthZ.js: 11e2470b1cd0894be17315c80479c036d29485db
config/objects/nOutput_HTTP_JSON.js: 21f249491a75cddb6450c01efc53b4b25bafe982
config/objects/nOutput_HTTP_Metrics.js: 5bded6aa018da2ca1657806048560aac5c59e4a0
config/objects/nOutput_HTTP_Status.js: c4e56e646bfe3dd1d063604b5ab40bc0f618ff66
config/objects/nOutput_Log.js: 69ef02bb37d306deb390f303a8bbf6e2234be792
Expand Down Expand Up @@ -491,7 +491,7 @@ filesHash:
lib/nattributes.js: 58c0d8f1dcb36244afc91bdd7678dc9b639f1f38
lib/nattributevalue.js: 216e3ed7187625320ac73fa2f4c9974a1c52d3c0
lib/ninput.js: 1c1f8be902e3ace70f762a1b038e4271513b121c
lib/nmain.js: 8f2decc322a89d220662f75a6d7a70daaca4f0b3
lib/nmain.js: 2efd9987d59edcca43f4460d0627c9e53482bd5b
lib/nmonitoredobject.js: bb75336ba5a66fbba2db45faeb06ec9b3bc4f6a7
lib/noutput.js: 15b98844838bdd503e6bcc9f8b39ecd681c6a49b
lib/nplug.js: df6a1feb12a0791adf6a8dd5a2e47c675a02a375
Expand Down
5 changes: 5 additions & 0 deletions config/inputs.disabled/yaml/00.init.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,7 @@ input:
responseCode : 200
includeLatency: true

# _retriesBeforeDestroy: 3
# Kube:

# DB:
Expand All @@ -103,6 +104,7 @@ input:
# url : "jdbc:postgresql://{{status.podIP}}:5432/db"
# login: user
# pass : pass
## _noDestroy: true
# _kube:
# selector:
# where:
Expand All @@ -119,6 +121,8 @@ input:
# raidServers:
# - key: "RAS {{metadata.name}}"
# url: "http://{{status.podIP}}:1234"
## _noDestroy: true
## _noDestroy: "{{$path metadata.labels '[?key==`statefulset.kubernetes.io/pod-name`].value'}}"
# _kube:
# selector:
# where:
Expand All @@ -135,6 +139,7 @@ input:
# raidCaches:
# - key: "RAS {{metadata.name}}"
# ttl: 5000
## _noDestroy: true
# _kube:
# selector:
# where:
Expand Down
36 changes: 24 additions & 12 deletions config/objects/nInput_Filesystem.js
Original file line number Diff line number Diff line change
Expand Up @@ -89,35 +89,47 @@ nInput_Filesystem.prototype.input = function (scope, args) {
if (isDef(this.params.chKeys)) this.params.keys = $ch(this.params.chKeys).getKeys().map(r => r.key);

for (var i in this.params.keys) {
var v = $ch(this.params.chKeys).get({ key: this.params.keys[i] });
var v
if (isDef(this.params.chKeys))
$ch(this.params.chKeys).get({ key: this.params.keys[i] })
else
v = this.params.keys[i]
v = __nam_getSec(v);

switch(v.type) {
case "kube":
if (isUnDef(getOPackPath("Kube"))) {
throw "Kube opack not installed.";
}
loadLib("kube.js")
var s = $sec(v.secRepo, v.secBucket, v.secBucketPass, v.secMainPass, v.secFile);
var k;
var ka, km
if (isDef(v.secObjKey)) {
var k = s.getObj(v.secObjKey);
}
if (isDef(v.secKey)) {
var ka = s.get(v.secKey);
k = new Kube(ka.url, ka.user, ka.pass, ka.wsTimeout, ka.token);
//k = new Kube(ka.url, ka.user, ka.pass, ka.wsTimeout, ka.token);
km = {
url: ka.url,
user: ka.user,
pass: ka.pass,
wsTimeout: ka.wsTimeout,
token: ka.token
}
}
if (isUnDef(k) || isUnDef(k.getNamespaces)) {
/*if (isUnDef(k) || isUnDef(k.getNamespaces)) {
throw "Couldn't create a valid Kube object.";
}
}*/

var epods = [];
if (isUnDef(v.pod)) {
if (isDef(v.podTemplate)) {
var pods = k.getPods(v.namespace);
epods = $from(pods)
.equals("Kind", "Pod")
.match("Metadata.Name", v.podTemplate)
.select(r => r.Metadata.Name);
var pods = $kube(km).getFPO(v.namespace)
epods = $from(pods.items)
.equals("kind", "Pod")
.match("metadata.name", v.podTemplate)
.select(r => r.metadata.name)
} else {
throw "No pod determined for '" + v.secObjKey + "'";
}
Expand All @@ -127,8 +139,8 @@ nInput_Filesystem.prototype.input = function (scope, args) {

epods.forEach(pod => {
try {
resSpace = String( k.exec(v.namespace, pod, "df -P") );
resINode = String( k.exec(v.namespace, pod, "df -i -P") );
resSpace = String( isDef(v.namespace) ? $kube(km).ns(v.namespace).exec(pod, "df -P") : $kube(km).exec(pod, "df -P") )
resINode = String( isDef(v.namespace) ? $kube(km).ns(v.namespace).exec(pod, "df -i -P") : $kube(km).exec(pod, "df -i -P") )

var rr = parent.__parseCmd(resSpace, resINode).map(r => {
var res = { key: parent.params.keys[i], pod: pod };
Expand Down
Loading

0 comments on commit 3d778b6

Please sign in to comment.