summaryrefslogtreecommitdiff
path: root/src/op_mode/dns_forwarding_statistics.py
blob: c400a72cd22f3c0331b924acb79d3e4aba381359 (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
33
#!/usr/bin/env python3

import jinja2
import sys

from vyos.config import Config
from vyos.config import cmd

PDNS_CMD='/usr/bin/rec_control'

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")
        sys.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))