door7302 / openjts Goto Github PK
View Code? Open in Web Editor NEWThe Open Juniper Telemetry Stack Project
License: BSD 3-Clause "New" or "Revised" License
The Open Juniper Telemetry Stack Project
License: BSD 3-Clause "New" or "Revised" License
Improvement for adding IPv6 support
Hello,
I have implemented OpenJTS on my network (MX960 version JUNOS 21.4R3-S4.9). After six hours, an alarm was triggered:
show system alarms
2 alarms currently active
Alarm time Class Description
2024-04-30 05:49:14 CET Minor VMHost RE 1 Disk 1 Write Rate Threshold Cross
2024-04-30 01:14:45 CET Minor VMHost RE 0 Disk 1 Write Rate Threshold Cross
Two minor alarms are currently active, indicating that the write rate to disk 1 has exceeded the threshold for VMHost RE 1 and RE 0.
What can I do to resolve this issue?
Fix the compilation issue with latest version of go1.23
Hi,
In the BGP dashboard, when selecting any group, the neighbors are not limited only to the group, returning all the neighbors available to the device, both in the selection menu and in the dashboard.
As a suggestion for improvement, when selecting a group, the following options should show only related data.
OpenJTS Version: 1.0.9 - JTSO Version: 1.0.3 - JTS Telegraf Version: 1.0.5
Best Regards.
Hi, my system is:
cat /etc/os-release
PRETTY_NAME="Ubuntu 22.04.4 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.4 LTS (Jammy Jellyfish)"
After performing simple installation kapacitor can't start:
2024/05/31 14:38:47 Using configuration at: /etc/kapacitor/kapacitor.conf
ts=2024-05-31T14:38:47.969Z lvl=error msg="encountered error" service=run err="failed to open diagnostic service: mkdir /var/log/kapacitor: permission denied"
run: failed to open diagnostic service: mkdir /var/log/kapacitor: permission denied
Changing volume path to leads to same error:
volumes: - ./kapacitor/var/log:/var/log
Commenting volume path in such a way:
volumes:
# - ./kapacitor/var/log:/var/log
- ./kapacitor/kapacitor.conf:/etc/kapacitor/kapacitor.conf
- ./kapacitor/data:/var/lib/kapacitor
leads to another error:
2024/05/31 14:50:35 Using configuration at: /etc/kapacitor/kapacitor.conf
run: create server: failed to save cluster ID: open /var/lib/kapacitor/cluster.id: permission denied
Any help would be greatly appreciated.
After just having a quick look at the jtso/profiles/
it feels like it could make sense to have a common.conf
with default elements, that is inherited by all the platform specific configs. Settings in the platform/version specific configs should of course overwrite the common config.
The difference between e.g, ptx_health.conf
and mx_health.conf
is only two lines (which maybe even should have been in the ptx-config? - I haven't checked if they are avalilable for ptx/acx)
@@ -308,6 +307,8 @@
"linecard_cpu",
"linecard_memory",
"buffer_usage",
+ "admin_status",
+ "oper_status",
"fabric_drops_pkts_rate",
Pluss the enrichfilepath
.
ACX-health has only 6 extra lines, compared with the ptx-config:
+[[processors.filtering]]
+ order = 4
+ [[processors.filtering.tags]]
+ key = "if_name"
+ pattern = "^(et-|xe-|ge-).*"
+ Action = "accept"
By adding a "common.conf" for all the shared stuff, it would significantly lower the bar for creating new profiles, and hopefully you would get some PRs to fix #11
Channelized Interfaces for Coherent Optics not working, eg et-0/0/0:0. GUI shows 'NOT SUPPORTED'
Add a new telegraf instance for VMX - adpat vmx dashboard as several path are not supported
Hi, I'm having an issue with the LOGICAL IF TRAFFIC MONITORING profile. The logical interfaces are not visible in this profile. However, in the PHYSICAL IF TRAFFIC MONITORING profile, the logical interfaces are displayed but show no traffic. The physical interfaces on the other hand are working correctly.
OpenJTS Version: 1.0.9 - JTSO Version: 1.0.3 - JTS Telegraf Version: 1.0.5
Device: MX960 JUNOS 21.4R3-S4.9
Improve the management of per version profile.
Can you please add support for EX, QFX, SRX Mid and vSRX?
I would suggest to avoid using docker compose images with :latest
tag since it might happen that people uses openJTS with different versions not working well together (or at least not having tested together!). I would recommend sticking to a specific docker image version in docker-compose.yml
file, test it and once it is bullet proof, generate a tag of openJTS release with these versions.
Next release, if you want, test it with a newer version, but if you put :latest
, depending on when someone pulls the project and install it, might get a different grafana version for example than you expect.
Also... not sure if there is a reason for that, but influxdb v1.8 is quite old. Not sure if there is a specific reason behind it, but there is already v2.7.4. I am running influxdb:2.7.1 in TME Lab.
Hi,
I think the home page has a bug in the version, I recently installed it and it appears as version 1.0.1
JTS Version - 1.0.1 - JTSO Version 1.0.1 - JTS Telegraf N/A
Regards.
Hi David Roy.
I already add an MX480 with lot of firewall filter, but on Open JTS it only shows default_arp_policer, but other cannot displayed. It's limitted by gRPC or I am wrong in my configuration?
Ability to sort routers alphabetically when adding them to the routers
tab makes easy to check if all your routers are added. If by any reason, the first router is not added (e.g. vmx501) when adding all the rest (e.g. vmx502, vmx503, ..., vmx507), vmx501 will be shown the last one.
Ability to filter routers from the list by tags. So this will include a tagging ability when adding routers. For example, if adding routers and saying they are ACXs, or MXs, or they belong to East or West, you can easily track if all your expectations are eventually there (e.g. 4 devices from East and 5 from West).
Hi,
The power data is not being shown, the only information that appears is the CB0 Used Power and the temperature of the Routing Engine0, however, serrated. I have two boxes with different versions of Junos (20.4R3.8 and 21.4R3-S6.5) and both the behavior is the same.
By using the Browser menu and querying /components/component/, I see that most of the information has the false flag, however, the data on mode and version are available, even so they do not appear in the graph. In MX204 this data is not exported?
Using JTS 1.0.7.
I created a simple template based on the bngpppoe template to get the reserved bandwidth of LSPs based on auto-bandwidth for MX versions > 22
lsp.tgz
telegraf_ptx container was restarting at the 1 minute mark.
Issue was resolved with a rebuild:
docker compose down
docker compose build --no-cache
docker compose up -d
Logs from this event:
E! error loading config file /etc/telegraf/telegraf.d/ptx_traffic.conf: error parsing gnmi, line 22: cannot unmarshal TOML array into string (need slice)
E! error loading config file /etc/telegraf/telegraf.d/all_bgp.conf: plugin inputs.gnmi: line 4: configuration specified the fields ["check_jnpr_extension" "long_tag"], but they were not used. This is either a typo or this config option does not exist in this version.
I am unable to change sample interval Telemetry Stats of Routers in JTS. I want to modify it to 5s.
You can add output to Elasticsearch
Hi,
Your approach (grpc) seems to be quite promising when I compare it to my old GPB based solution especially thanks to the enrichment functionality which adds interfaces descriptions. However is it possible to implement in similar way unit/sub-interface counters?
Hi all.
I already install JTS and also have some tests with MX/vMX/ACX. May I know JTS is support for gRPC streaming Telemetry, so how about Telemetry over UDP ? I mean the Through UDP from so-called native sensors that export data close to the source, such as the line card or network processing unit (NPU).
hello, i have this error on build new version:
docker-compose build --no-cache
influxdb uses an image, skipping
kapacitor uses an image, skipping
grafana uses an image, skipping
Building telegraf_vmx
Sending build context to Docker daemon 20.66MB
Step 1/15 : FROM golang:alpine as builder
---> a60a31a97fdb
Step 2/15 : ARG LDFLAGS=""
---> Running in 98a9ecd02426
Removing intermediate container 98a9ecd02426
---> d66cadedabef
Step 3/15 : ARG VERSION="1.0.5"
---> Running in 3c95441e03f8
Removing intermediate container 3c95441e03f8
---> f8c3020fe99e
Step 4/15 : RUN apk --update --no-cache add git build-base gcc
---> Running in eb8883af411d
fetch https://dl-cdn.alpinelinux.org/alpine/v3.20/main/x86_64/APKINDEX.tar.gz
fetch https://dl-cdn.alpinelinux.org/alpine/v3.20/community/x86_64/APKINDEX.tar.gz
WARNING: fetching https://dl-cdn.alpinelinux.org/alpine/v3.20/main: temporary error (try again later)
WARNING: fetching https://dl-cdn.alpinelinux.org/alpine/v3.20/community: temporary error (try again later)
ERROR: unable to select packages:
build-base (no such package):
required by: world[build-base]
gcc (no such package):
required by: world[gcc]
git (no such package):
required by: world[git]
The command '/bin/sh -c apk --update --no-cache add git build-base gcc' returned a non-zero code: 3
ERROR: Service 'telegraf_vmx' failed to build : Build failed
docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
f8c3020fe99e 2 minutes ago 231MB
1c6ba35b3794 15 minutes ago 231MB
golang alpine a60a31a97fdb 2 weeks ago 231MB
alpine latest a606584aa9aa 3 weeks ago 7.8MB
golang 288827cf059e 4 weeks ago 231MB
influxdb 1.8 0067f69032c8 5 weeks ago 307MB
chronograf latest 78c17d602445 2 months ago 236MB
kapacitor 1.7 89b8dd6c94dd 2 months ago 331MB
grafana/grafana 10.3.1 2fec87cd4362 5 months ago 406MB
phusion/baseimage focal-1.2.0 99244e721357 2 years ago 225MB
telegraf 1.7 e58ff0b8f73c 5 years ago 212MB
kapacitor 1.5.0 4ff381f009fc 6 years ago 253MB
juniper/pyez 2.1.8 09a523c2b46b 6 years ago 281MB
juniper/pyez 2.0.1 e61c159ee89f 7 years ago 93MB
Add more OTN information
Hi.
I install OpenJST to monitor MX960 with profile Heal Monitoring Profile. I make a test by shutting down FPC on MX960 (using the command request fpc slot offline). But I cannot see any alarm or warning on Grafara Web Gui (up to 4-5 minutes). Is there any way to detect fast the hardware error with OpenJTS?
Hello,
Apparently, JTSO will throw an error while trying to parse the version information because of the XML structure of show version | display xml
.
This is the full error:
[WARNING] [x.x.x.x] Unable to parse version information: expected element type <software-information> but have <multi-routing-engine-results>
[ERROR] Unable to retrieve router facts: expected element type <software-information> but have <multi-routing-engine-results>
This is how the actual output of the show version | display xml
command looks like:
admin@juniper> show version | display xml
<rpc-reply xmlns:junos="http://xml.juniper.net/junos/20.4R0/junos">
<multi-routing-engine-results>
<multi-routing-engine-item>
<re-name>fpc0</re-name>
<software-information>
<host-name>juniper</host-name>
<product-model>qfx5120-32c</product-model>
<product-name>qfx5120-32c</product-name>
<junos-version>20.4R3.8</junos-version>
<junos-edition>flex</junos-edition>
<package-information>
Any idea how to fix this?
Is it possible in the bng template to add an snmp input to collect and count the number of clients x vlan? See if we can do it this way:
on telegraf:
[[inputs.snmp.table]]
oid = ".1.3.6.1.4.1.2636.3.64.1.1.1.3"
name = "jnxSubscriberTable"
[[inputs.snmp.table.field]]
oid = ".1.3.6.1.4.1.2636.3.64.1.1.1.3.1.16"
name = "jnxSubscriberPhysicalInterface"
is_tag = true
[[inputs.snmp.table.field]]
oid = ".1.3.6.1.4.1.2636.3.64.1.1.1.3.1.3"
name = "jnxSubscriberUserName"
is_tag = true
and this query on grafana: SELECT count("jnxSubscriberUserName") FROM "jnxSubscriberTable" WHERE ("agent_host"::tag =~ /^$rtr$/) AND $timeFilter GROUP BY time($interval), "jnxSubscriberPhysicalInterface"::tag fill(none)
Hi David and Team.
Thank so much for this tool. Could you please develop CGNAT profile more ? We need profile support for MS-MPC and MS-SPC3 also (for all MX devices). Our customers really need to monitor and CGNAT services prameters.
We have a fleet of ACX7100 (48L and 32C) that currently use 22.4R2.11-EVO (Current JTAC recommend image) and traffic collection is not working. Using the path browser it looks like they use a different path which prepends some sensors with an if_. See the below outputs from one of the ACX7100s on 22.4R2.11-EVO and our Lab ACX7100 on 23.2R2.21-EVO.
ACX7100 on 22.4R2.11-EVO -
ACX7100 on 23.2R2.21-EVO -
I created a fork and tried adding the following lines to acx_traffic.conf but had no luck, I think it could be something to do with the older firmware also using if_name=* for these and not just name=* but I'm not sure.
[[processors.rename.replace]]
field="counters/if_in_octets"
dest="in_octets"
[[processors.rename.replace]]
field="counters/if_out_octets"
dest="out_octets"
[[processors.rename.replace]]
field="counters/if_in_pkts"
dest="in_pkts"
[[processors.rename.replace]]
field="counters/if_out_pkts"
dest="out_pkts"
Let me know if you might have come across anything like this before or have any ideas as we are keen to start streaming telemetry out of our ACXs. Also please reach out if you would like us to do any tests as we are happy to help out. :)
Time Series showing Link up and down times will be useful.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.