diff --git a/docs/assets/mirrors/connection.sh b/docs/assets/mirrors/connection.sh new file mode 100644 index 00000000..7f5bd337 --- /dev/null +++ b/docs/assets/mirrors/connection.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +port_list_input=${1//:/|} +port_list=${port_list_input:-"80|443"} +netstat -ntW | gawk '{print tolower($6),gensub(/^(.+):([^:]+)$/,"\\1 \\2","g",$4)}' | grep -P " ($port_list)\$" | sort | uniq -c | sort -k 4 -k 3 | awk "{printf(\"connection,protocol=tcp,port=%s,address=%s %s=%s\n\",\$4,\$3,\$2,\$1)}" +netstat -ntW | gawk '{print tolower($6),gensub(/^(.+):([^:]+)$/,"\\2","g",$4)}' | grep -P " ($port_list)\$" | sort | uniq -c | sort -k 3 | awk "{printf(\"connection,protocol=tcp,port=%s,address=any %s=%s\n\",\$3,\$2,\$1)}" diff --git a/docs/assets/mirrors/nfacct.sh b/docs/assets/mirrors/nfacct.sh new file mode 100644 index 00000000..1617c128 --- /dev/null +++ b/docs/assets/mirrors/nfacct.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +sudo nfacct list | awk '-F[ ,;]' "{printf(\"nfacct,object=%s bytes=%i,pkgs=%i\n\",\$11,\$8,\$4)}" diff --git a/docs/assets/mirrors/process.sh b/docs/assets/mirrors/process.sh new file mode 100644 index 00000000..6b9416db --- /dev/null +++ b/docs/assets/mirrors/process.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +ps -e -o s= -o comm= | grep -v '^S' | sort | uniq -c | awk '{printf("process,state=%s,name=%s count=%i\n",$2,$3,$1)}' diff --git a/docs/assets/mirrors/telegraf-exec.conf b/docs/assets/mirrors/telegraf-exec.conf new file mode 100644 index 00000000..2a094ab7 --- /dev/null +++ b/docs/assets/mirrors/telegraf-exec.conf @@ -0,0 +1,8 @@ +[[inputs.exec]] + commands = [ + "/opt/monitor/telegraf/connection.sh 21:80:443:873:9418", + "/opt/monitor/telegraf/nfacct.sh", + "/opt/monitor/telegraf/process.sh", + ] + timeout = "5s" + data_format = "influx" diff --git a/docs/services/mirrors/monitor.md b/docs/services/mirrors/monitor.md index 5f3f02bb..ad385c39 100644 --- a/docs/services/mirrors/monitor.md +++ b/docs/services/mirrors/monitor.md @@ -3,33 +3,17 @@ ## Connections (Users online) ```toml title="/etc/telegraf/telegraf.d/exec.conf" -[[inputs.exec]] - commands = [ - "/opt/monitor/telegraf/connection.sh 21:80:443:873:9418", - "/opt/monitor/telegraf/nfacct.sh", - "/opt/monitor/telegraf/process.sh", - ] - timeout = "5s" - data_format = "influx" +--8<-- "mirrors/telegraf-exec.conf" ``` ```shell title="/opt/monitor/telegraf/connection.sh" -#!/bin/bash - -port_list_input=${1//:/|} -port_list=${port_list_input:-"80|443"} -netstat -ntW | gawk '{print tolower($6),gensub(/^(.+):([^:]+)$/,"\\1 \\2","g",$4)}' | grep -P " ($port_list)\$" | sort | uniq -c | sort -k 4 -k 3 | awk "{printf(\"connection,protocol=tcp,port=%s,address=%s %s=%s\n\",\$4,\$3,\$2,\$1)}" -netstat -ntW | gawk '{print tolower($6),gensub(/^(.+):([^:]+)$/,"\\2","g",$4)}' | grep -P " ($port_list)\$" | sort | uniq -c | sort -k 3 | awk "{printf(\"connection,protocol=tcp,port=%s,address=any %s=%s\n\",\$3,\$2,\$1)}" +--8<-- "mirrors/connection.sh" ``` ```shell title="/opt/monitor/telegraf/nfacct.sh" -#!/bin/bash - -sudo nfacct list | awk '-F[ ,;]' "{printf(\"nfacct,object=%s bytes=%i,pkgs=%i\n\",\$11,\$8,\$4)}" +--8<-- "mirrors/nfacct.sh" ``` ```shell title="/opt/monitor/telegraf/process.sh" -#!/bin/bash - -ps -e -o s= -o comm= | grep -v '^S' | sort | uniq -c | awk '{printf("process,state=%s,name=%s count=%i\n",$2,$3,$1)}' +--8<-- "mirrors/process.sh" ``` diff --git a/mkdocs.yml b/mkdocs.yml index b3163bf0..46504820 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -63,6 +63,8 @@ markdown_extensions: emoji_generator: !!python/name:material.extensions.emoji.to_svg - pymdownx.highlight: anchor_linenums: true + - pymdownx.snippets: + base_path: [docs/assets/] - pymdownx.superfences - pymdownx.tilde - toc: