From c705704f69f3c58c40c89d9ea93a9cd5ca97e395 Mon Sep 17 00:00:00 2001 From: Kerri Wait <kerri.wait@monash.edu> Date: Tue, 21 Sep 2021 02:11:51 +0000 Subject: [PATCH] Update telegraf config to parse /proc/net/softnet_stat details --- roles/telegraf/files/telegraf_softnet_stats.awk | 3 +++ roles/telegraf/tasks/main.yml | 10 +++++++++- roles/telegraf/templates/telegraf.conf.j2 | 8 ++++++++ 3 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 roles/telegraf/files/telegraf_softnet_stats.awk diff --git a/roles/telegraf/files/telegraf_softnet_stats.awk b/roles/telegraf/files/telegraf_softnet_stats.awk new file mode 100644 index 00000000..b24ef34a --- /dev/null +++ b/roles/telegraf/files/telegraf_softnet_stats.awk @@ -0,0 +1,3 @@ +#! /usr/bin/awk -f + +{ printf("softnet,cpu=%d sd_processed=%di,sd_dropped=%di,sd_time_squeeze=%di\n", NR-1, strtonum("0x"$1), strtonum("0x"$2), strtonum("0x"$3)) } \ No newline at end of file diff --git a/roles/telegraf/tasks/main.yml b/roles/telegraf/tasks/main.yml index af25f19b..a3afc7ba 100644 --- a/roles/telegraf/tasks/main.yml +++ b/roles/telegraf/tasks/main.yml @@ -64,7 +64,15 @@ dest: '/opt/telegraf/bin/telegraf_slurmstats.py' become: true become_user: root -# + +- name: copy softnet_stat script + copy: + mode: 'u=rw,g=r,o=r' + src: telegraf_softnet_stats.awk + dest: '/opt/telegraf/bin/telegraf_softnet_stats.awk' + become: true + become_user: root + - name: Install Telegraf config template: src: telegraf.conf.j2 diff --git a/roles/telegraf/templates/telegraf.conf.j2 b/roles/telegraf/templates/telegraf.conf.j2 index 30a743cb..e50589dc 100644 --- a/roles/telegraf/templates/telegraf.conf.j2 +++ b/roles/telegraf/templates/telegraf.conf.j2 @@ -157,6 +157,14 @@ timeout="4s" interval="300s" +[[inputs.exec]] + commands = [ + "awk -v -f /opt/telegraf/bin/telegraf_softnet_stats.awk /proc/net/softnet_stat" + ] + data_format = "influx" + timeout="4s" + interval="600s" + # Both Slurm ManagementNodes will log sdiag stats, but no Compute or Login nodes will {% if 'ManagementNodes' in group_names %} [[inputs.exec]] -- GitLab