diff --git a/configs/etc/sysctl.conf b/configs/etc/sysctl.conf index 3a91917..4a4dd8d 100644 --- a/configs/etc/sysctl.conf +++ b/configs/etc/sysctl.conf @@ -20,6 +20,7 @@ vfs.read_max=128 vfs.timestamp_precision=3 net.link.tap.up_on_open=1 #net.link.lagg.lacp.default_strict_mode=0 +net.link.ether.inet.log_arp_movements=0 net.inet.ip.fw.verbose_limit=5 dev.igb.0.fc=0 @@ -111,3 +112,7 @@ net.inet.tcp.rack.data_after_close=0 # Verify RACK # sysctl net.inet.tcp.functions_available # sysctl net.inet.tcp.rack. + +#Cheap Disk Issues +kern.cam.ada.default_timeout=60 +kern.cam.da.default_timeout=90 diff --git a/configs/usr/local/etc/rc.d/cam_tag b/configs/usr/local/etc/rc.d/cam_tag new file mode 100755 index 0000000..f6e4f53 --- /dev/null +++ b/configs/usr/local/etc/rc.d/cam_tag @@ -0,0 +1,38 @@ +#!/bin/sh + +# Copyright (c) 2018-2020, diyIT.org +# All rights reserved. +# +# BSD 2-Clause License ("Simplified BSD License" or "FreeBSD License") +# https://diyit.org/license/ +# +# + +# the two lines below are not just comments but required by rcorder; service -e +# PROVIDE: cam_tag +# REQUIRE: DAEMON + +. /etc/rc.subr + +: ${cam_tag_enable="NO"} + +name=cam_tag +rcvar=${name}_enable + +COMMAND="/root/FreeBSD/scripts/cam_tag.sh" + +start_cmd="${name}_start" +restart_cmd="${name}_restart" + +cam_tag_start() +{ + $COMMAND +} + +cam_tag_restart() +{ + $COMMAND +} + +load_rc_config ${name} +run_rc_command "$1" diff --git a/configs/usr/local/etc/rc.d/gstat_exporter b/configs/usr/local/etc/rc.d/gstat_exporter index a5dd63c..5988d3b 100755 --- a/configs/usr/local/etc/rc.d/gstat_exporter +++ b/configs/usr/local/etc/rc.d/gstat_exporter @@ -1,3 +1,5 @@ +#!/bin/sh + # Copyright (c) 2018-2020, diyIT.org # All rights reserved. # @@ -6,8 +8,6 @@ # # -#!/bin/sh - # the two lines below are not just comments but required by rcorder; service -e # PROVIDE: gstat_exporter # REQUIRE: NETWORKING DAEMON @@ -19,7 +19,7 @@ name=gstat_exporter rcvar=${name}_enable -GSTATEXPORTER="nohup /usr/local/bin/python3.6 /root/FreeBSD/scripts/gstat_exporter.py" +GSTATEXPORTER="nohup /usr/local/bin/python3.7 /root/FreeBSD/scripts/gstat_exporter.py" start_cmd="${name}_start" stop_cmd="${name}_stop" diff --git a/iocage/Makefile b/iocage/Makefile deleted file mode 100644 index 1195075..0000000 --- a/iocage/Makefile +++ /dev/null @@ -1,24 +0,0 @@ -ZPOOL="" -SERVER="" -PYTHON?=/usr/local/bin/python3.7 - -depends: - @(pkg -vv | grep -e "url.*/latest") > /dev/null 2>&1 || (echo "It is advised pkg url is using \"latest\" instead of \"quarterly\" in /etc/pkg/FreeBSD.conf.";) - @test -s ${PYTHON} || (echo "Python binary ${PYTHON} not found, iocage will install python37"; pkg install -q -y python37) - pkg install -q -y py37-libzfs - ${PYTHON} -m ensurepip - ${PYTHON} -m pip install -Ur requirements.txt - -install: depends - ${PYTHON} -m pip install -U . -uninstall: - ${PYTHON} -m pip uninstall -y iocage-lib iocage-cli -test: - pytest --zpool $(ZPOOL) --server $(SERVER) -help: - @echo " install" - @echo " Installs iocage" - @echo " uninstall" - @echo " Removes iocage" - @echo " test" - @echo " Run unit tests with pytest" diff --git a/jails/config/calibre/Find Duplicates-beta-py3.zip b/jails/config/calibre/Find Duplicates-beta-py3.zip new file mode 100644 index 0000000..d86c6af Binary files /dev/null and b/jails/config/calibre/Find Duplicates-beta-py3.zip differ diff --git a/jails/config/cloud/httpd.conf b/jails/config/cloud/httpd.conf index d86aabe..f5b1f8d 100644 --- a/jails/config/cloud/httpd.conf +++ b/jails/config/cloud/httpd.conf @@ -577,7 +577,7 @@ Include etc/apache24/Includes/*.conf RewriteRule .* - [e=HTTP_AUTHORIZATION:%1] - SetHandler "proxy:fcgi://localhost:9000" + SetHandler "proxy:fcgi://127.0.0.1:9000" SSLOptions +StdEnvVars diff --git a/jails/config/common/snip-sendmail.sh b/jails/config/common/snip-sendmail.sh index a6939ff..9faa859 100755 --- a/jails/config/common/snip-sendmail.sh +++ b/jails/config/common/snip-sendmail.sh @@ -8,8 +8,12 @@ #! /usr/local/bin/bash # smart_host - mail - is the mail server's dns name +# TO_IDENT sets O Timeout.ident=0s - to stop sendmail from making ident connections echo "define(\`SMART_HOST', \`mail')" >> /etc/mail/$HOSTNAME.mc echo "define(\`confDOMAIN_NAME', \`$HOSTNAME')" >> /etc/mail/$HOSTNAME.mc IP6=`ifconfig -f inet6:cidr | grep "2603:3024:3f6:e1::" | cut -d" " -f 2 | cut -d "/" -f 1` echo "CLIENT_OPTIONS(\`Family=inet6, Address=$IP6')" >> /etc/mail/$HOSTNAME.mc echo "define(\`confDH_PARAMETERS', \`/mnt/certs/dhparam2048.pem')" >> /etc/mail/$HOSTNAME.mc +echo "define(\`confTO_CONNECT', \`1m')" >> /etc/mail/$HOSTNAME.mc +echo "define(\`confTO_IDENT', \`0')" >> /etc/mail/$HOSTNAME.mc +echo "define(\`confTO_COMMAND', \`2m')" >> /etc/mail/$HOSTNAME.mc diff --git a/jails/config/hub/httpd.conf b/jails/config/hub/httpd.conf index f7ed6d0..19fbe56 100644 --- a/jails/config/hub/httpd.conf +++ b/jails/config/hub/httpd.conf @@ -579,7 +579,7 @@ Include etc/apache24/Includes/*.conf RewriteRule .* - [e=HTTP_AUTHORIZATION:%1] - SetHandler "proxy:fcgi://localhost:9000" + SetHandler "proxy:fcgi://127.0.0.1:9000" SSLOptions +StdEnvVars diff --git a/jails/config/ibm/create_tuns.sh b/jails/config/ibm/create_tuns.sh new file mode 100755 index 0000000..338ce63 --- /dev/null +++ b/jails/config/ibm/create_tuns.sh @@ -0,0 +1,15 @@ +# Copyright (c) 2018-2020, diyIT.org +# All rights reserved. +# +# BSD 2-Clause License ("Simplified BSD License" or "FreeBSD License") +# https://diyit.org/license/ +# +# + +#!/bin/sh +# + +ifconfig tun181 create +#ifconfig bridge1 addm tap181 up +#ifconfig tap181 up +#ifconfig tap181 inet6 auto_linklocal diff --git a/jails/config/ibm/ibm.sh b/jails/config/ibm/ibm.sh new file mode 100755 index 0000000..327966d --- /dev/null +++ b/jails/config/ibm/ibm.sh @@ -0,0 +1,17 @@ +# Copyright (c) 2018-2020, diyIT.org +# All rights reserved. +# +# BSD 2-Clause License ("Simplified BSD License" or "FreeBSD License") +# https://diyit.org/license/ +# +# + +#!/usr/local/bin/bash +# ./ibm.sh under tmux + +ifconfig tun186 create +ifconfig tun186 inet 172.16.0.186 172.16.0.100 +chmod 666 /dev/tun186 + +cd /data/Z110/CONF +# hercules diff --git a/jails/config/ibm/ipfw.rules b/jails/config/ibm/ipfw.rules new file mode 100755 index 0000000..1a2c1c5 --- /dev/null +++ b/jails/config/ibm/ipfw.rules @@ -0,0 +1,140 @@ +#!/bin/sh + +# https://www.freebsd.org/doc/handbook/firewalls-ipfw.html +# ipfw -vated list + +# IPFW configuration +#sysrc firewall_enable="YES" +#sysrc firewall_logif="YES" +#sysrc firewall_script="/mnt/config/ipfw.rules" + +# NATd configuration +#sysrc gateway_enable="YES" +#sysrc natd_enable="YES" +#sysrc natd_interface="epair0b" +#sysrc natd_flags="-f /mnt/config/natd.conf" +#natd.conf: +#redirect_port tcp 172.16.0.100:21-23 21-23 + +# Set rules command prefix +cmd="ipfw -q add" +lif="tun186" # interface name of tunnel attached to Local network +rif="epair0b" # interface name of vnet attached to Remote/external network +skip="skipto 12000" + +# Flush out the list before we begin. +ipfw -q -f flush + +# gateway_enable already set in rc.conf +# sysctl net.inet.ip.forwarding=1 + +# Packets passing the stateful NAT may be re-injected into the firewall +# sysctl net.inet.ip.fw.one_pass=0 +ipfw disable one_pass + +# functionality is included in the divert action +#ipfw -q nat 1 config if $rif same_ports unreg_only reset + +$cmd 00050 allow ip from any to any via $lif + +$cmd 00100 allow ip from any to any via lo0 + +$cmd 00200 deny ip from any to 127.0.0.0/8 +$cmd 00300 deny ip from 127.0.0.0/8 to any +$cmd 00400 deny ip from any to ::1 +$cmd 00500 deny ip from ::1 to any + +$cmd 00600 allow ipv6-icmp from :: to ff02::/16 +$cmd 00700 allow ipv6-icmp from fe80::/10 to fe80::/10 +$cmd 00800 allow ipv6-icmp from fe80::/10 to ff02::/16 +$cmd 00900 allow ipv6-icmp from any to any icmp6types 1 +$cmd 01000 allow ipv6-icmp from any to any icmp6types 2,135,136 + +# The reassemble rule is not needed with userland natd(8) +# because the internal workings of the IPFW divert action +# takes care of reassembling packets before delivery to the socket +#$cmd 01100 reass all from any to any in + +$cmd 01200 divert natd ip from any to any in via $rif # NAT any inbound packets + +# Allow the packet through if it has an existing entry in the dynamic rules table +$cmd 01300 check-state + +# Allow access to DNS +$cmd 02110 $skip tcp from any to 192.168.0.5 53 out via $rif setup keep-state +$cmd 02111 $skip udp from any to 192.168.0.5 53 out via $rif keep-state +$cmd 02112 $skip tcp from any to 2603:3024:3f6:e1::5 53 out via $rif setup keep-state +$cmd 02113 $skip udp from any to 2603:3024:3f6:e1::5 53 out via $rif keep-state + +# Allow access to ISP's DHCP server for cable/DSL configurations. +# Use the first rule and check log for IP address. +# Then, uncomment the second rule, input the IP address, and delete the first rule +#$cmd 02120 $skip log udp from any to any 67 out via $rif keep-state +#$cmd 02120 $skip udp from any to x.x.x.x 67 out via $rif keep-state + +# Allow outbound ping +$cmd 02210 $skip icmp from any to any out via $rif keep-state + +# Allow outbound NTP +$cmd 02220 $skip udp from any to any 123 out via $rif keep-state + +# Allow outbound TCP traffic +$cmd 02500 $skip tcp from any to any 20,22,25,80,443 out via $rif setup keep-state +# 03720 pasv ftp + +# deny and log all other outbound connections +$cmd 02999 deny log all from any to any out via $rif + +#### Lockdown incoming traffic +# Deny all inbound traffic from non-routable reserved address spaces +#$cmd 03110 deny all from 192.168.0.0/16 to any in via $rif #RFC 1918 private IP +#$cmd 03111 deny all from 172.16.0.0/12 to any in via $rif #RFC 1918 private IP +#$cmd 03112 deny all from 10.0.0.0/8 to any in via $rif #RFC 1918 private IP +$cmd 03113 deny all from 127.0.0.0/8 to any in via $rif #loopback +$cmd 03114 deny all from 0.0.0.0/8 to any in via $rif #loopback +$cmd 03115 deny all from 169.254.0.0/16 to any in via $rif #DHCP auto-config +$cmd 03116 deny all from 192.0.2.0/24 to any in via $rif #reserved for docs +$cmd 03117 deny all from 204.152.64.0/23 to any in via $rif #Sun cluster interconnect +$cmd 03118 deny all from 224.0.0.0/3 to any in via $rif #Class D & E multicast + +# Allow traffic from ISP's DHCP server. +# Replace x.x.x.x with the same IP address used in rule 02120. +#$cmd 03120 allow udp from any to x.x.x.x 67 in via $rif keep-state + +# Allow public pings +$cmd 03210 allow icmp from any to any in via $rif + +# Deny ident +$cmd 03230 deny tcp from any to any 113 in via $rif + +# Deny all Netbios services. +$cmd 03240 deny { tcp or udp } from any to any 81,137-139,445,1026,1027,1433,1434 in via $rif + +# Deny fragments +$cmd 03250 deny all from any to any frag in via $rif + +# Deny ACK packets that did not match the dynamic rule table +$cmd 03500 deny tcp from any to any established in via $rif + +# Allow inbound SSH host connections +$cmd 03610 allow tcp from any to me 22 in via $rif setup limit src-addr 2 + +# Allow HTTP host connections to host web server +$cmd 03620 allow tcp from any to me 80 in via $rif setup limit src-addr 2 + +# Allow inbound Telnet connections to NAT +$cmd 03710 allow tcp from any to me 23,3270 in via $rif setup limit src-addr 2 + +# Allow inbound FTP connections to NAT +$cmd 03720 allow tcp from any to me 20,21 in via $rif setup limit src-addr 2 +# 02500 pasv ftp + +# Reject and log all other incoming connections +$cmd 03999 deny log all from any to any in via $rif +#### lockdown in + +$cmd 12000 divert natd ip from any to any out via $rif # skipto location for outbound stateful rules + +$cmd 65000 allow ip from any to any + +#$cmd 65535 deny ip from any to any diff --git a/jails/config/ibm/natd.conf b/jails/config/ibm/natd.conf new file mode 100644 index 0000000..0322417 --- /dev/null +++ b/jails/config/ibm/natd.conf @@ -0,0 +1,2 @@ +redirect_port tcp 172.16.0.100:20-21 20-21 +redirect_port tcp 172.16.0.100:23 23 diff --git a/jails/config/ibm/setup_jail.sh b/jails/config/ibm/setup_jail.sh new file mode 100755 index 0000000..07a40e3 --- /dev/null +++ b/jails/config/ibm/setup_jail.sh @@ -0,0 +1,4 @@ +# requrired to run other configured scripts +/bin/sh /etc/rc +# launch tmux with emu +#/mnt/config/startemu.sh diff --git a/jails/config/ibm/startemu.sh b/jails/config/ibm/startemu.sh new file mode 100755 index 0000000..846138e --- /dev/null +++ b/jails/config/ibm/startemu.sh @@ -0,0 +1,31 @@ +# Copyright (c) 2018-2020, diyIT.org +# All rights reserved. +# +# BSD 2-Clause License ("Simplified BSD License" or "FreeBSD License") +# https://diyit.org/license/ +# +# + +#!/bin/sh +# +session="emu_tmux" + +# set up tmux +tmux start-server + +# create a new tmux session, naming the window hercules +tmux new-session -d -s $session -n hercules +tmux selectp -t 1 +tmux send-keys "cd /mnt/config;./ibm.sh" C-m + +# create a new window empty +tmux new-window -t $session:1 -n empty +tmux selectp -t 1 +tmux send-keys "cd /mnt/config;clear" C-m + +# return to main window +tmux select-window -t $session:0 +tmux selectp -t 1 + +# Finished setup, attach to the tmux session! +#tmux attach-session -t $session diff --git a/jails/config/mail/postfix/main.cf b/jails/config/mail/postfix/main.cf index 0a0a964..90c9569 100644 --- a/jails/config/mail/postfix/main.cf +++ b/jails/config/mail/postfix/main.cf @@ -282,7 +282,8 @@ unknown_local_recipient_reject_code = 550 #mynetworks = $config_directory/mynetworks #mynetworks = hash:$config_directory/network_table -mynetworks = 127.0.0.1/32 192.168.0.0/16 [::1]/128 [fe80::]/10 [2603:3024:3f6::]/56 +#mynetworks = 127.0.0.1/32 192.168.0.0/16 [::1]/128 [fe80::]/10 [2603:3024:3f6::]/56 +mynetworks = 127.0.0.1/32 192.168.0.0/24 [::1]/128 [fe80::]/10 [2603:3024:3f6:e1::]/64 smtp_bind_address = 192.168.0.100 smtp_bind_address6 = 2603:3024:3f6:e1::100 @@ -680,6 +681,10 @@ sample_directory = /usr/local/etc/postfix # readme_directory = /usr/local/share/doc/postfix inet_protocols = ipv4, ipv6 + +# sometimes comcast's IPv6 reverse DNS lookup stops working so you need to enable the line below (default: any) +smtp_address_preference = ipv4 + meta_directory = /usr/local/libexec/postfix shlib_directory = /usr/local/lib/postfix @@ -776,21 +781,21 @@ smtpd_helo_required = yes # entry and present a valid, FQDN HELO hostname. In addition, they can only # send mail to valid mailboxes on the server, and the sender's domain must # actually exist. -smtpd_client_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_unknown_reverse_client_hostname,reject_unauth_pipelining +smtpd_client_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_unauth_pipelining,reject_unknown_reverse_client_hostname # you might want to consider: # reject_unknown_client_hostname, # here. This will reject all incoming connections without a reverse DNS # entry that resolves back to the client's IP address. This is a very # restrictive check and may reject legitimate mail. -smtpd_helo_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_invalid_helo_hostname,reject_non_fqdn_helo_hostname,reject_unauth_pipelining +smtpd_helo_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_invalid_helo_hostname,reject_unauth_pipelining,reject_non_fqdn_helo_hostname # you might want to consider: # reject_unknown_helo_hostname, # here. This will reject all incoming mail without a HELO hostname that # properly resolves in DNS. This is a somewhat restrictive check and may # reject legitimate mail. smtpd_sender_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_non_fqdn_sender,reject_unknown_sender_domain,reject_unauth_pipelining -smtpd_relay_restrictions = permit_mynetworks, permit_sasl_authenticated,reject_unauth_destination -# !!! THIS SETTING PREVENTS YOU FROM BEING AN OPEN RELAY !!! +smtpd_relay_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination +# !!! THE LAST SETTING PREVENTS YOU FROM BEING AN OPEN RELAY !!! # !!! DO NOT REMOVE IT UNDER ANY CIRCUMSTANCES !!! smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_non_fqdn_recipient,reject_unknown_recipient_domain,reject_unauth_pipelining,reject_unverified_recipient smtpd_data_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_multi_recipient_bounce,reject_unauth_pipelining @@ -806,7 +811,7 @@ virtual_mailbox_maps = ldap:/usr/local/etc/postfix/ldap-virtual-mailbox-maps.cf # LDAP query to find a user's email aliases virtual_alias_maps = ldap:/usr/local/etc/postfix/ldap-virtual-mailbox-alias-maps.cf, hash:/usr/local/etc/postfix/virtual-maillist-alias-maps -# We'll uncomment these when we set up rspamd later: +# rspamd specific milter_protocol = 6 # if rspamd is down, don't reject mail milter_default_action = accept diff --git a/jails/config/mail/postfix/main.cf.default b/jails/config/mail/postfix/main.cf.default index a876872..3ba39f6 100644 --- a/jails/config/mail/postfix/main.cf.default +++ b/jails/config/mail/postfix/main.cf.default @@ -177,6 +177,7 @@ import_environment = MAIL_CONFIG MAIL_DEBUG MAIL_LOGTAG TZ XAUTHORITY DISPLAY LA in_flow_delay = 1s inet_interfaces = all inet_protocols = all +info_log_address_format = external initial_destination_concurrency = 5 internal_mail_filter_classes = invalid_hostname_reject_code = 501 @@ -327,9 +328,9 @@ local_transport_rate_delay = $default_transport_rate_delay luser_relay = mail_name = Postfix mail_owner = postfix -mail_release_date = 20190921 +mail_release_date = 20200316 mail_spool_directory = /var/mail -mail_version = 3.4.7 +mail_version = 3.5.0 mailbox_command = mailbox_command_maps = mailbox_delivery_lock = flock, dotlock @@ -358,7 +359,7 @@ message_size_limit = 10240000 message_strip_characters = meta_directory = /usr/local/libexec/postfix milter_command_timeout = 30s -milter_connect_macros = j {daemon_name} {daemon_addr} v +milter_connect_macros = j {daemon_name} {daemon_addr} v _ milter_connect_timeout = 30s milter_content_timeout = 300s milter_data_macros = i @@ -733,7 +734,7 @@ smtpd_sasl_response_limit = 12288 smtpd_sasl_security_options = noanonymous smtpd_sasl_service = smtp smtpd_sasl_tls_security_options = $smtpd_sasl_security_options -smtpd_sasl_type = dovecot +smtpd_sasl_type = cyrus smtpd_sender_login_maps = smtpd_sender_restrictions = smtpd_service_name = smtpd diff --git a/jails/config/mail/postfix/master.cf b/jails/config/mail/postfix/master.cf index 5c70d65..cab72c6 100644 --- a/jails/config/mail/postfix/master.cf +++ b/jails/config/mail/postfix/master.cf @@ -16,9 +16,9 @@ smtp inet n - n - - smtpd #dnsblog unix - - n - 0 dnsblog #tlsproxy unix - - n - 0 tlsproxy submission inet n - n - - smtpd -# -o syslog_name=postfix/submission - -o smtpd_tls_security_level=encrypt + -o smtpd_tls_security_level=encrypt -o tls_preempt_cipherlist=yes +# -o syslog_name=postfix/submission # -o smtpd_sasl_auth_enable=yes # -o smtpd_tls_auth_only=yes # -o smtpd_reject_unlisted_recipient=no diff --git a/jails/config/mail/postfix/master.cf.sample b/jails/config/mail/postfix/master.cf.sample index c0f2508..30c3458 100644 --- a/jails/config/mail/postfix/master.cf.sample +++ b/jails/config/mail/postfix/master.cf.sample @@ -79,7 +79,7 @@ postlog unix-dgram n - n - 1 postlogd # Also specify in main.cf: maildrop_destination_recipient_limit=1 # #maildrop unix - n n - - pipe -# flags=DRhu user=vmail argv=/usr/local/bin/maildrop -d ${recipient} +# flags=DRXhu user=vmail argv=/usr/local/bin/maildrop -d ${recipient} # # ==================================================================== # @@ -98,7 +98,7 @@ postlog unix-dgram n - n - 1 postlogd # Also specify in main.cf: cyrus_destination_recipient_limit=1 # #cyrus unix - n n - - pipe -# user=cyrus argv=/cyrus/bin/deliver -e -r ${sender} -m ${extension} ${user} +# flags=DRX user=cyrus argv=/cyrus/bin/deliver -e -r ${sender} -m ${extension} ${user} # # ==================================================================== # @@ -129,5 +129,5 @@ postlog unix-dgram n - n - 1 postlogd # ${nexthop} ${user} ${extension} # #mailman unix - n n - - pipe -# flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py +# flags=FRX user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py # ${nexthop} ${user} diff --git a/jails/config/maps/maps b/jails/config/maps/maps index 2a2a639..d53f5c1 100755 --- a/jails/config/maps/maps +++ b/jails/config/maps/maps @@ -1,4 +1,6 @@ -# Copyright (c) 2018-2020, diyIT.org +#!/bin/sh + +# Copyright (c) 2018-2019, diyIT.org # All rights reserved. # # BSD 2-Clause License ("Simplified BSD License" or "FreeBSD License") @@ -6,8 +8,6 @@ # # -#!/bin/sh - # the two lines below are not just comments but required by rcorder; service -e # PROVIDE: mapsserver # REQUIRE: NETWORKING DAEMON diff --git a/jails/config/matrix/config.json b/jails/config/matrix/config.json new file mode 100644 index 0000000..ae7c351 --- /dev/null +++ b/jails/config/matrix/config.json @@ -0,0 +1,58 @@ +{ + "default_server_config": { + "m.homeserver": { + "base_url": "https://matrix.ahlawat.com", + "server_name": "matrix.ahlawat.com" + }, + "m.identity_server": { + "base_url": "https://vector.im" + } + }, + "disable_custom_urls": false, + "disable_guests": false, + "disable_login_language_selector": false, + "disable_3pid_login": false, + "brand": "Riot", + "integrations_ui_url": "https://scalar.vector.im/", + "integrations_rest_url": "https://scalar.vector.im/api", + "integrations_widgets_urls": [ + "https://scalar.vector.im/_matrix/integrations/v1", + "https://scalar.vector.im/api", + "https://scalar-staging.vector.im/_matrix/integrations/v1", + "https://scalar-staging.vector.im/api", + "https://scalar-staging.riot.im/scalar/api" + ], + "bug_report_endpoint_url": "https://riot.im/bugreports/submit", + "defaultCountryCode": "US", + "showLabsSettings": false, + "features": { + "feature_pinning": "labs", + "feature_custom_status": "labs", + "feature_custom_tags": "labs", + "feature_state_counters": "labs" + }, + "default_federate": true, + "default_theme": "light", + "roomDirectory": { + "servers": [ + "matrix.org" + ] + }, + "welcomeUserId": "@riot-bot:matrix.org", + "piwik": { + "url": "https://piwik.riot.im/", + "whitelistedHSUrls": ["https://matrix.org"], + "whitelistedISUrls": ["https://vector.im", "https://matrix.org"], + "siteId": 1 + }, + "enable_presence_by_hs_url": { + "https://matrix.org": false, + "https://matrix-client.matrix.org": false + }, + "settingDefaults": { + "breadcrumbs": true + }, + "jitsi": { + "preferredDomain": "meet.ahlawat.com" + } +} diff --git a/jails/config/matrix/nginx.conf b/jails/config/matrix/nginx.conf new file mode 100644 index 0000000..91c9604 --- /dev/null +++ b/jails/config/matrix/nginx.conf @@ -0,0 +1,161 @@ + +#user nobody; +worker_processes 1; + +# This default error log path is compiled-in to make sure configuration parsing +# errors are logged somewhere, especially during unattended boot when stderr +# isn't normally logged anywhere. This path will be touched on every nginx +# start regardless of error log location configured here. See +# https://trac.nginx.org/nginx/ticket/147 for more info. +# +#error_log /var/log/nginx/error.log; +# + +#pid logs/nginx.pid; + + +events { + worker_connections 1024; +} + + +http { + include mime.types; + default_type application/octet-stream; + + #log_format main '$remote_addr - $remote_user [$time_local] "$request" ' + # '$status $body_bytes_sent "$http_referer" ' + # '"$http_user_agent" "$http_x_forwarded_for"'; + + #access_log logs/access.log main; + + sendfile on; + #tcp_nopush on; + + #keepalive_timeout 0; + keepalive_timeout 65; + + #gzip on; + +# server { +# listen 80; +# server_name localhost; + + #charset koi8-r; + + #access_log logs/host.access.log main; + +# location / { +# root /usr/local/www/nginx; +# index index.html index.htm; +# } + + #error_page 404 /404.html; + + # redirect server error pages to the static page /50x.html + # +# error_page 500 502 503 504 /50x.html; +# location = /50x.html { +# root /usr/local/www/nginx-dist; +# } + + # proxy the PHP scripts to Apache listening on 127.0.0.1:80 + # + #location ~ \.php$ { + # proxy_pass http://127.0.0.1; + #} + + # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 + # + #location ~ \.php$ { + # root html; + # fastcgi_pass 127.0.0.1:9000; + # fastcgi_index index.php; + # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; + # include fastcgi_params; + #} + + # deny access to .htaccess files, if Apache's document root + # concurs with nginx's one + # + #location ~ /\.ht { + # deny all; + #} +# } + + + # another virtual host using mix of IP-, name-, and port-based configuration + # + #server { + # listen 8000; + # listen somename:8080; + # server_name somename alias another.alias; + + # location / { + # root html; + # index index.html index.htm; + # } + #} + + + # HTTPS server + # + #server { + # listen 443 ssl; + # server_name localhost; + + # ssl_certificate cert.pem; + # ssl_certificate_key cert.key; + + # ssl_session_cache shared:SSL:1m; + # ssl_session_timeout 5m; + + # ssl_ciphers HIGH:!aNULL:!MD5; + # ssl_prefer_server_ciphers on; + + # location / { + # root html; + # index index.html index.htm; + # } + #} + + server_names_hash_bucket_size 64; + + server { + listen 80 default_server; + listen [::]:80 default_server; + server_name _; + return 301 https://$host$request_uri; + } + + server { + listen 0.0.0.0:443 ssl http2; + listen [::]:443 ssl http2; + server_name matrix.ahlawat.com; + + ssl_certificate /mnt/certs/fullchain.pem; + ssl_certificate_key /mnt/certs/privkey.pem; + + ssl_session_cache shared:SSL:1m; + ssl_session_timeout 5m; + + ssl_ciphers HIGH:!aNULL:!MD5; + ssl_prefer_server_ciphers on; + + #access_log logs/host.access.log main; + + #location /favicon.ico { access_log off; log_not_found off; } + + root /usr/local/www/riot; + index index.html; + + #error_page 404 /404.html; + + # redirect server error pages to the static page /50x.html + # + error_page 500 502 503 504 /50x.html; + location = /50x.html { + root /usr/local/www/nginx-dist; + } + } +} diff --git a/jails/config/meet/hosts.txt b/jails/config/meet/hosts.txt new file mode 100644 index 0000000..9e66d2d --- /dev/null +++ b/jails/config/meet/hosts.txt @@ -0,0 +1,9 @@ + +192.168.0.67 auth.meet.ahlawat.com +2603:3024:3f6:e1::67 auth.meet.ahlawat.com +192.168.0.67 confrence.meet.ahlawat.com +2603:3024:3f6:e1::67 conference.meet.ahlawat.com +192.168.0.67 focus.meet.ahlawat.com +2603:3024:3f6:e1::67 focus.meet.ahlawat.com +192.168.0.67 jistsi-videobridge.meet.ahlawat.com +2603:3024:3f6:e1::67 jitsi-videobridge.meet.ahlawat.com diff --git a/jails/config/meet/jicofo.conf b/jails/config/meet/jicofo.conf new file mode 100644 index 0000000..6eb02d6 --- /dev/null +++ b/jails/config/meet/jicofo.conf @@ -0,0 +1,9 @@ +JVB_XMPP_HOST=localhost +JVB_XMPP_DOMAIN=meet.ahlawat.com +JVB_XMPP_PORT=5347 +JVB_XMPP_SECRET=YOURSECRET2-qwertyuiop +JVB_XMPP_USER_DOMAIN=auth.meet.ahlawat.com +JVB_XMPP_USER_NAME=focus +JVB_XMPP_USER_SECRET=YOURSECRET3-qwertyuiop + +MAX_MEMORY=3072m diff --git a/jails/config/meet/jitsi-meet/config.js b/jails/config/meet/jitsi-meet/config.js new file mode 100644 index 0000000..7aea293 --- /dev/null +++ b/jails/config/meet/jitsi-meet/config.js @@ -0,0 +1,542 @@ +/* eslint-disable no-unused-vars, no-var */ + +var config = { + // Connection + // + + hosts: { + // XMPP domain. + // domain: 'jitsi-meet.example.com', + domain: 'meet.ahlawat.com', + + // When using authentication, domain for guest users. + // anonymousdomain: 'guest.example.com', + + // Domain for authenticated users. Defaults to . + // authdomain: 'jitsi-meet.example.com', + + // Jirecon recording component domain. + // jirecon: 'jirecon.jitsi-meet.example.com', + + // Call control component (Jigasi). + // call_control: 'callcontrol.jitsi-meet.example.com', + + // Focus component domain. Defaults to focus.. + // focus: 'focus.jitsi-meet.example.com', + + // XMPP MUC domain. FIXME: use XEP-0030 to discover it. + // muc: 'conference.jitsi-meet.example.com' + muc: 'conference.meet.ahlawat.com', + bridge: 'jitsi-videobridge.meet.ahlawat.com', + }, + useNicks: false, + + // BOSH URL. FIXME: use XEP-0156 to discover it. + // bosh: '//jitsi-meet.example.com/http-bind', + bosh: '//meet.ahlawat.com/http-bind', + + // Websocket URL + // websocket: 'wss://jitsi-meet.example.com/xmpp-websocket', + + // The name of client node advertised in XEP-0115 'c' stanza + clientNode: 'http://jitsi.org/jitsimeet', + + // The real JID of focus participant - can be overridden here + // focusUserJid: 'focus@auth.jitsi-meet.example.com', + + + // Testing / experimental features. + // + + testing: { + // P2P test mode disables automatic switching to P2P when there are 2 + // participants in the conference. + p2pTestMode: false + + // Enables the test specific features consumed by jitsi-meet-torture + // testMode: false + + // Disables the auto-play behavior of *all* newly created video element. + // This is useful when the client runs on a host with limited resources. + // noAutoPlayVideo: false + }, + + // Disables ICE/UDP by filtering out local and remote UDP candidates in + // signalling. + // webrtcIceUdpDisable: false, + + // Disables ICE/TCP by filtering out local and remote TCP candidates in + // signalling. + // webrtcIceTcpDisable: false, + + + // Media + // + + // Audio + + // Disable measuring of audio levels. + // disableAudioLevels: false, + // audioLevelsInterval: 200, + + // Enabling this will run the lib-jitsi-meet no audio detection module which + // will notify the user if the current selected microphone has no audio + // input and will suggest another valid device if one is present. + enableNoAudioDetection: true, + + // Enabling this will run the lib-jitsi-meet noise detection module which will + // notify the user if there is noise, other than voice, coming from the current + // selected microphone. The purpose it to let the user know that the input could + // be potentially unpleasant for other meeting participants. + enableNoisyMicDetection: true, + + // Start the conference in audio only mode (no video is being received nor + // sent). + // startAudioOnly: false, + + // Every participant after the Nth will start audio muted. + // startAudioMuted: 10, + + // Start calls with audio muted. Unlike the option above, this one is only + // applied locally. FIXME: having these 2 options is confusing. + // startWithAudioMuted: false, + + // Enabling it (with #params) will disable local audio output of remote + // participants and to enable it back a reload is needed. + // startSilent: false + + // Video + + // Sets the preferred resolution (height) for local video. Defaults to 720. + // resolution: 720, + + // w3c spec-compliant video constraints to use for video capture. Currently + // used by browsers that return true from lib-jitsi-meet's + // util#browser#usesNewGumFlow. The constraints are independent from + // this config's resolution value. Defaults to requesting an ideal + // resolution of 720p. + // constraints: { + // video: { + // height: { + // ideal: 720, + // max: 720, + // min: 240 + // } + // } + // }, + + // Enable / disable simulcast support. + // disableSimulcast: false, + + // Enable / disable layer suspension. If enabled, endpoints whose HD + // layers are not in use will be suspended (no longer sent) until they + // are requested again. + // enableLayerSuspension: false, + + // Every participant after the Nth will start video muted. + // startVideoMuted: 10, + + // Start calls with video muted. Unlike the option above, this one is only + // applied locally. FIXME: having these 2 options is confusing. + // startWithVideoMuted: false, + + // If set to true, prefer to use the H.264 video codec (if supported). + // Note that it's not recommended to do this because simulcast is not + // supported when using H.264. For 1-to-1 calls this setting is enabled by + // default and can be toggled in the p2p section. + // preferH264: true, + + // If set to true, disable H.264 video codec by stripping it out of the + // SDP. + // disableH264: false, + + // Desktop sharing + + // The ID of the jidesha extension for Chrome. + desktopSharingChromeExtId: null, + + // Whether desktop sharing should be disabled on Chrome. + // desktopSharingChromeDisabled: false, + + // The media sources to use when using screen sharing with the Chrome + // extension. + desktopSharingChromeSources: [ 'screen', 'window', 'tab' ], + + // Required version of Chrome extension + desktopSharingChromeMinExtVersion: '0.1', + + // Whether desktop sharing should be disabled on Firefox. + // desktopSharingFirefoxDisabled: false, + + // Optional desktop sharing frame rate options. Default value: min:5, max:5. + // desktopSharingFrameRate: { + // min: 5, + // max: 5 + // }, + + // Try to start calls with screen-sharing instead of camera video. + // startScreenSharing: false, + + // Recording + + // Whether to enable file recording or not. + // fileRecordingsEnabled: false, + // Enable the dropbox integration. + // dropbox: { + // appKey: '' // Specify your app key here. + // // A URL to redirect the user to, after authenticating + // // by default uses: + // // 'https://jitsi-meet.example.com/static/oauth.html' + // redirectURI: + // 'https://jitsi-meet.example.com/subfolder/static/oauth.html' + // }, + // When integrations like dropbox are enabled only that will be shown, + // by enabling fileRecordingsServiceEnabled, we show both the integrations + // and the generic recording service (its configuration and storage type + // depends on jibri configuration) + // fileRecordingsServiceEnabled: false, + // Whether to show the possibility to share file recording with other people + // (e.g. meeting participants), based on the actual implementation + // on the backend. + // fileRecordingsServiceSharingEnabled: false, + + // Whether to enable live streaming or not. + // liveStreamingEnabled: false, + + // Transcription (in interface_config, + // subtitles and buttons can be configured) + // transcribingEnabled: false, + + // Enables automatic turning on captions when recording is started + // autoCaptionOnRecord: false, + + // Misc + + // Default value for the channel "last N" attribute. -1 for unlimited. + channelLastN: -1, + + // Disables or enables RTX (RFC 4588) (defaults to false). + // disableRtx: false, + + // Disables or enables TCC (the default is in Jicofo and set to true) + // (draft-holmer-rmcat-transport-wide-cc-extensions-01). This setting + // affects congestion control, it practically enables send-side bandwidth + // estimations. + // enableTcc: true, + + // Disables or enables REMB (the default is in Jicofo and set to false) + // (draft-alvestrand-rmcat-remb-03). This setting affects congestion + // control, it practically enables recv-side bandwidth estimations. When + // both TCC and REMB are enabled, TCC takes precedence. When both are + // disabled, then bandwidth estimations are disabled. + // enableRemb: false, + + // Defines the minimum number of participants to start a call (the default + // is set in Jicofo and set to 2). + // minParticipants: 2, + + // Use XEP-0215 to fetch STUN and TURN servers. + // useStunTurn: true, + + // Enable IPv6 support. + // useIPv6: true, + + // Enables / disables a data communication channel with the Videobridge. + // Values can be 'datachannel', 'websocket', true (treat it as + // 'datachannel'), undefined (treat it as 'datachannel') and false (don't + // open any channel). + // openBridgeChannel: true, + + + // UI + // + + // Use display name as XMPP nickname. + // useNicks: false, + + // Require users to always specify a display name. + // requireDisplayName: true, + + // Whether to use a welcome page or not. In case it's false a random room + // will be joined when no room is specified. + enableWelcomePage: true, + + // Enabling the close page will ignore the welcome page redirection when + // a call is hangup. + // enableClosePage: false, + + // Disable hiding of remote thumbnails when in a 1-on-1 conference call. + // disable1On1Mode: false, + + // Default language for the user interface. + // defaultLanguage: 'en', + + // If true all users without a token will be considered guests and all users + // with token will be considered non-guests. Only guests will be allowed to + // edit their profile. + enableUserRolesBasedOnToken: false, + + // Whether or not some features are checked based on token. + // enableFeaturesBasedOnToken: false, + + // Enable lock room for all moderators, even when userRolesBasedOnToken is enabled and participants are guests. + // lockRoomGuestEnabled: false, + + // When enabled the password used for locking a room is restricted to up to the number of digits specified + // roomPasswordNumberOfDigits: 10, + // default: roomPasswordNumberOfDigits: false, + + // Message to show the users. Example: 'The service will be down for + // maintenance at 01:00 AM GMT, + // noticeMessage: '', + + // Enables calendar integration, depends on googleApiApplicationClientID + // and microsoftApiApplicationClientID + // enableCalendarIntegration: false, + + // Stats + // + + // Whether to enable stats collection or not in the TraceablePeerConnection. + // This can be useful for debugging purposes (post-processing/analysis of + // the webrtc stats) as it is done in the jitsi-meet-torture bandwidth + // estimation tests. + // gatherStats: false, + + // The interval at which PeerConnection.getStats() is called. Defaults to 10000 + // pcStatsInterval: 10000, + + // To enable sending statistics to callstats.io you must provide the + // Application ID and Secret. + // callStatsID: '', + // callStatsSecret: '', + + // enables sending participants display name to callstats + // enableDisplayNameInStats: false, + + // enables sending participants email if available to callstats and other analytics + // enableEmailInStats: false, + + // Privacy + // + + // If third party requests are disabled, no other server will be contacted. + // This means avatars will be locally generated and callstats integration + // will not function. + // disableThirdPartyRequests: false, + + + // Peer-To-Peer mode: used (if enabled) when there are just 2 participants. + // + + p2p: { + // Enables peer to peer mode. When enabled the system will try to + // establish a direct connection when there are exactly 2 participants + // in the room. If that succeeds the conference will stop sending data + // through the JVB and use the peer to peer connection instead. When a + // 3rd participant joins the conference will be moved back to the JVB + // connection. + enabled: true, + + // Use XEP-0215 to fetch STUN and TURN servers. + // useStunTurn: true, + + // The STUN servers that will be used in the peer to peer connections + stunServers: [ + + // { urls: 'stun:jitsi-meet.example.com:4446' }, + // { urls: 'stun:meet-jit-si-turnrelay.jitsi.net:443' } + { urls: 'stun:ahlawat.com:3478' } + ], + + // Sets the ICE transport policy for the p2p connection. At the time + // of this writing the list of possible values are 'all' and 'relay', + // but that is subject to change in the future. The enum is defined in + // the WebRTC standard: + // https://www.w3.org/TR/webrtc/#rtcicetransportpolicy-enum. + // If not set, the effective value is 'all'. + // iceTransportPolicy: 'all', + + // If set to true, it will prefer to use H.264 for P2P calls (if H.264 + // is supported). + preferH264: true + + // If set to true, disable H.264 video codec by stripping it out of the + // SDP. + // disableH264: false, + + // How long we're going to wait, before going back to P2P after the 3rd + // participant has left the conference (to filter out page reload). + // backToP2PDelay: 5 + }, + + analytics: { + // The Google Analytics Tracking ID: + // googleAnalyticsTrackingId: 'your-tracking-id-UA-123456-1' + + // The Amplitude APP Key: + // amplitudeAPPKey: '' + + // Array of script URLs to load as lib-jitsi-meet "analytics handlers". + // scriptURLs: [ + // "libs/analytics-ga.min.js", // google-analytics + // "https://example.com/my-custom-analytics.js" + // ], + }, + + // Information about the jitsi-meet instance we are connecting to, including + // the user region as seen by the server. + deploymentInfo: { + // shard: "shard1", + // region: "europe", + // userRegion: "asia" + }, + + // Decides whether the start/stop recording audio notifications should play on record. + // disableRecordAudioNotification: false, + + // Information for the chrome extension banner + // chromeExtensionBanner: { + // // The chrome extension to be installed address + // url: 'https://chrome.google.com/webstore/detail/jitsi-meetings/kglhbbefdnlheedjiejgomgmfplipfeb', + + // // Extensions info which allows checking if they are installed or not + // chromeExtensionsInfo: [ + // { + // id: 'kglhbbefdnlheedjiejgomgmfplipfeb', + // path: 'jitsi-logo-48x48.png' + // } + // ] + // }, + + // Local Recording + // + + // localRecording: { + // Enables local recording. + // Additionally, 'localrecording' (all lowercase) needs to be added to + // TOOLBAR_BUTTONS in interface_config.js for the Local Recording + // button to show up on the toolbar. + // + // enabled: true, + // + + // The recording format, can be one of 'ogg', 'flac' or 'wav'. + // format: 'flac' + // + + // }, + + // Options related to end-to-end (participant to participant) ping. + // e2eping: { + // // The interval in milliseconds at which pings will be sent. + // // Defaults to 10000, set to <= 0 to disable. + // pingInterval: 10000, + // + // // The interval in milliseconds at which analytics events + // // with the measured RTT will be sent. Defaults to 60000, set + // // to <= 0 to disable. + // analyticsInterval: 60000, + // }, + + // If set, will attempt to use the provided video input device label when + // triggering a screenshare, instead of proceeding through the normal flow + // for obtaining a desktop stream. + // NOTE: This option is experimental and is currently intended for internal + // use only. + // _desktopSharingSourceDevice: 'sample-id-or-label', + + // If true, any checks to handoff to another application will be prevented + // and instead the app will continue to display in the current browser. + // disableDeepLinking: false, + + // A property to disable the right click context menu for localVideo + // the menu has option to flip the locally seen video for local presentations + // disableLocalVideoFlip: false, + + // Mainly privacy related settings + + // Disables all invite functions from the app (share, invite, dial out...etc) + // disableInviteFunctions: true, + + // Disables storing the room name to the recents list + // doNotStoreRoom: true, + + // Deployment specific URLs. + // deploymentUrls: { + // // If specified a 'Help' button will be displayed in the overflow menu with a link to the specified URL for + // // user documentation. + // userDocumentationURL: 'https://docs.example.com/video-meetings.html', + // // If specified a 'Download our apps' button will be displayed in the overflow menu with a link + // // to the specified URL for an app download page. + // downloadAppsUrl: 'https://docs.example.com/our-apps.html' + // }, + + // Options related to the remote participant menu. + // remoteVideoMenu: { + // // If set to true the 'Kick out' button will be disabled. + // disableKick: true + // }, + + // If set to true all muting operations of remote participants will be disabled. + // disableRemoteMute: true, + + // List of undocumented settings used in jitsi-meet + /** + _immediateReloadThreshold + autoRecord + autoRecordToken + debug + debugAudioLevels + deploymentInfo + dialInConfCodeUrl + dialInNumbersUrl + dialOutAuthUrl + dialOutCodesUrl + disableRemoteControl + displayJids + etherpad_base + externalConnectUrl + firefox_fake_device + googleApiApplicationClientID + iAmRecorder + iAmSipGateway + microsoftApiApplicationClientID + peopleSearchQueryTypes + peopleSearchUrl + requireDisplayName + tokenAuthUrl + */ + + // List of undocumented settings used in lib-jitsi-meet + /** + _peerConnStatusOutOfLastNTimeout + _peerConnStatusRtcMuteTimeout + abTesting + avgRtpStatsN + callStatsConfIDNamespace + callStatsCustomScriptUrl + desktopSharingSources + disableAEC + disableAGC + disableAP + disableHPF + disableNS + enableLipSync + enableTalkWhileMuted + forceJVB121Ratio + hiddenDomain + ignoreStartMuted + nick + startBitrate + */ + + + // Allow all above example options to include a trailing comma and + // prevent fear when commenting out the last value. + makeJsonParserHappy: 'even if last key had a trailing comma' + + // no configuration value should follow this line. +}; + +/* eslint-enable no-unused-vars, no-var */ diff --git a/jails/config/meet/jitsi-meet/interface_config.js b/jails/config/meet/jitsi-meet/interface_config.js new file mode 100644 index 0000000..834b101 --- /dev/null +++ b/jails/config/meet/jitsi-meet/interface_config.js @@ -0,0 +1,258 @@ +/* eslint-disable no-unused-vars, no-var, max-len */ + +var interfaceConfig = { + // TO FIX: this needs to be handled from SASS variables. There are some + // methods allowing to use variables both in css and js. + DEFAULT_BACKGROUND: '#474747', + + /** + * Whether or not the blurred video background for large video should be + * displayed on browsers that can support it. + */ + DISABLE_VIDEO_BACKGROUND: false, + + INITIAL_TOOLBAR_TIMEOUT: 20000, + TOOLBAR_TIMEOUT: 4000, + TOOLBAR_ALWAYS_VISIBLE: false, + DEFAULT_REMOTE_DISPLAY_NAME: 'Friend', + DEFAULT_LOCAL_DISPLAY_NAME: 'me', + SHOW_JITSI_WATERMARK: false, + JITSI_WATERMARK_LINK: 'https://meet.ahlawat.com', + + // if watermark is disabled by default, it can be shown only for guests + SHOW_WATERMARK_FOR_GUESTS: false, + SHOW_BRAND_WATERMARK: false, + BRAND_WATERMARK_LINK: 'https://meet.ahlawat.com', + SHOW_POWERED_BY: false, + SHOW_DEEP_LINKING_IMAGE: false, + GENERATE_ROOMNAMES_ON_WELCOME_PAGE: false, + DISPLAY_WELCOME_PAGE_CONTENT: false, + DISPLAY_WELCOME_PAGE_TOOLBAR_ADDITIONAL_CONTENT: false, + APP_NAME: 'Ahlawat meet', + NATIVE_APP_NAME: 'Ahlawat meet', + PROVIDER_NAME: 'Ahlawat', + LANG_DETECTION: true, // Allow i18n to detect the system language + INVITATION_POWERED_BY: false, + + /** + * If we should show authentication block in profile + */ + AUTHENTICATION_ENABLE: true, + + /** + * The name of the toolbar buttons to display in the toolbar. If present, + * the button will display. Exceptions are "livestreaming" and "recording" + * which also require being a moderator and some values in config.js to be + * enabled. Also, the "profile" button will not display for user's with a + * jwt. + */ + TOOLBAR_BUTTONS: [ + 'microphone', 'camera', 'closedcaptions', 'desktop', 'fullscreen', + 'fodeviceselection', 'hangup', 'profile', 'info', 'chat', 'recording', + 'livestreaming', 'etherpad', 'sharedvideo', 'settings', 'raisehand', + 'videoquality', 'filmstrip', 'invite', 'feedback', 'stats', 'shortcuts', + 'tileview', 'videobackgroundblur', 'download', 'help', 'mute-everyone', + 'e2ee' + ], + + SETTINGS_SECTIONS: [ 'devices', 'language', 'moderator', 'profile', 'calendar' ], + + // Determines how the video would fit the screen. 'both' would fit the whole + // screen, 'height' would fit the original video height to the height of the + // screen, 'width' would fit the original video width to the width of the + // screen respecting ratio. + VIDEO_LAYOUT_FIT: 'both', + + /** + * Whether to only show the filmstrip (and hide the toolbar). + */ + filmStripOnly: false, + + /** + * Whether to show thumbnails in filmstrip as a column instead of as a row. + */ + VERTICAL_FILMSTRIP: true, + + // A html text to be shown to guests on the close page, false disables it + CLOSE_PAGE_GUEST_HINT: false, + SHOW_PROMOTIONAL_CLOSE_PAGE: false, + RANDOM_AVATAR_URL_PREFIX: false, + RANDOM_AVATAR_URL_SUFFIX: false, + FILM_STRIP_MAX_HEIGHT: 120, + + // Enables feedback star animation. + ENABLE_FEEDBACK_ANIMATION: false, + DISABLE_FOCUS_INDICATOR: false, + DISABLE_DOMINANT_SPEAKER_INDICATOR: false, + + /** + * Whether the speech to text transcription subtitles panel is disabled. + * If {@code undefined}, defaults to {@code false}. + * + * @type {boolean} + */ + DISABLE_TRANSCRIPTION_SUBTITLES: false, + + /** + * Whether the ringing sound in the call/ring overlay is disabled. If + * {@code undefined}, defaults to {@code false}. + * + * @type {boolean} + */ + DISABLE_RINGING: false, + AUDIO_LEVEL_PRIMARY_COLOR: 'rgba(255,255,255,0.4)', + AUDIO_LEVEL_SECONDARY_COLOR: 'rgba(255,255,255,0.2)', + POLICY_LOGO: null, + LOCAL_THUMBNAIL_RATIO: 16 / 9, // 16:9 + REMOTE_THUMBNAIL_RATIO: 1, // 1:1 + // Documentation reference for the live streaming feature. + LIVE_STREAMING_HELP_LINK: 'https://jitsi.org/live', + + /** + * Whether the mobile app Jitsi Meet is to be promoted to participants + * attempting to join a conference in a mobile Web browser. If + * {@code undefined}, defaults to {@code true}. + * + * @type {boolean} + */ + MOBILE_APP_PROMO: true, + + /** + * Maximum coeficient of the ratio of the large video to the visible area + * after the large video is scaled to fit the window. + * + * @type {number} + */ + MAXIMUM_ZOOMING_COEFFICIENT: 1.3, + + /* + * If indicated some of the error dialogs may point to the support URL for + * help. + */ + SUPPORT_URL: 'https://ahlawat.com/', + + /** + * Whether the connection indicator icon should hide itself based on + * connection strength. If true, the connection indicator will remain + * displayed while the participant has a weak connection and will hide + * itself after the CONNECTION_INDICATOR_HIDE_TIMEOUT when the connection is + * strong. + * + * @type {boolean} + */ + CONNECTION_INDICATOR_AUTO_HIDE_ENABLED: true, + + /** + * How long the connection indicator should remain displayed before hiding. + * Used in conjunction with CONNECTION_INDICATOR_AUTOHIDE_ENABLED. + * + * @type {number} + */ + CONNECTION_INDICATOR_AUTO_HIDE_TIMEOUT: 5000, + + /** + * If true, hides the connection indicators completely. + * + * @type {boolean} + */ + CONNECTION_INDICATOR_DISABLED: false, + + /** + * If true, hides the video quality label indicating the resolution status + * of the current large video. + * + * @type {boolean} + */ + VIDEO_QUALITY_LABEL_DISABLED: false, + + /** + * If true, will display recent list + * + * @type {boolean} + */ + RECENT_LIST_ENABLED: true, + + // Names of browsers which should show a warning stating the current browser + // has a suboptimal experience. Browsers which are not listed as optimal or + // unsupported are considered suboptimal. Valid values are: + // chrome, chromium, edge, electron, firefox, nwjs, opera, safari + OPTIMAL_BROWSERS: [ 'chrome', 'chromium', 'firefox', 'nwjs', 'electron' ], + + // Browsers, in addition to those which do not fully support WebRTC, that + // are not supported and should show the unsupported browser page. + UNSUPPORTED_BROWSERS: [], + + /** + * A UX mode where the last screen share participant is automatically + * pinned. Valid values are the string "remote-only" so remote participants + * get pinned but not local, otherwise any truthy value for all participants, + * and any falsy value to disable the feature. + * + * Note: this mode is experimental and subject to breakage. + */ + AUTO_PIN_LATEST_SCREEN_SHARE: 'remote-only', + + /** + * If true, presence status: busy, calling, connected etc. is not displayed. + */ + DISABLE_PRESENCE_STATUS: false, + + /** + * If true, notifications regarding joining/leaving are no longer displayed. + */ + DISABLE_JOIN_LEAVE_NOTIFICATIONS: false, + + /** + * Decides whether the chrome extension banner should be rendered on the landing page and during the meeting. + * If this is set to false, the banner will not be rendered at all. If set to true, the check for extension(s) + * being already installed is done before rendering. + */ + SHOW_CHROME_EXTENSION_BANNER: false + + /** + * When enabled, the kick participant button will not be presented for users without a JWT + */ + // HIDE_KICK_BUTTON_FOR_GUESTS: false + + /** + * How many columns the tile view can expand to. The respected range is + * between 1 and 5. + */ + // TILE_VIEW_MAX_COLUMNS: 5, + + /** + * Specify custom URL for downloading android mobile app. + */ + // MOBILE_DOWNLOAD_LINK_ANDROID: 'https://play.google.com/store/apps/details?id=org.jitsi.meet', + + /** + * Specify URL for downloading ios mobile app. + */ + // MOBILE_DOWNLOAD_LINK_IOS: 'https://itunes.apple.com/us/app/jitsi-meet/id1165103905', + + /** + * Specify mobile app scheme for opening the app from the mobile browser. + */ + // APP_SCHEME: 'org.jitsi.meet', + + /** + * Specify the Android app package name. + */ + // ANDROID_APP_PACKAGE: 'org.jitsi.meet', + + /** + * Override the behavior of some notifications to remain displayed until + * explicitly dismissed through a user action. The value is how long, in + * milliseconds, those notifications should remain displayed. + */ + // ENFORCE_NOTIFICATION_AUTO_DISMISS_TIMEOUT: 15000, + + // List of undocumented settings + /** + INDICATOR_FONT_SIZES + MOBILE_DYNAMIC_LINK + PHONE_NUMBER_REGEX + */ +}; + +/* eslint-enable no-unused-vars, no-var, max-len */ diff --git a/jails/config/meet/nginx.conf b/jails/config/meet/nginx.conf new file mode 100644 index 0000000..f7dfdef --- /dev/null +++ b/jails/config/meet/nginx.conf @@ -0,0 +1,190 @@ + +#user nobody; +worker_processes 1; + +# This default error log path is compiled-in to make sure configuration parsing +# errors are logged somewhere, especially during unattended boot when stderr +# isn't normally logged anywhere. This path will be touched on every nginx +# start regardless of error log location configured here. See +# https://trac.nginx.org/nginx/ticket/147 for more info. +# +#error_log /var/log/nginx/error.log; +# + +#pid logs/nginx.pid; + + +events { + worker_connections 1024; +} + + +http { + include mime.types; + default_type application/octet-stream; + + #log_format main '$remote_addr - $remote_user [$time_local] "$request" ' + # '$status $body_bytes_sent "$http_referer" ' + # '"$http_user_agent" "$http_x_forwarded_for"'; + + #access_log logs/access.log main; + + sendfile on; + #tcp_nopush on; + + #keepalive_timeout 0; + keepalive_timeout 65; + + #gzip on; + +# server { +# listen 80; +# server_name localhost; + + #charset koi8-r; + + #access_log logs/host.access.log main; + +# location / { +# root /usr/local/www/nginx; +# index index.html index.htm; +# } + + #error_page 404 /404.html; + + # redirect server error pages to the static page /50x.html + # +# error_page 500 502 503 504 /50x.html; +# location = /50x.html { +# root /usr/local/www/nginx-dist; +# } + + # proxy the PHP scripts to Apache listening on 127.0.0.1:80 + # + #location ~ \.php$ { + # proxy_pass http://127.0.0.1; + #} + + # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 + # + #location ~ \.php$ { + # root html; + # fastcgi_pass 127.0.0.1:9000; + # fastcgi_index index.php; + # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; + # include fastcgi_params; + #} + + # deny access to .htaccess files, if Apache's document root + # concurs with nginx's one + # + #location ~ /\.ht { + # deny all; + #} +# } + + + # another virtual host using mix of IP-, name-, and port-based configuration + # + #server { + # listen 8000; + # listen somename:8080; + # server_name somename alias another.alias; + + # location / { + # root html; + # index index.html index.htm; + # } + #} + + + # HTTPS server + # + #server { + # listen 443 ssl; + # server_name localhost; + + # ssl_certificate cert.pem; + # ssl_certificate_key cert.key; + + # ssl_session_cache shared:SSL:1m; + # ssl_session_timeout 5m; + + # ssl_ciphers HIGH:!aNULL:!MD5; + # ssl_prefer_server_ciphers on; + + # location / { + # root html; + # index index.html index.htm; + # } + #} + + server_names_hash_bucket_size 64; + + server { + listen 80 default_server; + listen [::]:80 default_server; + server_name _; + return 301 https://$host$request_uri; + } + + server { + listen 0.0.0.0:443 ssl http2; + listen [::]:443 ssl http2; + server_name meet.ahlawat.com; + + ssl_certificate /mnt/certs/fullchain.pem; + ssl_certificate_key /mnt/certs/privkey.pem; + + ssl_session_cache shared:SSL:1m; + ssl_session_timeout 5m; + + ssl_ciphers HIGH:!aNULL:!MD5; + ssl_prefer_server_ciphers on; + + #access_log logs/host.access.log main; + + #location /favicon.ico { access_log off; log_not_found off; } + + root /usr/local/www/jitsi-meet; + index index.html; + location ~ ^/([a-zA-Z0-9=\?]+)$ { + rewrite ^/(.*)$ / break; + } + location / { + ssi on; + } + # BOSH, Bidirectional-streams Over Synchronous HTTP + # https://en.wikipedia.org/wiki/BOSH_(protocol) + location /http-bind { + proxy_pass http://meet.ahlawat.com:5280/http-bind; + proxy_set_header X-Forwarded-For $remote_addr; + proxy_set_header Host $http_host; + } + # external_api.js must be accessible from the root of the + # installation for the electron version of Jitsi Meet to work + # https://github.com/jitsi/jitsi-meet-electron + location /external_api.js { + alias /usr/local/www/jitsi-meet/libs/external_api.min.js; + } + + # xmpp websockets + location /xmpp-websocket { + proxy_pass http://meet.ahlawat.com:5280/xmpp-websocket; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "upgrade"; + proxy_set_header Host $host; + tcp_nodelay on; + } + + #error_page 404 /404.html; + + # redirect server error pages to the static page /50x.html + # + error_page 500 502 503 504 /50x.html; + location = /50x.html { + root /usr/local/www/nginx-dist; + } + } +} diff --git a/jails/config/meet/prosody.cfg.lua b/jails/config/meet/prosody.cfg.lua new file mode 100644 index 0000000..dc33145 --- /dev/null +++ b/jails/config/meet/prosody.cfg.lua @@ -0,0 +1,234 @@ +-- Prosody Example Configuration File +-- +-- Information on configuring Prosody can be found on our +-- website at https://prosody.im/doc/configure +-- +-- Tip: You can check that the syntax of this file is correct +-- when you have finished by running this command: +-- prosodyctl check config +-- If there are any errors, it will let you know what and where +-- they are, otherwise it will keep quiet. +-- +-- The only thing left to do is rename this file to remove the .dist ending, and fill in the +-- blanks. Good luck, and happy Jabbering! + +pidfile = "/var/run/prosody/prosody.pid" +-- interfaces = { "192.168.0.67", "2603:3024:3f6:e1::67" } + +---------- Server-wide settings ---------- +-- Settings in this section apply to the whole server and are the default settings +-- for any virtual hosts + +-- This is a (by default, empty) list of accounts that are admins +-- for the server. Note that you must create the accounts separately +-- (see https://prosody.im/doc/creating_accounts for info) +-- Example: admins = { "user1@example.com", "user2@example.net" } +admins = { "focus@auth.meet.ahlawat.com" } + +-- Enable use of libevent for better performance under high load +-- For more information see: https://prosody.im/doc/libevent +--use_libevent = true + +-- Prosody will always look in its source directory for modules, but +-- this option allows you to specify additional locations where Prosody +-- will look for modules first. For community modules, see https://modules.prosody.im/ +--plugin_paths = {} + +-- This is the list of modules Prosody will load on startup. +-- It looks for mod_modulename.lua in the plugins folder, so make sure that exists too. +-- Documentation for bundled modules can be found at: https://prosody.im/doc/modules +modules_enabled = { + + -- Generally required + "roster"; -- Allow users to have a roster. Recommended ;) + "saslauth"; -- Authentication for clients and servers. Recommended if you want to log in. + "tls"; -- Add support for secure TLS on c2s/s2s connections + "dialback"; -- s2s dialback support + "disco"; -- Service discovery + + -- Not essential, but recommended + "carbons"; -- Keep multiple clients in sync + "pep"; -- Enables users to publish their avatar, mood, activity, playing music and more + "private"; -- Private XML storage (for room bookmarks, etc.) + "blocklist"; -- Allow users to block communications with other users + "vcard4"; -- User profiles (stored in PEP) + "vcard_legacy"; -- Conversion between legacy vCard and PEP Avatar, vcard + + -- Nice to have + "version"; -- Replies to server version requests + "uptime"; -- Report how long server has been running + "time"; -- Let others know the time here on this server + "ping"; -- Replies to XMPP pings with pongs + "register"; -- Allow users to register on this server using a client and change passwords + --"mam"; -- Store messages in an archive and allow users to access it + --"csi_simple"; -- Simple Mobile optimizations + + -- Admin interfaces + "admin_adhoc"; -- Allows administration via an XMPP client that supports ad-hoc commands + --"admin_telnet"; -- Opens telnet console interface on localhost port 5582 + + -- HTTP modules + --"bosh"; -- Enable BOSH clients, aka "Jabber over HTTP" + --"websocket"; -- XMPP over WebSockets + --"http_files"; -- Serve static files from a directory over HTTP + + -- Other specific functionality + --"limits"; -- Enable bandwidth limiting for XMPP connections + --"groups"; -- Shared roster support + --"server_contact_info"; -- Publish contact information for this service + --"announce"; -- Send announcement to all online users + --"welcome"; -- Welcome users who register accounts + --"watchregistrations"; -- Alert admins of registrations + --"motd"; -- Send a message to users when they log in + --"legacyauth"; -- Legacy authentication. Only used by some old clients and bots. + --"proxy65"; -- Enables a file transfer proxy service which clients behind NAT can use +} + +-- These modules are auto-loaded, but should you want +-- to disable them then uncomment them here: +modules_disabled = { + -- "offline"; -- Store offline messages + -- "c2s"; -- Handle client connections + -- "s2s"; -- Handle server-to-server connections + -- "posix"; -- POSIX functionality, sends server to background, enables syslog, etc. +} + +-- Disable account creation by default, for security +-- For more information see https://prosody.im/doc/creating_accounts +allow_registration = false + +-- Force clients to use encrypted connections? This option will +-- prevent clients from authenticating unless they are using encryption. + +c2s_require_encryption = true + +-- Force servers to use encrypted connections? This option will +-- prevent servers from authenticating unless they are using encryption. + +s2s_require_encryption = true + +-- Force certificate authentication for server-to-server connections? + +s2s_secure_auth = false + +-- Some servers have invalid or self-signed certificates. You can list +-- remote domains here that will not be required to authenticate using +-- certificates. They will be authenticated using DNS instead, even +-- when s2s_secure_auth is enabled. + +--s2s_insecure_domains = { "insecure.example" } + +-- Even if you disable s2s_secure_auth, you can still require valid +-- certificates for some domains by specifying a list here. + +--s2s_secure_domains = { "jabber.org" } + +-- Select the authentication backend to use. The 'internal' providers +-- use Prosody's configured data storage to store the authentication data. + +authentication = "internal_hashed" + +-- Select the storage backend to use. By default Prosody uses flat files +-- in its configured data directory, but it also supports more backends +-- through modules. An "sql" backend is included by default, but requires +-- additional dependencies. See https://prosody.im/doc/storage for more info. + +--storage = "sql" -- Default is "internal" + +-- For the "sql" backend, you can uncomment *one* of the below to configure: +--sql = { driver = "SQLite3", database = "prosody.sqlite" } -- Default. 'database' is the filename. +--sql = { driver = "MySQL", database = "prosody", username = "prosody", password = "secret", host = "localhost" } +--sql = { driver = "PostgreSQL", database = "prosody", username = "prosody", password = "secret", host = "localhost" } + + +-- Archiving configuration +-- If mod_mam is enabled, Prosody will store a copy of every message. This +-- is used to synchronize conversations between multiple clients, even if +-- they are offline. This setting controls how long Prosody will keep +-- messages in the archive before removing them. + +archive_expires_after = "1w" -- Remove archived messages after 1 week + +-- You can also configure messages to be stored in-memory only. For more +-- archiving options, see https://prosody.im/doc/modules/mod_mam + +-- Logging configuration +-- For advanced logging see https://prosody.im/doc/logging +log = { + info = "prosody.log"; -- Change 'info' to 'debug' for verbose logging + error = "prosody.err"; + -- "*syslog"; -- Uncomment this for logging to syslog + -- "*console"; -- Log to the console, useful for debugging with daemonize=false +} + +-- Uncomment to enable statistics +-- For more info see https://prosody.im/doc/statistics +-- statistics = "internal" + +-- Certificates +-- Every virtual host and component needs a certificate so that clients and +-- servers can securely verify its identity. Prosody will automatically load +-- certificates/keys from the directory specified here. +-- For more information, including how to use 'prosodyctl' to auto-import certificates +-- (from e.g. Let's Encrypt) see https://prosody.im/doc/certificates + +-- Location of directory to find certificates in (relative to main config file): +-- certificates = "certs" +certificates = "/mnt/certs" + +-- HTTPS currently only supports a single certificate, specify it here: +--https_certificate = "/usr/local/etc/prosody/certs/localhost.crt" +https_certificate = "/mnt/certs/haproxy.pem" + +----------- Virtual hosts ----------- +-- You need to add a VirtualHost entry for each domain you wish Prosody to serve. +-- Settings under each VirtualHost entry apply *only* to that host. + +-- VirtualHost "localhost" + +VirtualHost "meet.ahlawat.com" + ssl = { + key = "/mnt/certs/privkeyr.pem"; + certificate = "/mnt/certs/fullchain.pem"; + } + authentication = "anonymous" + modules_enabled = { + "bosh"; + "pubsub"; + } + c2s_require_encryption = false + +-- certificate = "/path/to/example.crt" + +------ Components ------ +-- You can specify components to add hosts that provide special services, +-- like multi-user conferences, and transports. +-- For more information on components, see https://prosody.im/doc/components + +---Set up a MUC (multi-user chat) room server on conference.example.com: +--Component "conference.example.com" "muc" + +Component "conference.meet.ahlawat.com" "muc" +Component "jitsi-videobridge.meet.ahlawat.com" + component_secret = "YOURSECRET1-qwertyuiop" +Component "focus.meet.ahlawat.com" + component_secret = "YOURSECRET2-qwertyuiop" + +--- Store MUC messages in an archive and allow users to access it +--modules_enabled = { "muc_mam" } + +---Set up an external component (default component port is 5347) +-- +-- External components allow adding various services, such as gateways/ +-- transports to other networks like ICQ, MSN and Yahoo. For more info +-- see: https://prosody.im/doc/components#adding_an_external_component +-- +--Component "gateway.example.com" +-- component_secret = "password" + +VirtualHost "auth.meet.ahlawat.com" + ssl = { + key = "/var/db/prosody/auth.meet.ahlawat.com.key"; + certificate = "/var/db/prosody/auth.meet.ahlawat.com.crt"; + } + authentication = "internal_hashed" diff --git a/jails/config/meet/videobridge/jitsi-videobridge.conf b/jails/config/meet/videobridge/jitsi-videobridge.conf new file mode 100644 index 0000000..aa1b509 --- /dev/null +++ b/jails/config/meet/videobridge/jitsi-videobridge.conf @@ -0,0 +1,7 @@ +JVB_XMPP_HOST=localhost +JVB_XMPP_DOMAIN=meet.ahlawat.com +JVB_XMPP_PORT=5347 +JVB_XMPP_SECRET=YOURSECRET1-qwertyuiop + +VIDEOBRIDGE_MAX_MEMORY=3072m +# VIDEOBRIDGE_DEBUG_OPTIONS="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000" diff --git a/jails/config/meet/videobridge/sip-communicator.properties b/jails/config/meet/videobridge/sip-communicator.properties new file mode 100644 index 0000000..ba917a1 --- /dev/null +++ b/jails/config/meet/videobridge/sip-communicator.properties @@ -0,0 +1,7 @@ +#org.jitsi.videobridge.AUTHORIZED_SOURCE_REGEXP=focus@auth.meet.ahlawat.com/.* +org.jitsi.impl.neomedia.transform.srtp.SRTPCryptoContext.checkReplay=false +# The videobridge uses 443 by default with 4443 as a fallback, but since we're already +# running nginx on 443 in this example doc, we specify 4443 manually to avoid a race condition +org.jitsi.videobridge.TCP_HARVESTER_PORT=4443 +org.ice4j.ice.harvest.NAT_HARVESTER_LOCAL_ADDRESS=192.168.0.67 +org.ice4j.ice.harvest.NAT_HARVESTER_PUBLIC_ADDRESS=173.167.104.25 diff --git a/jails/config/monitor/httpd.conf b/jails/config/monitor/httpd.conf index 9584005..9467a65 100644 --- a/jails/config/monitor/httpd.conf +++ b/jails/config/monitor/httpd.conf @@ -577,7 +577,7 @@ Include etc/apache24/Includes/*.conf RewriteRule .* - [e=HTTP_AUTHORIZATION:%1] - SetHandler "proxy:fcgi://localhost:9000" + SetHandler "proxy:fcgi://127.0.0.1:9000" SSLOptions +StdEnvVars diff --git a/jails/config/monitor/json/blackbox-exporter-overview_rev1.json b/jails/config/monitor/json/blackbox-exporter-overview_rev1.json new file mode 100644 index 0000000..237164d --- /dev/null +++ b/jails/config/monitor/json/blackbox-exporter-overview_rev1.json @@ -0,0 +1,938 @@ +{ + "__inputs": [ + { + "name": "DS_PROMETHEUS", + "label": "Prometheus", + "description": "", + "type": "datasource", + "pluginId": "prometheus", + "pluginName": "Prometheus" + } + ], + "__requires": [ + { + "type": "grafana", + "id": "grafana", + "name": "Grafana", + "version": "5.4.3" + }, + { + "type": "panel", + "id": "graph", + "name": "Graph", + "version": "5.0.0" + }, + { + "type": "datasource", + "id": "prometheus", + "name": "Prometheus", + "version": "5.0.0" + }, + { + "type": "panel", + "id": "singlestat", + "name": "Singlestat", + "version": "5.0.0" + } + ], + "annotations": { + "list": [ + { + "builtIn": 1, + "datasource": "${DS_PROMETHEUS}", + "enable": true, + "hide": true, + "iconColor": "rgba(0, 211, 255, 1)", + "name": "Annotations & Alerts", + "type": "dashboard" + } + ] + }, + "editable": true, + "gnetId": 11175, + "graphTooltip": 0, + "id": null, + "iteration": 1573505620144, + "links": [], + "panels": [ + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 0 + }, + "id": 15, + "panels": [], + "repeat": "targets", + "title": "$targets UP/DOWN Status", + "type": "row" + }, + { + "cacheTimeout": null, + "colorBackground": true, + "colorValue": false, + "colors": [ + "#d44a3a", + "rgba(237, 129, 40, 0.89)", + "#299c46" + ], + "datasource": "${DS_PROMETHEUS}", + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 2, + "w": 24, + "x": 0, + "y": 1 + }, + "id": 2, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "minSpan": 3, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "expr": "probe_success{instance=~\"$targets\"}", + "format": "time_series", + "interval": "$interval", + "intervalFactor": 1, + "refId": "A" + } + ], + "thresholds": "1,1", + "title": "$targets", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "UP", + "value": "1" + }, + { + "op": "=", + "text": "DOWN", + "value": "0" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": true, + "colorValue": false, + "colors": [ + "#d44a3a", + "rgba(237, 129, 40, 0.89)", + "#299c46" + ], + "datasource": "${DS_PROMETHEUS}", + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 2, + "w": 6, + "x": 0, + "y": 3 + }, + "id": 18, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "minSpan": 3, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeatDirection": "h", + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "expr": "probe_http_ssl{instance=~\"$targets\"}", + "format": "time_series", + "interval": "$interval", + "intervalFactor": 1, + "refId": "A" + } + ], + "thresholds": "0,1", + "title": "SSL", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "YES", + "value": "1" + }, + { + "op": "=", + "text": "NO", + "value": "0" + } + ], + "valueName": "current" + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "fill": 1, + "gridPos": { + "h": 6, + "w": 9, + "x": 6, + "y": 3 + }, + "id": 17, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "probe_duration_seconds{instance=~\"$targets\"}", + "format": "time_series", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "seconds", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Probe Duration", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "s", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "fill": 1, + "gridPos": { + "h": 6, + "w": 9, + "x": 15, + "y": 3 + }, + "id": 21, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "probe_dns_lookup_time_seconds{instance=~\"$targets\"}", + "format": "time_series", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "seconds", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "DNS Lookup", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "s", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "cacheTimeout": null, + "colorBackground": true, + "colorValue": false, + "colors": [ + "#d44a3a", + "rgba(237, 129, 40, 0.89)", + "#299c46" + ], + "datasource": "${DS_PROMETHEUS}", + "decimals": 2, + "format": "dtdurations", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 2, + "w": 6, + "x": 0, + "y": 5 + }, + "id": 19, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "minSpan": 3, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeatDirection": "h", + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "expr": "probe_ssl_earliest_cert_expiry{instance=~\"$targets\"}-time()", + "format": "time_series", + "interval": "$interval", + "intervalFactor": 1, + "refId": "A" + } + ], + "thresholds": "0,1209600", + "title": "SSL Cert Expiry", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "YES", + "value": "1" + }, + { + "op": "=", + "text": "NO", + "value": "0" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_PROMETHEUS}", + "decimals": 0, + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 2, + "w": 6, + "x": 0, + "y": 7 + }, + "id": 20, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "minSpan": 3, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeatDirection": "h", + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "expr": "probe_http_status_code{instance=~\"$targets\"}", + "format": "time_series", + "interval": "$interval", + "intervalFactor": 1, + "refId": "A" + } + ], + "thresholds": "200,299,300", + "title": "HTTP Status Code", + "transparent": false, + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "YES", + "value": "1" + }, + { + "op": "=", + "text": "NO", + "value": "0" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_PROMETHEUS}", + "format": "s", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 2, + "w": 12, + "x": 0, + "y": 9 + }, + "id": 23, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "expr": "avg(probe_duration_seconds{instance=~\"$targets\"})", + "format": "time_series", + "interval": "$interval", + "intervalFactor": 1, + "refId": "A" + } + ], + "thresholds": "", + "title": "Average Probe Duration", + "type": "singlestat", + "valueFontSize": "50%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_PROMETHEUS}", + "format": "s", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 2, + "w": 12, + "x": 12, + "y": 9 + }, + "id": 24, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "expr": "avg(probe_dns_lookup_time_seconds{instance=~\"$targets\"})", + "format": "time_series", + "interval": "$interval", + "intervalFactor": 1, + "refId": "A" + } + ], + "thresholds": "", + "title": "Average DNS Lookup", + "type": "singlestat", + "valueFontSize": "50%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + } + ], + "refresh": "1m", + "schemaVersion": 16, + "style": "dark", + "tags": [ + "blackbox", + "prometheus" + ], + "templating": { + "list": [ + { + "auto": true, + "auto_count": 10, + "auto_min": "10s", + "current": { + "text": "auto", + "value": "$__auto_interval_interval" + }, + "hide": 0, + "label": "Interval", + "name": "interval", + "options": [ + { + "selected": true, + "text": "auto", + "value": "$__auto_interval_interval" + }, + { + "selected": false, + "text": "5s", + "value": "5s" + }, + { + "selected": false, + "text": "10s", + "value": "10s" + }, + { + "selected": false, + "text": "30s", + "value": "30s" + }, + { + "selected": false, + "text": "1m", + "value": "1m" + }, + { + "selected": false, + "text": "10m", + "value": "10m" + }, + { + "selected": false, + "text": "30m", + "value": "30m" + }, + { + "selected": false, + "text": "1h", + "value": "1h" + }, + { + "selected": false, + "text": "6h", + "value": "6h" + }, + { + "selected": false, + "text": "12h", + "value": "12h" + }, + { + "selected": false, + "text": "1d", + "value": "1d" + }, + { + "selected": false, + "text": "7d", + "value": "7d" + }, + { + "selected": false, + "text": "14d", + "value": "14d" + }, + { + "selected": false, + "text": "30d", + "value": "30d" + } + ], + "query": "5s,10s,30s,1m,10m,30m,1h,6h,12h,1d,7d,14d,30d", + "refresh": 2, + "skipUrlSync": false, + "type": "interval" + }, + { + "allValue": null, + "current": {}, + "datasource": "${DS_PROMETHEUS}", + "definition": "label_values(probe_success, instance)", + "hide": 0, + "includeAll": true, + "label": null, + "multi": true, + "name": "targets", + "options": [], + "query": "label_values(probe_success, instance)", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + } + ] + }, + "time": { + "from": "now-1h", + "to": "now" + }, + "timepicker": { + "refresh_intervals": [ + "5s", + "10s", + "30s", + "1m", + "5m", + "15m", + "30m", + "1h", + "2h", + "1d" + ], + "time_options": [ + "5m", + "15m", + "1h", + "6h", + "12h", + "24h", + "2d", + "7d", + "30d" + ] + }, + "timezone": "", + "title": "Blackbox Exporter Overview", + "uid": "xtkCtBkiz", + "version": 1, + "description": "Fork of https://grafana.com/grafana/dashboards/5345 which uses 'instance' instead of 'target' label" +} \ No newline at end of file diff --git a/jails/config/monitor/json/freebsd-gstat-exporter_rev1.json b/jails/config/monitor/json/freebsd-gstat-exporter_rev1.json new file mode 100644 index 0000000..3d3b9d4 --- /dev/null +++ b/jails/config/monitor/json/freebsd-gstat-exporter_rev1.json @@ -0,0 +1,1374 @@ +{ + "__inputs": [ + { + "name": "DS_PROMETHEUS3", + "label": "prometheus", + "description": "", + "type": "datasource", + "pluginId": "prometheus", + "pluginName": "Prometheus" + } + ], + "__requires": [ + { + "type": "grafana", + "id": "grafana", + "name": "Grafana", + "version": "5.4.3" + }, + { + "type": "panel", + "id": "graph", + "name": "Graph", + "version": "5.0.0" + }, + { + "type": "datasource", + "id": "prometheus", + "name": "Prometheus", + "version": "5.0.0" + }, + { + "type": "panel", + "id": "table", + "name": "Table", + "version": "5.0.0" + } + ], + "annotations": { + "list": [ + { + "builtIn": 1, + "datasource": "-- Grafana --", + "enable": true, + "hide": true, + "iconColor": "rgba(0, 211, 255, 1)", + "name": "Annotations & Alerts", + "type": "dashboard" + } + ] + }, + "description": "Grafana dashboard for gstat_exporter from https://github.com/tykling/gstat_exporter", + "editable": true, + "gnetId": 11223, + "graphTooltip": 1, + "id": null, + "iteration": 1574104862602, + "links": [], + "panels": [ + { + "collapsed": true, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 0 + }, + "id": 17, + "panels": [ + { + "columns": [], + "description": "", + "fontSize": "100%", + "gridPos": { + "h": 10, + "w": 24, + "x": 0, + "y": 1 + }, + "id": 14, + "links": [], + "pageSize": null, + "scroll": true, + "showHeader": true, + "sort": { + "col": 6, + "desc": false + }, + "styles": [ + { + "alias": "Time", + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "link": false, + "pattern": "Time", + "type": "hidden" + }, + { + "alias": "", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 2, + "mappingType": 1, + "pattern": "__name__", + "thresholds": [], + "type": "hidden", + "unit": "short" + }, + { + "alias": "", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 2, + "mappingType": 1, + "pattern": "name", + "thresholds": [], + "type": "string", + "unit": "short" + }, + { + "alias": "", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 2, + "mappingType": 1, + "pattern": "job", + "thresholds": [], + "type": "hidden", + "unit": "short" + }, + { + "alias": "", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 2, + "mappingType": 1, + "pattern": "Value", + "thresholds": [], + "type": "hidden", + "unit": "short" + }, + { + "alias": "", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "decimals": 2, + "pattern": "/.*/", + "thresholds": [], + "type": "number", + "unit": "short" + } + ], + "targets": [ + { + "expr": "gstat_percent_busy{instance=~\"$instance\", name=~\"$geom\", mediasize=~\"$size\", rotationrate=~\"$rpm\", sectorsize=~\"$sectorsize\"}", + "format": "table", + "instant": true, + "intervalFactor": 1, + "legendFormat": "", + "refId": "A" + } + ], + "title": "GEOM List", + "transform": "table", + "type": "table" + } + ], + "title": "GEOM Device Info", + "type": "row" + }, + { + "collapsed": true, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 1 + }, + "id": 24, + "panels": [ + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "fill": 1, + "gridPos": { + "h": 10, + "w": 24, + "x": 0, + "y": 2 + }, + "id": 15, + "legend": { + "alignAsTable": true, + "avg": false, + "current": false, + "max": false, + "min": false, + "rightSide": true, + "show": true, + "sideWidth": 250, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "gstat_miliseconds_per_read{instance=~\"$instance\", name=~\"$geom\", mediasize=~\"$size\", rotationrate=~\"$rpm\", sectorsize=~\"$sectorsize\"}", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "{{ name }} read latency ({{ instance }})", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "GEOM Read Latency", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "clockms", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "fill": 1, + "gridPos": { + "h": 10, + "w": 24, + "x": 0, + "y": 12 + }, + "id": 27, + "legend": { + "alignAsTable": true, + "avg": false, + "current": false, + "max": false, + "min": false, + "rightSide": true, + "show": true, + "sideWidth": 250, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "gstat_miliseconds_per_write{instance=~\"$instance\", name=~\"$geom\", mediasize=~\"$size\", rotationrate=~\"$rpm\", sectorsize=~\"$sectorsize\"}", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "{{ name }} write latency ({{ instance }})", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "GEOM Write Latency", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "clockms", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "fill": 1, + "gridPos": { + "h": 10, + "w": 24, + "x": 0, + "y": 22 + }, + "id": 26, + "legend": { + "alignAsTable": true, + "avg": false, + "current": false, + "max": false, + "min": false, + "rightSide": true, + "show": true, + "sideWidth": 250, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "gstat_miliseconds_per_delete{instance=~\"$instance\", name=~\"$geom\", mediasize=~\"$size\", rotationrate=~\"$rpm\", sectorsize=~\"$sectorsize\"}", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "{{ name }} delete latency ({{ instance }})", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "GEOM Delete Latency", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "clockms", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + } + ], + "title": "GEOM Latency", + "type": "row" + }, + { + "collapsed": true, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 2 + }, + "id": 19, + "panels": [ + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "fill": 1, + "gridPos": { + "h": 10, + "w": 24, + "x": 0, + "y": 3 + }, + "id": 25, + "legend": { + "alignAsTable": true, + "avg": false, + "current": false, + "max": false, + "min": false, + "rightSide": true, + "show": true, + "sideWidth": 250, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "gstat_read_kilobytes_per_second{instance=~\"$instance\", name=~\"$geom\", mediasize=~\"$size\", rotationrate=~\"$rpm\", sectorsize=~\"$sectorsize\"}", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "{{ name }} read/sec ({{ instance }})", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "GEOM Read Bandwidth", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "KBs", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "fill": 1, + "gridPos": { + "h": 10, + "w": 24, + "x": 0, + "y": 13 + }, + "id": 21, + "legend": { + "alignAsTable": true, + "avg": false, + "current": false, + "max": false, + "min": false, + "rightSide": true, + "show": true, + "sideWidth": 250, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "gstat_write_kilobytes_per_second{instance=~\"$instance\", name=~\"$geom\", mediasize=~\"$size\", rotationrate=~\"$rpm\", sectorsize=~\"$sectorsize\"}", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "{{ name }} write/sec ({{ instance }})", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "GEOM Write Bandwidth", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "KBs", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "fill": 1, + "gridPos": { + "h": 10, + "w": 24, + "x": 0, + "y": 23 + }, + "id": 22, + "legend": { + "alignAsTable": true, + "avg": false, + "current": false, + "max": false, + "min": false, + "rightSide": true, + "show": true, + "sideWidth": 250, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "gstat_delete_kilobytes_per_second{instance=~\"$instance\", name=~\"$geom\", mediasize=~\"$size\", rotationrate=~\"$rpm\", sectorsize=~\"$sectorsize\"}", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "{{ name }} delete/sec ({{ instance }})", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "GEOM Delete Bandwidth", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "KBs", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + } + ], + "title": "GEOM Bandwidth", + "type": "row" + }, + { + "collapsed": true, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 3 + }, + "id": 6, + "panels": [ + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "fill": 1, + "gridPos": { + "h": 12, + "w": 24, + "x": 0, + "y": 4 + }, + "id": 2, + "legend": { + "alignAsTable": true, + "avg": false, + "current": false, + "max": false, + "min": false, + "rightSide": true, + "show": true, + "sideWidth": 250, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": true, + "steppedLine": false, + "targets": [ + { + "expr": "gstat_read_operations_per_second{instance=~\"$instance\", name=~\"$geom\", mediasize=~\"$size\", rotationrate=~\"$rpm\", sectorsize=~\"$sectorsize\"}", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "{{ name }} read operations/sec ({{ instance }})", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "GEOM disk read operations per second", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "fill": 1, + "gridPos": { + "h": 12, + "w": 24, + "x": 0, + "y": 16 + }, + "id": 3, + "legend": { + "alignAsTable": true, + "avg": false, + "current": false, + "max": false, + "min": false, + "rightSide": true, + "show": true, + "sideWidth": 250, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": true, + "steppedLine": false, + "targets": [ + { + "expr": "gstat_write_operations_per_second{instance=~\"$instance\", name=~\"$geom\", mediasize=~\"$size\", rotationrate=~\"$rpm\", sectorsize=~\"$sectorsize\"}", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "{{ name }} write operations/sec ({{ instance }})", + "refId": "B" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "GEOM disk write operations per second", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "fill": 1, + "gridPos": { + "h": 12, + "w": 24, + "x": 0, + "y": 28 + }, + "id": 4, + "legend": { + "alignAsTable": true, + "avg": false, + "current": false, + "max": false, + "min": false, + "rightSide": true, + "show": true, + "sideWidth": 250, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": true, + "steppedLine": false, + "targets": [ + { + "expr": "gstat_delete_operations_per_second{instance=~\"$instance\", name=~\"$geom\", mediasize=~\"$size\", rotationrate=~\"$rpm\", sectorsize=~\"$sectorsize\"}", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "{{ name }} delete operations/sec ({{ instance }})", + "refId": "B" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "GEOM disk delete operations per second", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + } + ], + "repeat": null, + "title": "GEOM I/O operations/second", + "type": "row" + }, + { + "collapsed": true, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 4 + }, + "id": 12, + "panels": [ + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "fill": 1, + "gridPos": { + "h": 10, + "w": 24, + "x": 0, + "y": 3 + }, + "id": 20, + "legend": { + "alignAsTable": true, + "avg": false, + "current": false, + "max": false, + "min": false, + "rightSide": true, + "show": true, + "sideWidth": 250, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "gstat_queue_depth{instance=~\"$instance\", name=~\"$geom\", mediasize=~\"$size\", rotationrate=~\"$rpm\", sectorsize=~\"$sectorsize\"}", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "{{ name }} queue depth ({{ instance }})", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "GEOM Queue Depth", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + } + ], + "title": "GEOM Queue Depth", + "type": "row" + }, + { + "collapsed": true, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 5 + }, + "id": 8, + "panels": [ + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "fill": 1, + "gridPos": { + "h": 10, + "w": 24, + "x": 0, + "y": 6 + }, + "id": 10, + "legend": { + "alignAsTable": true, + "avg": false, + "current": false, + "max": false, + "min": false, + "rightSide": true, + "show": true, + "sideWidth": 250, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "gstat_percent_busy{instance=~\"$instance\", name=~\"$geom\", mediasize=~\"$size\", rotationrate=~\"$rpm\", sectorsize=~\"$sectorsize\"}", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "{{ name }} % busy ({{ instance }})", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Geom Busy %", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": "100", + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + } + ], + "repeat": null, + "title": "GEOM Busy %", + "type": "row" + } + ], + "refresh": false, + "schemaVersion": 16, + "style": "dark", + "tags": [], + "templating": { + "list": [ + { + "allValue": null, + "current": {}, + "datasource": "${DS_PROMETHEUS3}", + "definition": "label_values(gstat_up, instance)", + "hide": 0, + "includeAll": true, + "label": null, + "multi": true, + "name": "instance", + "options": [], + "query": "label_values(gstat_up, instance)", + "refresh": 2, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + }, + { + "allValue": null, + "current": {}, + "datasource": "${DS_PROMETHEUS3}", + "definition": "label_values(gstat_percent_busy, name)", + "hide": 0, + "includeAll": true, + "label": null, + "multi": true, + "name": "geom", + "options": [], + "query": "label_values(gstat_percent_busy, name)", + "refresh": 2, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + }, + { + "allValue": null, + "current": {}, + "datasource": "${DS_PROMETHEUS3}", + "definition": "label_values(gstat_percent_busy, mediasize)", + "hide": 0, + "includeAll": true, + "label": null, + "multi": true, + "name": "size", + "options": [], + "query": "label_values(gstat_percent_busy, mediasize)", + "refresh": 2, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + }, + { + "allValue": null, + "current": {}, + "datasource": "${DS_PROMETHEUS3}", + "definition": "label_values(gstat_percent_busy, rotationrate)", + "hide": 0, + "includeAll": true, + "label": null, + "multi": true, + "name": "rpm", + "options": [], + "query": "label_values(gstat_percent_busy, rotationrate)", + "refresh": 2, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + }, + { + "allValue": null, + "current": {}, + "datasource": "${DS_PROMETHEUS3}", + "definition": "label_values(gstat_percent_busy, sectorsize)", + "hide": 0, + "includeAll": true, + "label": null, + "multi": true, + "name": "sectorsize", + "options": [], + "query": "label_values(gstat_percent_busy, sectorsize)", + "refresh": 2, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + } + ] + }, + "time": { + "from": "now-6h", + "to": "now" + }, + "timepicker": { + "refresh_intervals": [ + "5s", + "10s", + "30s", + "1m", + "5m", + "15m", + "30m", + "1h", + "2h", + "1d" + ], + "time_options": [ + "5m", + "15m", + "1h", + "6h", + "12h", + "24h", + "2d", + "7d", + "30d" + ] + }, + "timezone": "", + "title": "FreeBSD gstat_exporter", + "uid": "mmI8ImbWz", + "version": 28 +} \ No newline at end of file diff --git a/jails/config/monitor/json/pfsense-firewall-dashboard_rev1.json b/jails/config/monitor/json/pfsense-firewall-dashboard_rev1.json new file mode 100644 index 0000000..d4f4a52 --- /dev/null +++ b/jails/config/monitor/json/pfsense-firewall-dashboard_rev1.json @@ -0,0 +1,2711 @@ +{ + "__inputs": [], + "__requires": [ + { + "type": "grafana", + "id": "grafana", + "name": "Grafana", + "version": "5.4.3" + }, + { + "type": "panel", + "id": "graph", + "name": "Graph", + "version": "5.0.0" + }, + { + "type": "datasource", + "id": "influxdb", + "name": "InfluxDB", + "version": "5.0.0" + }, + { + "type": "panel", + "id": "singlestat", + "name": "Singlestat", + "version": "5.0.0" + } + ], + "annotations": { + "list": [ + { + "builtIn": 1, + "datasource": "-- Grafana --", + "enable": true, + "hide": true, + "iconColor": "rgba(0, 211, 255, 1)", + "name": "Annotations & Alerts", + "type": "dashboard" + } + ] + }, + "description": "Dashboard showing metrics collected using Telelgraf plugin on pfsense.", + "editable": true, + "gnetId": 11059, + "graphTooltip": 0, + "id": null, + "iteration": 1550319388469, + "links": [], + "panels": [ + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 0 + }, + "id": 6, + "panels": [], + "title": "Overview", + "type": "row" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "$dataSource", + "decimals": null, + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 3, + "w": 4, + "x": 0, + "y": 1 + }, + "hideTimeOverride": true, + "id": 9, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "uptime_format", + "targets": [ + { + "alias": "Load 15m", + "groupBy": [], + "measurement": "system", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "table", + "select": [ + [ + { + "params": [ + "uptime_format" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "host", + "operator": "=~", + "value": "/^$Host$/" + } + ] + } + ], + "thresholds": ".7,1.5", + "timeFrom": "30s", + "title": "Uptime", + "transparent": true, + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "$dataSource", + "decimals": null, + "format": "percent", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": true, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 3, + "w": 4, + "x": 4, + "y": 1 + }, + "id": 3, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": true + }, + "tableColumn": "", + "targets": [ + { + "alias": "Mem Used", + "groupBy": [], + "measurement": "mem", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "used_percent" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "host", + "operator": "=~", + "value": "/^$Host$/" + } + ] + } + ], + "thresholds": "15,50", + "title": "Mem Used", + "transparent": true, + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "$dataSource", + "decimals": 2, + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": true, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 3, + "w": 4, + "x": 8, + "y": 1 + }, + "id": 2, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": true + }, + "tableColumn": "", + "targets": [ + { + "alias": "CPU User", + "groupBy": [ + { + "params": [ + "$interval" + ], + "type": "time" + } + ], + "measurement": "cpu", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "usage_idle" + ], + "type": "field" + }, + { + "params": [], + "type": "mean" + }, + { + "params": [ + "* -1 + 100" + ], + "type": "math" + } + ] + ], + "tags": [ + { + "key": "cpu", + "operator": "=", + "value": "cpu-total" + }, + { + "condition": "AND", + "key": "host", + "operator": "=~", + "value": "/^$Host$/" + } + ] + } + ], + "thresholds": "10,50", + "title": "CPU", + "transparent": true, + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "$dataSource", + "decimals": null, + "format": "percent", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": true, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 3, + "w": 4, + "x": 12, + "y": 1 + }, + "id": 4, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": true + }, + "tableColumn": "", + "targets": [ + { + "alias": "Load 1m", + "groupBy": [], + "measurement": "system", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "load1" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "host", + "operator": "=~", + "value": "/^$Host$/" + } + ] + } + ], + "thresholds": "15,50", + "title": "Load (1m)", + "transparent": true, + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "avg" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "$dataSource", + "decimals": null, + "description": "Disk Space Used /var/run", + "format": "percent", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 3, + "w": 2, + "x": 16, + "y": 1 + }, + "id": 7, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "alias": "", + "groupBy": [], + "measurement": "disk", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "used_percent" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "host", + "operator": "=~", + "value": "/^$Host$/" + }, + { + "condition": "AND", + "key": "path", + "operator": "=", + "value": "/var/run" + } + ] + } + ], + "thresholds": "25,50", + "title": "Disk Space Used", + "transparent": true, + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "$dataSource", + "decimals": null, + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 3, + "w": 2, + "x": 18, + "y": 1 + }, + "hideTimeOverride": true, + "id": 8, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "n_cpus", + "targets": [ + { + "alias": "Load 15m", + "groupBy": [], + "measurement": "system", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "table", + "select": [ + [ + { + "params": [ + "n_cpus" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "host", + "operator": "=~", + "value": "/^$Host$/" + } + ] + } + ], + "thresholds": ".7,1.5", + "timeFrom": "30s", + "title": "# of CPU", + "transparent": true, + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "$dataSource", + "decimals": null, + "description": "Users logged in, usually via ssh.", + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 3, + "w": 2, + "x": 20, + "y": 1 + }, + "hideTimeOverride": true, + "id": 25, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "20%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "n_users", + "targets": [ + { + "alias": "Load 15m", + "groupBy": [], + "measurement": "system", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "table", + "select": [ + [ + { + "params": [ + "n_users" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "host", + "operator": "=~", + "value": "/^$Host$/" + } + ] + } + ], + "thresholds": ".7,1.5", + "timeFrom": "30s", + "title": "Users", + "transparent": true, + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "$dataSource", + "decimals": null, + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 3, + "w": 2, + "x": 22, + "y": 1 + }, + "id": 26, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": true + }, + "tableColumn": "median", + "targets": [ + { + "alias": "Load 15m", + "groupBy": [ + { + "params": [ + "$__interval" + ], + "type": "time" + }, + { + "params": [ + "none" + ], + "type": "fill" + } + ], + "measurement": "processes", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "table", + "select": [ + [ + { + "params": [ + "total" + ], + "type": "field" + }, + { + "params": [], + "type": "median" + } + ] + ], + "tags": [ + { + "key": "host", + "operator": "=~", + "value": "/^$Host$/" + } + ] + } + ], + "thresholds": ".7,1.5", + "title": "# Process", + "transparent": true, + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 4 + }, + "id": 11, + "panels": [], + "title": "Memory", + "type": "row" + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "$dataSource", + "fill": 0, + "gridPos": { + "h": 7, + "w": 24, + "x": 0, + "y": 5 + }, + "id": 13, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": true, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [ + { + "alias": "Available", + "yaxis": 2 + }, + { + "alias": "Free", + "yaxis": 2 + } + ], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "alias": "Active", + "groupBy": [], + "measurement": "mem", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "active" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "host", + "operator": "=~", + "value": "/^$Host$/" + } + ] + }, + { + "alias": "Available", + "groupBy": [], + "measurement": "mem", + "orderByTime": "ASC", + "policy": "default", + "refId": "B", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "available" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "host", + "operator": "=~", + "value": "/^$Host$/" + } + ] + }, + { + "alias": "Buffered", + "groupBy": [], + "measurement": "mem", + "orderByTime": "ASC", + "policy": "default", + "refId": "C", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "buffered" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "host", + "operator": "=~", + "value": "/^$Host$/" + } + ] + }, + { + "alias": "Cached", + "groupBy": [], + "measurement": "mem", + "orderByTime": "ASC", + "policy": "default", + "refId": "D", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "cached" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "host", + "operator": "=~", + "value": "/^$Host$/" + } + ] + }, + { + "alias": "Free", + "groupBy": [], + "measurement": "mem", + "orderByTime": "ASC", + "policy": "default", + "refId": "E", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "free" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "host", + "operator": "=~", + "value": "/^$Host$/" + } + ] + }, + { + "alias": "Inactive", + "groupBy": [], + "measurement": "mem", + "orderByTime": "ASC", + "policy": "default", + "refId": "F", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "inactive" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "host", + "operator": "=~", + "value": "/^$Host$/" + } + ] + }, + { + "alias": "Slab", + "groupBy": [], + "measurement": "mem", + "orderByTime": "ASC", + "policy": "default", + "refId": "G", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "slab" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "host", + "operator": "=~", + "value": "/^$Host$/" + } + ] + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Memory", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "transparent": true, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 12 + }, + "id": 42, + "panels": [], + "title": "Processes", + "type": "row" + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "$dataSource", + "fill": 0, + "gridPos": { + "h": 7, + "w": 24, + "x": 0, + "y": 13 + }, + "id": 40, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "hideEmpty": true, + "max": true, + "min": true, + "rightSide": true, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "alias": "Total", + "groupBy": [], + "hide": false, + "measurement": "processes", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "total" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "host", + "operator": "=~", + "value": "/^$Host$/" + } + ] + }, + { + "alias": "Zombie", + "groupBy": [], + "hide": false, + "measurement": "processes", + "orderByTime": "ASC", + "policy": "default", + "refId": "B", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "zombies" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "host", + "operator": "=~", + "value": "/^$Host$/" + } + ] + }, + { + "alias": "Sleeping", + "groupBy": [], + "hide": false, + "measurement": "processes", + "orderByTime": "ASC", + "policy": "default", + "refId": "C", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "sleeping" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "host", + "operator": "=~", + "value": "/^$Host$/" + } + ] + }, + { + "alias": "Running", + "groupBy": [], + "hide": false, + "measurement": "processes", + "orderByTime": "ASC", + "policy": "default", + "refId": "D", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "running" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "host", + "operator": "=~", + "value": "/^$Host$/" + } + ] + }, + { + "alias": "Stopped", + "groupBy": [], + "hide": false, + "measurement": "processes", + "orderByTime": "ASC", + "policy": "default", + "refId": "E", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "stopped" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "host", + "operator": "=~", + "value": "/^$Host$/" + } + ] + }, + { + "alias": "Idle", + "groupBy": [], + "hide": false, + "measurement": "processes", + "orderByTime": "ASC", + "policy": "default", + "refId": "F", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "idle" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "host", + "operator": "=~", + "value": "/^$Host$/" + } + ] + }, + { + "alias": "Blocked", + "groupBy": [], + "hide": false, + "measurement": "processes", + "orderByTime": "ASC", + "policy": "default", + "refId": "G", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "blocked" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "host", + "operator": "=~", + "value": "/^$Host$/" + } + ] + }, + { + "alias": "Unknown", + "groupBy": [], + "hide": false, + "measurement": "processes", + "orderByTime": "ASC", + "policy": "default", + "refId": "H", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "unknown" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "host", + "operator": "=~", + "value": "/^$Host$/" + } + ] + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Proccesses", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "transparent": true, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 20 + }, + "id": 15, + "panels": [], + "title": "pf", + "type": "row" + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "$dataSource", + "fill": 0, + "gridPos": { + "h": 7, + "w": 24, + "x": 0, + "y": 21 + }, + "id": 17, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": true, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "alias": "Entries", + "groupBy": [], + "measurement": "pf", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "entries" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "host", + "operator": "=~", + "value": "/^$Host$/" + } + ] + }, + { + "alias": "Inserts", + "groupBy": [], + "measurement": "pf", + "orderByTime": "ASC", + "policy": "default", + "refId": "B", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "inserts" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "host", + "operator": "=~", + "value": "/^$Host$/" + } + ] + }, + { + "alias": "Removals", + "groupBy": [], + "measurement": "pf", + "orderByTime": "ASC", + "policy": "default", + "refId": "C", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "removals" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "host", + "operator": "=~", + "value": "/^$Host$/" + } + ] + }, + { + "alias": "Searches", + "groupBy": [], + "measurement": "pf", + "orderByTime": "ASC", + "policy": "default", + "refId": "D", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "searches" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "host", + "operator": "=~", + "value": "/^$Host$/" + } + ] + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "pf", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "transparent": true, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 10, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 28 + }, + "id": 20, + "panels": [], + "repeat": "Interface", + "title": "Interface - $Interface", + "type": "row" + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "$dataSource", + "fill": 0, + "gridPos": { + "h": 7, + "w": 24, + "x": 0, + "y": 29 + }, + "id": 18, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "hideZero": true, + "max": true, + "min": true, + "rightSide": true, + "show": true, + "sideWidth": null, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [ + { + "alias": "Bytes Recv", + "yaxis": 2 + }, + { + "alias": "Bytes Sent", + "yaxis": 2 + } + ], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "alias": "Bytes Recv", + "groupBy": [], + "hide": false, + "measurement": "net", + "orderByTime": "ASC", + "policy": "default", + "query": "SELECT mean(\"bytes_recv\") FROM \"net\" WHERE (\"interface\" =~ /^$Interface$/ AND \"host\" =~ /^$Host$/) AND $timeFilter GROUP BY time($__interval) fill(null)", + "rawQuery": false, + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "bytes_recv" + ], + "type": "field" + }, + { + "params": [ + "10s" + ], + "type": "derivative" + } + ] + ], + "tags": [ + { + "key": "interface", + "operator": "=~", + "value": "/^$Interface$/" + }, + { + "condition": "AND", + "key": "host", + "operator": "=~", + "value": "/^$Host$/" + } + ] + }, + { + "alias": "Bytes Sent", + "groupBy": [], + "hide": false, + "measurement": "net", + "orderByTime": "ASC", + "policy": "default", + "query": "SELECT median(\"bytes_sent\") FROM \"net\" WHERE (\"interface\"=~ /^$Interface$/ AND \"host\" =~ /^$Host$/) AND $timeFilter GROUP BY time($__interval) fill(null)", + "rawQuery": false, + "refId": "B", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "bytes_sent" + ], + "type": "field" + }, + { + "params": [ + "10s" + ], + "type": "derivative" + } + ] + ], + "tags": [ + { + "key": "interface", + "operator": "=~", + "value": "/^$Interface$/" + }, + { + "condition": "AND", + "key": "host", + "operator": "=~", + "value": "/^$Host$/" + } + ] + }, + { + "alias": "Drop In", + "groupBy": [], + "measurement": "net", + "orderByTime": "ASC", + "policy": "default", + "query": "SELECT mean(\"drop_in\") FROM \"net\" WHERE (\"interface\" =~ /^$Interface$/ AND \"host\" =~ /^$Host$/) AND $timeFilter GROUP BY time($__interval) fill(null)", + "rawQuery": false, + "refId": "C", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "drop_in" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "interface", + "operator": "=~", + "value": "/^$Interface$/" + }, + { + "condition": "AND", + "key": "host", + "operator": "=~", + "value": "/^$Host$/" + } + ] + }, + { + "alias": "Drop Out", + "groupBy": [], + "measurement": "net", + "orderByTime": "ASC", + "policy": "default", + "query": "SELECT mean(\"drop_out\") FROM \"net\" WHERE (\"interface\" =~ /^$Interface$/ AND \"host\" =~ /^$Host$/) AND $timeFilter GROUP BY time($__interval) fill(null)", + "rawQuery": false, + "refId": "D", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "drop_out" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "interface", + "operator": "=~", + "value": "/^$Interface$/" + }, + { + "condition": "AND", + "key": "host", + "operator": "=~", + "value": "/^$Host$/" + } + ] + }, + { + "alias": "Err In", + "groupBy": [], + "measurement": "net", + "orderByTime": "ASC", + "policy": "default", + "query": "SELECT mean(\"err_in\") FROM \"net\" WHERE (\"interface\" =~ /^$Interface$/ AND \"host\" =~ /^$Host$/) AND $timeFilter GROUP BY time($__interval) fill(null)", + "rawQuery": false, + "refId": "E", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "err_in" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "interface", + "operator": "=~", + "value": "/^$Interface$/" + }, + { + "condition": "AND", + "key": "host", + "operator": "=~", + "value": "/^$Host$/" + } + ] + }, + { + "alias": "Err Out", + "groupBy": [], + "measurement": "net", + "orderByTime": "ASC", + "policy": "default", + "query": "SELECT mean(\"err_out\") FROM \"net\" WHERE (\"interface\" =~ /^$Interface$/ AND \"host\" =~ /^$Host$/) AND $timeFilter GROUP BY time($__interval) fill(null)", + "rawQuery": false, + "refId": "F", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "err_out" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "interface", + "operator": "=~", + "value": "/^$Interface$/" + }, + { + "condition": "AND", + "key": "host", + "operator": "=", + "value": "select tag value" + } + ] + }, + { + "alias": "Pckts Recv", + "groupBy": [], + "measurement": "net", + "orderByTime": "ASC", + "policy": "default", + "query": "SELECT mean(\"packets_recv\") FROM \"net\" WHERE (\"interface\" =~ /^$Interface$/ AND \"host\" =~ /^$Host$/) AND $timeFilter GROUP BY time($__interval) fill(null)", + "rawQuery": false, + "refId": "G", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "packets_recv" + ], + "type": "field" + }, + { + "params": [ + "10s" + ], + "type": "derivative" + } + ] + ], + "tags": [ + { + "key": "interface", + "operator": "=~", + "value": "/^$Interface$/" + }, + { + "condition": "AND", + "key": "host", + "operator": "=~", + "value": "/^$Host$/" + } + ] + }, + { + "alias": "Pckts Sent", + "groupBy": [], + "measurement": "net", + "orderByTime": "ASC", + "policy": "default", + "query": "SELECT mean(\"packets_sent\") FROM \"net\" WHERE (\"interface\" =~ /^$Interface$/ AND \"host\" =~ /^$Host$/) AND $timeFilter GROUP BY time($__interval) fill(null)", + "rawQuery": false, + "refId": "H", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "packets_sent" + ], + "type": "field" + }, + { + "params": [ + "10s" + ], + "type": "derivative" + } + ] + ], + "tags": [ + { + "key": "interface", + "operator": "=~", + "value": "/^$Interface$/" + }, + { + "condition": "AND", + "key": "host", + "operator": "=~", + "value": "/^$Host$/" + } + ] + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Net Interface - $Interface", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "transparent": true, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 2, + "max": null, + "min": null, + "show": true + }, + { + "format": "bytes", + "label": null, + "logBase": 2, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 36 + }, + "id": 28, + "panels": [], + "repeat": "Disk", + "title": "$Disk", + "type": "row" + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "$dataSource", + "fill": 0, + "gridPos": { + "h": 7, + "w": 24, + "x": 0, + "y": 37 + }, + "id": 30, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "hideZero": true, + "max": true, + "min": true, + "rightSide": true, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [ + { + "alias": "Write bytes", + "yaxis": 2 + } + ], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "alias": "IO Time", + "groupBy": [], + "hide": false, + "measurement": "diskio", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "io_time" + ], + "type": "field" + }, + { + "params": [ + "10s" + ], + "type": "derivative" + } + ] + ], + "tags": [ + { + "key": "host", + "operator": "=~", + "value": "/^$Host$/" + }, + { + "condition": "AND", + "key": "name", + "operator": "=~", + "value": "/^$Disk$/" + } + ] + }, + { + "alias": "iops in progress", + "groupBy": [], + "hide": false, + "measurement": "diskio", + "orderByTime": "ASC", + "policy": "default", + "refId": "B", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "iops_in_progress" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "host", + "operator": "=~", + "value": "/^$Host$/" + }, + { + "condition": "AND", + "key": "name", + "operator": "=~", + "value": "/^$Disk$/" + } + ] + }, + { + "alias": "Weighted IO Time", + "groupBy": [], + "hide": false, + "measurement": "diskio", + "orderByTime": "ASC", + "policy": "default", + "refId": "I", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "weighted_io_time" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "host", + "operator": "=~", + "value": "/^$Host$/" + }, + { + "condition": "AND", + "key": "name", + "operator": "=~", + "value": "/^$Disk$/" + } + ] + }, + { + "alias": "Read bytes", + "groupBy": [], + "hide": false, + "measurement": "diskio", + "orderByTime": "ASC", + "policy": "default", + "refId": "C", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "read_bytes" + ], + "type": "field" + }, + { + "params": [ + "10s" + ], + "type": "derivative" + } + ] + ], + "tags": [ + { + "key": "host", + "operator": "=~", + "value": "/^$Host$/" + }, + { + "condition": "AND", + "key": "name", + "operator": "=~", + "value": "/^$Disk$/" + } + ] + }, + { + "alias": "Write bytes", + "groupBy": [], + "hide": false, + "measurement": "diskio", + "orderByTime": "ASC", + "policy": "default", + "query": "SELECT derivative(mean(\"write_bytes\"), 10s) FROM \"diskio\" WHERE (\"host\" =~ /^$Host$/ AND \"name\" =~ /^$Disk$/) AND $timeFilter GROUP BY time($__interval) fill(null)", + "rawQuery": false, + "refId": "D", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "write_bytes" + ], + "type": "field" + }, + { + "params": [ + "10s" + ], + "type": "derivative" + } + ] + ], + "tags": [ + { + "key": "host", + "operator": "=~", + "value": "/^$Host$/" + }, + { + "condition": "AND", + "key": "name", + "operator": "=~", + "value": "/^$Disk$/" + } + ] + }, + { + "alias": "Reads", + "groupBy": [], + "hide": false, + "measurement": "diskio", + "orderByTime": "ASC", + "policy": "default", + "query": "SELECT derivative(mean(\"write_bytes\"), 10s) FROM \"diskio\" WHERE (\"host\" =~ /^$Host$/ AND \"name\" =~ /^$Disk$/) AND $timeFilter GROUP BY time($__interval) fill(null)", + "rawQuery": false, + "refId": "E", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "reads" + ], + "type": "field" + }, + { + "params": [ + "10s" + ], + "type": "derivative" + } + ] + ], + "tags": [ + { + "key": "host", + "operator": "=~", + "value": "/^$Host$/" + }, + { + "condition": "AND", + "key": "name", + "operator": "=~", + "value": "/^$Disk$/" + } + ] + }, + { + "alias": "Writes", + "groupBy": [], + "hide": false, + "measurement": "diskio", + "orderByTime": "ASC", + "policy": "default", + "query": "SELECT derivative(mean(\"write_bytes\"), 10s) FROM \"diskio\" WHERE (\"host\" =~ /^$Host$/ AND \"name\" =~ /^$Disk$/) AND $timeFilter GROUP BY time($__interval) fill(null)", + "rawQuery": false, + "refId": "F", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "writes" + ], + "type": "field" + }, + { + "params": [ + "10s" + ], + "type": "derivative" + } + ] + ], + "tags": [ + { + "key": "host", + "operator": "=~", + "value": "/^$Host$/" + }, + { + "condition": "AND", + "key": "name", + "operator": "=~", + "value": "/^$Disk$/" + } + ] + }, + { + "alias": "Read Time", + "groupBy": [], + "hide": false, + "measurement": "diskio", + "orderByTime": "ASC", + "policy": "default", + "query": "SELECT derivative(mean(\"write_bytes\"), 10s) FROM \"diskio\" WHERE (\"host\" =~ /^$Host$/ AND \"name\" =~ /^$Disk$/) AND $timeFilter GROUP BY time($__interval) fill(null)", + "rawQuery": false, + "refId": "G", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "read_time" + ], + "type": "field" + }, + { + "params": [ + "10s" + ], + "type": "derivative" + } + ] + ], + "tags": [ + { + "key": "host", + "operator": "=~", + "value": "/^$Host$/" + }, + { + "condition": "AND", + "key": "name", + "operator": "=~", + "value": "/^$Disk$/" + } + ] + }, + { + "alias": "Write Time", + "groupBy": [], + "hide": false, + "measurement": "diskio", + "orderByTime": "ASC", + "policy": "default", + "query": "SELECT derivative(mean(\"write_bytes\"), 10s) FROM \"diskio\" WHERE (\"host\" =~ /^$Host$/ AND \"name\" =~ /^$Disk$/) AND $timeFilter GROUP BY time($__interval) fill(null)", + "rawQuery": false, + "refId": "H", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "write_time" + ], + "type": "field" + }, + { + "params": [ + "10s" + ], + "type": "derivative" + } + ] + ], + "tags": [ + { + "key": "host", + "operator": "=~", + "value": "/^$Host$/" + }, + { + "condition": "AND", + "key": "name", + "operator": "=~", + "value": "/^$Disk$/" + } + ] + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Disk IO - $Disk", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "transparent": true, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 2, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + } + ], + "refresh": "5m", + "schemaVersion": 16, + "style": "dark", + "tags": [ + "pfsense", + "firewall", + "Telegraf", + "InfluxDB" + ], + "templating": { + "list": [ + { + "current": { + "text": "InfluxDB-pfsense", + "value": "InfluxDB-pfsense" + }, + "hide": 0, + "label": null, + "name": "dataSource", + "options": [], + "query": "influxdb", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "type": "datasource" + }, + { + "allValue": null, + "current": {}, + "datasource": "$dataSource", + "definition": "SHOW TAG VALUES FROM \"pf\" WITH KEY = \"host\"", + "hide": 0, + "includeAll": false, + "label": "pfsense", + "multi": false, + "name": "Host", + "options": [], + "query": "SHOW TAG VALUES FROM \"pf\" WITH KEY = \"host\"", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + }, + { + "allValue": null, + "current": {}, + "datasource": "$dataSource", + "definition": "SHOW TAG VALUES FROM \"net\" WITH KEY = \"interface\" WHERE \"host\" =~ /^$Host$/", + "hide": 0, + "includeAll": true, + "label": null, + "multi": true, + "name": "Interface", + "options": [], + "query": "SHOW TAG VALUES FROM \"net\" WITH KEY = \"interface\" WHERE \"host\" =~ /^$Host$/", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + }, + { + "allValue": null, + "current": {}, + "datasource": "$dataSource", + "definition": "SHOW TAG VALUES FROM \"diskio\" WITH KEY = \"name\" WHERE \"host\" =~ /^$Host$/", + "hide": 0, + "includeAll": true, + "label": null, + "multi": false, + "name": "Disk", + "options": [], + "query": "SHOW TAG VALUES FROM \"diskio\" WITH KEY = \"name\" WHERE \"host\" =~ /^$Host$/", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + } + ] + }, + "time": { + "from": "now-1h", + "to": "now" + }, + "timepicker": { + "refresh_intervals": [ + "5s", + "10s", + "30s", + "1m", + "5m", + "15m", + "30m", + "1h", + "2h", + "1d" + ], + "time_options": [ + "5m", + "15m", + "1h", + "6h", + "12h", + "24h", + "2d", + "7d", + "30d" + ] + }, + "timezone": "", + "title": "pfSense Firewall Dashboard", + "uid": "xSa5auuik", + "version": 36 +} \ No newline at end of file diff --git a/jails/config/monitor/json/pfsense_rev1.json b/jails/config/monitor/json/pfsense_rev1.json new file mode 100644 index 0000000..5bc33de --- /dev/null +++ b/jails/config/monitor/json/pfsense_rev1.json @@ -0,0 +1,2846 @@ +{ + "__inputs": [ + { + "name": "DS_INFLUXDB_PFSENSE", + "label": "InfluxDB pfSense", + "description": "Choose InfluxDB data source for pfSense metrics", + "type": "datasource", + "pluginId": "influxdb", + "pluginName": "InfluxDB" + }, + { + "name": "VAR_WAN_INTERFACE", + "type": "constant", + "label": "WAN Inteface", + "value": "vmx0", + "description": "Put here name of your WAN interface" + } + ], + "__requires": [ + { + "type": "grafana", + "id": "grafana", + "name": "Grafana", + "version": "6.1.4" + }, + { + "type": "panel", + "id": "graph", + "name": "Graph", + "version": "" + }, + { + "type": "datasource", + "id": "influxdb", + "name": "InfluxDB", + "version": "1.0.0" + }, + { + "type": "panel", + "id": "singlestat", + "name": "Singlestat", + "version": "" + } + ], + "annotations": { + "list": [ + { + "builtIn": 1, + "datasource": "-- Grafana --", + "enable": true, + "hide": true, + "iconColor": "rgba(0, 211, 255, 1)", + "name": "Annotations & Alerts", + "type": "dashboard" + } + ] + }, + "editable": true, + "gnetId": 10095, + "graphTooltip": 0, + "id": null, + "iteration": 1556132042146, + "links": [], + "panels": [ + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 0 + }, + "id": 2, + "panels": [], + "title": "System Overview", + "type": "row" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_INFLUXDB_PFSENSE}", + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 3, + "w": 3, + "x": 0, + "y": 1 + }, + "id": 4, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "system", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "n_cpus" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "host", + "operator": "=~", + "value": "/^$server$/" + } + ] + } + ], + "thresholds": "", + "timeFrom": null, + "timeShift": null, + "title": "Cores", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "avg" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_INFLUXDB_PFSENSE}", + "decimals": 0, + "format": "bytes", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 3, + "w": 3, + "x": 3, + "y": 1 + }, + "id": 6, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "mem", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "total" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "host", + "operator": "=~", + "value": "/^$server$/" + } + ] + } + ], + "thresholds": "", + "timeFrom": null, + "timeShift": null, + "title": "Total Memory", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_INFLUXDB_PFSENSE}", + "decimals": 1, + "format": "bytes", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 3, + "w": 3, + "x": 6, + "y": 1 + }, + "id": 8, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "swap", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "total" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "host", + "operator": "=~", + "value": "/^$server$/" + } + ] + } + ], + "thresholds": "", + "timeFrom": null, + "timeShift": null, + "title": "Total Swap", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "avg" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_INFLUXDB_PFSENSE}", + "decimals": 1, + "format": "dtdurations", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 3, + "w": 5, + "x": 9, + "y": 1 + }, + "id": 26, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [ + { + "params": [ + "$__interval" + ], + "type": "time" + }, + { + "params": [ + "none" + ], + "type": "fill" + } + ], + "measurement": "system", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "uptime" + ], + "type": "field" + }, + { + "params": [], + "type": "mean" + } + ] + ], + "tags": [ + { + "key": "host", + "operator": "=~", + "value": "/^$server$/" + } + ] + } + ], + "thresholds": "", + "timeFrom": null, + "timeShift": null, + "title": "Uptime", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_INFLUXDB_PFSENSE}", + "format": "bps", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 3, + "w": 4, + "x": 14, + "y": 1 + }, + "id": 34, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": true + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [ + { + "params": [ + "$__interval" + ], + "type": "time" + }, + { + "params": [ + "none" + ], + "type": "fill" + } + ], + "measurement": "net", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "bytes_recv" + ], + "type": "field" + }, + { + "params": [], + "type": "mean" + }, + { + "params": [ + "1s" + ], + "type": "derivative" + }, + { + "params": [ + "* 8" + ], + "type": "math" + } + ] + ], + "tags": [ + { + "key": "host", + "operator": "=~", + "value": "/^$server$/" + }, + { + "condition": "AND", + "key": "interface", + "operator": "=~", + "value": "/^$wan_interface$/" + } + ] + } + ], + "thresholds": "", + "timeFrom": null, + "timeShift": null, + "title": "WAN Rate In", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_INFLUXDB_PFSENSE}", + "format": "bps", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 3, + "w": 4, + "x": 18, + "y": 1 + }, + "id": 36, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": true + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [ + { + "params": [ + "$__interval" + ], + "type": "time" + }, + { + "params": [ + "none" + ], + "type": "fill" + } + ], + "measurement": "net", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "bytes_sent" + ], + "type": "field" + }, + { + "params": [], + "type": "mean" + }, + { + "params": [ + "1s" + ], + "type": "derivative" + }, + { + "params": [ + "* 8" + ], + "type": "math" + } + ] + ], + "tags": [ + { + "key": "host", + "operator": "=~", + "value": "/^$server$/" + }, + { + "condition": "AND", + "key": "interface", + "operator": "=~", + "value": "/^$wan_interface$/" + } + ] + } + ], + "thresholds": "", + "timeFrom": null, + "timeShift": null, + "title": "WAN Rate Out", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 4 + }, + "id": 16, + "panels": [], + "title": "System Usage", + "type": "row" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_INFLUXDB_PFSENSE}", + "decimals": 2, + "format": "percent", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": true, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 7, + "w": 4, + "x": 1, + "y": 5 + }, + "id": 10, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "nullPointMode": "connected", + "nullText": null, + "pluginVersion": "6.1.4", + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "alias": "", + "groupBy": [ + { + "params": [ + "$__interval" + ], + "type": "time" + }, + { + "params": [ + "none" + ], + "type": "fill" + } + ], + "measurement": "cpu", + "orderByTime": "ASC", + "policy": "default", + "query": "SELECT 100-last(\"usage_idle\") FROM \"cpu\" WHERE (\"host\" =~ /^$server$/ AND \"cpu\" = 'cpu-total') AND $timeFilter", + "rawQuery": true, + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "usage_idle" + ], + "type": "field" + }, + { + "params": [], + "type": "last" + } + ] + ], + "tags": [ + { + "key": "host", + "operator": "=~", + "value": "/^$server$/" + }, + { + "condition": "AND", + "key": "cpu", + "operator": "=", + "value": "cpu-total" + } + ] + } + ], + "thresholds": "75,90", + "timeFrom": null, + "timeShift": null, + "title": "CPU", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_INFLUXDB_PFSENSE}", + "decimals": 2, + "format": "none", + "gauge": { + "maxValue": 8, + "minValue": 0, + "show": true, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 7, + "w": 4, + "x": 5, + "y": 5 + }, + "id": 12, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "nullPointMode": "connected", + "nullText": null, + "pluginVersion": "6.1.4", + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "system", + "orderByTime": "ASC", + "policy": "default", + "query": "SELECT last(\"load1\") FROM \"system\" WHERE (\"host\" =~ /^$server$/) AND $timeFilter", + "rawQuery": false, + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "load1" + ], + "type": "field" + }, + { + "params": [], + "type": "last" + } + ] + ], + "tags": [ + { + "key": "host", + "operator": "=~", + "value": "/^$server$/" + } + ] + } + ], + "thresholds": "4,6", + "timeFrom": null, + "timeShift": null, + "title": "Load Average", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_INFLUXDB_PFSENSE}", + "decimals": 1, + "format": "percent", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": true, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 7, + "w": 4, + "x": 9, + "y": 5 + }, + "id": 14, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "mem", + "orderByTime": "ASC", + "policy": "default", + "query": "SELECT last(\"used_percent\") FROM \"mem\" WHERE (\"host\" =~ /^$server$/) AND $timeFilter", + "rawQuery": false, + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "used_percent" + ], + "type": "field" + }, + { + "params": [], + "type": "last" + } + ] + ], + "tags": [ + { + "key": "host", + "operator": "=~", + "value": "/^$server$/" + } + ] + } + ], + "thresholds": "80,90", + "timeFrom": null, + "timeShift": null, + "title": "Memory", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_INFLUXDB_PFSENSE}", + "decimals": 2, + "format": "percent", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": true, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 7, + "w": 4, + "x": 13, + "y": 5 + }, + "id": 38, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "disk", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "used_percent" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "host", + "operator": "=~", + "value": "/^$server$/" + }, + { + "condition": "AND", + "key": "fstype", + "operator": "=", + "value": "ufs" + }, + { + "condition": "AND", + "key": "path", + "operator": "=", + "value": "/" + } + ] + } + ], + "thresholds": "75,90", + "timeFrom": null, + "timeShift": null, + "title": "Disk", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_INFLUXDB_PFSENSE}", + "format": "none", + "gauge": { + "maxValue": 97000, + "minValue": 0, + "show": true, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 7, + "w": 4, + "x": 17, + "y": 5 + }, + "id": 40, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [ + { + "params": [ + "$__interval" + ], + "type": "time" + }, + { + "params": [ + "none" + ], + "type": "fill" + } + ], + "measurement": "pf", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "entries" + ], + "type": "field" + }, + { + "params": [], + "type": "mean" + } + ] + ], + "tags": [ + { + "key": "host", + "operator": "=~", + "value": "/^$server$/" + } + ] + } + ], + "thresholds": "70000,85000", + "timeFrom": null, + "timeShift": null, + "title": "Firewall States", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 12 + }, + "id": 42, + "panels": [], + "title": "System Usage Detail", + "type": "row" + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_INFLUXDB_PFSENSE}", + "decimals": null, + "fill": 1, + "gridPos": { + "h": 7, + "w": 11, + "x": 0, + "y": 13 + }, + "id": 28, + "legend": { + "alignAsTable": false, + "avg": true, + "current": true, + "hideEmpty": false, + "hideZero": false, + "max": true, + "min": true, + "rightSide": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "alias": "$tag_cpu", + "groupBy": [ + { + "params": [ + "$__interval" + ], + "type": "time" + }, + { + "params": [ + "cpu" + ], + "type": "tag" + }, + { + "params": [ + "none" + ], + "type": "fill" + } + ], + "measurement": "cpu", + "orderByTime": "ASC", + "policy": "default", + "query": "SELECT 100 - mean(\"usage_idle\") FROM \"cpu\" WHERE (\"host\" =~ /^$server$/ AND \"cpu\" = 'cpu-total') AND $timeFilter GROUP BY time($__interval), \"cpu\" fill(none)", + "rawQuery": true, + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "usage_idle" + ], + "type": "field" + }, + { + "params": [], + "type": "mean" + } + ] + ], + "tags": [ + { + "key": "host", + "operator": "=~", + "value": "/^$server$/" + }, + { + "condition": "AND", + "key": "cpu", + "operator": "=", + "value": "cpu-total" + } + ] + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "CPU Usage Total", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "decimals": 1, + "format": "percent", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_INFLUXDB_PFSENSE}", + "fill": 1, + "gridPos": { + "h": 7, + "w": 11, + "x": 11, + "y": 13 + }, + "id": 44, + "legend": { + "avg": false, + "current": true, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "groupBy": [ + { + "params": [ + "$__interval" + ], + "type": "time" + }, + { + "params": [ + "none" + ], + "type": "fill" + } + ], + "measurement": "cpu", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "usage_guest" + ], + "type": "field" + }, + { + "params": [], + "type": "mean" + }, + { + "params": [ + "guest" + ], + "type": "alias" + } + ], + [ + { + "params": [ + "usage_guest_nice" + ], + "type": "field" + }, + { + "params": [], + "type": "mean" + }, + { + "params": [ + "guest_nice" + ], + "type": "alias" + } + ], + [ + { + "params": [ + "usage_iowait" + ], + "type": "field" + }, + { + "params": [], + "type": "mean" + }, + { + "params": [ + "iowait" + ], + "type": "alias" + } + ], + [ + { + "params": [ + "usage_irq" + ], + "type": "field" + }, + { + "params": [], + "type": "mean" + }, + { + "params": [ + "irq" + ], + "type": "alias" + } + ], + [ + { + "params": [ + "usage_nice" + ], + "type": "field" + }, + { + "params": [], + "type": "mean" + }, + { + "params": [ + "nice" + ], + "type": "alias" + } + ], + [ + { + "params": [ + "usage_softirq" + ], + "type": "field" + }, + { + "params": [], + "type": "mean" + }, + { + "params": [ + "softirq" + ], + "type": "alias" + } + ], + [ + { + "params": [ + "usage_steal" + ], + "type": "field" + }, + { + "params": [], + "type": "mean" + }, + { + "params": [ + "steal" + ], + "type": "alias" + } + ], + [ + { + "params": [ + "usage_system" + ], + "type": "field" + }, + { + "params": [], + "type": "mean" + }, + { + "params": [ + "system" + ], + "type": "alias" + } + ], + [ + { + "params": [ + "usage_user" + ], + "type": "field" + }, + { + "params": [], + "type": "mean" + }, + { + "params": [ + "user" + ], + "type": "alias" + } + ] + ], + "tags": [ + { + "key": "host", + "operator": "=~", + "value": "/^$server$/" + }, + { + "condition": "AND", + "key": "cpu", + "operator": "=", + "value": "cpu-total" + } + ] + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "CPU Usage Detail", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "decimals": null, + "format": "percent", + "label": "", + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_INFLUXDB_PFSENSE}", + "fill": 1, + "gridPos": { + "h": 7, + "w": 11, + "x": 0, + "y": 20 + }, + "id": 30, + "legend": { + "avg": true, + "current": true, + "max": true, + "min": true, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "alias": "avg1", + "groupBy": [ + { + "params": [ + "$__interval" + ], + "type": "time" + }, + { + "params": [ + "none" + ], + "type": "fill" + } + ], + "measurement": "system", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "load1" + ], + "type": "field" + }, + { + "params": [], + "type": "mean" + } + ] + ], + "tags": [ + { + "key": "host", + "operator": "=~", + "value": "/^$server$/" + } + ] + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Load Average", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_INFLUXDB_PFSENSE}", + "fill": 1, + "gridPos": { + "h": 7, + "w": 11, + "x": 11, + "y": 20 + }, + "id": 32, + "legend": { + "avg": false, + "current": true, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "groupBy": [ + { + "params": [ + "$__interval" + ], + "type": "time" + }, + { + "params": [ + "none" + ], + "type": "fill" + } + ], + "measurement": "mem", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "active" + ], + "type": "field" + }, + { + "params": [], + "type": "mean" + }, + { + "params": [ + "active" + ], + "type": "alias" + } + ], + [ + { + "params": [ + "buffered" + ], + "type": "field" + }, + { + "params": [], + "type": "mean" + }, + { + "params": [ + "buffered" + ], + "type": "alias" + } + ], + [ + { + "params": [ + "cached" + ], + "type": "field" + }, + { + "params": [], + "type": "mean" + }, + { + "params": [ + "cached" + ], + "type": "alias" + } + ], + [ + { + "params": [ + "inactive" + ], + "type": "field" + }, + { + "params": [], + "type": "mean" + }, + { + "params": [ + "inactive" + ], + "type": "alias" + } + ], + [ + { + "params": [ + "slab" + ], + "type": "field" + }, + { + "params": [], + "type": "mean" + }, + { + "params": [ + "slab" + ], + "type": "alias" + } + ], + [ + { + "params": [ + "wired" + ], + "type": "field" + }, + { + "params": [], + "type": "mean" + }, + { + "params": [ + "wired" + ], + "type": "alias" + } + ], + [ + { + "params": [ + "used" + ], + "type": "field" + }, + { + "params": [], + "type": "mean" + }, + { + "params": [ + "used" + ], + "type": "alias" + } + ] + ], + "tags": [ + { + "key": "host", + "operator": "=~", + "value": "/^$server$/" + } + ] + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Memory Usage", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "decbytes", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 27 + }, + "id": 20, + "panels": [], + "title": "Network", + "type": "row" + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_INFLUXDB_PFSENSE}", + "fill": 1, + "gridPos": { + "h": 7, + "w": 11, + "x": 0, + "y": 28 + }, + "id": 22, + "legend": { + "avg": false, + "current": true, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "alias": "$tag_interface", + "groupBy": [ + { + "params": [ + "$__interval" + ], + "type": "time" + }, + { + "params": [ + "interface" + ], + "type": "tag" + }, + { + "params": [ + "none" + ], + "type": "fill" + } + ], + "measurement": "net", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "bytes_recv" + ], + "type": "field" + }, + { + "params": [], + "type": "mean" + }, + { + "params": [ + "1s" + ], + "type": "derivative" + }, + { + "params": [ + "* 8" + ], + "type": "math" + } + ] + ], + "tags": [ + { + "key": "host", + "operator": "=~", + "value": "/^$server$/" + } + ] + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Network Rate In", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "bps", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_INFLUXDB_PFSENSE}", + "fill": 1, + "gridPos": { + "h": 7, + "w": 11, + "x": 11, + "y": 28 + }, + "id": 24, + "legend": { + "avg": false, + "current": true, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "alias": "$tag_interface", + "groupBy": [ + { + "params": [ + "$__interval" + ], + "type": "time" + }, + { + "params": [ + "interface" + ], + "type": "tag" + }, + { + "params": [ + "none" + ], + "type": "fill" + } + ], + "measurement": "net", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "bytes_sent" + ], + "type": "field" + }, + { + "params": [], + "type": "mean" + }, + { + "params": [ + "1s" + ], + "type": "derivative" + }, + { + "params": [ + "* 8" + ], + "type": "math" + } + ] + ], + "tags": [ + { + "key": "host", + "operator": "=~", + "value": "/^$server$/" + } + ] + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Network Rate Out", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "bps", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 35 + }, + "id": 46, + "panels": [], + "title": "Firewall", + "type": "row" + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_INFLUXDB_PFSENSE}", + "fill": 1, + "gridPos": { + "h": 7, + "w": 11, + "x": 0, + "y": 36 + }, + "id": 48, + "legend": { + "avg": true, + "current": true, + "max": true, + "min": true, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "alias": "states", + "groupBy": [ + { + "params": [ + "$__interval" + ], + "type": "time" + }, + { + "params": [ + "none" + ], + "type": "fill" + } + ], + "measurement": "pf", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "entries" + ], + "type": "field" + }, + { + "params": [], + "type": "mean" + } + ] + ], + "tags": [ + { + "key": "host", + "operator": "=~", + "value": "/^$server$/" + } + ] + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "State Table Usage", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "none", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_INFLUXDB_PFSENSE}", + "fill": 1, + "gridPos": { + "h": 7, + "w": 11, + "x": 11, + "y": 36 + }, + "id": 50, + "interval": "", + "legend": { + "avg": false, + "current": true, + "max": false, + "min": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "groupBy": [ + { + "params": [ + "$__interval" + ], + "type": "time" + }, + { + "params": [ + "none" + ], + "type": "fill" + } + ], + "measurement": "pf", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "inserts" + ], + "type": "field" + }, + { + "params": [], + "type": "mean" + }, + { + "params": [ + "1s" + ], + "type": "derivative" + }, + { + "params": [ + "inserts" + ], + "type": "alias" + } + ], + [ + { + "params": [ + "removals" + ], + "type": "field" + }, + { + "params": [], + "type": "mean" + }, + { + "params": [ + "1s" + ], + "type": "derivative" + }, + { + "params": [ + "removals" + ], + "type": "alias" + } + ], + [ + { + "params": [ + "searches" + ], + "type": "field" + }, + { + "params": [], + "type": "mean" + }, + { + "params": [ + "1s" + ], + "type": "derivative" + }, + { + "params": [ + "searches" + ], + "type": "alias" + } + ] + ], + "tags": [ + { + "key": "host", + "operator": "=~", + "value": "/^$server$/" + } + ] + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "State Table Detail", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "none", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + } + ], + "refresh": "30s", + "schemaVersion": 18, + "style": "dark", + "tags": [], + "templating": { + "list": [ + { + "allValue": null, + "current": {}, + "datasource": "${DS_INFLUXDB_PFSENSE}", + "definition": "SHOW TAG VALUES FROM system WITH KEY=host", + "hide": 0, + "includeAll": false, + "label": "Server", + "multi": false, + "name": "server", + "options": [], + "query": "SHOW TAG VALUES FROM system WITH KEY=host", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 1, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + }, + { + "current": { + "value": "${VAR_WAN_INTERFACE}", + "text": "${VAR_WAN_INTERFACE}" + }, + "hide": 2, + "label": "WAN Inteface", + "name": "wan_interface", + "options": [ + { + "value": "${VAR_WAN_INTERFACE}", + "text": "${VAR_WAN_INTERFACE}" + } + ], + "query": "${VAR_WAN_INTERFACE}", + "skipUrlSync": false, + "type": "constant" + } + ] + }, + "time": { + "from": "now-1h", + "to": "now" + }, + "timepicker": { + "refresh_intervals": [ + "10s", + "15s", + "30s", + "1m", + "5m", + "15m", + "30m", + "1h" + ], + "time_options": [ + "5m", + "15m", + "1h", + "6h", + "12h", + "24h", + "2d", + "7d", + "30d" + ] + }, + "timezone": "", + "title": "pfSense", + "uid": "s1mSNdzZz", + "version": 58, + "description": "pfSense metrics from InfluxDB using Telegraf service" +} \ No newline at end of file diff --git a/jails/config/monitor/json/router-stats_rev1.json b/jails/config/monitor/json/router-stats_rev1.json new file mode 100644 index 0000000..0db66dd --- /dev/null +++ b/jails/config/monitor/json/router-stats_rev1.json @@ -0,0 +1,2941 @@ +{ + "__inputs": [ + { + "name": "DS_SYNAPSE_STATS", + "label": "pfSense Stats", + "description": "", + "type": "datasource", + "pluginId": "influxdb", + "pluginName": "InfluxDB" + } + ], + "__requires": [ + { + "type": "grafana", + "id": "grafana", + "name": "Grafana", + "version": "6.0.1" + }, + { + "type": "panel", + "id": "grafana-piechart-panel", + "name": "Pie Chart", + "version": "1.3.3" + }, + { + "type": "panel", + "id": "graph", + "name": "Graph", + "version": "5.0.0" + }, + { + "type": "datasource", + "id": "influxdb", + "name": "InfluxDB", + "version": "5.0.0" + }, + { + "type": "panel", + "id": "singlestat", + "name": "Singlestat", + "version": "5.0.0" + } + ], + "annotations": { + "list": [ + { + "builtIn": 1, + "datasource": "-- Grafana --", + "enable": true, + "hide": true, + "iconColor": "rgba(0, 211, 255, 1)", + "name": "Annotations & Alerts", + "type": "dashboard" + } + ] + }, + "editable": true, + "gnetId": 9937, + "graphTooltip": 0, + "id": null, + "iteration": 1552846188499, + "links": [], + "panels": [ + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 0 + }, + "id": 19, + "panels": [], + "title": "Network Stats", + "type": "row" + }, + { + "aliasColors": { + "Listen": "#705da0", + "Time Wait": "#5195ce" + }, + "breakPoint": "50%", + "cacheTimeout": null, + "combine": { + "label": "Others", + "threshold": 0 + }, + "fontSize": "100%", + "format": "short", + "gridPos": { + "h": 12, + "w": 5, + "x": 0, + "y": 1 + }, + "id": 5, + "interval": null, + "legend": { + "header": "", + "percentage": true, + "show": true, + "values": true + }, + "legendType": "Under graph", + "links": [], + "maxDataPoints": 3, + "nullPointMode": "connected", + "pieType": "donut", + "strokeWidth": "2", + "targets": [ + { + "alias": "Close Wait", + "groupBy": [ + { + "params": [ + "10s" + ], + "type": "time" + }, + { + "params": [ + "null" + ], + "type": "fill" + } + ], + "measurement": "netstat", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "tcp_close_wait" + ], + "type": "field" + }, + { + "params": [], + "type": "last" + } + ] + ], + "tags": [ + { + "key": "host", + "operator": "=", + "value": "router.synapse.lan" + } + ] + }, + { + "alias": "Established", + "groupBy": [ + { + "params": [ + "10s" + ], + "type": "time" + }, + { + "params": [ + "null" + ], + "type": "fill" + } + ], + "measurement": "netstat", + "orderByTime": "ASC", + "policy": "default", + "refId": "B", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "tcp_established" + ], + "type": "field" + }, + { + "params": [], + "type": "last" + } + ] + ], + "tags": [ + { + "key": "host", + "operator": "=", + "value": "router.synapse.lan" + } + ] + }, + { + "alias": "Listen", + "groupBy": [ + { + "params": [ + "10s" + ], + "type": "time" + }, + { + "params": [ + "null" + ], + "type": "fill" + } + ], + "measurement": "netstat", + "orderByTime": "ASC", + "policy": "default", + "refId": "C", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "tcp_listen" + ], + "type": "field" + }, + { + "params": [], + "type": "last" + } + ] + ], + "tags": [ + { + "key": "host", + "operator": "=", + "value": "router.synapse.lan" + } + ] + }, + { + "alias": "Time Wait", + "groupBy": [ + { + "params": [ + "10s" + ], + "type": "time" + }, + { + "params": [ + "null" + ], + "type": "fill" + } + ], + "measurement": "netstat", + "orderByTime": "ASC", + "policy": "default", + "refId": "D", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "tcp_time_wait" + ], + "type": "field" + }, + { + "params": [], + "type": "last" + } + ] + ], + "tags": [ + { + "key": "host", + "operator": "=", + "value": "router.synapse.lan" + } + ] + }, + { + "alias": "None", + "groupBy": [ + { + "params": [ + "10s" + ], + "type": "time" + }, + { + "params": [ + "null" + ], + "type": "fill" + } + ], + "measurement": "netstat", + "orderByTime": "ASC", + "policy": "default", + "refId": "E", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "tcp_none" + ], + "type": "field" + }, + { + "params": [], + "type": "last" + } + ] + ], + "tags": [ + { + "key": "host", + "operator": "=", + "value": "router.synapse.lan" + } + ] + } + ], + "title": "Netstat", + "type": "grafana-piechart-panel", + "valueName": "current" + }, + { + "aliasColors": { + "WAN-1": "#629e51", + "WAN-2": "#806eb7" + }, + "bars": true, + "dashLength": 10, + "dashes": false, + "decimals": 0, + "fill": 1, + "gridPos": { + "h": 7, + "w": 19, + "x": 5, + "y": 1 + }, + "id": 3, + "interval": "$summarise", + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": true, + "show": true, + "sideWidth": 300, + "total": false, + "values": true + }, + "lines": false, + "linewidth": 1, + "links": [], + "nullPointMode": "connected", + "paceLength": 10, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": true, + "steppedLine": false, + "targets": [ + { + "alias": "WAN-1", + "groupBy": [ + { + "params": [ + "auto" + ], + "type": "time" + }, + { + "params": [ + "null" + ], + "type": "fill" + } + ], + "measurement": "net", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "bytes_recv" + ], + "type": "field" + }, + { + "params": [], + "type": "mean" + }, + { + "params": [ + "10s" + ], + "type": "derivative" + } + ] + ], + "tags": [ + { + "key": "host", + "operator": "=", + "value": "router.synapse.lan" + }, + { + "condition": "AND", + "key": "interface", + "operator": "=", + "value": "em0" + } + ] + }, + { + "alias": "WAN-2", + "groupBy": [ + { + "params": [ + "auto" + ], + "type": "time" + }, + { + "params": [ + "null" + ], + "type": "fill" + } + ], + "measurement": "net", + "orderByTime": "ASC", + "policy": "default", + "refId": "B", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "bytes_recv" + ], + "type": "field" + }, + { + "params": [], + "type": "mean" + }, + { + "params": [ + "10s" + ], + "type": "derivative" + } + ] + ], + "tags": [ + { + "key": "host", + "operator": "=", + "value": "router.synapse.lan" + }, + { + "condition": "AND", + "key": "interface", + "operator": "=", + "value": "em2" + } + ] + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Router: Bytes Received", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "decbytes", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": { + "WAN-1": "#629e51", + "WAN-2": "#806eb7" + }, + "bars": true, + "dashLength": 10, + "dashes": false, + "decimals": 0, + "fill": 1, + "gridPos": { + "h": 7, + "w": 19, + "x": 5, + "y": 8 + }, + "id": 2, + "interval": "$summarise", + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": true, + "show": true, + "sideWidth": 300, + "total": false, + "values": true + }, + "lines": false, + "linewidth": 1, + "links": [], + "nullPointMode": "connected", + "paceLength": 10, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": true, + "steppedLine": false, + "targets": [ + { + "alias": "WAN-1", + "groupBy": [ + { + "params": [ + "auto" + ], + "type": "time" + }, + { + "params": [ + "null" + ], + "type": "fill" + } + ], + "measurement": "net", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "bytes_sent" + ], + "type": "field" + }, + { + "params": [], + "type": "mean" + }, + { + "params": [ + "10s" + ], + "type": "derivative" + } + ] + ], + "tags": [ + { + "key": "host", + "operator": "=", + "value": "router.synapse.lan" + }, + { + "condition": "AND", + "key": "interface", + "operator": "=", + "value": "em0" + } + ] + }, + { + "alias": "WAN-2", + "groupBy": [ + { + "params": [ + "auto" + ], + "type": "time" + }, + { + "params": [ + "null" + ], + "type": "fill" + } + ], + "measurement": "net", + "orderByTime": "ASC", + "policy": "default", + "refId": "B", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "bytes_sent" + ], + "type": "field" + }, + { + "params": [], + "type": "mean" + }, + { + "params": [ + "10s" + ], + "type": "derivative" + } + ] + ], + "tags": [ + { + "key": "host", + "operator": "=", + "value": "router.synapse.lan" + }, + { + "condition": "AND", + "key": "interface", + "operator": "=", + "value": "em2" + } + ] + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Router: Bytes Sent", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "decbytes", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 3, + "w": 5, + "x": 0, + "y": 13 + }, + "id": 9, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "nullPointMode": "connected", + "nullText": null, + "postfix": " ms", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": true + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [ + { + "params": [ + "$__interval" + ], + "type": "time" + }, + { + "params": [ + "null" + ], + "type": "fill" + } + ], + "measurement": "ping", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "average_response_ms" + ], + "type": "field" + }, + { + "params": [], + "type": "last" + } + ] + ], + "tags": [ + { + "key": "url", + "operator": "=", + "value": "8.8.4.4" + } + ] + } + ], + "thresholds": "100,500", + "title": "Google DNS Ping", + "type": "singlestat", + "valueFontSize": "120%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "aliasColors": { + "Cloudflare DNS": "#ba43a9", + "Google DNS": "#ef843c", + "L3 DNS": "#bf1b00" + }, + "bars": false, + "dashLength": 10, + "dashes": false, + "decimals": 0, + "fill": 0, + "gridPos": { + "h": 7, + "w": 19, + "x": 5, + "y": 15 + }, + "id": 7, + "interval": "$summarise", + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": true, + "show": true, + "sideWidth": 300, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 2, + "links": [], + "nullPointMode": "connected", + "paceLength": 10, + "percentage": false, + "pointradius": 2, + "points": true, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "alias": "Google DNS", + "groupBy": [ + { + "params": [ + "auto" + ], + "type": "time" + }, + { + "params": [ + "null" + ], + "type": "fill" + } + ], + "measurement": "ping", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "average_response_ms" + ], + "type": "field" + }, + { + "params": [], + "type": "last" + } + ] + ], + "tags": [ + { + "key": "url", + "operator": "=", + "value": "8.8.4.4" + } + ] + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Ping Average Response Time", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "decimals": 2, + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 3, + "w": 5, + "x": 0, + "y": 16 + }, + "id": 13, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "nullPointMode": "connected", + "nullText": null, + "postfix": " ms", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": true + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [ + { + "params": [ + "$__interval" + ], + "type": "time" + }, + { + "params": [ + "null" + ], + "type": "fill" + } + ], + "measurement": "ping", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "average_response_ms" + ], + "type": "field" + }, + { + "params": [], + "type": "last" + } + ] + ], + "tags": [ + { + "key": "url", + "operator": "=", + "value": "192.168.7.1" + } + ] + } + ], + "thresholds": "1,3", + "title": "Router/Gateway Ping", + "type": "singlestat", + "valueFontSize": "120%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "decimals": 2, + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 3, + "w": 5, + "x": 0, + "y": 19 + }, + "id": 10, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "nullPointMode": "connected", + "nullText": null, + "postfix": " ms", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": true + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [ + { + "params": [ + "$__interval" + ], + "type": "time" + }, + { + "params": [ + "null" + ], + "type": "fill" + } + ], + "measurement": "ping", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "average_response_ms" + ], + "type": "field" + }, + { + "params": [], + "type": "last" + } + ] + ], + "tags": [ + { + "key": "url", + "operator": "=", + "value": "192.168.7.150" + } + ] + } + ], + "thresholds": "1,3", + "title": "Local DNS Ping", + "type": "singlestat", + "valueFontSize": "120%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 22 + }, + "id": 21, + "panels": [], + "title": "DNS Stats", + "type": "row" + }, + { + "aliasColors": { + "Hits": "#629e51", + "Misses": "#bf1b00" + }, + "breakPoint": "50%", + "cacheTimeout": null, + "combine": { + "label": "Others", + "threshold": 0 + }, + "datasource": "${DS_SYNAPSE_STATS}", + "decimals": null, + "fontSize": "100%", + "format": "short", + "gridPos": { + "h": 9, + "w": 5, + "x": 0, + "y": 23 + }, + "hideTimeOverride": false, + "id": 17, + "interval": null, + "legend": { + "header": "", + "percentage": true, + "percentageDecimals": 0, + "show": true, + "sortDesc": true, + "values": true + }, + "legendType": "On graph", + "links": [], + "maxDataPoints": 3, + "nullPointMode": "connected", + "pieType": "donut", + "strokeWidth": "2", + "targets": [ + { + "alias": "Hits", + "groupBy": [], + "measurement": "unbound", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "total_num_cachehits" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "host", + "operator": "=", + "value": "router.synapse.lan" + } + ] + }, + { + "alias": "Misses", + "groupBy": [], + "measurement": "unbound", + "orderByTime": "ASC", + "policy": "default", + "refId": "B", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "total_num_cachemiss" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "host", + "operator": "=", + "value": "router.synapse.lan" + } + ] + } + ], + "thresholds": [], + "title": "DNS Cache Hit/Miss Ratio", + "type": "grafana-piechart-panel", + "valueName": "current" + }, + { + "aliasColors": { + "Hits": "#629e51", + "Misses": "#bf1b00", + "Recursive": "#1f78c1" + }, + "bars": true, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SYNAPSE_STATS}", + "decimals": 0, + "fill": 1, + "gridPos": { + "h": 7, + "w": 19, + "x": 5, + "y": 23 + }, + "hideTimeOverride": false, + "id": 15, + "interval": "$summarise", + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "hideEmpty": false, + "hideZero": false, + "max": true, + "min": true, + "rightSide": true, + "show": true, + "sideWidth": 355, + "total": true, + "values": true + }, + "lines": false, + "linewidth": 1, + "links": [], + "nullPointMode": "connected", + "paceLength": 10, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [ + { + "alias": "Recursive", + "bars": false, + "fill": 0, + "lines": true, + "linewidth": 2, + "nullPointMode": "connected" + } + ], + "spaceLength": 10, + "stack": true, + "steppedLine": false, + "targets": [ + { + "alias": "Hits", + "groupBy": [ + { + "params": [ + "auto" + ], + "type": "time" + }, + { + "params": [ + "null" + ], + "type": "fill" + } + ], + "measurement": "unbound", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "total_num_cachehits" + ], + "type": "field" + }, + { + "params": [], + "type": "last" + }, + { + "params": [ + "5m" + ], + "type": "derivative" + } + ] + ], + "tags": [ + { + "key": "host", + "operator": "=", + "value": "router.synapse.lan" + } + ] + }, + { + "alias": "Misses", + "groupBy": [ + { + "params": [ + "auto" + ], + "type": "time" + }, + { + "params": [ + "null" + ], + "type": "fill" + } + ], + "measurement": "unbound", + "orderByTime": "ASC", + "policy": "default", + "refId": "B", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "total_num_cachemiss" + ], + "type": "field" + }, + { + "params": [], + "type": "last" + }, + { + "params": [ + "5m" + ], + "type": "derivative" + } + ] + ], + "tags": [ + { + "key": "host", + "operator": "=", + "value": "router.synapse.lan" + } + ] + }, + { + "alias": "Recursive", + "groupBy": [ + { + "params": [ + "auto" + ], + "type": "time" + }, + { + "params": [ + "null" + ], + "type": "fill" + } + ], + "measurement": "unbound", + "orderByTime": "ASC", + "policy": "default", + "refId": "C", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "total_num_recursivereplies" + ], + "type": "field" + }, + { + "params": [], + "type": "last" + }, + { + "params": [ + "5m" + ], + "type": "derivative" + } + ] + ], + "tags": [ + { + "key": "host", + "operator": "=", + "value": "router.synapse.lan" + } + ] + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "DNS Cache Performance", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": { + "A": "#5195ce", + "AAAA": "#f29191", + "PTR": "#f2c96d", + "SOA": "#ba43a9", + "SRV": "#7eb26d", + "TXT": "#508642" + }, + "bars": true, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SYNAPSE_STATS}", + "decimals": 0, + "fill": 0, + "gridPos": { + "h": 7, + "w": 19, + "x": 5, + "y": 30 + }, + "id": 31, + "interval": "$summarise", + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": true, + "show": true, + "sideWidth": 355, + "total": true, + "values": true + }, + "lines": false, + "linewidth": 2, + "links": [], + "nullPointMode": "connected", + "paceLength": 10, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": true, + "steppedLine": false, + "targets": [ + { + "alias": "A", + "groupBy": [ + { + "params": [ + "auto" + ], + "type": "time" + }, + { + "params": [ + "null" + ], + "type": "fill" + } + ], + "measurement": "unbound", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "num_query_type_A" + ], + "type": "field" + }, + { + "params": [], + "type": "last" + }, + { + "params": [ + "5m" + ], + "type": "derivative" + } + ] + ], + "tags": [ + { + "key": "host", + "operator": "=", + "value": "router.synapse.lan" + } + ] + }, + { + "alias": "AAAA", + "groupBy": [ + { + "params": [ + "auto" + ], + "type": "time" + }, + { + "params": [ + "null" + ], + "type": "fill" + } + ], + "measurement": "unbound", + "orderByTime": "ASC", + "policy": "default", + "refId": "B", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "num_query_type_AAAA" + ], + "type": "field" + }, + { + "params": [], + "type": "last" + }, + { + "params": [ + "5m" + ], + "type": "derivative" + } + ] + ], + "tags": [ + { + "key": "host", + "operator": "=", + "value": "router.synapse.lan" + } + ] + }, + { + "alias": "PTR", + "groupBy": [ + { + "params": [ + "auto" + ], + "type": "time" + }, + { + "params": [ + "null" + ], + "type": "fill" + } + ], + "measurement": "unbound", + "orderByTime": "ASC", + "policy": "default", + "refId": "C", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "num_query_type_PTR" + ], + "type": "field" + }, + { + "params": [], + "type": "last" + }, + { + "params": [ + "5m" + ], + "type": "derivative" + } + ] + ], + "tags": [ + { + "key": "host", + "operator": "=", + "value": "router.synapse.lan" + } + ] + }, + { + "alias": "SOA", + "groupBy": [ + { + "params": [ + "auto" + ], + "type": "time" + }, + { + "params": [ + "null" + ], + "type": "fill" + } + ], + "measurement": "unbound", + "orderByTime": "ASC", + "policy": "default", + "refId": "D", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "num_query_type_SOA" + ], + "type": "field" + }, + { + "params": [], + "type": "last" + }, + { + "params": [ + "5m" + ], + "type": "derivative" + } + ] + ], + "tags": [ + { + "key": "host", + "operator": "=", + "value": "router.synapse.lan" + } + ] + }, + { + "alias": "SRV", + "groupBy": [ + { + "params": [ + "auto" + ], + "type": "time" + }, + { + "params": [ + "null" + ], + "type": "fill" + } + ], + "measurement": "unbound", + "orderByTime": "ASC", + "policy": "default", + "refId": "E", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "num_query_type_SRV" + ], + "type": "field" + }, + { + "params": [], + "type": "last" + }, + { + "params": [ + "5m" + ], + "type": "derivative" + } + ] + ], + "tags": [ + { + "key": "host", + "operator": "=", + "value": "router.synapse.lan" + } + ] + }, + { + "alias": "TXT", + "groupBy": [ + { + "params": [ + "auto" + ], + "type": "time" + }, + { + "params": [ + "null" + ], + "type": "fill" + } + ], + "measurement": "unbound", + "orderByTime": "ASC", + "policy": "default", + "refId": "F", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "num_query_type_TXT" + ], + "type": "field" + }, + { + "params": [], + "type": "last" + }, + { + "params": [ + "5m" + ], + "type": "derivative" + } + ] + ], + "tags": [ + { + "key": "host", + "operator": "=", + "value": "router.synapse.lan" + } + ] + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "DNS Query Resource Record (RR)", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SYNAPSE_STATS}", + "decimals": 0, + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 3, + "w": 5, + "x": 0, + "y": 32 + }, + "id": 23, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": true + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [ + { + "params": [ + "10s" + ], + "type": "time" + }, + { + "params": [ + "null" + ], + "type": "fill" + } + ], + "measurement": "unbound", + "orderByTime": "ASC", + "policy": "internal_1yr", + "query": "SELECT last(\"msg_cache_count\") + last(\"rrset_cache_count\") FROM \"internal_1yr\".\"unbound\" WHERE (\"host\" = 'dns') AND $timeFilter GROUP BY time($__interval) fill(null)", + "rawQuery": false, + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "total_num_queries" + ], + "type": "field" + }, + { + "params": [], + "type": "last" + } + ] + ], + "tags": [ + { + "key": "host", + "operator": "=", + "value": "router.synapse.lan" + } + ] + } + ], + "thresholds": "", + "title": "DNS Total queries received", + "type": "singlestat", + "valueFontSize": "110%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "avg" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SYNAPSE_STATS}", + "decimals": null, + "format": "short", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 3, + "w": 5, + "x": 0, + "y": 35 + }, + "id": 25, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": true + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [ + { + "params": [ + "$__interval" + ], + "type": "time" + } + ], + "measurement": "unbound", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "total_num_queries" + ], + "type": "field" + }, + { + "params": [], + "type": "mean" + }, + { + "params": [ + "1h" + ], + "type": "derivative" + } + ] + ], + "tags": [ + { + "key": "host", + "operator": "=", + "value": "router.synapse.lan" + } + ] + } + ], + "thresholds": "", + "title": "DNS Queries Last 1h", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "avg" + }, + { + "aliasColors": { + "A": "#5195ce", + "AAAA": "#f29191", + "FORMERR": "#f2c96d", + "NOERROR": "#7eb26d", + "NOTIMPL": "#1f78c1", + "PTR": "#f2c96d", + "SERVFAIL": "#5195ce", + "SOA": "#ba43a9", + "SRV": "#7eb26d", + "TXT": "#508642" + }, + "bars": true, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SYNAPSE_STATS}", + "decimals": 0, + "fill": 0, + "gridPos": { + "h": 7, + "w": 19, + "x": 5, + "y": 37 + }, + "id": 33, + "interval": "$summarise", + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": true, + "show": true, + "sideWidth": 355, + "total": true, + "values": true + }, + "lines": false, + "linewidth": 2, + "links": [], + "nullPointMode": "connected", + "paceLength": 10, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": true, + "steppedLine": false, + "targets": [ + { + "alias": "FORMERR", + "groupBy": [ + { + "params": [ + "auto" + ], + "type": "time" + }, + { + "params": [ + "null" + ], + "type": "fill" + } + ], + "measurement": "unbound", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "num_answer_rcode_FORMERR" + ], + "type": "field" + }, + { + "params": [], + "type": "last" + }, + { + "params": [ + "5m" + ], + "type": "derivative" + } + ] + ], + "tags": [ + { + "key": "host", + "operator": "=", + "value": "router.synapse.lan" + } + ] + }, + { + "alias": "NOERROR", + "groupBy": [ + { + "params": [ + "auto" + ], + "type": "time" + }, + { + "params": [ + "null" + ], + "type": "fill" + } + ], + "measurement": "unbound", + "orderByTime": "ASC", + "policy": "default", + "refId": "B", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "num_answer_rcode_NOERROR" + ], + "type": "field" + }, + { + "params": [], + "type": "last" + }, + { + "params": [ + "5m" + ], + "type": "derivative" + } + ] + ], + "tags": [ + { + "key": "host", + "operator": "=", + "value": "router.synapse.lan" + } + ] + }, + { + "alias": "NOTIMPL", + "groupBy": [ + { + "params": [ + "auto" + ], + "type": "time" + }, + { + "params": [ + "null" + ], + "type": "fill" + } + ], + "measurement": "unbound", + "orderByTime": "ASC", + "policy": "default", + "refId": "C", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "num_answer_rcode_NOTIMPL" + ], + "type": "field" + }, + { + "params": [], + "type": "last" + }, + { + "params": [ + "5m" + ], + "type": "derivative" + } + ] + ], + "tags": [ + { + "key": "host", + "operator": "=", + "value": "router.synapse.lan" + } + ] + }, + { + "alias": "NXDOMAIN", + "groupBy": [ + { + "params": [ + "auto" + ], + "type": "time" + }, + { + "params": [ + "null" + ], + "type": "fill" + } + ], + "measurement": "unbound", + "orderByTime": "ASC", + "policy": "default", + "refId": "D", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "num_answer_rcode_NXDOMAIN" + ], + "type": "field" + }, + { + "params": [], + "type": "last" + }, + { + "params": [ + "5m" + ], + "type": "derivative" + } + ] + ], + "tags": [ + { + "key": "host", + "operator": "=", + "value": "router.synapse.lan" + } + ] + }, + { + "alias": "REFUSED", + "groupBy": [ + { + "params": [ + "auto" + ], + "type": "time" + }, + { + "params": [ + "null" + ], + "type": "fill" + } + ], + "measurement": "unbound", + "orderByTime": "ASC", + "policy": "default", + "refId": "E", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "num_answer_rcode_REFUSED" + ], + "type": "field" + }, + { + "params": [], + "type": "last" + }, + { + "params": [ + "5m" + ], + "type": "derivative" + } + ] + ], + "tags": [ + { + "key": "host", + "operator": "=", + "value": "router.synapse.lan" + } + ] + }, + { + "alias": "SERVFAIL", + "groupBy": [ + { + "params": [ + "auto" + ], + "type": "time" + }, + { + "params": [ + "null" + ], + "type": "fill" + } + ], + "measurement": "unbound", + "orderByTime": "ASC", + "policy": "default", + "refId": "F", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "num_answer_rcode_SERVFAIL" + ], + "type": "field" + }, + { + "params": [], + "type": "last" + }, + { + "params": [ + "5m" + ], + "type": "derivative" + } + ] + ], + "tags": [ + { + "key": "host", + "operator": "=", + "value": "router.synapse.lan" + } + ] + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "DNS Reply code distribution", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SYNAPSE_STATS}", + "decimals": 2, + "format": "decbytes", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 3, + "w": 5, + "x": 0, + "y": 38 + }, + "id": 27, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": true + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [ + { + "params": [ + "$__interval" + ], + "type": "time" + }, + { + "params": [ + "null" + ], + "type": "fill" + } + ], + "measurement": "unbound", + "orderByTime": "ASC", + "policy": "autogen", + "query": "SELECT last(\"mem_cache_rrset\") + last(\"mem_cache_message\") FROM \"internal_1yr\".\"unbound\" WHERE (\"host\" = 'router.synapse.lan') AND $timeFilter GROUP BY time($__interval) fill(null)", + "rawQuery": true, + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "mem_cache_rrset" + ], + "type": "field" + }, + { + "params": [], + "type": "last" + } + ] + ], + "tags": [ + { + "key": "host", + "operator": "=", + "value": "dns" + } + ] + } + ], + "thresholds": "", + "title": "DNS Memory Cache Size", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "avg" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SYNAPSE_STATS}", + "decimals": 0, + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 3, + "w": 5, + "x": 0, + "y": 41 + }, + "id": 29, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": true + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [ + { + "params": [ + "$__interval" + ], + "type": "time" + }, + { + "params": [ + "null" + ], + "type": "fill" + } + ], + "measurement": "unbound", + "orderByTime": "ASC", + "policy": "autogen", + "query": "SELECT last(\"msg_cache_count\") + last(\"rrset_cache_count\") FROM \"internal_1yr\".\"unbound\" WHERE (\"host\" = 'router.synapse.lan') AND $timeFilter GROUP BY time($__interval) fill(null)", + "rawQuery": true, + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "mem_cache_rrset" + ], + "type": "field" + }, + { + "params": [], + "type": "last" + } + ] + ], + "tags": [ + { + "key": "host", + "operator": "=", + "value": "dns" + } + ] + } + ], + "thresholds": "", + "title": "DNS Memory Cache Items", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "avg" + } + ], + "refresh": "10s", + "schemaVersion": 18, + "style": "dark", + "tags": [], + "templating": { + "list": [ + { + "auto": true, + "auto_count": 10, + "auto_min": "10s", + "current": { + "text": "1m", + "value": "1m" + }, + "hide": 0, + "label": null, + "name": "summarise", + "options": [ + { + "selected": false, + "text": "auto", + "value": "$__auto_interval_summarise" + }, + { + "selected": false, + "text": "1s", + "value": "1s" + }, + { + "selected": false, + "text": "5s", + "value": "5s" + }, + { + "selected": false, + "text": "10s", + "value": "10s" + }, + { + "selected": true, + "text": "1m", + "value": "1m" + }, + { + "selected": false, + "text": "5m", + "value": "5m" + }, + { + "selected": false, + "text": "10m", + "value": "10m" + }, + { + "selected": false, + "text": "30m", + "value": "30m" + }, + { + "selected": false, + "text": "1h", + "value": "1h" + }, + { + "selected": false, + "text": "6h", + "value": "6h" + }, + { + "selected": false, + "text": "12h", + "value": "12h" + }, + { + "selected": false, + "text": "1d", + "value": "1d" + }, + { + "selected": false, + "text": "7d", + "value": "7d" + }, + { + "selected": false, + "text": "14d", + "value": "14d" + }, + { + "selected": false, + "text": "30d", + "value": "30d" + } + ], + "query": "1s,5s,10s,1m,5m,10m,30m,1h,6h,12h,1d,7d,14d,30d", + "refresh": 2, + "skipUrlSync": false, + "type": "interval" + } + ] + }, + "time": { + "from": "now-1h", + "to": "now" + }, + "timepicker": { + "refresh_intervals": [ + "5s", + "10s", + "30s", + "1m", + "5m", + "15m", + "30m", + "1h", + "2h", + "1d" + ], + "time_options": [ + "5m", + "15m", + "1h", + "6h", + "12h", + "24h", + "2d", + "7d", + "30d" + ] + }, + "timezone": "browser", + "title": "pfSense System Stats", + "uid": "MsFKtc1mk", + "version": 42, + "description": "Simple network and DNS stats of pfSense with dual-WAN setup." +} \ No newline at end of file diff --git a/jails/config/monitor/json/switch-overview_rev1.json b/jails/config/monitor/json/switch-overview_rev1.json new file mode 100644 index 0000000..4a83678 --- /dev/null +++ b/jails/config/monitor/json/switch-overview_rev1.json @@ -0,0 +1,26544 @@ +{ + "__inputs": [ + { + "name": "DS_SNMP", + "label": "SNMP", + "description": "", + "type": "datasource", + "pluginId": "influxdb", + "pluginName": "InfluxDB" + } + ], + "__requires": [ + { + "type": "grafana", + "id": "grafana", + "name": "Grafana", + "version": "6.0.2" + }, + { + "type": "panel", + "id": "graph", + "name": "Graph", + "version": "5.0.0" + }, + { + "type": "datasource", + "id": "influxdb", + "name": "InfluxDB", + "version": "5.0.0" + }, + { + "type": "panel", + "id": "singlestat", + "name": "Singlestat", + "version": "5.0.0" + }, + { + "type": "panel", + "id": "table", + "name": "Table", + "version": "5.0.0" + } + ], + "annotations": { + "list": [ + { + "builtIn": 1, + "datasource": "-- Grafana --", + "enable": true, + "hide": true, + "iconColor": "rgba(0, 211, 255, 1)", + "name": "Annotations & Alerts", + "type": "dashboard" + } + ] + }, + "description": "General information for any switch", + "editable": true, + "gnetId": 9991, + "graphTooltip": 0, + "id": null, + "iteration": 1554147738390, + "links": [], + "panels": [ + { + "collapsed": true, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 0 + }, + "id": 2, + "panels": [ + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "decimals": null, + "format": "s", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 4, + "x": 0, + "y": 1 + }, + "id": 4, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "sysUpTime" + ], + "type": "field" + }, + { + "params": [], + "type": "mean" + }, + { + "params": [ + " / 100" + ], + "type": "math" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + } + ] + } + ], + "thresholds": "", + "timeFrom": null, + "timeShift": null, + "title": "Uptime", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "percent", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": true, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 4, + "x": 4, + "y": 1 + }, + "id": 6, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "hh3cEntityExtCpuUsage" + ], + "type": "field" + }, + { + "params": [], + "type": "mean" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + } + ] + } + ], + "thresholds": "80,90", + "timeFrom": null, + "timeShift": null, + "title": "CPU Usage", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "percent", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": true, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 4, + "x": 8, + "y": 1 + }, + "id": 8, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "hh3cEntityExtMemUsage" + ], + "type": "field" + }, + { + "params": [], + "type": "mean" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + } + ] + } + ], + "thresholds": "80,90", + "timeFrom": null, + "timeShift": null, + "title": "Memory Usage", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "celsius", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": true, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 4, + "x": 12, + "y": 1 + }, + "id": 10, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "hh3cEntityExtTemperature" + ], + "type": "field" + }, + { + "params": [], + "type": "mean" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + } + ] + } + ], + "thresholds": "80,90", + "timeFrom": null, + "timeShift": null, + "title": "Temperature", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "columns": [], + "datasource": "${DS_SNMP}", + "fontSize": "100%", + "gridPos": { + "h": 12, + "w": 8, + "x": 16, + "y": 1 + }, + "hideTimeOverride": false, + "id": 562, + "links": [], + "pageSize": null, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + } + }, + "scroll": true, + "showHeader": true, + "sort": { + "col": 0, + "desc": true + }, + "styles": [ + { + "alias": "Time", + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "pattern": "Time", + "type": "hidden" + } + ], + "targets": [ + { + "alias": "Ports Up", + "groupBy": [ + { + "params": [ + "$interval" + ], + "type": "time" + }, + { + "params": [ + "null" + ], + "type": "fill" + } + ], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "query": "SELECT count(\"ifOperStatus\") FROM \"switch\" WHERE (\"agent_host\" =~ /^$ip$/ AND \"ifOperStatus\" = 1) AND $timeFilter GROUP BY time(1m) fill(none)", + "rawQuery": true, + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifOperStatus" + ], + "type": "field" + }, + { + "params": [], + "type": "count" + }, + { + "params": [ + "ifOperStatus" + ], + "type": "alias" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifOperStatus", + "operator": "=", + "value": "1" + } + ] + }, + { + "alias": "Ports Down", + "groupBy": [ + { + "params": [ + "$interval" + ], + "type": "time" + }, + { + "params": [ + "null" + ], + "type": "fill" + } + ], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "query": "SELECT count(\"ifOperStatus\") FROM \"switch\" WHERE (\"agent_host\" =~ /^$ip$/ AND \"ifOperStatus\" = 2) AND $timeFilter GROUP BY time(1m) fill(none)", + "rawQuery": true, + "refId": "H", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifOperStatus" + ], + "type": "field" + }, + { + "params": [], + "type": "count" + }, + { + "params": [ + "ifOperStatus" + ], + "type": "alias" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifOperStatus", + "operator": "=", + "value": "1" + } + ] + }, + { + "alias": "Ports with speed 10Gbps", + "groupBy": [ + { + "params": [ + "1m" + ], + "type": "time" + }, + { + "params": [ + "null" + ], + "type": "fill" + } + ], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "query": "SELECT count(\"ifSpeed\") FROM \"switch\" WHERE (\"agent_host\" =~ /^$ip$/ AND \"ifSpeed\" = 10000000000) AND $timeFilter GROUP BY time(1m) fill(none)", + "rawQuery": true, + "refId": "B", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifSpeed" + ], + "type": "field" + }, + { + "params": [], + "type": "count" + }, + { + "params": [ + "ifSpeed1G" + ], + "type": "alias" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifSpeed", + "operator": "=", + "value": "1000000000" + } + ] + }, + { + "alias": "Ports with speed 1Gbps", + "groupBy": [ + { + "params": [ + "1m" + ], + "type": "time" + }, + { + "params": [ + "null" + ], + "type": "fill" + } + ], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "query": "SELECT count(\"ifSpeed\") FROM \"switch\" WHERE (\"agent_host\" =~ /^$ip$/ AND \"ifSpeed\" = 1000000000) AND $timeFilter GROUP BY time(1m) fill(none)", + "rawQuery": true, + "refId": "C", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifSpeed" + ], + "type": "field" + }, + { + "params": [], + "type": "count" + }, + { + "params": [ + "ifSpeed1G" + ], + "type": "alias" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifSpeed", + "operator": "=", + "value": "1000000000" + } + ] + }, + { + "alias": "Ports with speed 100Mbps", + "groupBy": [ + { + "params": [ + "1m" + ], + "type": "time" + }, + { + "params": [ + "null" + ], + "type": "fill" + } + ], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "query": "SELECT count(\"ifSpeed\") FROM \"switch\" WHERE (\"agent_host\" =~ /^$ip$/ AND \"ifSpeed\" = 100000000) AND $timeFilter GROUP BY time(1m) fill(none)", + "rawQuery": true, + "refId": "D", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifSpeed" + ], + "type": "field" + }, + { + "params": [], + "type": "count" + }, + { + "params": [ + "ifSpeed1G" + ], + "type": "alias" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifSpeed", + "operator": "=", + "value": "1000000000" + } + ] + }, + { + "alias": "Ports with speed 10Mbps", + "groupBy": [ + { + "params": [ + "1m" + ], + "type": "time" + }, + { + "params": [ + "null" + ], + "type": "fill" + } + ], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "query": "SELECT count(\"ifSpeed\") FROM \"switch\" WHERE (\"agent_host\" =~ /^$ip$/ AND \"ifSpeed\" = 10000000) AND $timeFilter GROUP BY time(1m) fill(none)", + "rawQuery": true, + "refId": "E", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifSpeed" + ], + "type": "field" + }, + { + "params": [], + "type": "count" + }, + { + "params": [ + "ifSpeed1G" + ], + "type": "alias" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifSpeed", + "operator": "=", + "value": "1000000000" + } + ] + }, + { + "alias": "Ports with In Errors", + "groupBy": [ + { + "params": [ + "1m" + ], + "type": "time" + }, + { + "params": [ + "null" + ], + "type": "fill" + } + ], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "query": "SELECT count(\"ifInErrors\") FROM \"switch\" WHERE (\"agent_host\" =~ /^$ip$/ AND \"ifInErrors\" > 0) AND $timeFilter GROUP BY time(1m) fill(none)", + "rawQuery": true, + "refId": "F", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifSpeed" + ], + "type": "field" + }, + { + "params": [], + "type": "count" + }, + { + "params": [ + "ifSpeed1G" + ], + "type": "alias" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifSpeed", + "operator": "=", + "value": "1000000000" + } + ] + }, + { + "alias": "Ports with Out Errors", + "groupBy": [ + { + "params": [ + "1m" + ], + "type": "time" + }, + { + "params": [ + "null" + ], + "type": "fill" + } + ], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "query": "SELECT count(\"ifOutErrors\") FROM \"switch\" WHERE (\"agent_host\" =~ /^$ip$/ AND \"ifOutErrors\" > 0) AND $timeFilter GROUP BY time(1m) fill(none)", + "rawQuery": true, + "refId": "G", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifSpeed" + ], + "type": "field" + }, + { + "params": [], + "type": "count" + }, + { + "params": [ + "ifSpeed1G" + ], + "type": "alias" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifSpeed", + "operator": "=", + "value": "1000000000" + } + ] + }, + { + "alias": "Ports with 1 minute Last Change", + "groupBy": [ + { + "params": [ + "1m" + ], + "type": "time" + }, + { + "params": [ + "null" + ], + "type": "fill" + } + ], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "query": "SELECT count(\"ifLastChange\") FROM \"switch\" WHERE (\"agent_host\" =~ /^$ip$/ AND (\"ifLastChange\" / 100) < 60) AND $timeFilter GROUP BY time(1m) fill(none)", + "rawQuery": true, + "refId": "I", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifSpeed" + ], + "type": "field" + }, + { + "params": [], + "type": "count" + }, + { + "params": [ + "ifSpeed1G" + ], + "type": "alias" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifSpeed", + "operator": "=", + "value": "1000000000" + } + ] + }, + { + "alias": "Ports with 1 hour Last Change", + "groupBy": [ + { + "params": [ + "1m" + ], + "type": "time" + }, + { + "params": [ + "null" + ], + "type": "fill" + } + ], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "query": "SELECT count(\"ifLastChange\") FROM \"switch\" WHERE (\"agent_host\" =~ /^$ip$/ AND (\"ifLastChange\" / 100) > 60 AND (\"ifLastChange\" / 100) < 3600) AND $timeFilter GROUP BY time(1m) fill(none)", + "rawQuery": true, + "refId": "J", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifSpeed" + ], + "type": "field" + }, + { + "params": [], + "type": "count" + }, + { + "params": [ + "ifSpeed1G" + ], + "type": "alias" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifSpeed", + "operator": "=", + "value": "1000000000" + } + ] + }, + { + "alias": "Ports with 1 day Last Change", + "groupBy": [ + { + "params": [ + "1m" + ], + "type": "time" + }, + { + "params": [ + "null" + ], + "type": "fill" + } + ], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "query": "SELECT count(\"ifLastChange\") FROM \"switch\" WHERE (\"agent_host\" =~ /^$ip$/ AND (\"ifLastChange\" / 100) > 3600 AND (\"ifLastChange\" / 100) < 86400) AND $timeFilter GROUP BY time(1m) fill(none)", + "rawQuery": true, + "refId": "K", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifSpeed" + ], + "type": "field" + }, + { + "params": [], + "type": "count" + }, + { + "params": [ + "ifSpeed1G" + ], + "type": "alias" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifSpeed", + "operator": "=", + "value": "1000000000" + } + ] + }, + { + "alias": "Ports with 1 week Last Change", + "groupBy": [ + { + "params": [ + "1m" + ], + "type": "time" + }, + { + "params": [ + "null" + ], + "type": "fill" + } + ], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "query": "SELECT count(\"ifLastChange\") FROM \"switch\" WHERE (\"agent_host\" =~ /^$ip$/ AND (\"ifLastChange\" / 100) > 86400 AND (\"ifLastChange\" / 100) < 604800) AND $timeFilter GROUP BY time(1m) fill(none)", + "rawQuery": true, + "refId": "L", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifSpeed" + ], + "type": "field" + }, + { + "params": [], + "type": "count" + }, + { + "params": [ + "ifSpeed1G" + ], + "type": "alias" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifSpeed", + "operator": "=", + "value": "1000000000" + } + ] + }, + { + "alias": "Ports with 1 month Last Change", + "groupBy": [ + { + "params": [ + "1m" + ], + "type": "time" + }, + { + "params": [ + "null" + ], + "type": "fill" + } + ], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "query": "SELECT count(\"ifLastChange\") FROM \"switch\" WHERE (\"agent_host\" =~ /^$ip$/ AND(\"ifLastChange\" / 100) > 604800 AND (\"ifLastChange\" / 100) < 18144000) AND $timeFilter GROUP BY time(1m) fill(none)", + "rawQuery": true, + "refId": "M", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifSpeed" + ], + "type": "field" + }, + { + "params": [], + "type": "count" + }, + { + "params": [ + "ifSpeed1G" + ], + "type": "alias" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifSpeed", + "operator": "=", + "value": "1000000000" + } + ] + }, + { + "alias": "Ports with more 1 month Last Change", + "groupBy": [ + { + "params": [ + "1m" + ], + "type": "time" + }, + { + "params": [ + "null" + ], + "type": "fill" + } + ], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "query": "SELECT count(\"ifLastChange\") FROM \"switch\" WHERE (\"agent_host\" =~ /^$ip$/ AND(\"ifLastChange\" / 100) > 18144000) AND $timeFilter GROUP BY time(1m) fill(none)", + "rawQuery": true, + "refId": "N", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifSpeed" + ], + "type": "field" + }, + { + "params": [], + "type": "count" + }, + { + "params": [ + "ifSpeed1G" + ], + "type": "alias" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifSpeed", + "operator": "=", + "value": "1000000000" + } + ] + } + ], + "timeFrom": "1m", + "timeShift": null, + "title": "Port Statistics", + "transform": "timeseries_to_rows", + "type": "table" + }, + { + "columns": [], + "datasource": "${DS_SNMP}", + "fontSize": "100%", + "gridPos": { + "h": 8, + "w": 16, + "x": 0, + "y": 5 + }, + "id": 183, + "links": [], + "pageSize": null, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + } + }, + "scroll": true, + "showHeader": true, + "sort": { + "col": 3, + "desc": false + }, + "styles": [ + { + "alias": "Time", + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "pattern": "Time", + "type": "hidden" + }, + { + "alias": "Description", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 2, + "mappingType": 1, + "pattern": "ifDescr", + "thresholds": [], + "type": "string", + "unit": "short" + }, + { + "alias": "Port", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": null, + "mappingType": 1, + "pattern": "ifIndex", + "thresholds": [], + "type": "number", + "unit": "short" + }, + { + "alias": "MAC Address", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 2, + "mappingType": 1, + "pattern": "ifPhysAddress", + "thresholds": [], + "type": "string", + "unit": "short" + }, + { + "alias": "Status", + "colorMode": "value", + "colors": [ + "rgba(50, 172, 45, 0.97)", + "rgba(237, 129, 40, 0.89)", + "rgba(245, 54, 54, 0.9)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": null, + "mappingType": 1, + "pattern": "Status", + "thresholds": [ + "2", + "2" + ], + "type": "string", + "unit": "short", + "valueMaps": [ + { + "text": "up", + "value": "1" + }, + { + "text": "down", + "value": "2" + }, + { + "text": "testing", + "value": "3" + }, + { + "text": "unknown", + "value": "4" + }, + { + "text": "dormant", + "value": "5" + }, + { + "text": "not present", + "value": "6" + }, + { + "text": "lower layer down", + "value": "7" + } + ] + }, + { + "alias": "Speed", + "colorMode": "value", + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": null, + "mappingType": 1, + "pattern": "Speed", + "thresholds": [ + "100000000", + "1000000000" + ], + "type": "number", + "unit": "bps" + }, + { + "alias": "In Errors", + "colorMode": "value", + "colors": [ + "rgba(50, 172, 45, 0.97)", + "rgba(237, 129, 40, 0.89)", + "rgba(245, 54, 54, 0.9)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": null, + "mappingType": 1, + "pattern": "InErrors", + "thresholds": [ + "1", + "1" + ], + "type": "number", + "unit": "short" + }, + { + "alias": "Out Errors", + "colorMode": "value", + "colors": [ + "rgba(50, 172, 45, 0.97)", + "rgba(237, 129, 40, 0.89)", + "rgba(245, 54, 54, 0.9)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": null, + "mappingType": 1, + "pattern": "OutErrors", + "thresholds": [ + "1", + "1" + ], + "type": "number", + "unit": "short" + }, + { + "alias": "Transmitted", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 2, + "mappingType": 1, + "pattern": "Transmitted", + "thresholds": [], + "type": "number", + "unit": "decbytes" + }, + { + "alias": "Last Change", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 2, + "mappingType": 1, + "pattern": "LastChange", + "thresholds": [], + "type": "number", + "unit": "s" + } + ], + "targets": [ + { + "groupBy": [ + { + "params": [ + "ifIndex" + ], + "type": "tag" + }, + { + "params": [ + "ifDescr" + ], + "type": "tag" + }, + { + "params": [ + "ifPhysAddress" + ], + "type": "tag" + } + ], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "query": "SELECT last(\"ifOperStatus\") AS \"Status\", last(\"ifSpeed\") AS \"Speed\", last(\"ifLastChange\") / 100 AS \"LastChange\", last(\"ifInErrors\") AS \"InErrors\", last(\"ifOutErrors\") AS \"OutErrors\", last(\"ifInOctets\") + last(\"ifOutOctets\") AS \"Transmitted\" FROM \"switch\" WHERE (\"agent_host\" =~ /^$ip$/) AND $timeFilter GROUP BY \"ifIndex\", \"ifDescr\", \"ifPhysAddress\"", + "rawQuery": true, + "refId": "A", + "resultFormat": "table", + "select": [ + [ + { + "params": [ + "ifOperStatus" + ], + "type": "field" + }, + { + "params": [], + "type": "last" + }, + { + "params": [ + "Status" + ], + "type": "alias" + } + ], + [ + { + "params": [ + "ifSpeed" + ], + "type": "field" + }, + { + "params": [], + "type": "last" + }, + { + "params": [ + "Speed" + ], + "type": "alias" + } + ], + [ + { + "params": [ + "ifInErrors" + ], + "type": "field" + }, + { + "params": [], + "type": "last" + }, + { + "params": [ + "InErrors" + ], + "type": "alias" + } + ], + [ + { + "params": [ + "ifOutErrors" + ], + "type": "field" + }, + { + "params": [], + "type": "last" + }, + { + "params": [ + "OutErrors" + ], + "type": "alias" + } + ], + [ + { + "params": [ + "ifInOctets" + ], + "type": "field" + }, + { + "params": [], + "type": "last" + }, + { + "params": [ + "InOctets" + ], + "type": "alias" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + } + ] + } + ], + "timeFrom": null, + "timeShift": null, + "title": "Port Summary", + "transform": "table", + "type": "table" + } + ], + "repeat": "ip", + "title": "Summary - $ip", + "type": "row" + }, + { + "collapsed": true, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 1 + }, + "id": 12, + "panels": [ + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 0, + "y": 14 + }, + "id": 14, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": "port", + "repeatDirection": "h", + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "1", + "value": "1" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifOperStatus" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "2,2", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 2, + "y": 14 + }, + "id": 563, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 14, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "2", + "value": "2" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifOperStatus" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "2,2", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 4, + "y": 14 + }, + "id": 564, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 14, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "3", + "value": "3" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifOperStatus" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "2,2", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 6, + "y": 14 + }, + "id": 565, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 14, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "4", + "value": "4" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifOperStatus" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "2,2", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 8, + "y": 14 + }, + "id": 566, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 14, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "5", + "value": "5" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifOperStatus" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "2,2", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 10, + "y": 14 + }, + "id": 567, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 14, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "6", + "value": "6" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifOperStatus" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "2,2", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 12, + "y": 14 + }, + "id": 568, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 14, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "7", + "value": "7" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifOperStatus" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "2,2", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 14, + "y": 14 + }, + "id": 569, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 14, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "8", + "value": "8" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifOperStatus" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "2,2", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 16, + "y": 14 + }, + "id": 570, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 14, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "9", + "value": "9" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifOperStatus" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "2,2", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 18, + "y": 14 + }, + "id": 571, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 14, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "10", + "value": "10" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifOperStatus" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "2,2", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 20, + "y": 14 + }, + "id": 572, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 14, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "11", + "value": "11" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifOperStatus" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "2,2", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 22, + "y": 14 + }, + "id": 573, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 14, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "12", + "value": "12" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifOperStatus" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "2,2", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 0, + "y": 18 + }, + "id": 574, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 14, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "13", + "value": "13" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifOperStatus" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "2,2", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 2, + "y": 18 + }, + "id": 575, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 14, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "14", + "value": "14" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifOperStatus" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "2,2", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 4, + "y": 18 + }, + "id": 576, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 14, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "15", + "value": "15" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifOperStatus" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "2,2", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 6, + "y": 18 + }, + "id": 577, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 14, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "16", + "value": "16" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifOperStatus" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "2,2", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 8, + "y": 18 + }, + "id": 578, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 14, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "17", + "value": "17" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifOperStatus" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "2,2", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 10, + "y": 18 + }, + "id": 579, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 14, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "18", + "value": "18" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifOperStatus" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "2,2", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 12, + "y": 18 + }, + "id": 580, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 14, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "19", + "value": "19" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifOperStatus" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "2,2", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 14, + "y": 18 + }, + "id": 581, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 14, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "20", + "value": "20" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifOperStatus" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "2,2", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 16, + "y": 18 + }, + "id": 582, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 14, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "21", + "value": "21" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifOperStatus" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "2,2", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 18, + "y": 18 + }, + "id": 583, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 14, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "22", + "value": "22" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifOperStatus" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "2,2", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 20, + "y": 18 + }, + "id": 584, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 14, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "23", + "value": "23" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifOperStatus" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "2,2", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 22, + "y": 18 + }, + "id": 585, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 14, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "24", + "value": "24" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifOperStatus" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "2,2", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 0, + "y": 22 + }, + "id": 586, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 14, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "25", + "value": "25" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifOperStatus" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "2,2", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 2, + "y": 22 + }, + "id": 587, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 14, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "26", + "value": "26" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifOperStatus" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "2,2", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 4, + "y": 22 + }, + "id": 588, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 14, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "27", + "value": "27" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifOperStatus" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "2,2", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 6, + "y": 22 + }, + "id": 589, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 14, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "28", + "value": "28" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifOperStatus" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "2,2", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 8, + "y": 22 + }, + "id": 590, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 14, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "29", + "value": "29" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifOperStatus" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "2,2", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 10, + "y": 22 + }, + "id": 591, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 14, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "30", + "value": "30" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifOperStatus" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "2,2", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 12, + "y": 22 + }, + "id": 592, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 14, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "31", + "value": "31" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifOperStatus" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "2,2", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 14, + "y": 22 + }, + "id": 593, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 14, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "32", + "value": "32" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifOperStatus" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "2,2", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 16, + "y": 22 + }, + "id": 594, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 14, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "33", + "value": "33" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifOperStatus" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "2,2", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 18, + "y": 22 + }, + "id": 595, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 14, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "34", + "value": "34" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifOperStatus" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "2,2", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 20, + "y": 22 + }, + "id": 596, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 14, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "35", + "value": "35" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifOperStatus" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "2,2", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 22, + "y": 22 + }, + "id": 597, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 14, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "36", + "value": "36" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifOperStatus" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "2,2", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 0, + "y": 26 + }, + "id": 598, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 14, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "37", + "value": "37" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifOperStatus" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "2,2", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 2, + "y": 26 + }, + "id": 599, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 14, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "38", + "value": "38" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifOperStatus" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "2,2", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 4, + "y": 26 + }, + "id": 600, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 14, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "39", + "value": "39" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifOperStatus" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "2,2", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 6, + "y": 26 + }, + "id": 601, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 14, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "40", + "value": "40" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifOperStatus" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "2,2", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 8, + "y": 26 + }, + "id": 602, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 14, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "41", + "value": "41" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifOperStatus" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "2,2", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 10, + "y": 26 + }, + "id": 603, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 14, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "42", + "value": "42" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifOperStatus" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "2,2", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 12, + "y": 26 + }, + "id": 604, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 14, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "43", + "value": "43" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifOperStatus" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "2,2", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 14, + "y": 26 + }, + "id": 605, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 14, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "44", + "value": "44" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifOperStatus" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "2,2", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 16, + "y": 26 + }, + "id": 606, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 14, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "45", + "value": "45" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifOperStatus" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "2,2", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 18, + "y": 26 + }, + "id": 607, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 14, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "46", + "value": "46" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifOperStatus" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "2,2", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 20, + "y": 26 + }, + "id": 608, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 14, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "47", + "value": "47" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifOperStatus" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "2,2", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 22, + "y": 26 + }, + "id": 609, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 14, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "48", + "value": "48" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifOperStatus" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "2,2", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 0, + "y": 30 + }, + "id": 610, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 14, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "49", + "value": "49" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifOperStatus" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "2,2", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 2, + "y": 30 + }, + "id": 611, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 14, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "50", + "value": "50" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifOperStatus" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "2,2", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 4, + "y": 30 + }, + "id": 612, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 14, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "51", + "value": "51" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifOperStatus" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "2,2", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 6, + "y": 30 + }, + "id": 613, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 14, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "52", + "value": "52" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifOperStatus" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "2,2", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 8, + "y": 30 + }, + "id": 614, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 14, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "53", + "value": "53" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifOperStatus" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "2,2", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 10, + "y": 30 + }, + "id": 615, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 14, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "54", + "value": "54" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifOperStatus" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "2,2", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + } + ], + "repeat": "ip", + "title": "Operational status - $ip", + "type": "row" + }, + { + "collapsed": true, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 2 + }, + "id": 69, + "panels": [ + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "ms", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 0, + "y": 3 + }, + "id": 70, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": "port", + "repeatDirection": "h", + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "1", + "value": "1" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifLastChange" + ], + "type": "field" + }, + { + "params": [ + " / 100" + ], + "type": "math" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "ms", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 2, + "y": 3 + }, + "id": 616, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 70, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "2", + "value": "2" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifLastChange" + ], + "type": "field" + }, + { + "params": [ + " / 100" + ], + "type": "math" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "ms", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 4, + "y": 3 + }, + "id": 617, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 70, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "3", + "value": "3" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifLastChange" + ], + "type": "field" + }, + { + "params": [ + " / 100" + ], + "type": "math" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "ms", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 6, + "y": 3 + }, + "id": 618, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 70, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "4", + "value": "4" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifLastChange" + ], + "type": "field" + }, + { + "params": [ + " / 100" + ], + "type": "math" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "ms", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 8, + "y": 3 + }, + "id": 619, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 70, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "5", + "value": "5" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifLastChange" + ], + "type": "field" + }, + { + "params": [ + " / 100" + ], + "type": "math" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "ms", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 10, + "y": 3 + }, + "id": 620, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 70, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "6", + "value": "6" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifLastChange" + ], + "type": "field" + }, + { + "params": [ + " / 100" + ], + "type": "math" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "ms", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 12, + "y": 3 + }, + "id": 621, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 70, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "7", + "value": "7" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifLastChange" + ], + "type": "field" + }, + { + "params": [ + " / 100" + ], + "type": "math" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "ms", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 14, + "y": 3 + }, + "id": 622, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 70, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "8", + "value": "8" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifLastChange" + ], + "type": "field" + }, + { + "params": [ + " / 100" + ], + "type": "math" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "ms", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 16, + "y": 3 + }, + "id": 623, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 70, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "9", + "value": "9" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifLastChange" + ], + "type": "field" + }, + { + "params": [ + " / 100" + ], + "type": "math" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "ms", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 18, + "y": 3 + }, + "id": 624, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 70, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "10", + "value": "10" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifLastChange" + ], + "type": "field" + }, + { + "params": [ + " / 100" + ], + "type": "math" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "ms", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 20, + "y": 3 + }, + "id": 625, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 70, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "11", + "value": "11" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifLastChange" + ], + "type": "field" + }, + { + "params": [ + " / 100" + ], + "type": "math" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "ms", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 22, + "y": 3 + }, + "id": 626, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 70, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "12", + "value": "12" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifLastChange" + ], + "type": "field" + }, + { + "params": [ + " / 100" + ], + "type": "math" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "ms", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 0, + "y": 7 + }, + "id": 627, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 70, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "13", + "value": "13" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifLastChange" + ], + "type": "field" + }, + { + "params": [ + " / 100" + ], + "type": "math" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "ms", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 2, + "y": 7 + }, + "id": 628, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 70, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "14", + "value": "14" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifLastChange" + ], + "type": "field" + }, + { + "params": [ + " / 100" + ], + "type": "math" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "ms", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 4, + "y": 7 + }, + "id": 629, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 70, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "15", + "value": "15" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifLastChange" + ], + "type": "field" + }, + { + "params": [ + " / 100" + ], + "type": "math" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "ms", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 6, + "y": 7 + }, + "id": 630, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 70, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "16", + "value": "16" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifLastChange" + ], + "type": "field" + }, + { + "params": [ + " / 100" + ], + "type": "math" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "ms", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 8, + "y": 7 + }, + "id": 631, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 70, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "17", + "value": "17" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifLastChange" + ], + "type": "field" + }, + { + "params": [ + " / 100" + ], + "type": "math" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "ms", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 10, + "y": 7 + }, + "id": 632, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 70, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "18", + "value": "18" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifLastChange" + ], + "type": "field" + }, + { + "params": [ + " / 100" + ], + "type": "math" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "ms", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 12, + "y": 7 + }, + "id": 633, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 70, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "19", + "value": "19" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifLastChange" + ], + "type": "field" + }, + { + "params": [ + " / 100" + ], + "type": "math" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "ms", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 14, + "y": 7 + }, + "id": 634, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 70, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "20", + "value": "20" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifLastChange" + ], + "type": "field" + }, + { + "params": [ + " / 100" + ], + "type": "math" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "ms", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 16, + "y": 7 + }, + "id": 635, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 70, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "21", + "value": "21" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifLastChange" + ], + "type": "field" + }, + { + "params": [ + " / 100" + ], + "type": "math" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "ms", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 18, + "y": 7 + }, + "id": 636, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 70, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "22", + "value": "22" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifLastChange" + ], + "type": "field" + }, + { + "params": [ + " / 100" + ], + "type": "math" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "ms", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 20, + "y": 7 + }, + "id": 637, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 70, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "23", + "value": "23" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifLastChange" + ], + "type": "field" + }, + { + "params": [ + " / 100" + ], + "type": "math" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "ms", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 22, + "y": 7 + }, + "id": 638, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 70, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "24", + "value": "24" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifLastChange" + ], + "type": "field" + }, + { + "params": [ + " / 100" + ], + "type": "math" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "ms", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 0, + "y": 11 + }, + "id": 639, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 70, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "25", + "value": "25" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifLastChange" + ], + "type": "field" + }, + { + "params": [ + " / 100" + ], + "type": "math" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "ms", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 2, + "y": 11 + }, + "id": 640, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 70, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "26", + "value": "26" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifLastChange" + ], + "type": "field" + }, + { + "params": [ + " / 100" + ], + "type": "math" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "ms", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 4, + "y": 11 + }, + "id": 641, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 70, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "27", + "value": "27" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifLastChange" + ], + "type": "field" + }, + { + "params": [ + " / 100" + ], + "type": "math" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "ms", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 6, + "y": 11 + }, + "id": 642, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 70, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "28", + "value": "28" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifLastChange" + ], + "type": "field" + }, + { + "params": [ + " / 100" + ], + "type": "math" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "ms", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 8, + "y": 11 + }, + "id": 643, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 70, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "29", + "value": "29" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifLastChange" + ], + "type": "field" + }, + { + "params": [ + " / 100" + ], + "type": "math" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "ms", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 10, + "y": 11 + }, + "id": 644, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 70, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "30", + "value": "30" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifLastChange" + ], + "type": "field" + }, + { + "params": [ + " / 100" + ], + "type": "math" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "ms", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 12, + "y": 11 + }, + "id": 645, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 70, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "31", + "value": "31" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifLastChange" + ], + "type": "field" + }, + { + "params": [ + " / 100" + ], + "type": "math" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "ms", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 14, + "y": 11 + }, + "id": 646, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 70, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "32", + "value": "32" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifLastChange" + ], + "type": "field" + }, + { + "params": [ + " / 100" + ], + "type": "math" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "ms", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 16, + "y": 11 + }, + "id": 647, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 70, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "33", + "value": "33" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifLastChange" + ], + "type": "field" + }, + { + "params": [ + " / 100" + ], + "type": "math" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "ms", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 18, + "y": 11 + }, + "id": 648, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 70, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "34", + "value": "34" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifLastChange" + ], + "type": "field" + }, + { + "params": [ + " / 100" + ], + "type": "math" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "ms", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 20, + "y": 11 + }, + "id": 649, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 70, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "35", + "value": "35" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifLastChange" + ], + "type": "field" + }, + { + "params": [ + " / 100" + ], + "type": "math" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "ms", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 22, + "y": 11 + }, + "id": 650, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 70, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "36", + "value": "36" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifLastChange" + ], + "type": "field" + }, + { + "params": [ + " / 100" + ], + "type": "math" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "ms", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 0, + "y": 15 + }, + "id": 651, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 70, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "37", + "value": "37" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifLastChange" + ], + "type": "field" + }, + { + "params": [ + " / 100" + ], + "type": "math" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "ms", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 2, + "y": 15 + }, + "id": 652, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 70, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "38", + "value": "38" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifLastChange" + ], + "type": "field" + }, + { + "params": [ + " / 100" + ], + "type": "math" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "ms", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 4, + "y": 15 + }, + "id": 653, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 70, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "39", + "value": "39" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifLastChange" + ], + "type": "field" + }, + { + "params": [ + " / 100" + ], + "type": "math" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "ms", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 6, + "y": 15 + }, + "id": 654, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 70, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "40", + "value": "40" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifLastChange" + ], + "type": "field" + }, + { + "params": [ + " / 100" + ], + "type": "math" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "ms", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 8, + "y": 15 + }, + "id": 655, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 70, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "41", + "value": "41" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifLastChange" + ], + "type": "field" + }, + { + "params": [ + " / 100" + ], + "type": "math" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "ms", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 10, + "y": 15 + }, + "id": 656, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 70, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "42", + "value": "42" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifLastChange" + ], + "type": "field" + }, + { + "params": [ + " / 100" + ], + "type": "math" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "ms", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 12, + "y": 15 + }, + "id": 657, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 70, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "43", + "value": "43" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifLastChange" + ], + "type": "field" + }, + { + "params": [ + " / 100" + ], + "type": "math" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "ms", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 14, + "y": 15 + }, + "id": 658, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 70, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "44", + "value": "44" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifLastChange" + ], + "type": "field" + }, + { + "params": [ + " / 100" + ], + "type": "math" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "ms", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 16, + "y": 15 + }, + "id": 659, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 70, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "45", + "value": "45" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifLastChange" + ], + "type": "field" + }, + { + "params": [ + " / 100" + ], + "type": "math" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "ms", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 18, + "y": 15 + }, + "id": 660, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 70, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "46", + "value": "46" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifLastChange" + ], + "type": "field" + }, + { + "params": [ + " / 100" + ], + "type": "math" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "ms", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 20, + "y": 15 + }, + "id": 661, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 70, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "47", + "value": "47" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifLastChange" + ], + "type": "field" + }, + { + "params": [ + " / 100" + ], + "type": "math" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "ms", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 22, + "y": 15 + }, + "id": 662, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 70, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "48", + "value": "48" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifLastChange" + ], + "type": "field" + }, + { + "params": [ + " / 100" + ], + "type": "math" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "ms", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 0, + "y": 19 + }, + "id": 663, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 70, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "49", + "value": "49" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifLastChange" + ], + "type": "field" + }, + { + "params": [ + " / 100" + ], + "type": "math" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "ms", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 2, + "y": 19 + }, + "id": 664, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 70, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "50", + "value": "50" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifLastChange" + ], + "type": "field" + }, + { + "params": [ + " / 100" + ], + "type": "math" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "ms", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 4, + "y": 19 + }, + "id": 665, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 70, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "51", + "value": "51" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifLastChange" + ], + "type": "field" + }, + { + "params": [ + " / 100" + ], + "type": "math" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "ms", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 6, + "y": 19 + }, + "id": 666, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 70, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "52", + "value": "52" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifLastChange" + ], + "type": "field" + }, + { + "params": [ + " / 100" + ], + "type": "math" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "ms", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 8, + "y": 19 + }, + "id": 667, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 70, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "53", + "value": "53" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifLastChange" + ], + "type": "field" + }, + { + "params": [ + " / 100" + ], + "type": "math" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "#299c46", + "rgba(237, 129, 40, 0.89)", + "#d44a3a" + ], + "datasource": "${DS_SNMP}", + "format": "ms", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 10, + "y": 19 + }, + "id": 668, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1554140099236, + "repeatPanelId": 70, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "54", + "value": "54" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifLastChange" + ], + "type": "field" + }, + { + "params": [ + " / 100" + ], + "type": "math" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + } + ], + "repeat": "ip", + "title": "Last Change - $ip", + "type": "row" + }, + { + "collapsed": true, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 3 + }, + "id": 125, + "panels": [ + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#d44a3a", + "rgba(237, 129, 40, 0.89)", + "#299c46" + ], + "datasource": "${DS_SNMP}", + "decimals": 0, + "format": "bps", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 0, + "y": 4 + }, + "id": 126, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": "port", + "repeatDirection": "h", + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "1", + "value": "1" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifSpeed" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "100000000,1000000000", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#d44a3a", + "rgba(237, 129, 40, 0.89)", + "#299c46" + ], + "datasource": "${DS_SNMP}", + "decimals": 0, + "format": "bps", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 2, + "y": 4 + }, + "id": 292, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1553292923620, + "repeatPanelId": 126, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "2", + "value": "2" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifSpeed" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "100000000,1000000000", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#d44a3a", + "rgba(237, 129, 40, 0.89)", + "#299c46" + ], + "datasource": "${DS_SNMP}", + "decimals": 0, + "format": "bps", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 4, + "y": 4 + }, + "id": 293, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1553292923620, + "repeatPanelId": 126, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "3", + "value": "3" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifSpeed" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "100000000,1000000000", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#d44a3a", + "rgba(237, 129, 40, 0.89)", + "#299c46" + ], + "datasource": "${DS_SNMP}", + "decimals": 0, + "format": "bps", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 6, + "y": 4 + }, + "id": 294, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1553292923620, + "repeatPanelId": 126, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "4", + "value": "4" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifSpeed" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "100000000,1000000000", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#d44a3a", + "rgba(237, 129, 40, 0.89)", + "#299c46" + ], + "datasource": "${DS_SNMP}", + "decimals": 0, + "format": "bps", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 8, + "y": 4 + }, + "id": 295, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1553292923620, + "repeatPanelId": 126, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "5", + "value": "5" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifSpeed" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "100000000,1000000000", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#d44a3a", + "rgba(237, 129, 40, 0.89)", + "#299c46" + ], + "datasource": "${DS_SNMP}", + "decimals": 0, + "format": "bps", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 10, + "y": 4 + }, + "id": 296, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1553292923620, + "repeatPanelId": 126, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "6", + "value": "6" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifSpeed" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "100000000,1000000000", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#d44a3a", + "rgba(237, 129, 40, 0.89)", + "#299c46" + ], + "datasource": "${DS_SNMP}", + "decimals": 0, + "format": "bps", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 12, + "y": 4 + }, + "id": 297, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1553292923620, + "repeatPanelId": 126, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "7", + "value": "7" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifSpeed" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "100000000,1000000000", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#d44a3a", + "rgba(237, 129, 40, 0.89)", + "#299c46" + ], + "datasource": "${DS_SNMP}", + "decimals": 0, + "format": "bps", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 14, + "y": 4 + }, + "id": 298, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1553292923620, + "repeatPanelId": 126, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "8", + "value": "8" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifSpeed" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "100000000,1000000000", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#d44a3a", + "rgba(237, 129, 40, 0.89)", + "#299c46" + ], + "datasource": "${DS_SNMP}", + "decimals": 0, + "format": "bps", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 16, + "y": 4 + }, + "id": 299, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1553292923620, + "repeatPanelId": 126, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "9", + "value": "9" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifSpeed" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "100000000,1000000000", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#d44a3a", + "rgba(237, 129, 40, 0.89)", + "#299c46" + ], + "datasource": "${DS_SNMP}", + "decimals": 0, + "format": "bps", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 18, + "y": 4 + }, + "id": 300, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1553292923620, + "repeatPanelId": 126, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "10", + "value": "10" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifSpeed" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "100000000,1000000000", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#d44a3a", + "rgba(237, 129, 40, 0.89)", + "#299c46" + ], + "datasource": "${DS_SNMP}", + "decimals": 0, + "format": "bps", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 20, + "y": 4 + }, + "id": 301, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1553292923620, + "repeatPanelId": 126, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "11", + "value": "11" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifSpeed" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "100000000,1000000000", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#d44a3a", + "rgba(237, 129, 40, 0.89)", + "#299c46" + ], + "datasource": "${DS_SNMP}", + "decimals": 0, + "format": "bps", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 22, + "y": 4 + }, + "id": 302, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1553292923620, + "repeatPanelId": 126, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "12", + "value": "12" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifSpeed" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "100000000,1000000000", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#d44a3a", + "rgba(237, 129, 40, 0.89)", + "#299c46" + ], + "datasource": "${DS_SNMP}", + "decimals": 0, + "format": "bps", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 0, + "y": 8 + }, + "id": 303, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1553292923620, + "repeatPanelId": 126, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "13", + "value": "13" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifSpeed" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "100000000,1000000000", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#d44a3a", + "rgba(237, 129, 40, 0.89)", + "#299c46" + ], + "datasource": "${DS_SNMP}", + "decimals": 0, + "format": "bps", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 2, + "y": 8 + }, + "id": 304, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1553292923620, + "repeatPanelId": 126, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "14", + "value": "14" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifSpeed" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "100000000,1000000000", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#d44a3a", + "rgba(237, 129, 40, 0.89)", + "#299c46" + ], + "datasource": "${DS_SNMP}", + "decimals": 0, + "format": "bps", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 4, + "y": 8 + }, + "id": 305, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1553292923620, + "repeatPanelId": 126, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "15", + "value": "15" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifSpeed" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "100000000,1000000000", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#d44a3a", + "rgba(237, 129, 40, 0.89)", + "#299c46" + ], + "datasource": "${DS_SNMP}", + "decimals": 0, + "format": "bps", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 6, + "y": 8 + }, + "id": 306, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1553292923620, + "repeatPanelId": 126, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "16", + "value": "16" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifSpeed" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "100000000,1000000000", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#d44a3a", + "rgba(237, 129, 40, 0.89)", + "#299c46" + ], + "datasource": "${DS_SNMP}", + "decimals": 0, + "format": "bps", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 8, + "y": 8 + }, + "id": 307, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1553292923620, + "repeatPanelId": 126, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "17", + "value": "17" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifSpeed" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "100000000,1000000000", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#d44a3a", + "rgba(237, 129, 40, 0.89)", + "#299c46" + ], + "datasource": "${DS_SNMP}", + "decimals": 0, + "format": "bps", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 10, + "y": 8 + }, + "id": 308, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1553292923620, + "repeatPanelId": 126, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "18", + "value": "18" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifSpeed" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "100000000,1000000000", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#d44a3a", + "rgba(237, 129, 40, 0.89)", + "#299c46" + ], + "datasource": "${DS_SNMP}", + "decimals": 0, + "format": "bps", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 12, + "y": 8 + }, + "id": 309, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1553292923620, + "repeatPanelId": 126, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "19", + "value": "19" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifSpeed" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "100000000,1000000000", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#d44a3a", + "rgba(237, 129, 40, 0.89)", + "#299c46" + ], + "datasource": "${DS_SNMP}", + "decimals": 0, + "format": "bps", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 14, + "y": 8 + }, + "id": 310, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1553292923620, + "repeatPanelId": 126, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "20", + "value": "20" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifSpeed" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "100000000,1000000000", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#d44a3a", + "rgba(237, 129, 40, 0.89)", + "#299c46" + ], + "datasource": "${DS_SNMP}", + "decimals": 0, + "format": "bps", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 16, + "y": 8 + }, + "id": 311, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1553292923620, + "repeatPanelId": 126, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "21", + "value": "21" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifSpeed" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "100000000,1000000000", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#d44a3a", + "rgba(237, 129, 40, 0.89)", + "#299c46" + ], + "datasource": "${DS_SNMP}", + "decimals": 0, + "format": "bps", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 18, + "y": 8 + }, + "id": 312, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1553292923620, + "repeatPanelId": 126, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "22", + "value": "22" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifSpeed" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "100000000,1000000000", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#d44a3a", + "rgba(237, 129, 40, 0.89)", + "#299c46" + ], + "datasource": "${DS_SNMP}", + "decimals": 0, + "format": "bps", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 20, + "y": 8 + }, + "id": 313, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1553292923620, + "repeatPanelId": 126, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "23", + "value": "23" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifSpeed" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "100000000,1000000000", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#d44a3a", + "rgba(237, 129, 40, 0.89)", + "#299c46" + ], + "datasource": "${DS_SNMP}", + "decimals": 0, + "format": "bps", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 22, + "y": 8 + }, + "id": 314, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1553292923620, + "repeatPanelId": 126, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "24", + "value": "24" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifSpeed" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "100000000,1000000000", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#d44a3a", + "rgba(237, 129, 40, 0.89)", + "#299c46" + ], + "datasource": "${DS_SNMP}", + "decimals": 0, + "format": "bps", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 0, + "y": 12 + }, + "id": 315, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1553292923620, + "repeatPanelId": 126, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "25", + "value": "25" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifSpeed" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "100000000,1000000000", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#d44a3a", + "rgba(237, 129, 40, 0.89)", + "#299c46" + ], + "datasource": "${DS_SNMP}", + "decimals": 0, + "format": "bps", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 2, + "y": 12 + }, + "id": 316, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1553292923620, + "repeatPanelId": 126, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "26", + "value": "26" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifSpeed" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "100000000,1000000000", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#d44a3a", + "rgba(237, 129, 40, 0.89)", + "#299c46" + ], + "datasource": "${DS_SNMP}", + "decimals": 0, + "format": "bps", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 4, + "y": 12 + }, + "id": 317, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1553292923620, + "repeatPanelId": 126, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "27", + "value": "27" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifSpeed" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "100000000,1000000000", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#d44a3a", + "rgba(237, 129, 40, 0.89)", + "#299c46" + ], + "datasource": "${DS_SNMP}", + "decimals": 0, + "format": "bps", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 6, + "y": 12 + }, + "id": 318, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1553292923620, + "repeatPanelId": 126, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "28", + "value": "28" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifSpeed" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "100000000,1000000000", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#d44a3a", + "rgba(237, 129, 40, 0.89)", + "#299c46" + ], + "datasource": "${DS_SNMP}", + "decimals": 0, + "format": "bps", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 8, + "y": 12 + }, + "id": 319, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1553292923620, + "repeatPanelId": 126, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "29", + "value": "29" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifSpeed" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "100000000,1000000000", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#d44a3a", + "rgba(237, 129, 40, 0.89)", + "#299c46" + ], + "datasource": "${DS_SNMP}", + "decimals": 0, + "format": "bps", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 10, + "y": 12 + }, + "id": 320, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1553292923620, + "repeatPanelId": 126, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "30", + "value": "30" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifSpeed" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "100000000,1000000000", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#d44a3a", + "rgba(237, 129, 40, 0.89)", + "#299c46" + ], + "datasource": "${DS_SNMP}", + "decimals": 0, + "format": "bps", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 12, + "y": 12 + }, + "id": 321, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1553292923620, + "repeatPanelId": 126, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "31", + "value": "31" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifSpeed" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "100000000,1000000000", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#d44a3a", + "rgba(237, 129, 40, 0.89)", + "#299c46" + ], + "datasource": "${DS_SNMP}", + "decimals": 0, + "format": "bps", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 14, + "y": 12 + }, + "id": 322, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1553292923620, + "repeatPanelId": 126, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "32", + "value": "32" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifSpeed" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "100000000,1000000000", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#d44a3a", + "rgba(237, 129, 40, 0.89)", + "#299c46" + ], + "datasource": "${DS_SNMP}", + "decimals": 0, + "format": "bps", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 16, + "y": 12 + }, + "id": 323, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1553292923620, + "repeatPanelId": 126, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "33", + "value": "33" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifSpeed" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "100000000,1000000000", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#d44a3a", + "rgba(237, 129, 40, 0.89)", + "#299c46" + ], + "datasource": "${DS_SNMP}", + "decimals": 0, + "format": "bps", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 18, + "y": 12 + }, + "id": 324, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1553292923620, + "repeatPanelId": 126, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "34", + "value": "34" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifSpeed" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "100000000,1000000000", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#d44a3a", + "rgba(237, 129, 40, 0.89)", + "#299c46" + ], + "datasource": "${DS_SNMP}", + "decimals": 0, + "format": "bps", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 20, + "y": 12 + }, + "id": 325, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1553292923620, + "repeatPanelId": 126, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "35", + "value": "35" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifSpeed" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "100000000,1000000000", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#d44a3a", + "rgba(237, 129, 40, 0.89)", + "#299c46" + ], + "datasource": "${DS_SNMP}", + "decimals": 0, + "format": "bps", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 22, + "y": 12 + }, + "id": 326, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1553292923620, + "repeatPanelId": 126, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "36", + "value": "36" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifSpeed" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "100000000,1000000000", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#d44a3a", + "rgba(237, 129, 40, 0.89)", + "#299c46" + ], + "datasource": "${DS_SNMP}", + "decimals": 0, + "format": "bps", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 0, + "y": 16 + }, + "id": 327, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1553292923620, + "repeatPanelId": 126, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "37", + "value": "37" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifSpeed" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "100000000,1000000000", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#d44a3a", + "rgba(237, 129, 40, 0.89)", + "#299c46" + ], + "datasource": "${DS_SNMP}", + "decimals": 0, + "format": "bps", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 2, + "y": 16 + }, + "id": 328, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1553292923620, + "repeatPanelId": 126, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "38", + "value": "38" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifSpeed" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "100000000,1000000000", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#d44a3a", + "rgba(237, 129, 40, 0.89)", + "#299c46" + ], + "datasource": "${DS_SNMP}", + "decimals": 0, + "format": "bps", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 4, + "y": 16 + }, + "id": 329, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1553292923620, + "repeatPanelId": 126, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "39", + "value": "39" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifSpeed" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "100000000,1000000000", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#d44a3a", + "rgba(237, 129, 40, 0.89)", + "#299c46" + ], + "datasource": "${DS_SNMP}", + "decimals": 0, + "format": "bps", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 6, + "y": 16 + }, + "id": 330, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1553292923620, + "repeatPanelId": 126, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "40", + "value": "40" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifSpeed" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "100000000,1000000000", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#d44a3a", + "rgba(237, 129, 40, 0.89)", + "#299c46" + ], + "datasource": "${DS_SNMP}", + "decimals": 0, + "format": "bps", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 8, + "y": 16 + }, + "id": 331, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1553292923620, + "repeatPanelId": 126, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "41", + "value": "41" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifSpeed" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "100000000,1000000000", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#d44a3a", + "rgba(237, 129, 40, 0.89)", + "#299c46" + ], + "datasource": "${DS_SNMP}", + "decimals": 0, + "format": "bps", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 10, + "y": 16 + }, + "id": 332, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1553292923620, + "repeatPanelId": 126, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "42", + "value": "42" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifSpeed" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "100000000,1000000000", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#d44a3a", + "rgba(237, 129, 40, 0.89)", + "#299c46" + ], + "datasource": "${DS_SNMP}", + "decimals": 0, + "format": "bps", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 12, + "y": 16 + }, + "id": 333, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1553292923620, + "repeatPanelId": 126, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "43", + "value": "43" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifSpeed" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "100000000,1000000000", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#d44a3a", + "rgba(237, 129, 40, 0.89)", + "#299c46" + ], + "datasource": "${DS_SNMP}", + "decimals": 0, + "format": "bps", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 14, + "y": 16 + }, + "id": 334, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1553292923620, + "repeatPanelId": 126, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "44", + "value": "44" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifSpeed" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "100000000,1000000000", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#d44a3a", + "rgba(237, 129, 40, 0.89)", + "#299c46" + ], + "datasource": "${DS_SNMP}", + "decimals": 0, + "format": "bps", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 16, + "y": 16 + }, + "id": 335, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1553292923620, + "repeatPanelId": 126, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "45", + "value": "45" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifSpeed" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "100000000,1000000000", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#d44a3a", + "rgba(237, 129, 40, 0.89)", + "#299c46" + ], + "datasource": "${DS_SNMP}", + "decimals": 0, + "format": "bps", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 18, + "y": 16 + }, + "id": 336, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1553292923620, + "repeatPanelId": 126, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "46", + "value": "46" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifSpeed" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "100000000,1000000000", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#d44a3a", + "rgba(237, 129, 40, 0.89)", + "#299c46" + ], + "datasource": "${DS_SNMP}", + "decimals": 0, + "format": "bps", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 20, + "y": 16 + }, + "id": 337, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1553292923620, + "repeatPanelId": 126, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "47", + "value": "47" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifSpeed" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "100000000,1000000000", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#d44a3a", + "rgba(237, 129, 40, 0.89)", + "#299c46" + ], + "datasource": "${DS_SNMP}", + "decimals": 0, + "format": "bps", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 22, + "y": 16 + }, + "id": 338, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1553292923620, + "repeatPanelId": 126, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "48", + "value": "48" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifSpeed" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "100000000,1000000000", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#d44a3a", + "rgba(237, 129, 40, 0.89)", + "#299c46" + ], + "datasource": "${DS_SNMP}", + "decimals": 0, + "format": "bps", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 0, + "y": 20 + }, + "id": 339, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1553292923620, + "repeatPanelId": 126, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "49", + "value": "49" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifSpeed" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "100000000,1000000000", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#d44a3a", + "rgba(237, 129, 40, 0.89)", + "#299c46" + ], + "datasource": "${DS_SNMP}", + "decimals": 0, + "format": "bps", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 2, + "y": 20 + }, + "id": 340, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1553292923620, + "repeatPanelId": 126, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "50", + "value": "50" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifSpeed" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "100000000,1000000000", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#d44a3a", + "rgba(237, 129, 40, 0.89)", + "#299c46" + ], + "datasource": "${DS_SNMP}", + "decimals": 0, + "format": "bps", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 4, + "y": 20 + }, + "id": 341, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1553292923620, + "repeatPanelId": 126, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "51", + "value": "51" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifSpeed" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "100000000,1000000000", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#d44a3a", + "rgba(237, 129, 40, 0.89)", + "#299c46" + ], + "datasource": "${DS_SNMP}", + "decimals": 0, + "format": "bps", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 6, + "y": 20 + }, + "id": 342, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1553292923620, + "repeatPanelId": 126, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "52", + "value": "52" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifSpeed" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "100000000,1000000000", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#d44a3a", + "rgba(237, 129, 40, 0.89)", + "#299c46" + ], + "datasource": "${DS_SNMP}", + "decimals": 0, + "format": "bps", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 8, + "y": 20 + }, + "id": 343, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1553292923620, + "repeatPanelId": 126, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "53", + "value": "53" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifSpeed" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "100000000,1000000000", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#d44a3a", + "rgba(237, 129, 40, 0.89)", + "#299c46" + ], + "datasource": "${DS_SNMP}", + "decimals": 0, + "format": "bps", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 10, + "y": 20 + }, + "id": 344, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "maxPerRow": 12, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "repeat": null, + "repeatDirection": "h", + "repeatIteration": 1553292923620, + "repeatPanelId": 126, + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + }, + "port": { + "selected": false, + "text": "54", + "value": "54" + } + }, + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "groupBy": [], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifSpeed" + ], + "type": "field" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": "100000000,1000000000", + "timeFrom": null, + "timeShift": null, + "title": "$port", + "type": "singlestat", + "valueFontSize": "80%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + }, + { + "op": "=", + "text": "up", + "value": "1" + }, + { + "op": "=", + "text": "down", + "value": "2" + }, + { + "op": "=", + "text": "testing", + "value": "3" + }, + { + "op": "=", + "text": "unknown", + "value": "4" + }, + { + "op": "=", + "text": "dormant", + "value": "5" + }, + { + "op": "=", + "text": "not present", + "value": "6" + }, + { + "op": "=", + "text": "lower layer down", + "value": "7" + } + ], + "valueName": "current" + } + ], + "repeat": "ip", + "title": "Speed - $ip", + "type": "row" + }, + { + "collapsed": true, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 4 + }, + "id": 181, + "panels": [ + { + "aliasColors": {}, + "bars": true, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SNMP}", + "decimals": 0, + "fill": 1, + "gridPos": { + "h": 8, + "w": 24, + "x": 0, + "y": 5 + }, + "id": 291, + "legend": { + "alignAsTable": true, + "avg": false, + "current": true, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "rightSide": true, + "show": true, + "total": false, + "values": true + }, + "lines": false, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "paceLength": 10, + "percentage": false, + "pointradius": 2, + "points": false, + "renderer": "flot", + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + } + }, + "seriesOverrides": [], + "stack": false, + "steppedLine": false, + "targets": [ + { + "alias": "IN $tag_ifIndex", + "groupBy": [ + { + "params": [ + "$__interval" + ], + "type": "time" + }, + { + "params": [ + "ifIndex" + ], + "type": "tag" + }, + { + "params": [ + "null" + ], + "type": "fill" + } + ], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "query": "SELECT mean(\"ifInErrors\") FROM \"switch\" WHERE (\"agent_host\" =~ /^$ip$/ AND \"ifIndex\" =~ /^$port$/) AND $timeFilter AND \"ifInErrors\" > 0 GROUP BY time($__interval), \"ifIndex\" fill(null)", + "rawQuery": true, + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifInErrors" + ], + "type": "field" + }, + { + "params": [], + "type": "mean" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + }, + { + "alias": "OUT $tag_ifIndex", + "groupBy": [ + { + "params": [ + "$__interval" + ], + "type": "time" + }, + { + "params": [ + "ifIndex" + ], + "type": "tag" + }, + { + "params": [ + "null" + ], + "type": "fill" + } + ], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "query": "SELECT mean(\"ifOutErrors\") FROM \"switch\" WHERE (\"agent_host\" =~ /^$ip$/ AND \"ifIndex\" =~ /^$port$/) AND $timeFilter AND \"ifOutErrors\" > 0 GROUP BY time($__interval), \"ifIndex\" fill(null)", + "rawQuery": true, + "refId": "B", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifOutErrors" + ], + "type": "field" + }, + { + "params": [], + "type": "mean" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "I/O Errors", + "tooltip": { + "shared": false, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "series", + "name": null, + "show": true, + "values": [ + "current" + ] + }, + "yaxes": [ + { + "decimals": null, + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + } + ], + "repeat": "ip", + "title": "I/O Errors - $ip", + "type": "row" + }, + { + "collapsed": true, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 5 + }, + "id": 505, + "panels": [ + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SNMP}", + "fill": 1, + "gridPos": { + "h": 8, + "w": 24, + "x": 0, + "y": 6 + }, + "id": 507, + "legend": { + "alignAsTable": true, + "avg": false, + "current": true, + "hideEmpty": true, + "hideZero": true, + "max": true, + "min": false, + "rightSide": true, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "paceLength": 10, + "percentage": false, + "pointradius": 2, + "points": false, + "renderer": "flot", + "scopedVars": { + "ip": { + "selected": false, + "text": "192.168.5.208", + "value": "192.168.5.208" + } + }, + "seriesOverrides": [], + "stack": false, + "steppedLine": false, + "targets": [ + { + "alias": "IN $tag_ifIndex", + "groupBy": [ + { + "params": [ + "$__interval" + ], + "type": "time" + }, + { + "params": [ + "ifIndex" + ], + "type": "tag" + }, + { + "params": [ + "null" + ], + "type": "fill" + } + ], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "query": "SELECT abs(derivative(mean(\"ifInOctets\"), 1s)) *8 FROM \"switch\" WHERE (\"agent_host\" =~ /^$ip$/ AND \"ifIndex\" =~ /^$port$/) AND $timeFilter GROUP BY time($__interval), \"ifIndex\" fill(null)", + "rawQuery": true, + "refId": "A", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifInOctets" + ], + "type": "field" + }, + { + "params": [], + "type": "mean" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + }, + { + "alias": "OUT $tag_ifIndex", + "groupBy": [ + { + "params": [ + "$__interval" + ], + "type": "time" + }, + { + "params": [ + "ifIndex" + ], + "type": "tag" + }, + { + "params": [ + "null" + ], + "type": "fill" + } + ], + "measurement": "switch", + "orderByTime": "ASC", + "policy": "default", + "query": "SELECT abs(derivative(mean(\"ifOutOctets\"), 1s)) *-8 FROM \"switch\" WHERE (\"agent_host\" =~ /^$ip$/ AND \"ifIndex\" =~ /^$port$/) AND $timeFilter GROUP BY time($__interval), \"ifIndex\" fill(null)", + "rawQuery": true, + "refId": "B", + "resultFormat": "time_series", + "select": [ + [ + { + "params": [ + "ifOutOctets" + ], + "type": "field" + }, + { + "params": [], + "type": "mean" + } + ] + ], + "tags": [ + { + "key": "agent_host", + "operator": "=~", + "value": "/^$ip$/" + }, + { + "condition": "AND", + "key": "ifIndex", + "operator": "=~", + "value": "/^$port$/" + } + ] + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "I/O Data Rate", + "tooltip": { + "shared": false, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "bps", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + } + ], + "repeat": "ip", + "title": "I/O Octets - $ip", + "type": "row" + } + ], + "schemaVersion": 18, + "style": "dark", + "tags": [], + "templating": { + "list": [ + { + "allValue": null, + "current": {}, + "datasource": "${DS_SNMP}", + "definition": "SHOW TAG VALUES FROM \"switch\" WITH KEY = \"ifIndex\"", + "hide": 0, + "includeAll": true, + "label": "Port", + "multi": true, + "name": "port", + "options": [], + "query": "SHOW TAG VALUES FROM \"switch\" WITH KEY = \"ifIndex\"", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + }, + { + "allValue": null, + "current": {}, + "datasource": "${DS_SNMP}", + "definition": "SHOW TAG VALUES FROM \"switch\" WITH KEY = \"agent_host\"", + "hide": 0, + "includeAll": true, + "label": "IP Switch", + "multi": true, + "name": "ip", + "options": [], + "query": "SHOW TAG VALUES FROM \"switch\" WITH KEY = \"agent_host\"", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "tagValuesQuery": "SHOW TAG VALUES FROM \"switch\" WITH KEY = \"agent_host\" WHERE entPhysicalName= '$tag'", + "tags": [ + "HP V1910-48G Switch JE009A" + ], + "tagsQuery": "SHOW TAG VALUES FROM \"switch\" WITH KEY = \"entPhysicalName\"", + "type": "query", + "useTags": true + } + ] + }, + "time": { + "from": "now-6h", + "to": "now" + }, + "timepicker": { + "refresh_intervals": [ + "5s", + "10s", + "30s", + "1m", + "5m", + "15m", + "30m", + "1h", + "2h", + "1d" + ], + "time_options": [ + "5m", + "15m", + "1h", + "6h", + "12h", + "24h", + "2d", + "7d", + "30d" + ] + }, + "timezone": "", + "title": "Switch Overview", + "uid": "w5SNqE3mk", + "version": 3 +} \ No newline at end of file diff --git a/jails/config/monitor/start_logstash.sh b/jails/config/monitor/start_logstash.sh index 4d8a2cc..8b4e51f 100755 --- a/jails/config/monitor/start_logstash.sh +++ b/jails/config/monitor/start_logstash.sh @@ -1,2 +1,3 @@ mount proc /usr/sbin/daemon -f /usr/local/logstash/bin/logstash --path.settings /usr/local/etc/logstash -l /var/log/logstash +ps axww | grep logstash diff --git a/jails/config/nivi/httpd.conf b/jails/config/nivi/httpd.conf index 2fcd834..60d6bf1 100644 --- a/jails/config/nivi/httpd.conf +++ b/jails/config/nivi/httpd.conf @@ -577,7 +577,7 @@ Include etc/apache24/Includes/*.conf RewriteRule .* - [e=HTTP_AUTHORIZATION:%1] - SetHandler "proxy:fcgi://localhost:9000" + SetHandler "proxy:fcgi://127.0.0.1:9000" SSLOptions +StdEnvVars diff --git a/jails/config/pkgp/nginx.conf b/jails/config/pkgp/nginx.conf index b0edda1..931bf29 100644 --- a/jails/config/pkgp/nginx.conf +++ b/jails/config/pkgp/nginx.conf @@ -21,7 +21,7 @@ http { proxy_http_version 1.1; proxy_set_header Connection ""; - proxy_set_header Host $proxy_host; + proxy_set_header Host $host; server { listen *:80; @@ -95,6 +95,7 @@ http { proxy_cache_lock on; proxy_next_upstream error timeout invalid_header http_404; proxy_pass http://pkg-mirrors; + proxy_http_version 1.1; # add_header X-Proxy-Cache $upstream_cache_status; } } @@ -118,7 +119,7 @@ http { listen [::]:8002; server_name localhost; location / { - proxy_pass http://pkg0.cyb.FreeBSD.org; + proxy_pass http://pkg0.tuk.FreeBSD.org; } } @@ -146,6 +147,7 @@ http { proxy_cache_lock on; proxy_next_upstream error timeout invalid_header http_404; proxy_pass http://update-mirrors; + proxy_http_version 1.1; # add_header X-Proxy-Cache $upstream_cache_status; } } diff --git a/jails/config/proxy/haproxy.conf b/jails/config/proxy/haproxy.conf index 4ddc821..908f785 100644 --- a/jails/config/proxy/haproxy.conf +++ b/jails/config/proxy/haproxy.conf @@ -36,15 +36,6 @@ defaults timeout tunnel 3600s timeout tarpit 60s -#listen stats -# bind :::1936 v4v6 -# stats uri / -# stats enable -# stats refresh 10s -# stats show-node -# stats realm Haproxy\ Statistics -# stats auth infra:infra - frontend stats bind :::8404 v4v6 http-request use-service prometheus-exporter if { path /metrics } @@ -88,6 +79,7 @@ frontend ft use_backend bk_diyit if { ssl_fc_sni www.diyit.space } use_backend bk_ahlawat-sharad if { ssl_fc_sni sharad.ahlawat.com } + use_backend bk_ahlawat-rachna if { ssl_fc_sni rachna.ahlawat.com } use_backend bk_ahlawat-nivi if { ssl_fc_sni nivi.ahlawat.com } use_backend bk_ahlawat-nivi if { ssl_fc_sni nivedita.ahlawat.com } use_backend bk_ahlawat-rishabh if { ssl_fc_sni rishabh.ahlawat.com } @@ -101,6 +93,8 @@ frontend ft use_backend bk_ahlawat-cloud if { ssl_fc_sni cloud.ahlawat.com } use_backend bk_ahlawat-git if { ssl_fc_sni git.ahlawat.com } use_backend bk_ahlawat-hub if { ssl_fc_sni hub.ahlawat.com } + use_backend bk_ahlawat-matrix if { ssl_fc_sni matrix.ahlawat.com } + use_backend bk_ahlawat-meet if { ssl_fc_sni meet.ahlawat.com } use_backend bk_ahlawat-monitor if { ssl_fc_sni monitor.ahlawat.com } use_backend bk_diyit-grafana if { ssl_fc_sni grafana.diyit.org } @@ -108,7 +102,6 @@ frontend ft use_backend bk_diyit-kibana if { ssl_fc_sni kibana.diyit.org } use_backend bk_diyit-maps if { ssl_fc_sni maps.diyit.org } - use_backend bk_beyondbell-api if { ssl_fc_sni api.beyondbell.com } use_backend bk_beyondbell-ci if { ssl_fc_sni ci.beyondbell.com } use_backend bk_beyondbell-git if { ssl_fc_sni git.beyondbell.com } use_backend bk_beyondbell-repo if { ssl_fc_sni repo.beyondbell.com } @@ -118,26 +111,37 @@ frontend ft backend bk_ahlawat server srv1 web.ahlawat.com:443 check ssl ca-file /mnt/certs/cacert.pem alpn h2 + server srv2 sharadx.ahlawat.com:443 backup check ssl ca-file /mnt/certs/cacert.pem alpn h2 rspadd X-Frame-Options:\ SAMEORIGIN backend bk_beyondbell - server srv1 192.168.0.74:8000 + server srv1 192.168.0.77:8000 rspadd X-Frame-Options:\ SAMEORIGIN backend bk_diyit server srv1 web.diyit.org:443 check ssl ca-file /mnt/certs/cacert.pem alpn h2 + server srv2 sharadx.ahlawat.com:443 backup check ssl ca-file /mnt/certs/cacert.pem alpn h2 rspadd X-Frame-Options:\ SAMEORIGIN backend bk_ahlawat-sharad + balance roundrobin server srv1 sharadx.ahlawat.com:443 check ssl ca-file /mnt/certs/cacert.pem alpn h2 + server srv2 web.ahlawat.com:443 backup check ssl ca-file /mnt/certs/cacert.pem alpn h2 + rspadd X-Frame-Options:\ SAMEORIGIN + +backend bk_ahlawat-rachna + server srv1 rachnax.ahlawat.com:443 check ssl ca-file /mnt/certs/cacert.pem alpn h2 + server srv2 web.ahlawat.com:443 backup check ssl ca-file /mnt/certs/cacert.pem alpn h2 rspadd X-Frame-Options:\ SAMEORIGIN backend bk_ahlawat-nivi server srv1 nivix.ahlawat.com:443 check ssl ca-file /mnt/certs/cacert.pem alpn h2 + server srv2 web.ahlawat.com:443 backup check ssl ca-file /mnt/certs/cacert.pem alpn h2 rspadd X-Frame-Options:\ SAMEORIGIN backend bk_ahlawat-rishabh server srv1 rishabhx.ahlawat.com:443 check ssl ca-file /mnt/certs/cacert.pem alpn h2 + server srv2 web.ahlawat.com:443 backup check ssl ca-file /mnt/certs/cacert.pem alpn h2 rspadd X-Frame-Options:\ SAMEORIGIN #backend bk_ahlawat-book @@ -164,10 +168,12 @@ backend bk_ahlawat-cam backend bk_ahlawat-cloud server srv1 cloudx.ahlawat.com:443 check ssl ca-file /mnt/certs/cacert.pem alpn h2 + server srv2 web.ahlawat.com:443 backup check ssl ca-file /mnt/certs/cacert.pem alpn h2 # rspadd X-Frame-Options:\ SAMEORIGIN backend bk_ahlawat-git server srv1 gitx.ahlawat.com:3000 check ssl ca-file /mnt/certs/cacert.pem alpn h2 + server srv2 web.ahlawat.com:443 backup check ssl ca-file /mnt/certs/cacert.pem alpn h2 rspidel X-Frame-Options:* # http-request set-var(txn.src) src # acl mynet var(txn.src) -m sub 192.168.0 @@ -178,8 +184,19 @@ backend bk_ahlawat-git backend bk_ahlawat-hub server srv1 hubx.ahlawat.com:443 check ssl ca-file /mnt/certs/cacert.pem alpn h2 + server srv2 web.ahlawat.com:443 backup check ssl ca-file /mnt/certs/cacert.pem alpn h2 rspadd X-Frame-Options:\ SAMEORIGIN +backend bk_ahlawat-matrix + server srv1 matrix.ahlawat.com:443 check ssl ca-file /mnt/certs/cacert.pem alpn h2 + server srv2 web.ahlawat.com:443 backup check ssl ca-file /mnt/certs/cacert.pem alpn h2 +# rspadd X-Frame-Options:\ SAMEORIGIN + +backend bk_ahlawat-meet + server srv1 meet.ahlawat.com:443 check ssl ca-file /mnt/certs/cacert.pem alpn h2 + server srv2 web.ahlawat.com:443 backup check ssl ca-file /mnt/certs/cacert.pem alpn h2 +# rspadd X-Frame-Options:\ SAMEORIGIN + backend bk_ahlawat-monitor server srv1 monitorx.ahlawat.com:443 check ssl ca-file /mnt/certs/cacert.pem alpn h2 # rspadd X-Frame-Options:\ SAMEORIGIN @@ -199,6 +216,7 @@ backend bk_diyit-kibana backend bk_diyit-maps server srv1 mapsx.diyit.org:443 check ssl ca-file /mnt/certs/cacert.pem alpn h2 + server srv2 web.diyit.org:443 backup check ssl ca-file /mnt/certs/cacert.pem alpn h2 # rspadd X-Frame-Options:\ SAMEORIGIN backend bk_ahlawat-ci @@ -208,28 +226,26 @@ backend bk_ahlawat-ci server srv1 cix.ahlawat.com:8180 check rspadd X-Frame-Options:\ SAMEORIGIN -backend bk_beyondbell-api - server srv1 192.168.0.77:8000 - rspadd X-Frame-Options:\ SAMEORIGIN - backend bk_beyondbell-git server srv1 gitx.beyondbell.com:3000 check ssl ca-file /mnt/certs/cacert.pem alpn h2 + server srv2 rishabhx.ahlawat.com:443 backup check ssl ca-file /mnt/certs/cacert.pem alpn h2 rspadd X-Frame-Options:\ SAMEORIGIN backend bk_beyondbell-ci http-request set-header Host cix.beyondbell.com:8111 reqirep ^([^\ \t:]*:)\ https://ci.beyondbell.com/(.*) \1\ http://cix.beyondbell.com:8111/\2 rspirep ^([^\ \t:]*:)\ http://cix.beyondbell.com:8111/(.*) \1\ https://ci.beyondbell.com/\2 - server srv1 cix.beyondbell.com:8111 check + server srv1 cix.beyondbell.com:8111 rspadd X-Frame-Options:\ SAMEORIGIN backend bk_beyondbell-repo # http-request set-header Host 192.168.0.75:8080 reqirep ^([^\ \t:]*:)\ https://repo.beyondbell.com/(.*) \1\ http://192.168.0.75:8080/\2 rspirep ^([^\ \t:]*:)\ http://192.168.0.75:8080/(.*) \1\ https://repo.beyondbell.com/\2 - server srv1 192.168.0.75:8080 check + server srv1 192.168.0.75:8080 rspadd X-Frame-Options:\ SAMEORIGIN backend bk_beyondbell-gs server srv1 192.168.0.81:26900 check + server srv2 rishabhx.ahlawat.com:443 backup check ssl ca-file /mnt/certs/cacert.pem alpn h2 rspadd X-Frame-Options:\ SAMEORIGIN diff --git a/jails/config/rachna/020_mod_ssl.conf b/jails/config/rachna/020_mod_ssl.conf new file mode 100644 index 0000000..3fbba40 --- /dev/null +++ b/jails/config/rachna/020_mod_ssl.conf @@ -0,0 +1,11 @@ +Listen 443 +SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1 +SSLCipherSuite ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256 +SSLHonorCipherOrder on +SSLCompression off +# SSLUseStapling on +SSLSessionTickets off +SSLOptions +StrictRequire +SSLPassPhraseDialog builtin +SSLSessionCacheTimeout 300 +SSLSessionCache shmcb:/usr/local/etc/apache24/ssl_scache(512000) diff --git a/jails/config/rachna/httpd.conf b/jails/config/rachna/httpd.conf new file mode 100644 index 0000000..6c543c1 --- /dev/null +++ b/jails/config/rachna/httpd.conf @@ -0,0 +1,610 @@ +# +# This is the main Apache HTTP server configuration file. It contains the +# configuration directives that give the server its instructions. +# See for detailed information. +# In particular, see +# +# for a discussion of each configuration directive. +# +# Do NOT simply read the instructions in here without understanding +# what they do. They're here only as hints or reminders. If you are unsure +# consult the online docs. You have been warned. +# +# Configuration and logfile names: If the filenames you specify for many +# of the server's control files begin with "/" (or "drive:/" for Win32), the +# server will use that explicit path. If the filenames do *not* begin +# with "/", the value of ServerRoot is prepended -- so "logs/access_log" +# with ServerRoot set to "/usr/local/apache2" will be interpreted by the +# server as "/usr/local/apache2/logs/access_log", whereas "/logs/access_log" +# will be interpreted as '/logs/access_log'. + +# +# ServerRoot: The top of the directory tree under which the server's +# configuration, error, and log files are kept. +# +# Do not add a slash at the end of the directory path. If you point +# ServerRoot at a non-local disk, be sure to specify a local disk on the +# Mutex directive, if file-based mutexes are used. If you wish to share the +# same ServerRoot for multiple httpd daemons, you will need to change at +# least PidFile. +# +ServerRoot "/usr/local" + +# +# Mutex: Allows you to set the mutex mechanism and mutex file directory +# for individual mutexes, or change the global defaults +# +# Uncomment and change the directory if mutexes are file-based and the default +# mutex file directory is not on a local disk or is not appropriate for some +# other reason. +# +# Mutex default:/var/run + +# +# Listen: Allows you to bind Apache to specific IP addresses and/or +# ports, instead of the default. See also the +# directive. +# +# Change this to Listen on specific IP addresses as shown below to +# prevent Apache from glomming onto all bound IP addresses. +# +#Listen 12.34.56.78:80 +Listen 80 + +# +# Dynamic Shared Object (DSO) Support +# +# To be able to use the functionality of a module which was built as a DSO you +# have to place corresponding `LoadModule' lines at this location so the +# directives contained in it are actually available _before_ they are used. +# Statically compiled modules (those listed by `httpd -l') do not need +# to be loaded here. +# +# Example: +# LoadModule foo_module modules/mod_foo.so +# +LoadModule mpm_event_module libexec/apache24/mod_mpm_event.so +#LoadModule mpm_prefork_module libexec/apache24/mod_mpm_prefork.so +#LoadModule mpm_worker_module libexec/apache24/mod_mpm_worker.so +LoadModule authn_file_module libexec/apache24/mod_authn_file.so +#LoadModule authn_dbm_module libexec/apache24/mod_authn_dbm.so +#LoadModule authn_anon_module libexec/apache24/mod_authn_anon.so +#LoadModule authn_dbd_module libexec/apache24/mod_authn_dbd.so +#LoadModule authn_socache_module libexec/apache24/mod_authn_socache.so +LoadModule authn_core_module libexec/apache24/mod_authn_core.so +LoadModule authz_host_module libexec/apache24/mod_authz_host.so +LoadModule authz_groupfile_module libexec/apache24/mod_authz_groupfile.so +LoadModule authz_user_module libexec/apache24/mod_authz_user.so +#LoadModule authz_dbm_module libexec/apache24/mod_authz_dbm.so +#LoadModule authz_owner_module libexec/apache24/mod_authz_owner.so +#LoadModule authz_dbd_module libexec/apache24/mod_authz_dbd.so +LoadModule authz_core_module libexec/apache24/mod_authz_core.so +#LoadModule authnz_fcgi_module libexec/apache24/mod_authnz_fcgi.so +LoadModule access_compat_module libexec/apache24/mod_access_compat.so +LoadModule auth_basic_module libexec/apache24/mod_auth_basic.so +#LoadModule auth_form_module libexec/apache24/mod_auth_form.so +#LoadModule auth_digest_module libexec/apache24/mod_auth_digest.so +#LoadModule allowmethods_module libexec/apache24/mod_allowmethods.so +#LoadModule file_cache_module libexec/apache24/mod_file_cache.so +#LoadModule cache_module libexec/apache24/mod_cache.so +#LoadModule cache_disk_module libexec/apache24/mod_cache_disk.so +#LoadModule cache_socache_module libexec/apache24/mod_cache_socache.so +LoadModule socache_shmcb_module libexec/apache24/mod_socache_shmcb.so +#LoadModule socache_dbm_module libexec/apache24/mod_socache_dbm.so +#LoadModule socache_memcache_module libexec/apache24/mod_socache_memcache.so +#LoadModule watchdog_module libexec/apache24/mod_watchdog.so +#LoadModule macro_module libexec/apache24/mod_macro.so +#LoadModule dbd_module libexec/apache24/mod_dbd.so +#LoadModule dumpio_module libexec/apache24/mod_dumpio.so +#LoadModule buffer_module libexec/apache24/mod_buffer.so +#LoadModule data_module libexec/apache24/mod_data.so +#LoadModule ratelimit_module libexec/apache24/mod_ratelimit.so +LoadModule reqtimeout_module libexec/apache24/mod_reqtimeout.so +#LoadModule ext_filter_module libexec/apache24/mod_ext_filter.so +#LoadModule request_module libexec/apache24/mod_request.so +#LoadModule include_module libexec/apache24/mod_include.so +LoadModule filter_module libexec/apache24/mod_filter.so +#LoadModule reflector_module libexec/apache24/mod_reflector.so +#LoadModule substitute_module libexec/apache24/mod_substitute.so +#LoadModule sed_module libexec/apache24/mod_sed.so +#LoadModule charset_lite_module libexec/apache24/mod_charset_lite.so +#LoadModule deflate_module libexec/apache24/mod_deflate.so +#LoadModule xml2enc_module libexec/apache24/mod_xml2enc.so +#LoadModule proxy_html_module libexec/apache24/mod_proxy_html.so +LoadModule mime_module libexec/apache24/mod_mime.so +LoadModule log_config_module libexec/apache24/mod_log_config.so +#LoadModule log_debug_module libexec/apache24/mod_log_debug.so +#LoadModule log_forensic_module libexec/apache24/mod_log_forensic.so +#LoadModule logio_module libexec/apache24/mod_logio.so +LoadModule env_module libexec/apache24/mod_env.so +#LoadModule mime_magic_module libexec/apache24/mod_mime_magic.so +#LoadModule cern_meta_module libexec/apache24/mod_cern_meta.so +#LoadModule expires_module libexec/apache24/mod_expires.so +LoadModule headers_module libexec/apache24/mod_headers.so +#LoadModule usertrack_module libexec/apache24/mod_usertrack.so +#LoadModule unique_id_module libexec/apache24/mod_unique_id.so +LoadModule setenvif_module libexec/apache24/mod_setenvif.so +LoadModule version_module libexec/apache24/mod_version.so +#LoadModule remoteip_module libexec/apache24/mod_remoteip.so +LoadModule proxy_module libexec/apache24/mod_proxy.so +#LoadModule proxy_connect_module libexec/apache24/mod_proxy_connect.so +#LoadModule proxy_ftp_module libexec/apache24/mod_proxy_ftp.so +#LoadModule proxy_http_module libexec/apache24/mod_proxy_http.so +LoadModule proxy_fcgi_module libexec/apache24/mod_proxy_fcgi.so +#LoadModule proxy_scgi_module libexec/apache24/mod_proxy_scgi.so +#LoadModule proxy_uwsgi_module libexec/apache24/mod_proxy_uwsgi.so +#LoadModule proxy_fdpass_module libexec/apache24/mod_proxy_fdpass.so +#LoadModule proxy_wstunnel_module libexec/apache24/mod_proxy_wstunnel.so +#LoadModule proxy_ajp_module libexec/apache24/mod_proxy_ajp.so +#LoadModule proxy_balancer_module libexec/apache24/mod_proxy_balancer.so +#LoadModule proxy_express_module libexec/apache24/mod_proxy_express.so +#LoadModule proxy_hcheck_module libexec/apache24/mod_proxy_hcheck.so +#LoadModule session_module libexec/apache24/mod_session.so +#LoadModule session_cookie_module libexec/apache24/mod_session_cookie.so +#LoadModule session_crypto_module libexec/apache24/mod_session_crypto.so +#LoadModule session_dbd_module libexec/apache24/mod_session_dbd.so +#LoadModule slotmem_shm_module libexec/apache24/mod_slotmem_shm.so +#LoadModule slotmem_plain_module libexec/apache24/mod_slotmem_plain.so +LoadModule ssl_module libexec/apache24/mod_ssl.so +#LoadModule dialup_module libexec/apache24/mod_dialup.so +LoadModule http2_module libexec/apache24/mod_http2.so +LoadModule proxy_http2_module libexec/apache24/mod_proxy_http2.so +#LoadModule lbmethod_byrequests_module libexec/apache24/mod_lbmethod_byrequests.so +#LoadModule lbmethod_bytraffic_module libexec/apache24/mod_lbmethod_bytraffic.so +#LoadModule lbmethod_bybusyness_module libexec/apache24/mod_lbmethod_bybusyness.so +#LoadModule lbmethod_heartbeat_module libexec/apache24/mod_lbmethod_heartbeat.so +LoadModule unixd_module libexec/apache24/mod_unixd.so +#LoadModule heartbeat_module libexec/apache24/mod_heartbeat.so +#LoadModule heartmonitor_module libexec/apache24/mod_heartmonitor.so +#LoadModule dav_module libexec/apache24/mod_dav.so +LoadModule status_module libexec/apache24/mod_status.so +LoadModule autoindex_module libexec/apache24/mod_autoindex.so +#LoadModule asis_module libexec/apache24/mod_asis.so +#LoadModule info_module libexec/apache24/mod_info.so + + #LoadModule cgid_module libexec/apache24/mod_cgid.so + + + #LoadModule cgi_module libexec/apache24/mod_cgi.so + +#LoadModule dav_fs_module libexec/apache24/mod_dav_fs.so +#LoadModule dav_lock_module libexec/apache24/mod_dav_lock.so +#LoadModule vhost_alias_module libexec/apache24/mod_vhost_alias.so +#LoadModule negotiation_module libexec/apache24/mod_negotiation.so +LoadModule dir_module libexec/apache24/mod_dir.so +#LoadModule imagemap_module libexec/apache24/mod_imagemap.so +#LoadModule actions_module libexec/apache24/mod_actions.so +#LoadModule speling_module libexec/apache24/mod_speling.so +#LoadModule userdir_module libexec/apache24/mod_userdir.so +LoadModule alias_module libexec/apache24/mod_alias.so +LoadModule rewrite_module libexec/apache24/mod_rewrite.so +#LoadModule php7_module libexec/apache24/libphp7.so + +# Third party modules +IncludeOptional etc/apache24/modules.d/[0-9][0-9][0-9]_*.conf + + +# +# If you wish httpd to run as a different user or group, you must run +# httpd as root initially and it will switch. +# +# User/Group: The name (or #number) of the user/group to run httpd as. +# It is usually good practice to create a dedicated user and group for +# running httpd, as with most system services. +# +User www +Group www + + + +# 'Main' server configuration +# +# The directives in this section set up the values used by the 'main' +# server, which responds to any requests that aren't handled by a +# definition. These values also provide defaults for +# any containers you may define later in the file. +# +# All of these directives may appear inside containers, +# in which case these default settings will be overridden for the +# virtual host being defined. +# + +# +# ServerAdmin: Your address, where problems with the server should be +# e-mailed. This address appears on some server-generated pages, such +# as error documents. e.g. admin@your-domain.com +# +ServerAdmin sharad@ahlawat.com + +# +# ServerName gives the name and port that the server uses to identify itself. +# This can often be determined automatically, but we recommend you specify +# it explicitly to prevent problems during startup. +# +# If your host doesn't have a registered DNS name, enter its IP address here. +# +#ServerName www.example.com:80 + +# +# Deny access to the entirety of your server's filesystem. You must +# explicitly permit access to web content directories in other +# blocks below. +# + + AllowOverride none + Require all denied + + +# +# Note that from this point forward you must specifically allow +# particular features to be enabled - so if something's not working as +# you might expect, make sure that you have specifically enabled it +# below. +# + +# +# DocumentRoot: The directory out of which you will serve your +# documents. By default, all requests are taken from this directory, but +# symbolic links and aliases may be used to point to other locations. +# +DocumentRoot "/usr/local/www/apache24/data" + + +# can't set this if traffic is passing through haproxy and being redirected to ssl already +# RewriteEngine on +# RewriteRule ^/\.well-known/ - [L] +# RewriteRule (.*) https://rachna.ahlawat.com [R,L] + + # + # Possible values for the Options directive are "None", "All", + # or any combination of: + # Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews + # + # Note that "MultiViews" must be named *explicitly* --- "Options All" + # doesn't give it to you. + # + # The Options directive is both complicated and important. Please see + # http://httpd.apache.org/docs/2.4/mod/core.html#options + # for more information. + # + Options Indexes FollowSymLinks + + # + # AllowOverride controls what directives may be placed in .htaccess files. + # It can be "All", "None", or any combination of the keywords: + # AllowOverride FileInfo AuthConfig Limit + # + AllowOverride None + + # + # Controls who can get stuff from this server. + # + Require all granted + + +# +# DirectoryIndex: sets the file that Apache will serve if a directory +# is requested. +# + + DirectoryIndex index.php index.html + + SetHandler application/x-httpd-php + + + SetHandler application/x-httpd-php-source + + + +# +# The following lines prevent .htaccess and .htpasswd files from being +# viewed by Web clients. +# + + Require all denied + + +# +# ErrorLog: The location of the error log file. +# If you do not specify an ErrorLog directive within a +# container, error messages relating to that virtual host will be +# logged here. If you *do* define an error logfile for a +# container, that host's errors will be logged there and not here. +# +ErrorLog "/var/log/httpd-error.log" + +# +# LogLevel: Control the number of messages logged to the error_log. +# Possible values include: debug, info, notice, warn, error, crit, +# alert, emerg. +# +LogLevel warn + + + # + # The following directives define some format nicknames for use with + # a CustomLog directive (see below). + # + LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined + LogFormat "%h %l %u %t \"%r\" %>s %b" common + + + # You need to enable mod_logio.c to use %I and %O + LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio + + + # + # The location and format of the access logfile (Common Logfile Format). + # If you do not define any access logfiles within a + # container, they will be logged here. Contrariwise, if you *do* + # define per- access logfiles, transactions will be + # logged therein and *not* in this file. + # + CustomLog "/var/log/httpd-access.log" common + + # + # If you prefer a logfile with access, agent, and referer information + # (Combined Logfile Format) you can use the following directive. + # + #CustomLog "/var/log/httpd-access.log" combined + + + + # + # Redirect: Allows you to tell clients about documents that used to + # exist in your server's namespace, but do not anymore. The client + # will make a new request for the document at its new location. + # Example: + # Redirect permanent /foo http://www.example.com/bar + + # + # Alias: Maps web paths into filesystem paths and is used to + # access content that does not live under the DocumentRoot. + # Example: + # Alias /webpath /full/filesystem/path + # + # If you include a trailing / on /webpath then the server will + # require it to be present in the URL. You will also likely + # need to provide a section to allow access to + # the filesystem path. + + # + # ScriptAlias: This controls which directories contain server scripts. + # ScriptAliases are essentially the same as Aliases, except that + # documents in the target directory are treated as applications and + # run by the server when requested rather than as documents sent to the + # client. The same rules about trailing "/" apply to ScriptAlias + # directives as to Alias. + # + ScriptAlias /cgi-bin/ "/usr/local/www/apache24/cgi-bin/" + + + + + # + # ScriptSock: On threaded servers, designate the path to the UNIX + # socket used to communicate with the CGI daemon of mod_cgid. + # + #Scriptsock cgisock + + +# +# "/usr/local/www/apache24/cgi-bin" should be changed to whatever your ScriptAliased +# CGI directory exists, if you have that configured. +# + + AllowOverride None + Options None + Require all granted + + + + # + # Avoid passing HTTP_PROXY environment to CGI's on this or any proxied + # backend servers which have lingering "httpoxy" defects. + # 'Proxy' request header is undefined by the IETF, not listed by IANA + # + RequestHeader unset Proxy early + + + + # + # TypesConfig points to the file containing the list of mappings from + # filename extension to MIME-type. + # + TypesConfig etc/apache24/mime.types + + # + # AddType allows you to add to or override the MIME configuration + # file specified in TypesConfig for specific file types. + # + #AddType application/x-gzip .tgz + # + # AddEncoding allows you to have certain browsers uncompress + # information on the fly. Note: Not all browsers support this. + # + #AddEncoding x-compress .Z + #AddEncoding x-gzip .gz .tgz + # + # If the AddEncoding directives above are commented-out, then you + # probably should define those extensions to indicate media types: + # + AddType application/x-compress .Z + AddType application/x-gzip .gz .tgz + + # + # AddHandler allows you to map certain file extensions to "handlers": + # actions unrelated to filetype. These can be either built into the server + # or added with the Action directive (see below) + # + # To use CGI scripts outside of ScriptAliased directories: + # (You will also need to add "ExecCGI" to the "Options" directive.) + # + #AddHandler cgi-script .cgi + + # For type maps (negotiated resources): + #AddHandler type-map var + + # + # Filters allow you to process content before it is sent to the client. + # + # To parse .shtml files for server-side includes (SSI): + # (You will also need to add "Includes" to the "Options" directive.) + # + #AddType text/html .shtml + #AddOutputFilter INCLUDES .shtml + + AddType application/x-httpd-php .php + AddType application/x-httpd-php-source .phps + + + +# +# The mod_mime_magic module allows the server to use various hints from the +# contents of the file itself to determine its type. The MIMEMagicFile +# directive tells the module where the hint definitions are located. +# +#MIMEMagicFile etc/apache24/magic + +# +# Customizable error responses come in three flavors: +# 1) plain text 2) local redirects 3) external redirects +# +# Some examples: +#ErrorDocument 500 "The server made a boo boo." +#ErrorDocument 404 /missing.html +#ErrorDocument 404 "/cgi-bin/missing_handler.pl" +#ErrorDocument 402 http://www.example.com/subscription_info.html +# + +# +# MaxRanges: Maximum number of Ranges in a request before +# returning the entire resource, or one of the special +# values 'default', 'none' or 'unlimited'. +# Default setting is to accept 200 Ranges. +#MaxRanges unlimited + +# +# EnableMMAP and EnableSendfile: On systems that support it, +# memory-mapping or the sendfile syscall may be used to deliver +# files. This usually improves server performance, but must +# be turned off when serving from networked-mounted +# filesystems or if support for these functions is otherwise +# broken on your system. +# Defaults: EnableMMAP On, EnableSendfile Off +# +#EnableMMAP off +#EnableSendfile on + +# Supplemental configuration +# +# The configuration files in the etc/apache24/extra/ directory can be +# included to add extra features or to modify the default configuration of +# the server, or you may simply copy their contents here and change as +# necessary. + +# Server-pool management (MPM specific) +#Include etc/apache24/extra/httpd-mpm.conf + +# Multi-language error messages +#Include etc/apache24/extra/httpd-multilang-errordoc.conf + +# Fancy directory listings +#Include etc/apache24/extra/httpd-autoindex.conf + +# Language settings +#Include etc/apache24/extra/httpd-languages.conf + +# User home directories +#Include etc/apache24/extra/httpd-userdir.conf + +# Real-time info on requests and configuration +#Include etc/apache24/extra/httpd-info.conf + +# Virtual hosts +#Include etc/apache24/extra/httpd-vhosts.conf + +# Local access to the Apache HTTP Server Manual +#Include etc/apache24/extra/httpd-manual.conf + +# Distributed authoring and versioning (WebDAV) +#Include etc/apache24/extra/httpd-dav.conf + +# Various default settings +#Include etc/apache24/extra/httpd-default.conf + +# Configure mod_proxy_html to understand HTML4/XHTML1 + +Include etc/apache24/extra/proxy-html.conf + + +# Secure (SSL/TLS) connections +#Include etc/apache24/extra/httpd-ssl.conf +# +# Note: The following must must be present to support +# starting without SSL on platforms with no /dev/random equivalent +# but a statically compiled-in mod_ssl. +# + +SSLRandomSeed startup builtin +SSLRandomSeed connect builtin + + +Include etc/apache24/Includes/*.conf + + + ServerName rachna.ahlawat.com + ServerAlias *.ahlawat.com + ServerAlias rachna + + Protocols h2 h2c http/1.1 + + DocumentRoot "/usr/local/www/apache24/data/" + + SSLEngine on + SSLCertificateFile "/mnt/certs/fullchain.pem" + SSLCertificateKeyFile "/mnt/certs/privkey.pem" + #SSLCertificateChainFile "/mnt/certs/fullchain.pem" + SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1 + SSLCipherSuite ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256 + SSLHonorCipherOrder on + SSLCompression off + SSLSessionTickets off + SSLOptions +StrictRequire + + RewriteEngine On + RewriteCond %{HTTP:Authorization} ^(.*) + RewriteRule .* - [e=HTTP_AUTHORIZATION:%1] + + + SetHandler "proxy:fcgi://127.0.0.1:9000" + SSLOptions +StdEnvVars + + + + SSLOptions +StdEnvVars + + + BrowserMatch "MSIE [2-5]" nokeepalive ssl-unclean-shutdown downgrade-1.0 force-response-1.0 + CustomLog "/var/log/ssl-request.log" "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b" + + + Options Indexes FollowSymLinks MultiViews + ## IndexOptions FancyIndexing FoldersFirst IgnoreCase VersionSort SuppressHTMLPreamble NameWidth=96 DescriptionWidth=16 + #-IndexOptions FancyIndexing FoldersFirst IgnoreCase NameWidth=96 + + #AllowOverride controls what directives may be placed in .htaccess files. + #AllowOverride All + #-AllowOverride AuthConfig + #Controls who can get stuff from this server file + #-Require all granted + + + ErrorLog "/var/log/ssl-error.log" + CustomLog "/var/log/ssl-access_log" combined + + + Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains" + + + diff --git a/jails/config/rachna/php.ini b/jails/config/rachna/php.ini new file mode 100644 index 0000000..638bc83 --- /dev/null +++ b/jails/config/rachna/php.ini @@ -0,0 +1,1918 @@ +[PHP] + +;;;;;;;;;;;;;;;;;;; +; About php.ini ; +;;;;;;;;;;;;;;;;;;; +; PHP's initialization file, generally called php.ini, is responsible for +; configuring many of the aspects of PHP's behavior. + +; PHP attempts to find and load this configuration from a number of locations. +; The following is a summary of its search order: +; 1. SAPI module specific location. +; 2. The PHPRC environment variable. (As of PHP 5.2.0) +; 3. A number of predefined registry keys on Windows (As of PHP 5.2.0) +; 4. Current working directory (except CLI) +; 5. The web server's directory (for SAPI modules), or directory of PHP +; (otherwise in Windows) +; 6. The directory from the --with-config-file-path compile time option, or the +; Windows directory (C:\windows or C:\winnt) +; See the PHP docs for more specific information. +; http://php.net/configuration.file + +; The syntax of the file is extremely simple. Whitespace and lines +; beginning with a semicolon are silently ignored (as you probably guessed). +; Section headers (e.g. [Foo]) are also silently ignored, even though +; they might mean something in the future. + +; Directives following the section heading [PATH=/www/mysite] only +; apply to PHP files in the /www/mysite directory. Directives +; following the section heading [HOST=www.example.com] only apply to +; PHP files served from www.example.com. Directives set in these +; special sections cannot be overridden by user-defined INI files or +; at runtime. Currently, [PATH=] and [HOST=] sections only work under +; CGI/FastCGI. +; http://php.net/ini.sections + +; Directives are specified using the following syntax: +; directive = value +; Directive names are *case sensitive* - foo=bar is different from FOO=bar. +; Directives are variables used to configure PHP or PHP extensions. +; There is no name validation. If PHP can't find an expected +; directive because it is not set or is mistyped, a default value will be used. + +; The value can be a string, a number, a PHP constant (e.g. E_ALL or M_PI), one +; of the INI constants (On, Off, True, False, Yes, No and None) or an expression +; (e.g. E_ALL & ~E_NOTICE), a quoted string ("bar"), or a reference to a +; previously set variable or directive (e.g. ${foo}) + +; Expressions in the INI file are limited to bitwise operators and parentheses: +; | bitwise OR +; ^ bitwise XOR +; & bitwise AND +; ~ bitwise NOT +; ! boolean NOT + +; Boolean flags can be turned on using the values 1, On, True or Yes. +; They can be turned off using the values 0, Off, False or No. + +; An empty string can be denoted by simply not writing anything after the equal +; sign, or by using the None keyword: + +; foo = ; sets foo to an empty string +; foo = None ; sets foo to an empty string +; foo = "None" ; sets foo to the string 'None' + +; If you use constants in your value, and these constants belong to a +; dynamically loaded extension (either a PHP extension or a Zend extension), +; you may only use these constants *after* the line that loads the extension. + +;;;;;;;;;;;;;;;;;;; +; About this file ; +;;;;;;;;;;;;;;;;;;; +; PHP comes packaged with two INI files. One that is recommended to be used +; in production environments and one that is recommended to be used in +; development environments. + +; php.ini-production contains settings which hold security, performance and +; best practices at its core. But please be aware, these settings may break +; compatibility with older or less security conscience applications. We +; recommending using the production ini in production and testing environments. + +; php.ini-development is very similar to its production variant, except it is +; much more verbose when it comes to errors. We recommend using the +; development version only in development environments, as errors shown to +; application users can inadvertently leak otherwise secure information. + +; This is php.ini-production INI file. + +;;;;;;;;;;;;;;;;;;; +; Quick Reference ; +;;;;;;;;;;;;;;;;;;; +; The following are all the settings which are different in either the production +; or development versions of the INIs with respect to PHP's default behavior. +; Please see the actual settings later in the document for more details as to why +; we recommend these changes in PHP's behavior. + +; display_errors +; Default Value: On +; Development Value: On +; Production Value: Off + +; display_startup_errors +; Default Value: Off +; Development Value: On +; Production Value: Off + +; error_reporting +; Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED +; Development Value: E_ALL +; Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT + +; html_errors +; Default Value: On +; Development Value: On +; Production value: On + +; log_errors +; Default Value: Off +; Development Value: On +; Production Value: On + +; max_input_time +; Default Value: -1 (Unlimited) +; Development Value: 60 (60 seconds) +; Production Value: 60 (60 seconds) + +; output_buffering +; Default Value: Off +; Development Value: 4096 +; Production Value: 4096 + +; register_argc_argv +; Default Value: On +; Development Value: Off +; Production Value: Off + +; request_order +; Default Value: None +; Development Value: "GP" +; Production Value: "GP" + +; session.gc_divisor +; Default Value: 100 +; Development Value: 1000 +; Production Value: 1000 + +; session.sid_bits_per_character +; Default Value: 4 +; Development Value: 5 +; Production Value: 5 + +; short_open_tag +; Default Value: On +; Development Value: Off +; Production Value: Off + +; track_errors +; Default Value: Off +; Development Value: On +; Production Value: Off + +; variables_order +; Default Value: "EGPCS" +; Development Value: "GPCS" +; Production Value: "GPCS" + +;;;;;;;;;;;;;;;;;;;; +; php.ini Options ; +;;;;;;;;;;;;;;;;;;;; +; Name for user-defined php.ini (.htaccess) files. Default is ".user.ini" +;user_ini.filename = ".user.ini" + +; To disable this feature set this option to empty value +;user_ini.filename = + +; TTL for user-defined php.ini files (time-to-live) in seconds. Default is 300 seconds (5 minutes) +;user_ini.cache_ttl = 300 + +;;;;;;;;;;;;;;;;;;;; +; Language Options ; +;;;;;;;;;;;;;;;;;;;; + +; Enable the PHP scripting language engine under Apache. +; http://php.net/engine +engine = On + +; This directive determines whether or not PHP will recognize code between +; tags as PHP source which should be processed as such. It is +; generally recommended that should be used and that this feature +; should be disabled, as enabling it may result in issues when generating XML +; documents, however this remains supported for backward compatibility reasons. +; Note that this directive does not control the would work. +; http://php.net/syntax-highlighting +;highlight.string = #DD0000 +;highlight.comment = #FF9900 +;highlight.keyword = #007700 +;highlight.default = #0000BB +;highlight.html = #000000 + +; If enabled, the request will be allowed to complete even if the user aborts +; the request. Consider enabling it if executing long requests, which may end up +; being interrupted by the user or a browser timing out. PHP's default behavior +; is to disable this feature. +; http://php.net/ignore-user-abort +;ignore_user_abort = On + +; Determines the size of the realpath cache to be used by PHP. This value should +; be increased on systems where PHP opens many files to reflect the quantity of +; the file operations performed. +; http://php.net/realpath-cache-size +;realpath_cache_size = 4096k + +; Duration of time, in seconds for which to cache realpath information for a given +; file or directory. For systems with rarely changing files, consider increasing this +; value. +; http://php.net/realpath-cache-ttl +;realpath_cache_ttl = 120 + +; Enables or disables the circular reference collector. +; http://php.net/zend.enable-gc +zend.enable_gc = On + +; If enabled, scripts may be written in encodings that are incompatible with +; the scanner. CP936, Big5, CP949 and Shift_JIS are the examples of such +; encodings. To use this feature, mbstring extension must be enabled. +; Default: Off +;zend.multibyte = Off + +; Allows to set the default encoding for the scripts. This value will be used +; unless "declare(encoding=...)" directive appears at the top of the script. +; Only affects if zend.multibyte is set. +; Default: "" +;zend.script_encoding = + +;;;;;;;;;;;;;;;;; +; Miscellaneous ; +;;;;;;;;;;;;;;;;; + +; Decides whether PHP may expose the fact that it is installed on the server +; (e.g. by adding its signature to the Web server header). It is no security +; threat in any way, but it makes it possible to determine whether you use PHP +; on your server or not. +; http://php.net/expose-php +expose_php = On + +;;;;;;;;;;;;;;;;;;; +; Resource Limits ; +;;;;;;;;;;;;;;;;;;; + +; Maximum execution time of each script, in seconds +; http://php.net/max-execution-time +; Note: This directive is hardcoded to 0 for the CLI SAPI +max_execution_time = 30 + +; Maximum amount of time each script may spend parsing request data. It's a good +; idea to limit this time on productions servers in order to eliminate unexpectedly +; long running scripts. +; Note: This directive is hardcoded to -1 for the CLI SAPI +; Default Value: -1 (Unlimited) +; Development Value: 60 (60 seconds) +; Production Value: 60 (60 seconds) +; http://php.net/max-input-time +max_input_time = 60 + +; Maximum input variable nesting level +; http://php.net/max-input-nesting-level +;max_input_nesting_level = 64 + +; How many GET/POST/COOKIE input variables may be accepted +; max_input_vars = 1000 + +; Maximum amount of memory a script may consume (128MB) +; http://php.net/memory-limit +memory_limit = 128M + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; Error handling and logging ; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +; This directive informs PHP of which errors, warnings and notices you would like +; it to take action for. The recommended way of setting values for this +; directive is through the use of the error level constants and bitwise +; operators. The error level constants are below here for convenience as well as +; some common settings and their meanings. +; By default, PHP is set to take action on all errors, notices and warnings EXCEPT +; those related to E_NOTICE and E_STRICT, which together cover best practices and +; recommended coding standards in PHP. For performance reasons, this is the +; recommend error reporting setting. Your production server shouldn't be wasting +; resources complaining about best practices and coding standards. That's what +; development servers and development settings are for. +; Note: The php.ini-development file has this setting as E_ALL. This +; means it pretty much reports everything which is exactly what you want during +; development and early testing. +; +; Error Level Constants: +; E_ALL - All errors and warnings (includes E_STRICT as of PHP 5.4.0) +; E_ERROR - fatal run-time errors +; E_RECOVERABLE_ERROR - almost fatal run-time errors +; E_WARNING - run-time warnings (non-fatal errors) +; E_PARSE - compile-time parse errors +; E_NOTICE - run-time notices (these are warnings which often result +; from a bug in your code, but it's possible that it was +; intentional (e.g., using an uninitialized variable and +; relying on the fact it is automatically initialized to an +; empty string) +; E_STRICT - run-time notices, enable to have PHP suggest changes +; to your code which will ensure the best interoperability +; and forward compatibility of your code +; E_CORE_ERROR - fatal errors that occur during PHP's initial startup +; E_CORE_WARNING - warnings (non-fatal errors) that occur during PHP's +; initial startup +; E_COMPILE_ERROR - fatal compile-time errors +; E_COMPILE_WARNING - compile-time warnings (non-fatal errors) +; E_USER_ERROR - user-generated error message +; E_USER_WARNING - user-generated warning message +; E_USER_NOTICE - user-generated notice message +; E_DEPRECATED - warn about code that will not work in future versions +; of PHP +; E_USER_DEPRECATED - user-generated deprecation warnings +; +; Common Values: +; E_ALL (Show all errors, warnings and notices including coding standards.) +; E_ALL & ~E_NOTICE (Show all errors, except for notices) +; E_ALL & ~E_NOTICE & ~E_STRICT (Show all errors, except for notices and coding standards warnings.) +; E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR (Show only errors) +; Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED +; Development Value: E_ALL +; Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT +; http://php.net/error-reporting +error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT + +; This directive controls whether or not and where PHP will output errors, +; notices and warnings too. Error output is very useful during development, but +; it could be very dangerous in production environments. Depending on the code +; which is triggering the error, sensitive information could potentially leak +; out of your application such as database usernames and passwords or worse. +; For production environments, we recommend logging errors rather than +; sending them to STDOUT. +; Possible Values: +; Off = Do not display any errors +; stderr = Display errors to STDERR (affects only CGI/CLI binaries!) +; On or stdout = Display errors to STDOUT +; Default Value: On +; Development Value: On +; Production Value: Off +; http://php.net/display-errors +display_errors = Off + +; The display of errors which occur during PHP's startup sequence are handled +; separately from display_errors. PHP's default behavior is to suppress those +; errors from clients. Turning the display of startup errors on can be useful in +; debugging configuration problems. We strongly recommend you +; set this to 'off' for production servers. +; Default Value: Off +; Development Value: On +; Production Value: Off +; http://php.net/display-startup-errors +display_startup_errors = Off + +; Besides displaying errors, PHP can also log errors to locations such as a +; server-specific log, STDERR, or a location specified by the error_log +; directive found below. While errors should not be displayed on productions +; servers they should still be monitored and logging is a great way to do that. +; Default Value: Off +; Development Value: On +; Production Value: On +; http://php.net/log-errors +log_errors = On + +; Set maximum length of log_errors. In error_log information about the source is +; added. The default is 1024 and 0 allows to not apply any maximum length at all. +; http://php.net/log-errors-max-len +log_errors_max_len = 1024 + +; Do not log repeated messages. Repeated errors must occur in same file on same +; line unless ignore_repeated_source is set true. +; http://php.net/ignore-repeated-errors +ignore_repeated_errors = Off + +; Ignore source of message when ignoring repeated messages. When this setting +; is On you will not log errors with repeated messages from different files or +; source lines. +; http://php.net/ignore-repeated-source +ignore_repeated_source = Off + +; If this parameter is set to Off, then memory leaks will not be shown (on +; stdout or in the log). This has only effect in a debug compile, and if +; error reporting includes E_WARNING in the allowed list +; http://php.net/report-memleaks +report_memleaks = On + +; This setting is on by default. +;report_zend_debug = 0 + +; Store the last error/warning message in $php_errormsg (boolean). Setting this value +; to On can assist in debugging and is appropriate for development servers. It should +; however be disabled on production servers. +; This directive is DEPRECATED. +; Default Value: Off +; Development Value: Off +; Production Value: Off +; http://php.net/track-errors +;track_errors = Off + +; Turn off normal error reporting and emit XML-RPC error XML +; http://php.net/xmlrpc-errors +;xmlrpc_errors = 0 + +; An XML-RPC faultCode +;xmlrpc_error_number = 0 + +; When PHP displays or logs an error, it has the capability of formatting the +; error message as HTML for easier reading. This directive controls whether +; the error message is formatted as HTML or not. +; Note: This directive is hardcoded to Off for the CLI SAPI +; Default Value: On +; Development Value: On +; Production value: On +; http://php.net/html-errors +html_errors = On + +; If html_errors is set to On *and* docref_root is not empty, then PHP +; produces clickable error messages that direct to a page describing the error +; or function causing the error in detail. +; You can download a copy of the PHP manual from http://php.net/docs +; and change docref_root to the base URL of your local copy including the +; leading '/'. You must also specify the file extension being used including +; the dot. PHP's default behavior is to leave these settings empty, in which +; case no links to documentation are generated. +; Note: Never use this feature for production boxes. +; http://php.net/docref-root +; Examples +;docref_root = "/phpmanual/" + +; http://php.net/docref-ext +;docref_ext = .html + +; String to output before an error message. PHP's default behavior is to leave +; this setting blank. +; http://php.net/error-prepend-string +; Example: +;error_prepend_string = "" + +; String to output after an error message. PHP's default behavior is to leave +; this setting blank. +; http://php.net/error-append-string +; Example: +;error_append_string = "" + +; Log errors to specified file. PHP's default behavior is to leave this value +; empty. +; http://php.net/error-log +; Example: +;error_log = php_errors.log +; Log errors to syslog (Event Log on Windows). +;error_log = syslog + +;windows.show_crt_warning +; Default value: 0 +; Development value: 0 +; Production value: 0 + +;;;;;;;;;;;;;;;;; +; Data Handling ; +;;;;;;;;;;;;;;;;; + +; The separator used in PHP generated URLs to separate arguments. +; PHP's default setting is "&". +; http://php.net/arg-separator.output +; Example: +;arg_separator.output = "&" + +; List of separator(s) used by PHP to parse input URLs into variables. +; PHP's default setting is "&". +; NOTE: Every character in this directive is considered as separator! +; http://php.net/arg-separator.input +; Example: +;arg_separator.input = ";&" + +; This directive determines which super global arrays are registered when PHP +; starts up. G,P,C,E & S are abbreviations for the following respective super +; globals: GET, POST, COOKIE, ENV and SERVER. There is a performance penalty +; paid for the registration of these arrays and because ENV is not as commonly +; used as the others, ENV is not recommended on productions servers. You +; can still get access to the environment variables through getenv() should you +; need to. +; Default Value: "EGPCS" +; Development Value: "GPCS" +; Production Value: "GPCS"; +; http://php.net/variables-order +variables_order = "GPCS" + +; This directive determines which super global data (G,P & C) should be +; registered into the super global array REQUEST. If so, it also determines +; the order in which that data is registered. The values for this directive +; are specified in the same manner as the variables_order directive, +; EXCEPT one. Leaving this value empty will cause PHP to use the value set +; in the variables_order directive. It does not mean it will leave the super +; globals array REQUEST empty. +; Default Value: None +; Development Value: "GP" +; Production Value: "GP" +; http://php.net/request-order +request_order = "GP" + +; This directive determines whether PHP registers $argv & $argc each time it +; runs. $argv contains an array of all the arguments passed to PHP when a script +; is invoked. $argc contains an integer representing the number of arguments +; that were passed when the script was invoked. These arrays are extremely +; useful when running scripts from the command line. When this directive is +; enabled, registering these variables consumes CPU cycles and memory each time +; a script is executed. For performance reasons, this feature should be disabled +; on production servers. +; Note: This directive is hardcoded to On for the CLI SAPI +; Default Value: On +; Development Value: Off +; Production Value: Off +; http://php.net/register-argc-argv +register_argc_argv = Off + +; When enabled, the ENV, REQUEST and SERVER variables are created when they're +; first used (Just In Time) instead of when the script starts. If these +; variables are not used within a script, having this directive on will result +; in a performance gain. The PHP directive register_argc_argv must be disabled +; for this directive to have any affect. +; http://php.net/auto-globals-jit +auto_globals_jit = On + +; Whether PHP will read the POST data. +; This option is enabled by default. +; Most likely, you won't want to disable this option globally. It causes $_POST +; and $_FILES to always be empty; the only way you will be able to read the +; POST data will be through the php://input stream wrapper. This can be useful +; to proxy requests or to process the POST data in a memory efficient fashion. +; http://php.net/enable-post-data-reading +;enable_post_data_reading = Off + +; Maximum size of POST data that PHP will accept. +; Its value may be 0 to disable the limit. It is ignored if POST data reading +; is disabled through enable_post_data_reading. +; http://php.net/post-max-size +post_max_size = 1999M + +; Automatically add files before PHP document. +; http://php.net/auto-prepend-file +auto_prepend_file = + +; Automatically add files after PHP document. +; http://php.net/auto-append-file +auto_append_file = + +; By default, PHP will output a media type using the Content-Type header. To +; disable this, simply set it to be empty. +; +; PHP's built-in default media type is set to text/html. +; http://php.net/default-mimetype +default_mimetype = "text/html" + +; PHP's default character set is set to UTF-8. +; http://php.net/default-charset +default_charset = "UTF-8" + +; PHP internal character encoding is set to empty. +; If empty, default_charset is used. +; http://php.net/internal-encoding +;internal_encoding = + +; PHP input character encoding is set to empty. +; If empty, default_charset is used. +; http://php.net/input-encoding +;input_encoding = + +; PHP output character encoding is set to empty. +; If empty, default_charset is used. +; See also output_buffer. +; http://php.net/output-encoding +;output_encoding = + +;;;;;;;;;;;;;;;;;;;;;;;;; +; Paths and Directories ; +;;;;;;;;;;;;;;;;;;;;;;;;; + +; UNIX: "/path1:/path2" +;include_path = ".:/php/includes" +; +; Windows: "\path1;\path2" +;include_path = ".;c:\php\includes" +; +; PHP's default setting for include_path is ".;/path/to/php/pear" +; http://php.net/include-path + +; The root of the PHP pages, used only if nonempty. +; if PHP was not compiled with FORCE_REDIRECT, you SHOULD set doc_root +; if you are running php as a CGI under any web server (other than IIS) +; see documentation for security issues. The alternate is to use the +; cgi.force_redirect configuration below +; http://php.net/doc-root +doc_root = + +; The directory under which PHP opens the script using /~username used only +; if nonempty. +; http://php.net/user-dir +user_dir = + +; Directory in which the loadable extensions (modules) reside. +; http://php.net/extension-dir +; extension_dir = "./" +; On windows: +; extension_dir = "ext" + +; Directory where the temporary files should be placed. +; Defaults to the system default (see sys_get_temp_dir) +; sys_temp_dir = "/tmp" + +; Whether or not to enable the dl() function. The dl() function does NOT work +; properly in multithreaded servers, such as IIS or Zeus, and is automatically +; disabled on them. +; http://php.net/enable-dl +enable_dl = Off + +; cgi.force_redirect is necessary to provide security running PHP as a CGI under +; most web servers. Left undefined, PHP turns this on by default. You can +; turn it off here AT YOUR OWN RISK +; **You CAN safely turn this off for IIS, in fact, you MUST.** +; http://php.net/cgi.force-redirect +;cgi.force_redirect = 1 + +; if cgi.nph is enabled it will force cgi to always sent Status: 200 with +; every request. PHP's default behavior is to disable this feature. +;cgi.nph = 1 + +; if cgi.force_redirect is turned on, and you are not running under Apache or Netscape +; (iPlanet) web servers, you MAY need to set an environment variable name that PHP +; will look for to know it is OK to continue execution. Setting this variable MAY +; cause security issues, KNOW WHAT YOU ARE DOING FIRST. +; http://php.net/cgi.redirect-status-env +;cgi.redirect_status_env = + +; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI. PHP's +; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok +; what PATH_INFO is. For more information on PATH_INFO, see the cgi specs. Setting +; this to 1 will cause PHP CGI to fix its paths to conform to the spec. A setting +; of zero causes PHP to behave as before. Default is 1. You should fix your scripts +; to use SCRIPT_FILENAME rather than PATH_TRANSLATED. +; http://php.net/cgi.fix-pathinfo +;cgi.fix_pathinfo=1 + +; if cgi.discard_path is enabled, the PHP CGI binary can safely be placed outside +; of the web tree and people will not be able to circumvent .htaccess security. +; http://php.net/cgi.dicard-path +;cgi.discard_path=1 + +; FastCGI under IIS (on WINNT based OS) supports the ability to impersonate +; security tokens of the calling client. This allows IIS to define the +; security context that the request runs under. mod_fastcgi under Apache +; does not currently support this feature (03/17/2002) +; Set to 1 if running under IIS. Default is zero. +; http://php.net/fastcgi.impersonate +;fastcgi.impersonate = 1 + +; Disable logging through FastCGI connection. PHP's default behavior is to enable +; this feature. +;fastcgi.logging = 0 + +; cgi.rfc2616_headers configuration option tells PHP what type of headers to +; use when sending HTTP response code. If set to 0, PHP sends Status: header that +; is supported by Apache. When this option is set to 1, PHP will send +; RFC2616 compliant header. +; Default is zero. +; http://php.net/cgi.rfc2616-headers +;cgi.rfc2616_headers = 0 + +; cgi.check_shebang_line controls whether CGI PHP checks for line starting with #! +; (shebang) at the top of the running script. This line might be needed if the +; script support running both as stand-alone script and via PHP CGI<. PHP in CGI +; mode skips this line and ignores its content if this directive is turned on. +; http://php.net/cgi.check-shebang-line +;cgi.check_shebang_line=1 + +;;;;;;;;;;;;;;;; +; File Uploads ; +;;;;;;;;;;;;;;;; + +; Whether to allow HTTP file uploads. +; http://php.net/file-uploads +file_uploads = On + +; Temporary directory for HTTP uploaded files (will use system default if not +; specified). +; http://php.net/upload-tmp-dir +;upload_tmp_dir = + +; Maximum allowed size for uploaded files. +; http://php.net/upload-max-filesize +upload_max_filesize = 1999M + +; Maximum number of files that can be uploaded via a single request +max_file_uploads = 20 + +;;;;;;;;;;;;;;;;;; +; Fopen wrappers ; +;;;;;;;;;;;;;;;;;; + +; Whether to allow the treatment of URLs (like http:// or ftp://) as files. +; http://php.net/allow-url-fopen +allow_url_fopen = On + +; Whether to allow include/require to open URLs (like http:// or ftp://) as files. +; http://php.net/allow-url-include +allow_url_include = Off + +; Define the anonymous ftp password (your email address). PHP's default setting +; for this is empty. +; http://php.net/from +;from="john@doe.com" + +; Define the User-Agent string. PHP's default setting for this is empty. +; http://php.net/user-agent +;user_agent="PHP" + +; Default timeout for socket based streams (seconds) +; http://php.net/default-socket-timeout +default_socket_timeout = 60 + +; If your scripts have to deal with files from Macintosh systems, +; or you are running on a Mac and need to deal with files from +; unix or win32 systems, setting this flag will cause PHP to +; automatically detect the EOL character in those files so that +; fgets() and file() will work regardless of the source of the file. +; http://php.net/auto-detect-line-endings +;auto_detect_line_endings = Off + +;;;;;;;;;;;;;;;;;;;;;; +; Dynamic Extensions ; +;;;;;;;;;;;;;;;;;;;;;; + +; If you wish to have an extension loaded automatically, use the following +; syntax: +; +; extension=modulename +; +; For example: +; +; extension=mysqli +; +; When the extension library to load is not located in the default extension +; directory, You may specify an absolute path to the library file: +; +; extension=/path/to/extension/mysqli.so +; +; Note : The syntax used in previous PHP versions ('extension=.so' and +; 'extension='php_.dll') is supported for legacy reasons and may be +; deprecated in a future PHP major version. So, when it is possible, please +; move to the new ('extension=) syntax. +; +; Notes for Windows environments : +; +; - Many DLL files are located in the extensions/ (PHP 4) or ext/ (PHP 5+) +; extension folders as well as the separate PECL DLL download (PHP 5+). +; Be sure to appropriately set the extension_dir directive. +; +;extension=bz2 +;extension=curl +;extension=fileinfo +;extension=gd2 +;extension=gettext +;extension=gmp +;extension=intl +;extension=imap +;extension=interbase +;extension=ldap +;extension=mbstring +;extension=exif ; Must be after mbstring as it depends on it +;extension=mysqli +;extension=oci8_12c ; Use with Oracle Database 12c Instant Client +;extension=odbc +;extension=openssl +;extension=pdo_firebird +;extension=pdo_mysql +;extension=pdo_oci +;extension=pdo_odbc +;extension=pdo_pgsql +;extension=pdo_sqlite +;extension=pgsql +;extension=shmop + +; The MIBS data available in the PHP distribution must be installed. +; See http://www.php.net/manual/en/snmp.installation.php +;extension=snmp + +;extension=soap +;extension=sockets +;extension=sqlite3 +;extension=tidy +;extension=xmlrpc +;extension=xsl + +;;;;;;;;;;;;;;;;;;; +; Module Settings ; +;;;;;;;;;;;;;;;;;;; + +[CLI Server] +; Whether the CLI web server uses ANSI color coding in its terminal output. +cli_server.color = On + +[Date] +; Defines the default timezone used by the date functions +; http://php.net/date.timezone +date.timezone = America/Los_Angeles + +; http://php.net/date.default-latitude +;date.default_latitude = 31.7667 + +; http://php.net/date.default-longitude +;date.default_longitude = 35.2333 + +; http://php.net/date.sunrise-zenith +;date.sunrise_zenith = 90.583333 + +; http://php.net/date.sunset-zenith +;date.sunset_zenith = 90.583333 + +[filter] +; http://php.net/filter.default +;filter.default = unsafe_raw + +; http://php.net/filter.default-flags +;filter.default_flags = + +[iconv] +; Use of this INI entry is deprecated, use global input_encoding instead. +; If empty, default_charset or input_encoding or iconv.input_encoding is used. +; The precedence is: default_charset < intput_encoding < iconv.input_encoding +;iconv.input_encoding = + +; Use of this INI entry is deprecated, use global internal_encoding instead. +; If empty, default_charset or internal_encoding or iconv.internal_encoding is used. +; The precedence is: default_charset < internal_encoding < iconv.internal_encoding +;iconv.internal_encoding = + +; Use of this INI entry is deprecated, use global output_encoding instead. +; If empty, default_charset or output_encoding or iconv.output_encoding is used. +; The precedence is: default_charset < output_encoding < iconv.output_encoding +; To use an output encoding conversion, iconv's output handler must be set +; otherwise output encoding conversion cannot be performed. +;iconv.output_encoding = + +[intl] +;intl.default_locale = +; This directive allows you to produce PHP errors when some error +; happens within intl functions. The value is the level of the error produced. +; Default is 0, which does not produce any errors. +;intl.error_level = E_WARNING +;intl.use_exceptions = 0 + +[sqlite3] +;sqlite3.extension_dir = + +[Pcre] +;PCRE library backtracking limit. +; http://php.net/pcre.backtrack-limit +;pcre.backtrack_limit=100000 + +;PCRE library recursion limit. +;Please note that if you set this value to a high number you may consume all +;the available process stack and eventually crash PHP (due to reaching the +;stack size limit imposed by the Operating System). +; http://php.net/pcre.recursion-limit +;pcre.recursion_limit=100000 + +;Enables or disables JIT compilation of patterns. This requires the PCRE +;library to be compiled with JIT support. +;pcre.jit=1 + +[Pdo] +; Whether to pool ODBC connections. Can be one of "strict", "relaxed" or "off" +; http://php.net/pdo-odbc.connection-pooling +;pdo_odbc.connection_pooling=strict + +;pdo_odbc.db2_instance_name + +[Pdo_mysql] +; If mysqlnd is used: Number of cache slots for the internal result set cache +; http://php.net/pdo_mysql.cache_size +pdo_mysql.cache_size = 2000 + +; Default socket name for local MySQL connects. If empty, uses the built-in +; MySQL defaults. +; http://php.net/pdo_mysql.default-socket +pdo_mysql.default_socket= + +[Phar] +; http://php.net/phar.readonly +;phar.readonly = On + +; http://php.net/phar.require-hash +;phar.require_hash = On + +;phar.cache_list = + +[mail function] +; For Win32 only. +; http://php.net/smtp +SMTP = localhost +; http://php.net/smtp-port +smtp_port = 25 + +; For Win32 only. +; http://php.net/sendmail-from +;sendmail_from = me@example.com + +; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). +; http://php.net/sendmail-path +;sendmail_path = + +; Force the addition of the specified parameters to be passed as extra parameters +; to the sendmail binary. These parameters will always replace the value of +; the 5th parameter to mail(). +;mail.force_extra_parameters = + +; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename +mail.add_x_header = Off + +; The path to a log file that will log all mail() calls. Log entries include +; the full path of the script, line number, To address and headers. +;mail.log = +; Log mail to syslog (Event Log on Windows). +;mail.log = syslog + +[ODBC] +; http://php.net/odbc.default-db +;odbc.default_db = Not yet implemented + +; http://php.net/odbc.default-user +;odbc.default_user = Not yet implemented + +; http://php.net/odbc.default-pw +;odbc.default_pw = Not yet implemented + +; Controls the ODBC cursor model. +; Default: SQL_CURSOR_STATIC (default). +;odbc.default_cursortype + +; Allow or prevent persistent links. +; http://php.net/odbc.allow-persistent +odbc.allow_persistent = On + +; Check that a connection is still valid before reuse. +; http://php.net/odbc.check-persistent +odbc.check_persistent = On + +; Maximum number of persistent links. -1 means no limit. +; http://php.net/odbc.max-persistent +odbc.max_persistent = -1 + +; Maximum number of links (persistent + non-persistent). -1 means no limit. +; http://php.net/odbc.max-links +odbc.max_links = -1 + +; Handling of LONG fields. Returns number of bytes to variables. 0 means +; passthru. +; http://php.net/odbc.defaultlrl +odbc.defaultlrl = 4096 + +; Handling of binary data. 0 means passthru, 1 return as is, 2 convert to char. +; See the documentation on odbc_binmode and odbc_longreadlen for an explanation +; of odbc.defaultlrl and odbc.defaultbinmode +; http://php.net/odbc.defaultbinmode +odbc.defaultbinmode = 1 + +;birdstep.max_links = -1 + +[Interbase] +; Allow or prevent persistent links. +ibase.allow_persistent = 1 + +; Maximum number of persistent links. -1 means no limit. +ibase.max_persistent = -1 + +; Maximum number of links (persistent + non-persistent). -1 means no limit. +ibase.max_links = -1 + +; Default database name for ibase_connect(). +;ibase.default_db = + +; Default username for ibase_connect(). +;ibase.default_user = + +; Default password for ibase_connect(). +;ibase.default_password = + +; Default charset for ibase_connect(). +;ibase.default_charset = + +; Default timestamp format. +ibase.timestampformat = "%Y-%m-%d %H:%M:%S" + +; Default date format. +ibase.dateformat = "%Y-%m-%d" + +; Default time format. +ibase.timeformat = "%H:%M:%S" + +[MySQLi] + +; Maximum number of persistent links. -1 means no limit. +; http://php.net/mysqli.max-persistent +mysqli.max_persistent = -1 + +; Allow accessing, from PHP's perspective, local files with LOAD DATA statements +; http://php.net/mysqli.allow_local_infile +;mysqli.allow_local_infile = On + +; Allow or prevent persistent links. +; http://php.net/mysqli.allow-persistent +mysqli.allow_persistent = On + +; Maximum number of links. -1 means no limit. +; http://php.net/mysqli.max-links +mysqli.max_links = -1 + +; If mysqlnd is used: Number of cache slots for the internal result set cache +; http://php.net/mysqli.cache_size +mysqli.cache_size = 2000 + +; Default port number for mysqli_connect(). If unset, mysqli_connect() will use +; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the +; compile-time value defined MYSQL_PORT (in that order). Win32 will only look +; at MYSQL_PORT. +; http://php.net/mysqli.default-port +mysqli.default_port = 3306 + +; Default socket name for local MySQL connects. If empty, uses the built-in +; MySQL defaults. +; http://php.net/mysqli.default-socket +mysqli.default_socket = + +; Default host for mysql_connect() (doesn't apply in safe mode). +; http://php.net/mysqli.default-host +mysqli.default_host = + +; Default user for mysql_connect() (doesn't apply in safe mode). +; http://php.net/mysqli.default-user +mysqli.default_user = + +; Default password for mysqli_connect() (doesn't apply in safe mode). +; Note that this is generally a *bad* idea to store passwords in this file. +; *Any* user with PHP access can run 'echo get_cfg_var("mysqli.default_pw") +; and reveal this password! And of course, any users with read access to this +; file will be able to reveal the password as well. +; http://php.net/mysqli.default-pw +mysqli.default_pw = + +; Allow or prevent reconnect +mysqli.reconnect = Off + +[mysqlnd] +; Enable / Disable collection of general statistics by mysqlnd which can be +; used to tune and monitor MySQL operations. +; http://php.net/mysqlnd.collect_statistics +mysqlnd.collect_statistics = On + +; Enable / Disable collection of memory usage statistics by mysqlnd which can be +; used to tune and monitor MySQL operations. +; http://php.net/mysqlnd.collect_memory_statistics +mysqlnd.collect_memory_statistics = Off + +; Records communication from all extensions using mysqlnd to the specified log +; file. +; http://php.net/mysqlnd.debug +;mysqlnd.debug = + +; Defines which queries will be logged. +; http://php.net/mysqlnd.log_mask +;mysqlnd.log_mask = 0 + +; Default size of the mysqlnd memory pool, which is used by result sets. +; http://php.net/mysqlnd.mempool_default_size +;mysqlnd.mempool_default_size = 16000 + +; Size of a pre-allocated buffer used when sending commands to MySQL in bytes. +; http://php.net/mysqlnd.net_cmd_buffer_size +;mysqlnd.net_cmd_buffer_size = 2048 + +; Size of a pre-allocated buffer used for reading data sent by the server in +; bytes. +; http://php.net/mysqlnd.net_read_buffer_size +;mysqlnd.net_read_buffer_size = 32768 + +; Timeout for network requests in seconds. +; http://php.net/mysqlnd.net_read_timeout +;mysqlnd.net_read_timeout = 31536000 + +; SHA-256 Authentication Plugin related. File with the MySQL server public RSA +; key. +; http://php.net/mysqlnd.sha256_server_public_key +;mysqlnd.sha256_server_public_key = + +[OCI8] + +; Connection: Enables privileged connections using external +; credentials (OCI_SYSOPER, OCI_SYSDBA) +; http://php.net/oci8.privileged-connect +;oci8.privileged_connect = Off + +; Connection: The maximum number of persistent OCI8 connections per +; process. Using -1 means no limit. +; http://php.net/oci8.max-persistent +;oci8.max_persistent = -1 + +; Connection: The maximum number of seconds a process is allowed to +; maintain an idle persistent connection. Using -1 means idle +; persistent connections will be maintained forever. +; http://php.net/oci8.persistent-timeout +;oci8.persistent_timeout = -1 + +; Connection: The number of seconds that must pass before issuing a +; ping during oci_pconnect() to check the connection validity. When +; set to 0, each oci_pconnect() will cause a ping. Using -1 disables +; pings completely. +; http://php.net/oci8.ping-interval +;oci8.ping_interval = 60 + +; Connection: Set this to a user chosen connection class to be used +; for all pooled server requests with Oracle 11g Database Resident +; Connection Pooling (DRCP). To use DRCP, this value should be set to +; the same string for all web servers running the same application, +; the database pool must be configured, and the connection string must +; specify to use a pooled server. +;oci8.connection_class = + +; High Availability: Using On lets PHP receive Fast Application +; Notification (FAN) events generated when a database node fails. The +; database must also be configured to post FAN events. +;oci8.events = Off + +; Tuning: This option enables statement caching, and specifies how +; many statements to cache. Using 0 disables statement caching. +; http://php.net/oci8.statement-cache-size +;oci8.statement_cache_size = 20 + +; Tuning: Enables statement prefetching and sets the default number of +; rows that will be fetched automatically after statement execution. +; http://php.net/oci8.default-prefetch +;oci8.default_prefetch = 100 + +; Compatibility. Using On means oci_close() will not close +; oci_connect() and oci_new_connect() connections. +; http://php.net/oci8.old-oci-close-semantics +;oci8.old_oci_close_semantics = Off + +[PostgreSQL] +; Allow or prevent persistent links. +; http://php.net/pgsql.allow-persistent +pgsql.allow_persistent = On + +; Detect broken persistent links always with pg_pconnect(). +; Auto reset feature requires a little overheads. +; http://php.net/pgsql.auto-reset-persistent +pgsql.auto_reset_persistent = Off + +; Maximum number of persistent links. -1 means no limit. +; http://php.net/pgsql.max-persistent +pgsql.max_persistent = -1 + +; Maximum number of links (persistent+non persistent). -1 means no limit. +; http://php.net/pgsql.max-links +pgsql.max_links = -1 + +; Ignore PostgreSQL backends Notice message or not. +; Notice message logging require a little overheads. +; http://php.net/pgsql.ignore-notice +pgsql.ignore_notice = 0 + +; Log PostgreSQL backends Notice message or not. +; Unless pgsql.ignore_notice=0, module cannot log notice message. +; http://php.net/pgsql.log-notice +pgsql.log_notice = 0 + +[bcmath] +; Number of decimal digits for all bcmath functions. +; http://php.net/bcmath.scale +bcmath.scale = 0 + +[browscap] +; http://php.net/browscap +;browscap = extra/browscap.ini + +[Session] +; Handler used to store/retrieve data. +; http://php.net/session.save-handler +session.save_handler = files + +; Argument passed to save_handler. In the case of files, this is the path +; where data files are stored. Note: Windows users have to change this +; variable in order to use PHP's session functions. +; +; The path can be defined as: +; +; session.save_path = "N;/path" +; +; where N is an integer. Instead of storing all the session files in +; /path, what this will do is use subdirectories N-levels deep, and +; store the session data in those directories. This is useful if +; your OS has problems with many files in one directory, and is +; a more efficient layout for servers that handle many sessions. +; +; NOTE 1: PHP will not create this directory structure automatically. +; You can use the script in the ext/session dir for that purpose. +; NOTE 2: See the section on garbage collection below if you choose to +; use subdirectories for session storage +; +; The file storage module creates files using mode 600 by default. +; You can change that by using +; +; session.save_path = "N;MODE;/path" +; +; where MODE is the octal representation of the mode. Note that this +; does not overwrite the process's umask. +; http://php.net/session.save-path +;session.save_path = "/tmp" + +; Whether to use strict session mode. +; Strict session mode does not accept uninitialized session ID and regenerate +; session ID if browser sends uninitialized session ID. Strict mode protects +; applications from session fixation via session adoption vulnerability. It is +; disabled by default for maximum compatibility, but enabling it is encouraged. +; https://wiki.php.net/rfc/strict_sessions +session.use_strict_mode = 0 + +; Whether to use cookies. +; http://php.net/session.use-cookies +session.use_cookies = 1 + +; http://php.net/session.cookie-secure +;session.cookie_secure = + +; This option forces PHP to fetch and use a cookie for storing and maintaining +; the session id. We encourage this operation as it's very helpful in combating +; session hijacking when not specifying and managing your own session id. It is +; not the be-all and end-all of session hijacking defense, but it's a good start. +; http://php.net/session.use-only-cookies +session.use_only_cookies = 1 + +; Name of the session (used as cookie name). +; http://php.net/session.name +session.name = PHPSESSID + +; Initialize session on request startup. +; http://php.net/session.auto-start +session.auto_start = 0 + +; Lifetime in seconds of cookie or, if 0, until browser is restarted. +; http://php.net/session.cookie-lifetime +session.cookie_lifetime = 0 + +; The path for which the cookie is valid. +; http://php.net/session.cookie-path +session.cookie_path = / + +; The domain for which the cookie is valid. +; http://php.net/session.cookie-domain +session.cookie_domain = + +; Whether or not to add the httpOnly flag to the cookie, which makes it inaccessible to browser scripting languages such as JavaScript. +; http://php.net/session.cookie-httponly +session.cookie_httponly = + +; Handler used to serialize data. php is the standard serializer of PHP. +; http://php.net/session.serialize-handler +session.serialize_handler = php + +; Defines the probability that the 'garbage collection' process is started +; on every session initialization. The probability is calculated by using +; gc_probability/gc_divisor. Where session.gc_probability is the numerator +; and gc_divisor is the denominator in the equation. Setting this value to 1 +; when the session.gc_divisor value is 100 will give you approximately a 1% chance +; the gc will run on any give request. +; Default Value: 1 +; Development Value: 1 +; Production Value: 1 +; http://php.net/session.gc-probability +session.gc_probability = 1 + +; Defines the probability that the 'garbage collection' process is started on every +; session initialization. The probability is calculated by using the following equation: +; gc_probability/gc_divisor. Where session.gc_probability is the numerator and +; session.gc_divisor is the denominator in the equation. Setting this value to 1 +; when the session.gc_divisor value is 100 will give you approximately a 1% chance +; the gc will run on any give request. Increasing this value to 1000 will give you +; a 0.1% chance the gc will run on any give request. For high volume production servers, +; this is a more efficient approach. +; Default Value: 100 +; Development Value: 1000 +; Production Value: 1000 +; http://php.net/session.gc-divisor +session.gc_divisor = 1000 + +; After this number of seconds, stored data will be seen as 'garbage' and +; cleaned up by the garbage collection process. +; http://php.net/session.gc-maxlifetime +session.gc_maxlifetime = 1440 + +; NOTE: If you are using the subdirectory option for storing session files +; (see session.save_path above), then garbage collection does *not* +; happen automatically. You will need to do your own garbage +; collection through a shell script, cron entry, or some other method. +; For example, the following script would is the equivalent of +; setting session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes): +; find /path/to/sessions -cmin +24 -type f | xargs rm + +; Check HTTP Referer to invalidate externally stored URLs containing ids. +; HTTP_REFERER has to contain this substring for the session to be +; considered as valid. +; http://php.net/session.referer-check +session.referer_check = + +; Set to {nocache,private,public,} to determine HTTP caching aspects +; or leave this empty to avoid sending anti-caching headers. +; http://php.net/session.cache-limiter +session.cache_limiter = nocache + +; Document expires after n minutes. +; http://php.net/session.cache-expire +session.cache_expire = 180 + +; trans sid support is disabled by default. +; Use of trans sid may risk your users' security. +; Use this option with caution. +; - User may send URL contains active session ID +; to other person via. email/irc/etc. +; - URL that contains active session ID may be stored +; in publicly accessible computer. +; - User may access your site with the same session ID +; always using URL stored in browser's history or bookmarks. +; http://php.net/session.use-trans-sid +session.use_trans_sid = 0 + +; Set session ID character length. This value could be between 22 to 256. +; Shorter length than default is supported only for compatibility reason. +; Users should use 32 or more chars. +; http://php.net/session.sid-length +; Default Value: 32 +; Development Value: 26 +; Production Value: 26 +session.sid_length = 26 + +; The URL rewriter will look for URLs in a defined set of HTML tags. +;
is special; if you include them here, the rewriter will +; add a hidden field with the info which is otherwise appended +; to URLs. tag's action attribute URL will not be modified +; unless it is specified. +; Note that all valid entries require a "=", even if no value follows. +; Default Value: "a=href,area=href,frame=src,form=" +; Development Value: "a=href,area=href,frame=src,form=" +; Production Value: "a=href,area=href,frame=src,form=" +; http://php.net/url-rewriter.tags +session.trans_sid_tags = "a=href,area=href,frame=src,form=" + +; URL rewriter does not rewrite absolute URLs by default. +; To enable rewrites for absolute pathes, target hosts must be specified +; at RUNTIME. i.e. use ini_set() +; tags is special. PHP will check action attribute's URL regardless +; of session.trans_sid_tags setting. +; If no host is defined, HTTP_HOST will be used for allowed host. +; Example value: php.net,www.php.net,wiki.php.net +; Use "," for multiple hosts. No spaces are allowed. +; Default Value: "" +; Development Value: "" +; Production Value: "" +;session.trans_sid_hosts="" + +; Define how many bits are stored in each character when converting +; the binary hash data to something readable. +; Possible values: +; 4 (4 bits: 0-9, a-f) +; 5 (5 bits: 0-9, a-v) +; 6 (6 bits: 0-9, a-z, A-Z, "-", ",") +; Default Value: 4 +; Development Value: 5 +; Production Value: 5 +; http://php.net/session.hash-bits-per-character +session.sid_bits_per_character = 5 + +; Enable upload progress tracking in $_SESSION +; Default Value: On +; Development Value: On +; Production Value: On +; http://php.net/session.upload-progress.enabled +;session.upload_progress.enabled = On + +; Cleanup the progress information as soon as all POST data has been read +; (i.e. upload completed). +; Default Value: On +; Development Value: On +; Production Value: On +; http://php.net/session.upload-progress.cleanup +;session.upload_progress.cleanup = On + +; A prefix used for the upload progress key in $_SESSION +; Default Value: "upload_progress_" +; Development Value: "upload_progress_" +; Production Value: "upload_progress_" +; http://php.net/session.upload-progress.prefix +;session.upload_progress.prefix = "upload_progress_" + +; The index name (concatenated with the prefix) in $_SESSION +; containing the upload progress information +; Default Value: "PHP_SESSION_UPLOAD_PROGRESS" +; Development Value: "PHP_SESSION_UPLOAD_PROGRESS" +; Production Value: "PHP_SESSION_UPLOAD_PROGRESS" +; http://php.net/session.upload-progress.name +;session.upload_progress.name = "PHP_SESSION_UPLOAD_PROGRESS" + +; How frequently the upload progress should be updated. +; Given either in percentages (per-file), or in bytes +; Default Value: "1%" +; Development Value: "1%" +; Production Value: "1%" +; http://php.net/session.upload-progress.freq +;session.upload_progress.freq = "1%" + +; The minimum delay between updates, in seconds +; Default Value: 1 +; Development Value: 1 +; Production Value: 1 +; http://php.net/session.upload-progress.min-freq +;session.upload_progress.min_freq = "1" + +; Only write session data when session data is changed. Enabled by default. +; http://php.net/session.lazy-write +;session.lazy_write = On + +[Assertion] +; Switch whether to compile assertions at all (to have no overhead at run-time) +; -1: Do not compile at all +; 0: Jump over assertion at run-time +; 1: Execute assertions +; Changing from or to a negative value is only possible in php.ini! (For turning assertions on and off at run-time, see assert.active, when zend.assertions = 1) +; Default Value: 1 +; Development Value: 1 +; Production Value: -1 +; http://php.net/zend.assertions +zend.assertions = -1 + +; Assert(expr); active by default. +; http://php.net/assert.active +;assert.active = On + +; Throw an AssertationException on failed assertions +; http://php.net/assert.exception +;assert.exception = On + +; Issue a PHP warning for each failed assertion. (Overridden by assert.exception if active) +; http://php.net/assert.warning +;assert.warning = On + +; Don't bail out by default. +; http://php.net/assert.bail +;assert.bail = Off + +; User-function to be called if an assertion fails. +; http://php.net/assert.callback +;assert.callback = 0 + +; Eval the expression with current error_reporting(). Set to true if you want +; error_reporting(0) around the eval(). +; http://php.net/assert.quiet-eval +;assert.quiet_eval = 0 + +[COM] +; path to a file containing GUIDs, IIDs or filenames of files with TypeLibs +; http://php.net/com.typelib-file +;com.typelib_file = + +; allow Distributed-COM calls +; http://php.net/com.allow-dcom +;com.allow_dcom = true + +; autoregister constants of a components typlib on com_load() +; http://php.net/com.autoregister-typelib +;com.autoregister_typelib = true + +; register constants casesensitive +; http://php.net/com.autoregister-casesensitive +;com.autoregister_casesensitive = false + +; show warnings on duplicate constant registrations +; http://php.net/com.autoregister-verbose +;com.autoregister_verbose = true + +; The default character set code-page to use when passing strings to and from COM objects. +; Default: system ANSI code page +;com.code_page= + +[mbstring] +; language for internal character representation. +; This affects mb_send_mail() and mbstring.detect_order. +; http://php.net/mbstring.language +;mbstring.language = Japanese + +; Use of this INI entry is deprecated, use global internal_encoding instead. +; internal/script encoding. +; Some encoding cannot work as internal encoding. (e.g. SJIS, BIG5, ISO-2022-*) +; If empty, default_charset or internal_encoding or iconv.internal_encoding is used. +; The precedence is: default_charset < internal_encoding < iconv.internal_encoding +;mbstring.internal_encoding = + +; Use of this INI entry is deprecated, use global input_encoding instead. +; http input encoding. +; mbstring.encoding_traslation = On is needed to use this setting. +; If empty, default_charset or input_encoding or mbstring.input is used. +; The precedence is: default_charset < intput_encoding < mbsting.http_input +; http://php.net/mbstring.http-input +;mbstring.http_input = + +; Use of this INI entry is deprecated, use global output_encoding instead. +; http output encoding. +; mb_output_handler must be registered as output buffer to function. +; If empty, default_charset or output_encoding or mbstring.http_output is used. +; The precedence is: default_charset < output_encoding < mbstring.http_output +; To use an output encoding conversion, mbstring's output handler must be set +; otherwise output encoding conversion cannot be performed. +; http://php.net/mbstring.http-output +;mbstring.http_output = + +; enable automatic encoding translation according to +; mbstring.internal_encoding setting. Input chars are +; converted to internal encoding by setting this to On. +; Note: Do _not_ use automatic encoding translation for +; portable libs/applications. +; http://php.net/mbstring.encoding-translation +;mbstring.encoding_translation = Off + +; automatic encoding detection order. +; "auto" detect order is changed according to mbstring.language +; http://php.net/mbstring.detect-order +;mbstring.detect_order = auto + +; substitute_character used when character cannot be converted +; one from another +; http://php.net/mbstring.substitute-character +;mbstring.substitute_character = none + +; overload(replace) single byte functions by mbstring functions. +; mail(), ereg(), etc are overloaded by mb_send_mail(), mb_ereg(), +; etc. Possible values are 0,1,2,4 or combination of them. +; For example, 7 for overload everything. +; 0: No overload +; 1: Overload mail() function +; 2: Overload str*() functions +; 4: Overload ereg*() functions +; http://php.net/mbstring.func-overload +;mbstring.func_overload = 0 + +; enable strict encoding detection. +; Default: Off +;mbstring.strict_detection = On + +; This directive specifies the regex pattern of content types for which mb_output_handler() +; is activated. +; Default: mbstring.http_output_conv_mimetype=^(text/|application/xhtml\+xml) +;mbstring.http_output_conv_mimetype= + +[gd] +; Tell the jpeg decode to ignore warnings and try to create +; a gd image. The warning will then be displayed as notices +; disabled by default +; http://php.net/gd.jpeg-ignore-warning +;gd.jpeg_ignore_warning = 1 + +[exif] +; Exif UNICODE user comments are handled as UCS-2BE/UCS-2LE and JIS as JIS. +; With mbstring support this will automatically be converted into the encoding +; given by corresponding encode setting. When empty mbstring.internal_encoding +; is used. For the decode settings you can distinguish between motorola and +; intel byte order. A decode setting cannot be empty. +; http://php.net/exif.encode-unicode +;exif.encode_unicode = ISO-8859-15 + +; http://php.net/exif.decode-unicode-motorola +;exif.decode_unicode_motorola = UCS-2BE + +; http://php.net/exif.decode-unicode-intel +;exif.decode_unicode_intel = UCS-2LE + +; http://php.net/exif.encode-jis +;exif.encode_jis = + +; http://php.net/exif.decode-jis-motorola +;exif.decode_jis_motorola = JIS + +; http://php.net/exif.decode-jis-intel +;exif.decode_jis_intel = JIS + +[Tidy] +; The path to a default tidy configuration file to use when using tidy +; http://php.net/tidy.default-config +;tidy.default_config = /usr/local/lib/php/default.tcfg + +; Should tidy clean and repair output automatically? +; WARNING: Do not use this option if you are generating non-html content +; such as dynamic images +; http://php.net/tidy.clean-output +tidy.clean_output = Off + +[soap] +; Enables or disables WSDL caching feature. +; http://php.net/soap.wsdl-cache-enabled +soap.wsdl_cache_enabled=1 + +; Sets the directory name where SOAP extension will put cache files. +; http://php.net/soap.wsdl-cache-dir +soap.wsdl_cache_dir="/tmp" + +; (time to live) Sets the number of second while cached file will be used +; instead of original one. +; http://php.net/soap.wsdl-cache-ttl +soap.wsdl_cache_ttl=86400 + +; Sets the size of the cache limit. (Max. number of WSDL files to cache) +soap.wsdl_cache_limit = 5 + +[sysvshm] +; A default size of the shared memory segment +;sysvshm.init_mem = 10000 + +[ldap] +; Sets the maximum number of open links or -1 for unlimited. +ldap.max_links = -1 + +[dba] +;dba.default_handler= + +[opcache] +; Determines if Zend OPCache is enabled +;opcache.enable=1 + +; Determines if Zend OPCache is enabled for the CLI version of PHP +;opcache.enable_cli=0 + +; The OPcache shared memory storage size. +;opcache.memory_consumption=128 + +; The amount of memory for interned strings in Mbytes. +;opcache.interned_strings_buffer=8 + +; The maximum number of keys (scripts) in the OPcache hash table. +; Only numbers between 200 and 1000000 are allowed. +;opcache.max_accelerated_files=10000 + +; The maximum percentage of "wasted" memory until a restart is scheduled. +;opcache.max_wasted_percentage=5 + +; When this directive is enabled, the OPcache appends the current working +; directory to the script key, thus eliminating possible collisions between +; files with the same name (basename). Disabling the directive improves +; performance, but may break existing applications. +;opcache.use_cwd=1 + +; When disabled, you must reset the OPcache manually or restart the +; webserver for changes to the filesystem to take effect. +;opcache.validate_timestamps=1 + +; How often (in seconds) to check file timestamps for changes to the shared +; memory storage allocation. ("1" means validate once per second, but only +; once per request. "0" means always validate) +;opcache.revalidate_freq=2 + +; Enables or disables file search in include_path optimization +;opcache.revalidate_path=0 + +; If disabled, all PHPDoc comments are dropped from the code to reduce the +; size of the optimized code. +;opcache.save_comments=1 + +; Allow file existence override (file_exists, etc.) performance feature. +;opcache.enable_file_override=0 + +; A bitmask, where each bit enables or disables the appropriate OPcache +; passes +;opcache.optimization_level=0xffffffff + +;opcache.inherited_hack=1 +;opcache.dups_fix=0 + +; The location of the OPcache blacklist file (wildcards allowed). +; Each OPcache blacklist file is a text file that holds the names of files +; that should not be accelerated. The file format is to add each filename +; to a new line. The filename may be a full path or just a file prefix +; (i.e., /var/www/x blacklists all the files and directories in /var/www +; that start with 'x'). Line starting with a ; are ignored (comments). +;opcache.blacklist_filename= + +; Allows exclusion of large files from being cached. By default all files +; are cached. +;opcache.max_file_size=0 + +; Check the cache checksum each N requests. +; The default value of "0" means that the checks are disabled. +;opcache.consistency_checks=0 + +; How long to wait (in seconds) for a scheduled restart to begin if the cache +; is not being accessed. +;opcache.force_restart_timeout=180 + +; OPcache error_log file name. Empty string assumes "stderr". +;opcache.error_log= + +; All OPcache errors go to the Web server log. +; By default, only fatal errors (level 0) or errors (level 1) are logged. +; You can also enable warnings (level 2), info messages (level 3) or +; debug messages (level 4). +;opcache.log_verbosity_level=1 + +; Preferred Shared Memory back-end. Leave empty and let the system decide. +;opcache.preferred_memory_model= + +; Protect the shared memory from unexpected writing during script execution. +; Useful for internal debugging only. +;opcache.protect_memory=0 + +; Allows calling OPcache API functions only from PHP scripts which path is +; started from specified string. The default "" means no restriction +;opcache.restrict_api= + +; Mapping base of shared memory segments (for Windows only). All the PHP +; processes have to map shared memory into the same address space. This +; directive allows to manually fix the "Unable to reattach to base address" +; errors. +;opcache.mmap_base= + +; Enables and sets the second level cache directory. +; It should improve performance when SHM memory is full, at server restart or +; SHM reset. The default "" disables file based caching. +;opcache.file_cache= + +; Enables or disables opcode caching in shared memory. +;opcache.file_cache_only=0 + +; Enables or disables checksum validation when script loaded from file cache. +;opcache.file_cache_consistency_checks=1 + +; Implies opcache.file_cache_only=1 for a certain process that failed to +; reattach to the shared memory (for Windows only). Explicitly enabled file +; cache is required. +;opcache.file_cache_fallback=1 + +; Enables or disables copying of PHP code (text segment) into HUGE PAGES. +; This should improve performance, but requires appropriate OS configuration. +;opcache.huge_code_pages=1 + +; Validate cached file permissions. +;opcache.validate_permission=0 + +; Prevent name collisions in chroot'ed environment. +;opcache.validate_root=0 + +; If specified, it produces opcode dumps for debugging different stages of +; optimizations. +;opcache.opt_debug_level=0 + +[curl] +; A default value for the CURLOPT_CAINFO option. This is required to be an +; absolute path. +;curl.cainfo = + +[openssl] +; The location of a Certificate Authority (CA) file on the local filesystem +; to use when verifying the identity of SSL/TLS peers. Most users should +; not specify a value for this directive as PHP will attempt to use the +; OS-managed cert stores in its absence. If specified, this value may still +; be overridden on a per-stream basis via the "cafile" SSL stream context +; option. +;openssl.cafile= + +; If openssl.cafile is not specified or if the CA file is not found, the +; directory pointed to by openssl.capath is searched for a suitable +; certificate. This value must be a correctly hashed certificate directory. +; Most users should not specify a value for this directive as PHP will +; attempt to use the OS-managed cert stores in its absence. If specified, +; this value may still be overridden on a per-stream basis via the "capath" +; SSL stream context option. +;openssl.capath= + +; Local Variables: +; tab-width: 4 +; End: diff --git a/jails/config/rachna/www.conf b/jails/config/rachna/www.conf new file mode 100644 index 0000000..92ff8ff --- /dev/null +++ b/jails/config/rachna/www.conf @@ -0,0 +1,423 @@ +; Start a new pool named 'www'. +; the variable $pool can be used in any directive and will be replaced by the +; pool name ('www' here) +[www] + +; Per pool prefix +; It only applies on the following directives: +; - 'access.log' +; - 'slowlog' +; - 'listen' (unixsocket) +; - 'chroot' +; - 'chdir' +; - 'php_values' +; - 'php_admin_values' +; When not set, the global prefix (or /usr/local) applies instead. +; Note: This directive can also be relative to the global prefix. +; Default Value: none +;prefix = /path/to/pools/$pool + +; Unix user/group of processes +; Note: The user is mandatory. If the group is not set, the default user's group +; will be used. +user = www +group = www + +; The address on which to accept FastCGI requests. +; Valid syntaxes are: +; 'ip.add.re.ss:port' - to listen on a TCP socket to a specific IPv4 address on +; a specific port; +; '[ip:6:addr:ess]:port' - to listen on a TCP socket to a specific IPv6 address on +; a specific port; +; 'port' - to listen on a TCP socket to all addresses +; (IPv6 and IPv4-mapped) on a specific port; +; '/path/to/unix/socket' - to listen on a unix socket. +; Note: This value is mandatory. +listen = 127.0.0.1:9000 + +; Set listen(2) backlog. +; Default Value: 511 (-1 on FreeBSD and OpenBSD) +;listen.backlog = 511 + +; Set permissions for unix socket, if one is used. In Linux, read/write +; permissions must be set in order to allow connections from a web server. Many +; BSD-derived systems allow connections regardless of permissions. +; Default Values: user and group are set as the running user +; mode is set to 0660 +;listen.owner = www +;listen.group = www +;listen.mode = 0660 +; When POSIX Access Control Lists are supported you can set them using +; these options, value is a comma separated list of user/group names. +; When set, listen.owner and listen.group are ignored +;listen.acl_users = +;listen.acl_groups = + +; List of addresses (IPv4/IPv6) of FastCGI clients which are allowed to connect. +; Equivalent to the FCGI_WEB_SERVER_ADDRS environment variable in the original +; PHP FCGI (5.2.2+). Makes sense only with a tcp listening socket. Each address +; must be separated by a comma. If this value is left blank, connections will be +; accepted from any ip address. +; Default Value: any +;listen.allowed_clients = 127.0.0.1 + +; Specify the nice(2) priority to apply to the pool processes (only if set) +; The value can vary from -19 (highest priority) to 20 (lower priority) +; Note: - It will only work if the FPM master process is launched as root +; - The pool processes will inherit the master process priority +; unless it specified otherwise +; Default Value: no set +; process.priority = -19 + +; Set the process dumpable flag (PR_SET_DUMPABLE prctl) even if the process user +; or group is differrent than the master process user. It allows to create process +; core dump and ptrace the process for the pool user. +; Default Value: no +; process.dumpable = yes + +; Choose how the process manager will control the number of child processes. +; Possible Values: +; static - a fixed number (pm.max_children) of child processes; +; dynamic - the number of child processes are set dynamically based on the +; following directives. With this process management, there will be +; always at least 1 children. +; pm.max_children - the maximum number of children that can +; be alive at the same time. +; pm.start_servers - the number of children created on startup. +; pm.min_spare_servers - the minimum number of children in 'idle' +; state (waiting to process). If the number +; of 'idle' processes is less than this +; number then some children will be created. +; pm.max_spare_servers - the maximum number of children in 'idle' +; state (waiting to process). If the number +; of 'idle' processes is greater than this +; number then some children will be killed. +; ondemand - no children are created at startup. Children will be forked when +; new requests will connect. The following parameter are used: +; pm.max_children - the maximum number of children that +; can be alive at the same time. +; pm.process_idle_timeout - The number of seconds after which +; an idle process will be killed. +; Note: This value is mandatory. +pm = dynamic + +; The number of child processes to be created when pm is set to 'static' and the +; maximum number of child processes when pm is set to 'dynamic' or 'ondemand'. +; This value sets the limit on the number of simultaneous requests that will be +; served. Equivalent to the ApacheMaxClients directive with mpm_prefork. +; Equivalent to the PHP_FCGI_CHILDREN environment variable in the original PHP +; CGI. The below defaults are based on a server without much resources. Don't +; forget to tweak pm.* to fit your needs. +; Note: Used when pm is set to 'static', 'dynamic' or 'ondemand' +; Note: This value is mandatory. +pm.max_children = 10 + +; The number of child processes created on startup. +; Note: Used only when pm is set to 'dynamic' +; Default Value: min_spare_servers + (max_spare_servers - min_spare_servers) / 2 +pm.start_servers = 2 + +; The desired minimum number of idle server processes. +; Note: Used only when pm is set to 'dynamic' +; Note: Mandatory when pm is set to 'dynamic' +pm.min_spare_servers = 1 + +; The desired maximum number of idle server processes. +; Note: Used only when pm is set to 'dynamic' +; Note: Mandatory when pm is set to 'dynamic' +pm.max_spare_servers = 3 + +; The number of seconds after which an idle process will be killed. +; Note: Used only when pm is set to 'ondemand' +; Default Value: 10s +;pm.process_idle_timeout = 10s; + +; The number of requests each child process should execute before respawning. +; This can be useful to work around memory leaks in 3rd party libraries. For +; endless request processing specify '0'. Equivalent to PHP_FCGI_MAX_REQUESTS. +; Default Value: 0 +;pm.max_requests = 500 + +; The URI to view the FPM status page. If this value is not set, no URI will be +; recognized as a status page. It shows the following informations: +; pool - the name of the pool; +; process manager - static, dynamic or ondemand; +; start time - the date and time FPM has started; +; start since - number of seconds since FPM has started; +; accepted conn - the number of request accepted by the pool; +; listen queue - the number of request in the queue of pending +; connections (see backlog in listen(2)); +; max listen queue - the maximum number of requests in the queue +; of pending connections since FPM has started; +; listen queue len - the size of the socket queue of pending connections; +; idle processes - the number of idle processes; +; active processes - the number of active processes; +; total processes - the number of idle + active processes; +; max active processes - the maximum number of active processes since FPM +; has started; +; max children reached - number of times, the process limit has been reached, +; when pm tries to start more children (works only for +; pm 'dynamic' and 'ondemand'); +; Value are updated in real time. +; Example output: +; pool: www +; process manager: static +; start time: 01/Jul/2011:17:53:49 +0200 +; start since: 62636 +; accepted conn: 190460 +; listen queue: 0 +; max listen queue: 1 +; listen queue len: 42 +; idle processes: 4 +; active processes: 11 +; total processes: 15 +; max active processes: 12 +; max children reached: 0 +; +; By default the status page output is formatted as text/plain. Passing either +; 'html', 'xml' or 'json' in the query string will return the corresponding +; output syntax. Example: +; http://www.foo.bar/status +; http://www.foo.bar/status?json +; http://www.foo.bar/status?html +; http://www.foo.bar/status?xml +; +; By default the status page only outputs short status. Passing 'full' in the +; query string will also return status for each pool process. +; Example: +; http://www.foo.bar/status?full +; http://www.foo.bar/status?json&full +; http://www.foo.bar/status?html&full +; http://www.foo.bar/status?xml&full +; The Full status returns for each process: +; pid - the PID of the process; +; state - the state of the process (Idle, Running, ...); +; start time - the date and time the process has started; +; start since - the number of seconds since the process has started; +; requests - the number of requests the process has served; +; request duration - the duration in µs of the requests; +; request method - the request method (GET, POST, ...); +; request URI - the request URI with the query string; +; content length - the content length of the request (only with POST); +; user - the user (PHP_AUTH_USER) (or '-' if not set); +; script - the main script called (or '-' if not set); +; last request cpu - the %cpu the last request consumed +; it's always 0 if the process is not in Idle state +; because CPU calculation is done when the request +; processing has terminated; +; last request memory - the max amount of memory the last request consumed +; it's always 0 if the process is not in Idle state +; because memory calculation is done when the request +; processing has terminated; +; If the process is in Idle state, then informations are related to the +; last request the process has served. Otherwise informations are related to +; the current request being served. +; Example output: +; ************************ +; pid: 31330 +; state: Running +; start time: 01/Jul/2011:17:53:49 +0200 +; start since: 63087 +; requests: 12808 +; request duration: 1250261 +; request method: GET +; request URI: /test_mem.php?N=10000 +; content length: 0 +; user: - +; script: /home/fat/web/docs/php/test_mem.php +; last request cpu: 0.00 +; last request memory: 0 +; +; Note: There is a real-time FPM status monitoring sample web page available +; It's available in: /usr/local/share/php/fpm/status.html +; +; Note: The value must start with a leading slash (/). The value can be +; anything, but it may not be a good idea to use the .php extension or it +; may conflict with a real PHP file. +; Default Value: not set +;pm.status_path = /status + +; The ping URI to call the monitoring page of FPM. If this value is not set, no +; URI will be recognized as a ping page. This could be used to test from outside +; that FPM is alive and responding, or to +; - create a graph of FPM availability (rrd or such); +; - remove a server from a group if it is not responding (load balancing); +; - trigger alerts for the operating team (24/7). +; Note: The value must start with a leading slash (/). The value can be +; anything, but it may not be a good idea to use the .php extension or it +; may conflict with a real PHP file. +; Default Value: not set +;ping.path = /ping + +; This directive may be used to customize the response of a ping request. The +; response is formatted as text/plain with a 200 response code. +; Default Value: pong +;ping.response = pong + +; The access log file +; Default: not set +;access.log = log/$pool.access.log + +; The access log format. +; The following syntax is allowed +; %%: the '%' character +; %C: %CPU used by the request +; it can accept the following format: +; - %{user}C for user CPU only +; - %{system}C for system CPU only +; - %{total}C for user + system CPU (default) +; %d: time taken to serve the request +; it can accept the following format: +; - %{seconds}d (default) +; - %{miliseconds}d +; - %{mili}d +; - %{microseconds}d +; - %{micro}d +; %e: an environment variable (same as $_ENV or $_SERVER) +; it must be associated with embraces to specify the name of the env +; variable. Some exemples: +; - server specifics like: %{REQUEST_METHOD}e or %{SERVER_PROTOCOL}e +; - HTTP headers like: %{HTTP_HOST}e or %{HTTP_USER_AGENT}e +; %f: script filename +; %l: content-length of the request (for POST request only) +; %m: request method +; %M: peak of memory allocated by PHP +; it can accept the following format: +; - %{bytes}M (default) +; - %{kilobytes}M +; - %{kilo}M +; - %{megabytes}M +; - %{mega}M +; %n: pool name +; %o: output header +; it must be associated with embraces to specify the name of the header: +; - %{Content-Type}o +; - %{X-Powered-By}o +; - %{Transfert-Encoding}o +; - .... +; %p: PID of the child that serviced the request +; %P: PID of the parent of the child that serviced the request +; %q: the query string +; %Q: the '?' character if query string exists +; %r: the request URI (without the query string, see %q and %Q) +; %R: remote IP address +; %s: status (response code) +; %t: server time the request was received +; it can accept a strftime(3) format: +; %d/%b/%Y:%H:%M:%S %z (default) +; The strftime(3) format must be encapsuled in a %{}t tag +; e.g. for a ISO8601 formatted timestring, use: %{%Y-%m-%dT%H:%M:%S%z}t +; %T: time the log has been written (the request has finished) +; it can accept a strftime(3) format: +; %d/%b/%Y:%H:%M:%S %z (default) +; The strftime(3) format must be encapsuled in a %{}t tag +; e.g. for a ISO8601 formatted timestring, use: %{%Y-%m-%dT%H:%M:%S%z}t +; %u: remote user +; +; Default: "%R - %u %t \"%m %r\" %s" +;access.format = "%R - %u %t \"%m %r%Q%q\" %s %f %{mili}d %{kilo}M %C%%" + +; The log file for slow requests +; Default Value: not set +; Note: slowlog is mandatory if request_slowlog_timeout is set +;slowlog = log/$pool.log.slow + +; The timeout for serving a single request after which a PHP backtrace will be +; dumped to the 'slowlog' file. A value of '0s' means 'off'. +; Available units: s(econds)(default), m(inutes), h(ours), or d(ays) +; Default Value: 0 +;request_slowlog_timeout = 0 + +; Depth of slow log stack trace. +; Default Value: 20 +;request_slowlog_trace_depth = 20 + +; The timeout for serving a single request after which the worker process will +; be killed. This option should be used when the 'max_execution_time' ini option +; does not stop script execution for some reason. A value of '0' means 'off'. +; Available units: s(econds)(default), m(inutes), h(ours), or d(ays) +; Default Value: 0 +;request_terminate_timeout = 0 + +; Set open file descriptor rlimit. +; Default Value: system defined value +;rlimit_files = 1024 + +; Set max core size rlimit. +; Possible Values: 'unlimited' or an integer greater or equal to 0 +; Default Value: system defined value +;rlimit_core = 0 + +; Chroot to this directory at the start. This value must be defined as an +; absolute path. When this value is not set, chroot is not used. +; Note: you can prefix with '$prefix' to chroot to the pool prefix or one +; of its subdirectories. If the pool prefix is not set, the global prefix +; will be used instead. +; Note: chrooting is a great security feature and should be used whenever +; possible. However, all PHP paths will be relative to the chroot +; (error_log, sessions.save_path, ...). +; Default Value: not set +;chroot = + +; Chdir to this directory at the start. +; Note: relative path can be used. +; Default Value: current directory or / when chroot +;chdir = /var/www + +; Redirect worker stdout and stderr into main error log. If not set, stdout and +; stderr will be redirected to /dev/null according to FastCGI specs. +; Note: on highloaded environement, this can cause some delay in the page +; process time (several ms). +; Default Value: no +;catch_workers_output = yes + +; Clear environment in FPM workers +; Prevents arbitrary environment variables from reaching FPM worker processes +; by clearing the environment in workers before env vars specified in this +; pool configuration are added. +; Setting to "no" will make all environment variables available to PHP code +; via getenv(), $_ENV and $_SERVER. +; Default Value: yes +;clear_env = no + +; Limits the extensions of the main script FPM will allow to parse. This can +; prevent configuration mistakes on the web server side. You should only limit +; FPM to .php extensions to prevent malicious users to use other extensions to +; execute php code. +; Note: set an empty value to allow all extensions. +; Default Value: .php +;security.limit_extensions = .php .php3 .php4 .php5 .php7 + +; Pass environment variables like LD_LIBRARY_PATH. All $VARIABLEs are taken from +; the current environment. +; Default Value: clean env +env[HOSTNAME] = $HOSTNAME +env[PATH] = /usr/local/bin:/usr/bin:/bin +env[TMP] = /tmp +env[TMPDIR] = /tmp +env[TEMP] = /tmp + +; Additional php.ini defines, specific to this pool of workers. These settings +; overwrite the values previously defined in the php.ini. The directives are the +; same as the PHP SAPI: +; php_value/php_flag - you can set classic ini defines which can +; be overwritten from PHP call 'ini_set'. +; php_admin_value/php_admin_flag - these directives won't be overwritten by +; PHP call 'ini_set' +; For php_*flag, valid values are on, off, 1, 0, true, false, yes or no. + +; Defining 'extension' will load the corresponding shared extension from +; extension_dir. Defining 'disable_functions' or 'disable_classes' will not +; overwrite previously defined php.ini values, but will append the new value +; instead. + +; Note: path INI options can be relative and will be expanded with the prefix +; (pool, global or /usr/local) + +; Default Value: nothing is defined by default except the values in php.ini and +; specified at startup with the -d argument +;php_admin_value[sendmail_path] = /usr/sbin/sendmail -t -i -f www@my.domain.com +;php_flag[display_errors] = off +;php_admin_value[error_log] = /var/log/fpm-php.www.log +;php_admin_flag[log_errors] = on +;php_admin_value[memory_limit] = 32M diff --git a/jails/config/rishabh/httpd.conf b/jails/config/rishabh/httpd.conf index 9033315..daed8fc 100644 --- a/jails/config/rishabh/httpd.conf +++ b/jails/config/rishabh/httpd.conf @@ -577,7 +577,7 @@ Include etc/apache24/Includes/*.conf RewriteRule .* - [e=HTTP_AUTHORIZATION:%1] - SetHandler "proxy:fcgi://localhost:9000" + SetHandler "proxy:fcgi://127.0.0.1:9000" SSLOptions +StdEnvVars diff --git a/jails/config/sharad/httpd.conf b/jails/config/sharad/httpd.conf index bf537ae..56371d2 100644 --- a/jails/config/sharad/httpd.conf +++ b/jails/config/sharad/httpd.conf @@ -577,7 +577,7 @@ Include etc/apache24/Includes/*.conf RewriteRule .* - [e=HTTP_AUTHORIZATION:%1] - SetHandler "proxy:fcgi://localhost:9000" + SetHandler "proxy:fcgi://127.0.0.1:9000" SSLOptions +StdEnvVars diff --git a/jails/config/test/devfs_rules b/jails/config/vpngw/devfs_rules similarity index 100% rename from jails/config/test/devfs_rules rename to jails/config/vpngw/devfs_rules diff --git a/jails/config/test/devfs_rules.raw b/jails/config/vpngw/devfs_rules.raw similarity index 100% rename from jails/config/test/devfs_rules.raw rename to jails/config/vpngw/devfs_rules.raw diff --git a/jails/config/test/devfs_rules.txt b/jails/config/vpngw/devfs_rules.txt similarity index 100% rename from jails/config/test/devfs_rules.txt rename to jails/config/vpngw/devfs_rules.txt diff --git a/jails/config/vpngw/ipfw.rules b/jails/config/vpngw/ipfw.rules new file mode 100755 index 0000000..2038eca --- /dev/null +++ b/jails/config/vpngw/ipfw.rules @@ -0,0 +1,131 @@ +#!/bin/sh + +# https://www.freebsd.org/doc/handbook/firewalls-ipfw.html +# ipfw -vated list + +# IPFW configuration +#sysrc firewall_enable="YES" +#sysrc firewall_logif="YES" +#sysrc firewall_script="/mnt/config/ipfw.rules" + +# NATd configuration +#sysrc gateway_enable="YES" +#sysrc natd_enable="YES" +#sysrc natd_interface="tun0" +#sysrc natd_flags="-f /mnt/config/natd.conf" +#natd.conf: redirect_port tcp 192.168.0.9:80 80 + +# Set rules command prefix +cmd="ipfw -q add" +lif="epair0b" # interface name of VNET attached to Local network +rif="tun0" # interface name of Tunnel attached to Remote network +skip="skipto 12000" + +# Flush out the list before we begin. +ipfw -q -f flush + +# gateway_enable already set in rc.conf +# sysctl net.inet.ip.forwarding=1 + +# Packets passing the stateful NAT may be re-injected into the firewall +# sysctl net.inet.ip.fw.one_pass=0 +ipfw disable one_pass + +# functionality is included in the divert action +#ipfw -q nat 1 config if $rif same_ports unreg_only reset + +$cmd 00050 allow ip from any to any via $lif + +$cmd 00100 allow ip from any to any via lo0 + +$cmd 00200 deny ip from any to 127.0.0.0/8 +$cmd 00300 deny ip from 127.0.0.0/8 to any +$cmd 00400 deny ip from any to ::1 +$cmd 00500 deny ip from ::1 to any + +$cmd 00600 allow ipv6-icmp from :: to ff02::/16 +$cmd 00700 allow ipv6-icmp from fe80::/10 to fe80::/10 +$cmd 00800 allow ipv6-icmp from fe80::/10 to ff02::/16 +$cmd 00900 allow ipv6-icmp from any to any icmp6types 1 +$cmd 01000 allow ipv6-icmp from any to any icmp6types 2,135,136 + +# The reassemble rule is not needed with userland natd(8) +# because the internal workings of the IPFW divert action +# takes care of reassembling packets before delivery to the socket +#$cmd 01100 reass all from any to any in + +$cmd 01200 divert natd ip from any to any in via $rif # NAT any inbound packets + +# Allow the packet through if it has an existing entry in the dynamic rules table +$cmd 01300 check-state + +# Allow access to DNS +#$cmd 02110 $skip tcp from any to 192.168.0.5 53 out via $rif setup keep-state +#$cmd 02111 $skip udp from any to 192.168.0.5 53 out via $rif keep-state +#$cmd 02112 $skip tcp from any to 2603:3024:3f6:e1::5 53 out via $rif setup keep-state +#$cmd 02113 $skip udp from any to 2603:3024:3f6:e1::5 53 out via $rif keep-state + +# Allow access to ISP's DHCP server for cable/DSL configurations. +# Use the first rule and check log for IP address. +# Then, uncomment the second rule, input the IP address, and delete the first rule +#$cmd 02120 $skip log udp from any to any 67 out via $rif keep-state +#$cmd 02120 $skip udp from any to x.x.x.x 67 out via $rif keep-state + +# Allow outbound ping +$cmd 02210 $skip icmp from any to any out via $rif keep-state + +# Allow outbound NTP +#$cmd 02220 $skip udp from any to any 123 out via $rif keep-state + +# Allow outbound TCP traffic +$cmd 02500 $skip tcp from any to any 22,80,443,2024,3389,5904 out via $rif setup keep-state + +# deny and log all other outbound connections +$cmd 02999 deny log all from any to any out via $rif + +#### Lockdown incoming traffic +# Deny all inbound traffic from non-routable reserved address spaces +#$cmd 03110 deny all from 192.168.0.0/16 to any in via $rif #RFC 1918 private IP +#$cmd 03111 deny all from 172.16.0.0/12 to any in via $rif #RFC 1918 private IP +#$cmd 03112 deny all from 10.0.0.0/8 to any in via $rif #RFC 1918 private IP +$cmd 03113 deny all from 127.0.0.0/8 to any in via $rif #loopback +$cmd 03114 deny all from 0.0.0.0/8 to any in via $rif #loopback +$cmd 03115 deny all from 169.254.0.0/16 to any in via $rif #DHCP auto-config +$cmd 03116 deny all from 192.0.2.0/24 to any in via $rif #reserved for docs +$cmd 03117 deny all from 204.152.64.0/23 to any in via $rif #Sun cluster interconnect +$cmd 03118 deny all from 224.0.0.0/3 to any in via $rif #Class D & E multicast + +# Allow traffic from ISP's DHCP server. +# Replace x.x.x.x with the same IP address used in rule 02120. +#$cmd 03120 allow udp from any to x.x.x.x 67 in via $rif keep-state + +# Deny public pings +#$cmd 03210 deny icmp from any to any in via $rif + +# Deny ident +$cmd 03230 deny tcp from any to any 113 in via $rif + +# Deny all Netbios services. +$cmd 03240 deny { tcp or udp } from any to any 81,137-139,445,1026,1027,1433,1434 in via $rif + +# Deny fragments +$cmd 03250 deny all from any to any frag in via $rif + +# Deny ACK packets that did not match the dynamic rule table +$cmd 03500 deny tcp from any to any established in via $rif + +# Allow inbound SSH connections +#$cmd 03610 allow tcp from any to me 22 in via $rif setup limit src-addr 2 + +# Allow HTTP connections to internal web server +#$cmd 03620 allow tcp from any to me 80 in via $rif setup limit src-addr 2 + +# Reject and log all other incoming connections +$cmd 03999 deny log all from any to any in via $rif +#### lockdown in + +$cmd 12000 divert natd ip from any to any out via $rif # skipto location for outbound stateful rules + +$cmd 65000 allow ip from any to any + +#$cmd 65535 deny ip from any to any diff --git a/jails/config/vpngw/natd.conf b/jails/config/vpngw/natd.conf new file mode 100644 index 0000000..59d5833 --- /dev/null +++ b/jails/config/vpngw/natd.conf @@ -0,0 +1 @@ +redirect_port tcp 192.168.0.9:80 80 diff --git a/jails/config/web-diyit/httpd.conf b/jails/config/web-diyit/httpd.conf index 707f177..54cfe4a 100644 --- a/jails/config/web-diyit/httpd.conf +++ b/jails/config/web-diyit/httpd.conf @@ -583,7 +583,7 @@ Include etc/apache24/Includes/*.conf RewriteRule .* - [e=HTTP_AUTHORIZATION:%1] - SetHandler "proxy:fcgi://localhost:9000" + SetHandler "proxy:fcgi://127.0.0.1:9000" SSLOptions +StdEnvVars diff --git a/jails/config/web/httpd.conf b/jails/config/web/httpd.conf index c3b0072..cee78e5 100644 --- a/jails/config/web/httpd.conf +++ b/jails/config/web/httpd.conf @@ -579,7 +579,7 @@ Include etc/apache24/Includes/*.conf RewriteRule .* - [e=HTTP_AUTHORIZATION:%1] - SetHandler "proxy:fcgi://localhost:9000" + SetHandler "proxy:fcgi://127.0.0.1:9000" SSLOptions +StdEnvVars diff --git a/jails/create.sh b/jails/create.sh index d6ecb54..9526726 100755 --- a/jails/create.sh +++ b/jails/create.sh @@ -1,3 +1,5 @@ +#!/usr/local/bin/bash + # Copyright (c) 2018-2020, diyIT.org # All rights reserved. # @@ -6,8 +8,6 @@ # # -#!/usr/local/bin/bash - JAIL=$1 JAILHOSTNAME=$2 JAILDOMAIN=$3 @@ -171,5 +171,5 @@ iocage exec $JAIL "pkg clean -y" # iocage fstab -r $JAIL /root/FreeBSD/jails/config/common /mnt/common nullfs ro 0 0 # iocage exec $JAIL "rmdir /mnt/common" -iocage exec $JAIL "echo 'Subject: created new jail: $JAIL / $JAILIP / $JAILHOSTNAME / $JAILDOMAIN / $JAILUSER / $JAILUSERID / $JAILUSERVNC' | sendmail -v jail-root@$JAILDOMAIN" +iocage exec $JAIL "echo 'Subject: created new jail: $JAIL with $JAILIP / $JAILHOSTNAME / $JAILDOMAIN / $JAILUSER / $JAILUSERID / $JAILUSERVNC' | sendmail -v -t jail-root@$JAILDOMAIN" # reverse dns should already be configured for the mail server to accept this email diff --git a/jails/jails-restore-httpd.sh b/jails/jails-restore-httpd.sh index 375b767..5301aa2 100755 --- a/jails/jails-restore-httpd.sh +++ b/jails/jails-restore-httpd.sh @@ -1,3 +1,5 @@ +#!/usr/local/bin/bash + # Copyright (c) 2018-2020, diyIT.org # All rights reserved. # @@ -6,9 +8,7 @@ # # -#!/usr/local/bin/bash - -web_jails=(cloud hub nivi rishabh sharad web web-diyit ldap-mgr r-ldap-mgr monitor) +web_jails=(cloud hub nivi rachna rishabh sharad web web-diyit ldap-mgr r-ldap-mgr monitor) for i in ${web_jails[@]}; do @@ -27,7 +27,8 @@ for i in ${web_jails[@]}; do echo "restoring httpd.conf in web_jail $i after Apache update" iocage exec $i "cp /mnt/config/httpd.conf /usr/local/etc/apache24/httpd.conf" - iocage exec $i "service apache24 reload" + iocage exec $i "service apache24 restart" done -echo "check if php.ini or php-fpm need to be restored" +echo "check in output above if php.ini or php-fpm need to be restored" +echo "check pkgp jail nginx instance is running" diff --git a/jails/jails-update-cert.sh b/jails/jails-update-cert.sh index 90c54f2..c387d10 100755 --- a/jails/jails-update-cert.sh +++ b/jails/jails-update-cert.sh @@ -1,3 +1,5 @@ +#!/usr/local/bin/bash + # Copyright (c) 2018-2020, diyIT.org # All rights reserved. # @@ -6,9 +8,7 @@ # # -#!/bin/bash - -web_jails=(cloud hub nivi rishabh sharad web web-diyit ldap-mgr r-ldap-mgr monitor) +web_jails=(cloud hub nivi rachna rishabh sharad web web-diyit ldap-mgr r-ldap-mgr monitor) for i in ${web_jails[@]}; do @@ -40,7 +40,7 @@ iocage exec monitor "service elasticsearch restart" iocage exec monitor "service kibana restart" #iocage exec monitor "service logstash restart" -iocage exec monitor "ps axww | grep logstash | cut -f1 -d" " | xargs -n 1 kill -9 " +iocage exec monitor 'ps axww | grep logstash | cut -f1 -d" " | xargs -n 1 kill -9 ' iocage exec monitor "/root/start_logstash.sh" iocage exec monitor "service heartbeat restart" diff --git a/jails/jails-update-pkgs.sh b/jails/jails-update-pkgs.sh index e284b48..9491467 100755 --- a/jails/jails-update-pkgs.sh +++ b/jails/jails-update-pkgs.sh @@ -1,3 +1,5 @@ +#!/usr/local/bin/bash + # Copyright (c) 2018-2020, diyIT.org # All rights reserved. # @@ -6,53 +8,65 @@ # # -#!/bin/bash - pkg_jail="pj121" +pkg_repo="pkgp121" -#<<'COMMENT-SKIP-PKG-BUILD' -iocage exec pkgp "pkg update -f" -iocage exec pkgp "pkg upgrade -y" -iocage exec pkgp "pkg clean -ay" +if [[ $1 == "pkgp-skip" ]]; then -iocage set securelevel=0 pkgp -iocage exec pkgp "poudriere jail -l" -iocage exec pkgp "poudriere jail -u -j $pkg_jail" -iocage set securelevel=2 pkgp + echo "skipping pkgp update" -iocage exec pkgp "portsnap auto" +else -iocage exec pkgp "poudriere ports -l" -iocage exec pkgp "poudriere ports -u" -iocage exec pkgp "poudriere bulk -f /mnt/config/mypkgs -j $pkg_jail" -#COMMENT-SKIP-PKG-BUILD + #<<'UNCOMMENT-TO-SKIP-PKG-BUILD' + iocage exec pkgp "pkg update" + iocage exec pkgp "pkg upgrade -y" + iocage exec pkgp "pkg clean -ay" -cd /mnt/ship/ldap/phpLDAPadmin -pwd -git pull -cd /mnt/ship/r-ldap/phpLDAPadmin -pwd -git pull -cd /mnt/ship/book/calibre-web -pwd -git pull -cd /mnt/ship/plex/PlexConnect -pwd -git pull -cd /mnt/ship/maps/networkmaps -pwd -git pull + iocage set securelevel=0 pkgp + iocage exec pkgp "poudriere jail -l" + iocage exec pkgp "poudriere jail -u -j $pkg_jail" + iocage set securelevel=2 pkgp + + iocage exec pkgp "portsnap auto" + + iocage exec pkgp "poudriere ports -l" + iocage exec pkgp "poudriere ports -u" + iocage exec pkgp "poudriere bulk -f /mnt/config/mypkgs -j $pkg_jail" + #UNCOMMENT-TO-SKIP-PKG-BUILD + + cd /mnt/ship/ldap/phpLDAPadmin + pwd + git pull + + cd /mnt/ship/r-ldap/phpLDAPadmin + pwd + git pull + + cd /mnt/ship/book/calibre-web + pwd + git pull + + cd /mnt/ship/plex/PlexConnect + pwd + git pull + + cd /mnt/ship/maps/networkmaps + pwd + git pull + +fi + +if [[ $1 == "pkgp-only" ]]; then + exit +fi #read -p "Return/Enter to continue, ctrl-c to abort? " RESP -web_jails=(cloud hub nivi rishabh sharad web web-diyit ldap-mgr r-ldap-mgr monitor) -pkg_repo="pkgp121" - for i in `iocage list -h | cut -f 2`; do echo "## $i JAIL ##" - iocage exec $i "pkg update -f" + iocage exec $i "pkg update" if [[ "$i" == "ldap" || "$i" == "r-ldap" ]]; then iocage exec $i "pkg unlock -y openldap-sasl-server" @@ -79,7 +93,8 @@ done echo "NOTES:" -echo "pkg update -f" +echo "update base system by running:" +echo "pkg update" echo "pkg autoremove -y" echo "pkg upgrade -y" echo "pkg clean -ay" diff --git a/jails/update.sh b/jails/update.sh index 54f9395..1925f3f 100755 --- a/jails/update.sh +++ b/jails/update.sh @@ -1,3 +1,5 @@ +#!/usr/local/bin/bash + # Copyright (c) 2018-2020, diyIT.org # All rights reserved. # @@ -6,8 +8,6 @@ # # -#!/usr/local/bin/bash - update_jail () { echo "######## ## JAIL:::: $JAIL ##" @@ -47,7 +47,7 @@ if [ ! -z $RESP ] && [ $RESP == "y" ]; then update_jail fi -./jails-update-pkgs.sh +./jails-update-pkgs.sh pkgp-only read -p "update all jails (y/N)? " RESP if [ ! -z $RESP ] && [ $RESP == "y" ]; then @@ -63,5 +63,7 @@ fi echo "update base system by running:" echo "freebsd-update fetch" echo "freebsd-update install" +echo "cd /usr/src && make -j8 buildkernel KERNCONF=diyIT && make -j8 installkernel KERNCONF=diyIT" +echo "reboot" echo "pkg-static upgrade -f" echo "mergemaster" diff --git a/patches/D24250.patch b/patches/D24250.patch new file mode 100644 index 0000000..9244867 --- /dev/null +++ b/patches/D24250.patch @@ -0,0 +1,804 @@ +Index: head/sys/net/if_bridge.c +=================================================================== +--- head/sys/net/if_bridge.c ++++ head/sys/net/if_bridge.c +@@ -189,41 +189,14 @@ + */ + #define BRIDGE_LOCK_INIT(_sc) do { \ + mtx_init(&(_sc)->sc_mtx, "if_bridge", NULL, MTX_DEF); \ +- cv_init(&(_sc)->sc_cv, "if_bridge_cv"); \ + } while (0) + #define BRIDGE_LOCK_DESTROY(_sc) do { \ + mtx_destroy(&(_sc)->sc_mtx); \ +- cv_destroy(&(_sc)->sc_cv); \ + } while (0) + #define BRIDGE_LOCK(_sc) mtx_lock(&(_sc)->sc_mtx) + #define BRIDGE_UNLOCK(_sc) mtx_unlock(&(_sc)->sc_mtx) + #define BRIDGE_LOCK_ASSERT(_sc) mtx_assert(&(_sc)->sc_mtx, MA_OWNED) + #define BRIDGE_UNLOCK_ASSERT(_sc) mtx_assert(&(_sc)->sc_mtx, MA_NOTOWNED) +-#define BRIDGE_LOCK2REF(_sc, _err) do { \ +- mtx_assert(&(_sc)->sc_mtx, MA_OWNED); \ +- if ((_sc)->sc_iflist_xcnt > 0) \ +- (_err) = EBUSY; \ +- else \ +- (_sc)->sc_iflist_ref++; \ +- mtx_unlock(&(_sc)->sc_mtx); \ +-} while (0) +-#define BRIDGE_UNREF(_sc) do { \ +- mtx_lock(&(_sc)->sc_mtx); \ +- (_sc)->sc_iflist_ref--; \ +- if (((_sc)->sc_iflist_xcnt > 0) && ((_sc)->sc_iflist_ref == 0)) \ +- cv_broadcast(&(_sc)->sc_cv); \ +- mtx_unlock(&(_sc)->sc_mtx); \ +-} while (0) +-#define BRIDGE_XLOCK(_sc) do { \ +- mtx_assert(&(_sc)->sc_mtx, MA_OWNED); \ +- (_sc)->sc_iflist_xcnt++; \ +- while ((_sc)->sc_iflist_ref > 0) \ +- cv_wait(&(_sc)->sc_cv, &(_sc)->sc_mtx); \ +-} while (0) +-#define BRIDGE_XDROP(_sc) do { \ +- mtx_assert(&(_sc)->sc_mtx, MA_OWNED); \ +- (_sc)->sc_iflist_xcnt--; \ +-} while (0) + + /* + * Bridge interface list entry. +@@ -237,6 +210,7 @@ + uint32_t bif_addrmax; /* max # of addresses */ + uint32_t bif_addrcnt; /* cur. # of addresses */ + uint32_t bif_addrexceeded;/* # of address violations */ ++ struct epoch_context bif_epoch_ctx; + }; + + /* +@@ -250,6 +224,8 @@ + uint8_t brt_flags; /* address flags */ + uint8_t brt_addr[ETHER_ADDR_LEN]; + uint16_t brt_vlan; /* vlan id */ ++ struct vnet *brt_vnet; ++ struct epoch_context brt_epoch_ctx; + }; + #define brt_ifp brt_dst->bif_ifp + +@@ -260,13 +236,10 @@ + struct ifnet *sc_ifp; /* make this an interface */ + LIST_ENTRY(bridge_softc) sc_list; + struct mtx sc_mtx; +- struct cv sc_cv; + uint32_t sc_brtmax; /* max # of addresses */ + uint32_t sc_brtcnt; /* cur. # of addresses */ + uint32_t sc_brttimeout; /* rt timeout in seconds */ + struct callout sc_brcallout; /* bridge callout */ +- uint32_t sc_iflist_ref; /* refcount for sc_iflist */ +- uint32_t sc_iflist_xcnt; /* refcount for sc_iflist */ + CK_LIST_HEAD(, bridge_iflist) sc_iflist; /* member interface list */ + CK_LIST_HEAD(, bridge_rtnode) *sc_rthash; /* our forwarding table */ + CK_LIST_HEAD(, bridge_rtnode) sc_rtlist; /* list version of above */ +@@ -276,6 +249,7 @@ + uint32_t sc_brtexceeded; /* # of cache drops */ + struct ifnet *sc_ifaddr; /* member mac copied from */ + struct ether_addr sc_defaddr; /* Default MAC address */ ++ struct epoch_context sc_epoch_ctx; + }; + + VNET_DEFINE_STATIC(struct mtx, bridge_list_mtx); +@@ -596,6 +570,10 @@ + if_clone_detach(V_bridge_cloner); + V_bridge_cloner = NULL; + BRIDGE_LIST_LOCK_DESTROY(); ++ ++ /* Callbacks may use the UMA zone. */ ++ epoch_drain_callbacks(net_epoch_preempt); ++ + uma_zdestroy(V_bridge_rtnode_zone); + } + VNET_SYSUNINIT(vnet_bridge_uninit, SI_SUB_PSEUDO, SI_ORDER_ANY, +@@ -722,6 +700,17 @@ + return (0); + } + ++static void ++bridge_clone_destroy_cb(struct epoch_context *ctx) ++{ ++ struct bridge_softc *sc; ++ ++ sc = __containerof(ctx, struct bridge_softc, sc_epoch_ctx); ++ ++ BRIDGE_LOCK_DESTROY(sc); ++ free(sc, M_DEVBUF); ++} ++ + /* + * bridge_clone_destroy: + * +@@ -732,7 +721,9 @@ + { + struct bridge_softc *sc = ifp->if_softc; + struct bridge_iflist *bif; ++ struct epoch_tracker et; + ++ NET_EPOCH_ENTER(et); + BRIDGE_LOCK(sc); + + bridge_stop(ifp, 1); +@@ -757,11 +748,12 @@ + BRIDGE_LIST_UNLOCK(); + + bstp_detach(&sc->sc_stp); ++ NET_EPOCH_EXIT(et); ++ + ether_ifdetach(ifp); + if_free(ifp); + +- BRIDGE_LOCK_DESTROY(sc); +- free(sc, M_DEVBUF); ++ NET_EPOCH_CALL(bridge_clone_destroy_cb, &sc->sc_epoch_ctx); + } + + /* +@@ -787,7 +779,10 @@ + struct ifdrv *ifd = (struct ifdrv *) data; + const struct bridge_control *bc; + int error = 0, oldmtu; ++ struct epoch_tracker et; + ++ NET_EPOCH_ENTER(et); ++ + switch (cmd) { + + case SIOCADDMULTI: +@@ -908,6 +903,8 @@ + break; + } + ++ NET_EPOCH_EXIT(et); ++ + return (error); + } + +@@ -922,6 +919,8 @@ + struct bridge_iflist *bif; + int enabled, mask; + ++ BRIDGE_LOCK_ASSERT(sc); ++ + /* Initial bitmask of capabilities to test */ + mask = BRIDGE_IFCAPS_MASK; + +@@ -930,7 +929,6 @@ + mask &= bif->bif_savedcaps; + } + +- BRIDGE_XLOCK(sc); + CK_LIST_FOREACH(bif, &sc->sc_iflist, bif_next) { + enabled = bif->bif_ifp->if_capenable; + enabled &= ~BRIDGE_IFCAPS_STRIP; +@@ -941,8 +939,6 @@ + bridge_set_ifcap(sc, bif, enabled); + BRIDGE_LOCK(sc); + } +- BRIDGE_XDROP(sc); +- + } + + static void +@@ -983,7 +979,7 @@ + struct bridge_iflist *bif; + struct ifnet *ifp; + +- BRIDGE_LOCK_ASSERT(sc); ++ NET_EPOCH_ASSERT(); + + CK_LIST_FOREACH(bif, &sc->sc_iflist, bif_next) { + ifp = bif->bif_ifp; +@@ -1004,7 +1000,7 @@ + { + struct bridge_iflist *bif; + +- BRIDGE_LOCK_ASSERT(sc); ++ NET_EPOCH_ASSERT(); + + CK_LIST_FOREACH(bif, &sc->sc_iflist, bif_next) { + if (bif->bif_ifp == member_ifp) +@@ -1014,6 +1010,16 @@ + return (NULL); + } + ++static void ++bridge_delete_member_cb(struct epoch_context *ctx) ++{ ++ struct bridge_iflist *bif; ++ ++ bif = __containerof(ctx, struct bridge_iflist, bif_epoch_ctx); ++ ++ free(bif, M_DEVBUF); ++} ++ + /* + * bridge_delete_member: + * +@@ -1033,9 +1039,7 @@ + bstp_disable(&bif->bif_stp); + + ifs->if_bridge = NULL; +- BRIDGE_XLOCK(sc); + CK_LIST_REMOVE(bif, bif_next); +- BRIDGE_XDROP(sc); + + /* + * If removing the interface that gave the bridge its mac address, set +@@ -1094,7 +1098,8 @@ + } + bstp_destroy(&bif->bif_stp); /* prepare to free */ + BRIDGE_LOCK(sc); +- free(bif, M_DEVBUF); ++ ++ NET_EPOCH_CALL(bridge_delete_member_cb, &bif->bif_epoch_ctx); + } + + /* +@@ -1111,7 +1116,8 @@ + ("%s: not a span interface", __func__)); + + CK_LIST_REMOVE(bif, bif_next); +- free(bif, M_DEVBUF); ++ ++ NET_EPOCH_CALL(bridge_delete_member_cb, &bif->bif_epoch_ctx); + } + + static int +@@ -1167,7 +1173,6 @@ + * If any, remove all inet6 addresses from the member + * interfaces. + */ +- BRIDGE_XLOCK(sc); + CK_LIST_FOREACH(bif, &sc->sc_iflist, bif_next) { + if (in6ifa_llaonifp(bif->bif_ifp)) { + BRIDGE_UNLOCK(sc); +@@ -1180,7 +1185,6 @@ + bif->bif_ifp->if_xname); + } + } +- BRIDGE_XDROP(sc); + if (in6ifa_llaonifp(ifs)) { + BRIDGE_UNLOCK(sc); + in6_ifdetach(ifs); +@@ -1494,12 +1498,17 @@ + struct bridge_iflist *bif; + int error; + ++ NET_EPOCH_ASSERT(); ++ + bif = bridge_lookup_member(sc, req->ifba_ifsname); + if (bif == NULL) + return (ENOENT); + ++ /* bridge_rtupdate() may acquire the lock. */ ++ BRIDGE_UNLOCK(sc); + error = bridge_rtupdate(sc, req->ifba_dst, req->ifba_vlan, bif, 1, + req->ifba_flags); ++ BRIDGE_LOCK(sc); + + return (error); + } +@@ -1838,6 +1847,7 @@ + { + struct bridge_softc *sc = ifp->if_bridge; + struct bridge_iflist *bif; ++ struct epoch_tracker et; + + if (ifp->if_flags & IFF_RENAMING) + return; +@@ -1848,6 +1858,7 @@ + */ + return; + } ++ NET_EPOCH_ENTER(et); + /* Check if the interface is a bridge member */ + if (sc != NULL) { + BRIDGE_LOCK(sc); +@@ -1857,6 +1868,7 @@ + bridge_delete_member(sc, bif, 1); + + BRIDGE_UNLOCK(sc); ++ NET_EPOCH_EXIT(et); + return; + } + +@@ -1873,6 +1885,7 @@ + BRIDGE_UNLOCK(sc); + } + BRIDGE_LIST_UNLOCK(); ++ NET_EPOCH_EXIT(et); + } + + /* +@@ -1909,6 +1922,7 @@ + { + struct bridge_softc *sc = ifp->if_softc; + ++ NET_EPOCH_ASSERT(); + BRIDGE_LOCK_ASSERT(sc); + + if ((ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) +@@ -2032,6 +2046,8 @@ + struct bridge_softc *sc; + uint16_t vlan; + ++ NET_EPOCH_ASSERT(); ++ + if (m->m_len < ETHER_HDR_LEN) { + m = m_pullup(m, ETHER_HDR_LEN); + if (m == NULL) +@@ -2042,7 +2058,6 @@ + sc = ifp->if_bridge; + vlan = VLANTAGOF(m); + +- BRIDGE_LOCK(sc); + bifp = sc->sc_ifp; + + /* +@@ -2069,16 +2084,10 @@ + if (dst_if == NULL) { + struct bridge_iflist *bif; + struct mbuf *mc; +- int error = 0, used = 0; ++ int used = 0; + + bridge_span(sc, m); + +- BRIDGE_LOCK2REF(sc, error); +- if (error) { +- m_freem(m); +- return (0); +- } +- + CK_LIST_FOREACH(bif, &sc->sc_iflist, bif_next) { + dst_if = bif->bif_ifp; + +@@ -2112,7 +2121,6 @@ + } + if (used == 0) + m_freem(m); +- BRIDGE_UNREF(sc); + return (0); + } + +@@ -2124,11 +2132,9 @@ + bridge_span(sc, m); + if ((dst_if->if_drv_flags & IFF_DRV_RUNNING) == 0) { + m_freem(m); +- BRIDGE_UNLOCK(sc); + return (0); + } + +- BRIDGE_UNLOCK(sc); + bridge_enqueue(sc, dst_if, m); + return (0); + } +@@ -2153,10 +2159,8 @@ + + eh = mtod(m, struct ether_header *); + +- BRIDGE_LOCK(sc); + if (((m->m_flags & (M_BCAST|M_MCAST)) == 0) && + (dst_if = bridge_rtlookup(sc, eh->ether_dhost, 1)) != NULL) { +- BRIDGE_UNLOCK(sc); + error = bridge_enqueue(sc, dst_if, m); + } else + bridge_broadcast(sc, ifp, m, 0); +@@ -2190,6 +2194,8 @@ + uint8_t *dst; + int error; + ++ NET_EPOCH_ASSERT(); ++ + src_if = m->m_pkthdr.rcvif; + ifp = sc->sc_ifp; + +@@ -2268,12 +2274,10 @@ + || PFIL_HOOKED_IN(V_inet6_pfil_head) + #endif + ) { +- BRIDGE_UNLOCK(sc); + if (bridge_pfil(&m, ifp, src_if, PFIL_IN) != 0) + return; + if (m == NULL) + return; +- BRIDGE_LOCK(sc); + } + + if (dst_if == NULL) { +@@ -2301,8 +2305,6 @@ + dbif->bif_stp.bp_state == BSTP_IFSTATE_DISCARDING) + goto drop; + +- BRIDGE_UNLOCK(sc); +- + if (PFIL_HOOKED_OUT(V_inet_pfil_head) + #ifdef INET6 + || PFIL_HOOKED_OUT(V_inet6_pfil_head) +@@ -2318,7 +2320,6 @@ + return; + + drop: +- BRIDGE_UNLOCK(sc); + m_freem(m); + } + +@@ -2339,6 +2340,8 @@ + uint16_t vlan; + int error; + ++ NET_EPOCH_ASSERT(); ++ + if ((sc->sc_ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) + return (m); + +@@ -2359,10 +2362,8 @@ + m_freem(m); + return (NULL); + } +- BRIDGE_LOCK(sc); + bif = bridge_lookup_member_if(sc, ifp); + if (bif == NULL) { +- BRIDGE_UNLOCK(sc); + return (m); + } + +@@ -2375,13 +2376,11 @@ + if (memcmp(eh->ether_dhost, bstp_etheraddr, + ETHER_ADDR_LEN) == 0) { + bstp_input(&bif->bif_stp, ifp, m); /* consumes mbuf */ +- BRIDGE_UNLOCK(sc); + return (NULL); + } + + if ((bif->bif_flags & IFBIF_STP) && + bif->bif_stp.bp_state == BSTP_IFSTATE_DISCARDING) { +- BRIDGE_UNLOCK(sc); + return (m); + } + +@@ -2392,7 +2391,6 @@ + */ + mc = m_dup(m, M_NOWAIT); + if (mc == NULL) { +- BRIDGE_UNLOCK(sc); + return (m); + } + +@@ -2424,7 +2422,6 @@ + + if ((bif->bif_flags & IFBIF_STP) && + bif->bif_stp.bp_state == BSTP_IFSTATE_DISCARDING) { +- BRIDGE_UNLOCK(sc); + return (m); + } + +@@ -2458,7 +2455,6 @@ + error = bridge_rtupdate(sc, eh->ether_shost, \ + vlan, bif, 0, IFBAF_DYNAMIC); \ + if (error && bif->bif_addrmax) { \ +- BRIDGE_UNLOCK(sc); \ + m_freem(m); \ + return (NULL); \ + } \ +@@ -2466,7 +2462,6 @@ + m->m_pkthdr.rcvif = iface; \ + if ((iface) == ifp) { \ + /* Skip bridge processing... src == dest */ \ +- BRIDGE_UNLOCK(sc); \ + return (m); \ + } \ + /* It's passing over or to the bridge, locally. */ \ +@@ -2478,13 +2473,11 @@ + OR_PFIL_HOOKED_INET6)) { \ + if (bridge_pfil(&m, NULL, ifp, \ + PFIL_IN) != 0 || m == NULL) { \ +- BRIDGE_UNLOCK(sc); \ + return (NULL); \ + } \ + } \ + if ((iface) != bifp) \ + ETHER_BPF_MTAP(iface, m); \ +- BRIDGE_UNLOCK(sc); \ + return (m); \ + } \ + \ +@@ -2492,7 +2485,6 @@ + if (memcmp(IF_LLADDR((iface)), eh->ether_shost, ETHER_ADDR_LEN) == 0 \ + OR_CARP_CHECK_WE_ARE_SRC((iface)) \ + ) { \ +- BRIDGE_UNLOCK(sc); \ + m_freem(m); \ + return (NULL); \ + } +@@ -2543,16 +2535,12 @@ + struct bridge_iflist *dbif, *sbif; + struct mbuf *mc; + struct ifnet *dst_if; +- int error = 0, used = 0, i; ++ int used = 0, i; + ++ NET_EPOCH_ASSERT(); ++ + sbif = bridge_lookup_member_if(sc, src_if); + +- BRIDGE_LOCK2REF(sc, error); +- if (error) { +- m_freem(m); +- return; +- } +- + /* Filter on the bridge interface before broadcasting */ + if (runfilt && (PFIL_HOOKED_OUT(V_inet_pfil_head) + #ifdef INET6 +@@ -2560,9 +2548,9 @@ + #endif + )) { + if (bridge_pfil(&m, sc->sc_ifp, NULL, PFIL_OUT) != 0) +- goto out; ++ return; + if (m == NULL) +- goto out; ++ return; + } + + CK_LIST_FOREACH(dbif, &sc->sc_iflist, bif_next) { +@@ -2625,9 +2613,6 @@ + } + if (used == 0) + m_freem(m); +- +-out: +- BRIDGE_UNREF(sc); + } + + /* +@@ -2643,6 +2628,8 @@ + struct ifnet *dst_if; + struct mbuf *mc; + ++ NET_EPOCH_ASSERT(); ++ + if (CK_LIST_EMPTY(&sc->sc_spanlist)) + return; + +@@ -2674,7 +2661,8 @@ + struct bridge_rtnode *brt; + int error; + +- BRIDGE_LOCK_ASSERT(sc); ++ NET_EPOCH_ASSERT(); ++ BRIDGE_UNLOCK_ASSERT(sc); + + /* Check the source address is valid and not multicast. */ + if (ETHER_IS_MULTICAST(dst) || +@@ -2691,13 +2679,24 @@ + * update it, otherwise create a new one. + */ + if ((brt = bridge_rtnode_lookup(sc, dst, vlan)) == NULL) { ++ BRIDGE_LOCK(sc); ++ ++ /* Check again, now that we have the lock. There could have ++ * been a race and we only want to insert this once. */ ++ if ((brt = bridge_rtnode_lookup(sc, dst, vlan)) != NULL) { ++ BRIDGE_UNLOCK(sc); ++ return (0); ++ } ++ + if (sc->sc_brtcnt >= sc->sc_brtmax) { + sc->sc_brtexceeded++; ++ BRIDGE_UNLOCK(sc); + return (ENOSPC); + } + /* Check per interface address limits (if enabled) */ + if (bif->bif_addrmax && bif->bif_addrcnt >= bif->bif_addrmax) { + bif->bif_addrexceeded++; ++ BRIDGE_UNLOCK(sc); + return (ENOSPC); + } + +@@ -2707,8 +2706,11 @@ + * address. + */ + brt = uma_zalloc(V_bridge_rtnode_zone, M_NOWAIT | M_ZERO); +- if (brt == NULL) ++ if (brt == NULL) { ++ BRIDGE_UNLOCK(sc); + return (ENOMEM); ++ } ++ brt->brt_vnet = curvnet; + + if (bif->bif_flags & IFBIF_STICKY) + brt->brt_flags = IFBAF_STICKY; +@@ -2720,17 +2722,22 @@ + + if ((error = bridge_rtnode_insert(sc, brt)) != 0) { + uma_zfree(V_bridge_rtnode_zone, brt); ++ BRIDGE_UNLOCK(sc); + return (error); + } + brt->brt_dst = bif; + bif->bif_addrcnt++; ++ ++ BRIDGE_UNLOCK(sc); + } + + if ((brt->brt_flags & IFBAF_TYPEMASK) == IFBAF_DYNAMIC && + brt->brt_dst != bif) { ++ BRIDGE_LOCK(sc); + brt->brt_dst->bif_addrcnt--; + brt->brt_dst = bif; + brt->brt_dst->bif_addrcnt++; ++ BRIDGE_UNLOCK(sc); + } + + if ((flags & IFBAF_TYPEMASK) == IFBAF_DYNAMIC) +@@ -2751,7 +2758,7 @@ + { + struct bridge_rtnode *brt; + +- BRIDGE_LOCK_ASSERT(sc); ++ NET_EPOCH_ASSERT(); + + if ((brt = bridge_rtnode_lookup(sc, addr, vlan)) == NULL) + return (NULL); +@@ -2771,6 +2778,7 @@ + { + struct bridge_rtnode *brt, *nbrt; + ++ NET_EPOCH_ASSERT(); + BRIDGE_LOCK_ASSERT(sc); + + /* Make sure we actually need to do this. */ +@@ -2800,7 +2808,9 @@ + bridge_timer(void *arg) + { + struct bridge_softc *sc = arg; ++ struct epoch_tracker et; + ++ NET_EPOCH_ENTER(et); + BRIDGE_LOCK_ASSERT(sc); + + /* Destruction of rtnodes requires a proper vnet context */ +@@ -2811,6 +2821,7 @@ + callout_reset(&sc->sc_brcallout, + bridge_rtable_prune_period * hz, bridge_timer, sc); + CURVNET_RESTORE(); ++ NET_EPOCH_EXIT(et); + } + + /* +@@ -2823,6 +2834,7 @@ + { + struct bridge_rtnode *brt, *nbrt; + ++ NET_EPOCH_ASSERT(); + BRIDGE_LOCK_ASSERT(sc); + + CK_LIST_FOREACH_SAFE(brt, &sc->sc_rtlist, brt_list, nbrt) { +@@ -2843,6 +2855,7 @@ + { + struct bridge_rtnode *brt, *nbrt; + ++ NET_EPOCH_ASSERT(); + BRIDGE_LOCK_ASSERT(sc); + + CK_LIST_FOREACH_SAFE(brt, &sc->sc_rtlist, brt_list, nbrt) { +@@ -2862,6 +2875,7 @@ + struct bridge_rtnode *brt; + int found = 0; + ++ NET_EPOCH_ASSERT(); + BRIDGE_LOCK_ASSERT(sc); + + /* +@@ -2886,6 +2900,7 @@ + { + struct bridge_rtnode *brt, *nbrt; + ++ NET_EPOCH_ASSERT(); + BRIDGE_LOCK_ASSERT(sc); + + CK_LIST_FOREACH_SAFE(brt, &sc->sc_rtlist, brt_list, nbrt) { +@@ -2990,7 +3005,7 @@ + uint32_t hash; + int dir; + +- BRIDGE_LOCK_ASSERT(sc); ++ NET_EPOCH_ASSERT(); + + hash = bridge_rthash(sc, addr); + CK_LIST_FOREACH(brt, &sc->sc_rthash[hash], brt_hash) { +@@ -3053,6 +3068,18 @@ + return (0); + } + ++static void ++bridge_rtnode_destroy_cb(struct epoch_context *ctx) ++{ ++ struct bridge_rtnode *brt; ++ ++ brt = __containerof(ctx, struct bridge_rtnode, brt_epoch_ctx); ++ ++ CURVNET_SET(brt->brt_vnet); ++ uma_zfree(V_bridge_rtnode_zone, brt); ++ CURVNET_RESTORE(); ++} ++ + /* + * bridge_rtnode_destroy: + * +@@ -3061,6 +3088,7 @@ + static void + bridge_rtnode_destroy(struct bridge_softc *sc, struct bridge_rtnode *brt) + { ++ NET_EPOCH_ASSERT(); + BRIDGE_LOCK_ASSERT(sc); + + CK_LIST_REMOVE(brt, brt_hash); +@@ -3068,7 +3096,8 @@ + CK_LIST_REMOVE(brt, brt_list); + sc->sc_brtcnt--; + brt->brt_dst->bif_addrcnt--; +- uma_zfree(V_bridge_rtnode_zone, brt); ++ ++ NET_EPOCH_CALL(bridge_rtnode_destroy_cb, &brt->brt_epoch_ctx); + } + + /* +@@ -3081,7 +3110,9 @@ + { + struct bridge_softc *sc = ifp->if_bridge; + struct bridge_rtnode *brt; ++ struct epoch_tracker et; + ++ NET_EPOCH_ENTER(et); + CURVNET_SET(ifp->if_vnet); + BRIDGE_LOCK(sc); + +@@ -3102,6 +3133,7 @@ + } + BRIDGE_UNLOCK(sc); + CURVNET_RESTORE(); ++ NET_EPOCH_EXIT(et); + } + + /* +@@ -3607,17 +3639,20 @@ + { + struct bridge_softc *sc = ifp->if_bridge; + struct bridge_iflist *bif; ++ struct epoch_tracker et; + +- BRIDGE_LOCK(sc); ++ NET_EPOCH_ENTER(et); ++ + bif = bridge_lookup_member_if(sc, ifp); + if (bif == NULL) { +- BRIDGE_UNLOCK(sc); ++ NET_EPOCH_EXIT(et); + return; + } + bridge_linkcheck(sc); +- BRIDGE_UNLOCK(sc); + + bstp_linkstate(&bif->bif_stp); ++ ++ NET_EPOCH_EXIT(et); + } + + static void +@@ -3626,7 +3661,8 @@ + struct bridge_iflist *bif; + int new_link, hasls; + +- BRIDGE_LOCK_ASSERT(sc); ++ NET_EPOCH_ASSERT(); ++ + new_link = LINK_STATE_DOWN; + hasls = 0; + /* Our link is considered up if at least one of our ports is active */ diff --git a/patches/bridge.patch b/patches/bridge.patch new file mode 100644 index 0000000..0168bf6 --- /dev/null +++ b/patches/bridge.patch @@ -0,0 +1,811 @@ +Index: sys/net/if_bridge.c +=================================================================== +--- sys/net/if_bridge.c (revision 360985) ++++ sys/net/if_bridge.c (working copy) +@@ -165,6 +165,9 @@ + #define BRIDGE_RTABLE_PRUNE_PERIOD (5 * 60) + #endif + ++#define NET_EPOCH_ASSERT() MPASS(in_epoch(net_epoch_preempt)) ++#define NET_EPOCH_CALL(f, c) epoch_call(net_epoch_preempt, (c), (f)) ++ + /* + * List of capabilities to possibly mask on the member interface. + */ +@@ -188,6 +191,7 @@ + uint32_t bif_addrmax; /* max # of addresses */ + uint32_t bif_addrcnt; /* cur. # of addresses */ + uint32_t bif_addrexceeded;/* # of address violations */ ++ struct epoch_context bif_epoch_ctx; + }; + + /* +@@ -201,6 +205,8 @@ + uint8_t brt_flags; /* address flags */ + uint8_t brt_addr[ETHER_ADDR_LEN]; + uint16_t brt_vlan; /* vlan id */ ++ struct vnet *brt_vnet; ++ struct epoch_context brt_epoch_ctx; + }; + #define brt_ifp brt_dst->bif_ifp + +@@ -211,13 +217,10 @@ + struct ifnet *sc_ifp; /* make this an interface */ + LIST_ENTRY(bridge_softc) sc_list; + struct mtx sc_mtx; +- struct cv sc_cv; + uint32_t sc_brtmax; /* max # of addresses */ + uint32_t sc_brtcnt; /* cur. # of addresses */ + uint32_t sc_brttimeout; /* rt timeout in seconds */ + struct callout sc_brcallout; /* bridge callout */ +- uint32_t sc_iflist_ref; /* refcount for sc_iflist */ +- uint32_t sc_iflist_xcnt; /* refcount for sc_iflist */ + LIST_HEAD(, bridge_iflist) sc_iflist; /* member interface list */ + LIST_HEAD(, bridge_rtnode) *sc_rthash; /* our forwarding table */ + LIST_HEAD(, bridge_rtnode) sc_rtlist; /* list version of above */ +@@ -227,6 +230,7 @@ + uint32_t sc_brtexceeded; /* # of cache drops */ + struct ifnet *sc_ifaddr; /* member mac copied from */ + struct ether_addr sc_defaddr; /* Default MAC address */ ++ struct epoch_context sc_epoch_ctx; + }; + + VNET_DEFINE_STATIC(struct mtx, bridge_list_mtx); +@@ -546,6 +550,10 @@ + if_clone_detach(V_bridge_cloner); + V_bridge_cloner = NULL; + BRIDGE_LIST_LOCK_DESTROY(); ++ ++ /* Callbacks may use UMA zone. */ ++ epoch_drain_callbacks(net_epoch_preempt); ++ + uma_zdestroy(V_bridge_rtnode_zone); + } + VNET_SYSUNINIT(vnet_bridge_uninit, SI_SUB_PSEUDO, SI_ORDER_ANY, +@@ -708,6 +716,17 @@ + return (0); + } + ++static void ++bridge_clone_destroy_cb(struct epoch_context *ctx) ++{ ++ struct bridge_softc *sc; ++ ++ sc = __containerof(ctx, struct bridge_softc, sc_epoch_ctx); ++ ++ BRIDGE_LOCK_DESTROY(sc); ++ free(sc, M_DEVBUF); ++} ++ + /* + * bridge_clone_destroy: + * +@@ -718,7 +737,9 @@ + { + struct bridge_softc *sc = ifp->if_softc; + struct bridge_iflist *bif; ++ struct epoch_tracker et; + ++ NET_EPOCH_ENTER_ET(et); + BRIDGE_LOCK(sc); + + bridge_stop(ifp, 1); +@@ -743,11 +764,12 @@ + BRIDGE_LIST_UNLOCK(); + + bstp_detach(&sc->sc_stp); ++ NET_EPOCH_EXIT_ET(et); ++ + ether_ifdetach(ifp); + if_free(ifp); + +- BRIDGE_LOCK_DESTROY(sc); +- free(sc, M_DEVBUF); ++ NET_EPOCH_CALL(bridge_clone_destroy_cb, &sc->sc_epoch_ctx); + } + + /* +@@ -773,7 +795,10 @@ + struct ifdrv *ifd = (struct ifdrv *) data; + const struct bridge_control *bc; + int error = 0; ++ struct epoch_tracker et; + ++ NET_EPOCH_ENTER_ET(et); ++ + switch (cmd) { + + case SIOCADDMULTI: +@@ -882,6 +907,8 @@ + break; + } + ++ NET_EPOCH_EXIT_ET(et); ++ + return (error); + } + +@@ -896,6 +923,8 @@ + struct bridge_iflist *bif; + int enabled, mask; + ++ BRIDGE_LOCK_ASSERT(sc); ++ + /* Initial bitmask of capabilities to test */ + mask = BRIDGE_IFCAPS_MASK; + +@@ -904,7 +933,6 @@ + mask &= bif->bif_savedcaps; + } + +- BRIDGE_XLOCK(sc); + LIST_FOREACH(bif, &sc->sc_iflist, bif_next) { + enabled = bif->bif_ifp->if_capenable; + enabled &= ~BRIDGE_IFCAPS_STRIP; +@@ -915,8 +943,6 @@ + bridge_set_ifcap(sc, bif, enabled); + BRIDGE_LOCK(sc); + } +- BRIDGE_XDROP(sc); +- + } + + static void +@@ -957,7 +983,7 @@ + struct bridge_iflist *bif; + struct ifnet *ifp; + +- BRIDGE_LOCK_ASSERT(sc); ++ NET_EPOCH_ASSERT(); + + LIST_FOREACH(bif, &sc->sc_iflist, bif_next) { + ifp = bif->bif_ifp; +@@ -978,7 +1004,7 @@ + { + struct bridge_iflist *bif; + +- BRIDGE_LOCK_ASSERT(sc); ++ NET_EPOCH_ASSERT(); + + LIST_FOREACH(bif, &sc->sc_iflist, bif_next) { + if (bif->bif_ifp == member_ifp) +@@ -988,6 +1014,16 @@ + return (NULL); + } + ++static void ++bridge_delete_member_cb(struct epoch_context *ctx) ++{ ++ struct bridge_iflist *bif; ++ ++ bif = __containerof(ctx, struct bridge_iflist, bif_epoch_ctx); ++ ++ free(bif, M_DEVBUF); ++} ++ + /* + * bridge_delete_member: + * +@@ -1006,9 +1042,7 @@ + bstp_disable(&bif->bif_stp); + + ifs->if_bridge = NULL; +- BRIDGE_XLOCK(sc); + LIST_REMOVE(bif, bif_next); +- BRIDGE_XDROP(sc); + + /* + * If removing the interface that gave the bridge its mac address, set +@@ -1066,7 +1100,8 @@ + } + bstp_destroy(&bif->bif_stp); /* prepare to free */ + BRIDGE_LOCK(sc); +- free(bif, M_DEVBUF); ++ ++ NET_EPOCH_CALL(bridge_delete_member_cb, &bif->bif_epoch_ctx); + } + + /* +@@ -1083,7 +1118,8 @@ + ("%s: not a span interface", __func__)); + + LIST_REMOVE(bif, bif_next); +- free(bif, M_DEVBUF); ++ ++ NET_EPOCH_CALL(bridge_delete_member_cb, &bif->bif_epoch_ctx); + } + + static int +@@ -1139,7 +1175,6 @@ + * If any, remove all inet6 addresses from the member + * interfaces. + */ +- BRIDGE_XLOCK(sc); + LIST_FOREACH(bif, &sc->sc_iflist, bif_next) { + if (in6ifa_llaonifp(bif->bif_ifp)) { + BRIDGE_UNLOCK(sc); +@@ -1152,7 +1187,6 @@ + bif->bif_ifp->if_xname); + } + } +- BRIDGE_XDROP(sc); + if (in6ifa_llaonifp(ifs)) { + BRIDGE_UNLOCK(sc); + in6_ifdetach(ifs); +@@ -1466,12 +1500,17 @@ + struct bridge_iflist *bif; + int error; + ++ NET_EPOCH_ASSERT(); ++ + bif = bridge_lookup_member(sc, req->ifba_ifsname); + if (bif == NULL) + return (ENOENT); + ++ /* bridge_rtupdate() may acquire the lock. */ ++ BRIDGE_UNLOCK(sc); + error = bridge_rtupdate(sc, req->ifba_dst, req->ifba_vlan, bif, 1, + req->ifba_flags); ++ BRIDGE_LOCK(sc); + + return (error); + } +@@ -1810,6 +1849,7 @@ + { + struct bridge_softc *sc = ifp->if_bridge; + struct bridge_iflist *bif; ++ struct epoch_tracker et; + + if (ifp->if_flags & IFF_RENAMING) + return; +@@ -1820,6 +1860,7 @@ + */ + return; + } ++ NET_EPOCH_ENTER_ET(et); + /* Check if the interface is a bridge member */ + if (sc != NULL) { + BRIDGE_LOCK(sc); +@@ -1829,6 +1870,7 @@ + bridge_delete_member(sc, bif, 1); + + BRIDGE_UNLOCK(sc); ++ NET_EPOCH_EXIT_ET(et); + return; + } + +@@ -1845,6 +1887,7 @@ + BRIDGE_UNLOCK(sc); + } + BRIDGE_LIST_UNLOCK(); ++ NET_EPOCH_EXIT_ET(et); + } + + /* +@@ -1881,6 +1924,7 @@ + { + struct bridge_softc *sc = ifp->if_softc; + ++ NET_EPOCH_ASSERT(); + BRIDGE_LOCK_ASSERT(sc); + + if ((ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) +@@ -2004,6 +2048,8 @@ + struct bridge_softc *sc; + uint16_t vlan; + ++ NET_EPOCH_ASSERT(); ++ + if (m->m_len < ETHER_HDR_LEN) { + m = m_pullup(m, ETHER_HDR_LEN); + if (m == NULL) +@@ -2014,8 +2060,6 @@ + sc = ifp->if_bridge; + vlan = VLANTAGOF(m); + +- BRIDGE_LOCK(sc); +- + /* + * If bridge is down, but the original output interface is up, + * go ahead and send out that interface. Otherwise, the packet +@@ -2037,16 +2081,10 @@ + if (dst_if == NULL) { + struct bridge_iflist *bif; + struct mbuf *mc; +- int error = 0, used = 0; ++ int used = 0; + + bridge_span(sc, m); + +- BRIDGE_LOCK2REF(sc, error); +- if (error) { +- m_freem(m); +- return (0); +- } +- + LIST_FOREACH(bif, &sc->sc_iflist, bif_next) { + dst_if = bif->bif_ifp; + +@@ -2080,7 +2118,6 @@ + } + if (used == 0) + m_freem(m); +- BRIDGE_UNREF(sc); + return (0); + } + +@@ -2092,11 +2129,9 @@ + bridge_span(sc, m); + if ((dst_if->if_drv_flags & IFF_DRV_RUNNING) == 0) { + m_freem(m); +- BRIDGE_UNLOCK(sc); + return (0); + } + +- BRIDGE_UNLOCK(sc); + bridge_enqueue(sc, dst_if, m); + return (0); + } +@@ -2121,10 +2156,8 @@ + + eh = mtod(m, struct ether_header *); + +- BRIDGE_LOCK(sc); + if (((m->m_flags & (M_BCAST|M_MCAST)) == 0) && + (dst_if = bridge_rtlookup(sc, eh->ether_dhost, 1)) != NULL) { +- BRIDGE_UNLOCK(sc); + error = bridge_enqueue(sc, dst_if, m); + } else + bridge_broadcast(sc, ifp, m, 0); +@@ -2158,6 +2191,8 @@ + uint8_t *dst; + int error; + ++ NET_EPOCH_ASSERT(); ++ + src_if = m->m_pkthdr.rcvif; + ifp = sc->sc_ifp; + +@@ -2236,12 +2271,10 @@ + || PFIL_HOOKED(&V_inet6_pfil_hook) + #endif + ) { +- BRIDGE_UNLOCK(sc); + if (bridge_pfil(&m, ifp, src_if, PFIL_IN) != 0) + return; + if (m == NULL) + return; +- BRIDGE_LOCK(sc); + } + + if (dst_if == NULL) { +@@ -2269,8 +2302,6 @@ + dbif->bif_stp.bp_state == BSTP_IFSTATE_DISCARDING) + goto drop; + +- BRIDGE_UNLOCK(sc); +- + if (PFIL_HOOKED(&V_inet_pfil_hook) + #ifdef INET6 + || PFIL_HOOKED(&V_inet6_pfil_hook) +@@ -2286,7 +2317,6 @@ + return; + + drop: +- BRIDGE_UNLOCK(sc); + m_freem(m); + } + +@@ -2307,6 +2337,8 @@ + uint16_t vlan; + int error; + ++ NET_EPOCH_ASSERT(); ++ + if ((sc->sc_ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) + return (m); + +@@ -2327,10 +2359,8 @@ + m_freem(m); + return (NULL); + } +- BRIDGE_LOCK(sc); + bif = bridge_lookup_member_if(sc, ifp); + if (bif == NULL) { +- BRIDGE_UNLOCK(sc); + return (m); + } + +@@ -2343,13 +2373,11 @@ + if (memcmp(eh->ether_dhost, bstp_etheraddr, + ETHER_ADDR_LEN) == 0) { + bstp_input(&bif->bif_stp, ifp, m); /* consumes mbuf */ +- BRIDGE_UNLOCK(sc); + return (NULL); + } + + if ((bif->bif_flags & IFBIF_STP) && + bif->bif_stp.bp_state == BSTP_IFSTATE_DISCARDING) { +- BRIDGE_UNLOCK(sc); + return (m); + } + +@@ -2360,7 +2388,6 @@ + */ + mc = m_dup(m, M_NOWAIT); + if (mc == NULL) { +- BRIDGE_UNLOCK(sc); + return (m); + } + +@@ -2392,7 +2419,6 @@ + + if ((bif->bif_flags & IFBIF_STP) && + bif->bif_stp.bp_state == BSTP_IFSTATE_DISCARDING) { +- BRIDGE_UNLOCK(sc); + return (m); + } + +@@ -2432,7 +2458,6 @@ + OR_PFIL_HOOKED_INET6)) { \ + if (bridge_pfil(&m, NULL, ifp, \ + PFIL_IN) != 0 || m == NULL) { \ +- BRIDGE_UNLOCK(sc); \ + return (NULL); \ + } \ + eh = mtod(m, struct ether_header *); \ +@@ -2442,13 +2467,11 @@ + error = bridge_rtupdate(sc, eh->ether_shost, \ + vlan, bif, 0, IFBAF_DYNAMIC); \ + if (error && bif->bif_addrmax) { \ +- BRIDGE_UNLOCK(sc); \ + m_freem(m); \ + return (NULL); \ + } \ + } \ + m->m_pkthdr.rcvif = iface; \ +- BRIDGE_UNLOCK(sc); \ + return (m); \ + } \ + \ +@@ -2456,7 +2479,6 @@ + if (memcmp(IF_LLADDR((iface)), eh->ether_shost, ETHER_ADDR_LEN) == 0 \ + OR_CARP_CHECK_WE_ARE_SRC((iface)) \ + ) { \ +- BRIDGE_UNLOCK(sc); \ + m_freem(m); \ + return (NULL); \ + } +@@ -2507,16 +2529,12 @@ + struct bridge_iflist *dbif, *sbif; + struct mbuf *mc; + struct ifnet *dst_if; +- int error = 0, used = 0, i; ++ int used = 0, i; + ++ NET_EPOCH_ASSERT(); ++ + sbif = bridge_lookup_member_if(sc, src_if); + +- BRIDGE_LOCK2REF(sc, error); +- if (error) { +- m_freem(m); +- return; +- } +- + /* Filter on the bridge interface before broadcasting */ + if (runfilt && (PFIL_HOOKED(&V_inet_pfil_hook) + #ifdef INET6 +@@ -2524,9 +2542,9 @@ + #endif + )) { + if (bridge_pfil(&m, sc->sc_ifp, NULL, PFIL_OUT) != 0) +- goto out; ++ return; + if (m == NULL) +- goto out; ++ return; + } + + LIST_FOREACH(dbif, &sc->sc_iflist, bif_next) { +@@ -2589,9 +2607,6 @@ + } + if (used == 0) + m_freem(m); +- +-out: +- BRIDGE_UNREF(sc); + } + + /* +@@ -2607,6 +2622,8 @@ + struct ifnet *dst_if; + struct mbuf *mc; + ++ NET_EPOCH_ASSERT(); ++ + if (LIST_EMPTY(&sc->sc_spanlist)) + return; + +@@ -2638,7 +2655,8 @@ + struct bridge_rtnode *brt; + int error; + +- BRIDGE_LOCK_ASSERT(sc); ++ NET_EPOCH_ASSERT(); ++ BRIDGE_UNLOCK_ASSERT(sc); + + /* Check the source address is valid and not multicast. */ + if (ETHER_IS_MULTICAST(dst) || +@@ -2655,13 +2673,24 @@ + * update it, otherwise create a new one. + */ + if ((brt = bridge_rtnode_lookup(sc, dst, vlan)) == NULL) { ++ BRIDGE_LOCK(sc); ++ ++ /* Check again, now that we have the lock. There could have ++ * been a race and we only want to insert this once. */ ++ if ((brt = bridge_rtnode_lookup(sc, dst, vlan)) != NULL) { ++ BRIDGE_UNLOCK(sc); ++ return (0); ++ } ++ + if (sc->sc_brtcnt >= sc->sc_brtmax) { + sc->sc_brtexceeded++; ++ BRIDGE_UNLOCK(sc); + return (ENOSPC); + } + /* Check per interface address limits (if enabled) */ + if (bif->bif_addrmax && bif->bif_addrcnt >= bif->bif_addrmax) { + bif->bif_addrexceeded++; ++ BRIDGE_UNLOCK(sc); + return (ENOSPC); + } + +@@ -2671,8 +2700,11 @@ + * address. + */ + brt = uma_zalloc(V_bridge_rtnode_zone, M_NOWAIT | M_ZERO); +- if (brt == NULL) ++ if (brt == NULL) { ++ BRIDGE_UNLOCK(sc); + return (ENOMEM); ++ } ++ brt->brt_vnet = curvnet; + + if (bif->bif_flags & IFBIF_STICKY) + brt->brt_flags = IFBAF_STICKY; +@@ -2684,17 +2716,22 @@ + + if ((error = bridge_rtnode_insert(sc, brt)) != 0) { + uma_zfree(V_bridge_rtnode_zone, brt); ++ BRIDGE_UNLOCK(sc); + return (error); + } + brt->brt_dst = bif; + bif->bif_addrcnt++; ++ ++ BRIDGE_UNLOCK(sc); + } + + if ((brt->brt_flags & IFBAF_TYPEMASK) == IFBAF_DYNAMIC && + brt->brt_dst != bif) { ++ BRIDGE_LOCK(sc); + brt->brt_dst->bif_addrcnt--; + brt->brt_dst = bif; + brt->brt_dst->bif_addrcnt++; ++ BRIDGE_UNLOCK(sc); + } + + if ((flags & IFBAF_TYPEMASK) == IFBAF_DYNAMIC) +@@ -2715,7 +2752,7 @@ + { + struct bridge_rtnode *brt; + +- BRIDGE_LOCK_ASSERT(sc); ++ NET_EPOCH_ASSERT(); + + if ((brt = bridge_rtnode_lookup(sc, addr, vlan)) == NULL) + return (NULL); +@@ -2735,6 +2772,7 @@ + { + struct bridge_rtnode *brt, *nbrt; + ++ NET_EPOCH_ASSERT(); + BRIDGE_LOCK_ASSERT(sc); + + /* Make sure we actually need to do this. */ +@@ -2764,7 +2802,9 @@ + bridge_timer(void *arg) + { + struct bridge_softc *sc = arg; ++ struct epoch_tracker et; + ++ NET_EPOCH_ENTER_ET(et); + BRIDGE_LOCK_ASSERT(sc); + + /* Destruction of rtnodes requires a proper vnet context */ +@@ -2775,6 +2815,7 @@ + callout_reset(&sc->sc_brcallout, + bridge_rtable_prune_period * hz, bridge_timer, sc); + CURVNET_RESTORE(); ++ NET_EPOCH_EXIT_ET(et); + } + + /* +@@ -2787,6 +2828,7 @@ + { + struct bridge_rtnode *brt, *nbrt; + ++ NET_EPOCH_ASSERT(); + BRIDGE_LOCK_ASSERT(sc); + + LIST_FOREACH_SAFE(brt, &sc->sc_rtlist, brt_list, nbrt) { +@@ -2807,6 +2849,7 @@ + { + struct bridge_rtnode *brt, *nbrt; + ++ NET_EPOCH_ASSERT(); + BRIDGE_LOCK_ASSERT(sc); + + LIST_FOREACH_SAFE(brt, &sc->sc_rtlist, brt_list, nbrt) { +@@ -2826,6 +2869,7 @@ + struct bridge_rtnode *brt; + int found = 0; + ++ NET_EPOCH_ASSERT(); + BRIDGE_LOCK_ASSERT(sc); + + /* +@@ -2850,6 +2894,7 @@ + { + struct bridge_rtnode *brt, *nbrt; + ++ NET_EPOCH_ASSERT(); + BRIDGE_LOCK_ASSERT(sc); + + LIST_FOREACH_SAFE(brt, &sc->sc_rtlist, brt_list, nbrt) { +@@ -2954,7 +2999,7 @@ + uint32_t hash; + int dir; + +- BRIDGE_LOCK_ASSERT(sc); ++ NET_EPOCH_ASSERT(); + + hash = bridge_rthash(sc, addr); + LIST_FOREACH(brt, &sc->sc_rthash[hash], brt_hash) { +@@ -3017,6 +3062,18 @@ + return (0); + } + ++static void ++bridge_rtnode_destroy_cb(struct epoch_context *ctx) ++{ ++ struct bridge_rtnode *brt; ++ ++ brt = __containerof(ctx, struct bridge_rtnode, brt_epoch_ctx); ++ ++ CURVNET_SET(brt->brt_vnet); ++ uma_zfree(V_bridge_rtnode_zone, brt); ++ CURVNET_RESTORE(); ++} ++ + /* + * bridge_rtnode_destroy: + * +@@ -3025,6 +3082,7 @@ + static void + bridge_rtnode_destroy(struct bridge_softc *sc, struct bridge_rtnode *brt) + { ++ NET_EPOCH_ASSERT(); + BRIDGE_LOCK_ASSERT(sc); + + LIST_REMOVE(brt, brt_hash); +@@ -3032,7 +3090,8 @@ + LIST_REMOVE(brt, brt_list); + sc->sc_brtcnt--; + brt->brt_dst->bif_addrcnt--; +- uma_zfree(V_bridge_rtnode_zone, brt); ++ ++ NET_EPOCH_CALL(bridge_rtnode_destroy_cb, &brt->brt_epoch_ctx); + } + + /* +@@ -3045,7 +3104,9 @@ + { + struct bridge_softc *sc = ifp->if_bridge; + struct bridge_rtnode *brt; ++ struct epoch_tracker et; + ++ NET_EPOCH_ENTER_ET(et); + CURVNET_SET(ifp->if_vnet); + BRIDGE_LOCK(sc); + +@@ -3066,6 +3127,7 @@ + } + BRIDGE_UNLOCK(sc); + CURVNET_RESTORE(); ++ NET_EPOCH_EXIT_ET(et); + } + + /* +@@ -3577,17 +3639,20 @@ + { + struct bridge_softc *sc = ifp->if_bridge; + struct bridge_iflist *bif; ++ struct epoch_tracker et; + +- BRIDGE_LOCK(sc); ++ NET_EPOCH_ENTER_ET(et); ++ + bif = bridge_lookup_member_if(sc, ifp); + if (bif == NULL) { +- BRIDGE_UNLOCK(sc); ++ NET_EPOCH_EXIT_ET(et); + return; + } + bridge_linkcheck(sc); +- BRIDGE_UNLOCK(sc); + + bstp_linkstate(&bif->bif_stp); ++ ++ NET_EPOCH_EXIT_ET(et); + } + + static void +@@ -3596,7 +3661,8 @@ + struct bridge_iflist *bif; + int new_link, hasls; + +- BRIDGE_LOCK_ASSERT(sc); ++ NET_EPOCH_ASSERT(); ++ + new_link = LINK_STATE_DOWN; + hasls = 0; + /* Our link is considered up if at least one of our ports is active */ +Index: sys/net/if_bridgevar.h +=================================================================== +--- sys/net/if_bridgevar.h (revision 360985) ++++ sys/net/if_bridgevar.h (working copy) +@@ -273,41 +273,14 @@ + + #define BRIDGE_LOCK_INIT(_sc) do { \ + mtx_init(&(_sc)->sc_mtx, "if_bridge", NULL, MTX_DEF); \ +- cv_init(&(_sc)->sc_cv, "if_bridge_cv"); \ + } while (0) + #define BRIDGE_LOCK_DESTROY(_sc) do { \ + mtx_destroy(&(_sc)->sc_mtx); \ +- cv_destroy(&(_sc)->sc_cv); \ + } while (0) + #define BRIDGE_LOCK(_sc) mtx_lock(&(_sc)->sc_mtx) + #define BRIDGE_UNLOCK(_sc) mtx_unlock(&(_sc)->sc_mtx) + #define BRIDGE_LOCK_ASSERT(_sc) mtx_assert(&(_sc)->sc_mtx, MA_OWNED) + #define BRIDGE_UNLOCK_ASSERT(_sc) mtx_assert(&(_sc)->sc_mtx, MA_NOTOWNED) +-#define BRIDGE_LOCK2REF(_sc, _err) do { \ +- mtx_assert(&(_sc)->sc_mtx, MA_OWNED); \ +- if ((_sc)->sc_iflist_xcnt > 0) \ +- (_err) = EBUSY; \ +- else \ +- (_sc)->sc_iflist_ref++; \ +- mtx_unlock(&(_sc)->sc_mtx); \ +-} while (0) +-#define BRIDGE_UNREF(_sc) do { \ +- mtx_lock(&(_sc)->sc_mtx); \ +- (_sc)->sc_iflist_ref--; \ +- if (((_sc)->sc_iflist_xcnt > 0) && ((_sc)->sc_iflist_ref == 0)) \ +- cv_broadcast(&(_sc)->sc_cv); \ +- mtx_unlock(&(_sc)->sc_mtx); \ +-} while (0) +-#define BRIDGE_XLOCK(_sc) do { \ +- mtx_assert(&(_sc)->sc_mtx, MA_OWNED); \ +- (_sc)->sc_iflist_xcnt++; \ +- while ((_sc)->sc_iflist_ref > 0) \ +- cv_wait(&(_sc)->sc_cv, &(_sc)->sc_mtx); \ +-} while (0) +-#define BRIDGE_XDROP(_sc) do { \ +- mtx_assert(&(_sc)->sc_mtx, MA_OWNED); \ +- (_sc)->sc_iflist_xcnt--; \ +-} while (0) + + #define BRIDGE_INPUT(_ifp, _m) do { \ + KASSERT((_ifp)->if_bridge_input != NULL, \ diff --git a/scripts/cam_tag.sh b/scripts/cam_tag.sh new file mode 100755 index 0000000..c0d7173 --- /dev/null +++ b/scripts/cam_tag.sh @@ -0,0 +1,7 @@ +#!/usr/local/bin/bash +#shrinking the command Native Command Queue down to 1 effectively disabling queuing +for Disk in `camcontrol devlist | grep "ST8000DM" | cut -d"," -f2 | cut -d")" -f1`; +do + camcontrol tags $Disk -N 1 ; + camcontrol tags $Disk -v +done