summaryrefslogtreecommitdiff
path: root/src/op_mode/dns_forwarding_statistics.py
blob: 32b5c76a7a52fc3f294baa3d83d20082ad739e85 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#!/usr/bin/env python3

import jinja2
from sys import exit

from vyos.config import Config
from vyos.utils.process import cmd

PDNS_CMD='/usr/bin/rec_control --socket-dir=/run/powerdns'

OUT_TMPL_SRC = """
DNS forwarding statistics:

Cache entries: {{ cache_entries }}
Cache size: {{ cache_size }} kbytes

"""

if __name__ == '__main__':
    # Do nothing if service is not configured
    c = Config()
    if not c.exists_effective('service dns forwarding'):
        print("DNS forwarding is not configured")
        exit(0)

    data = {}

    data['cache_entries'] = cmd(f'{PDNS_CMD} get cache-entries')
    data['cache_size'] = "{0:.2f}".format( int(cmd(f'{PDNS_CMD} get cache-bytes')) / 1024 )

    tmpl = jinja2.Template(OUT_TMPL_SRC)
    print(tmpl.render(data))