#!/usr/bin/env python3 # -*- coding: utf-8 -*- # # Copyright 2020-present ScyllaDB # # # SPDX-License-Identifier: LicenseRef-ScyllaDB-Source-Available-1.0 import os import argparse from scylla_util import * def update_rsysconf(rsyslog_server): if ':' not in rsyslog_server: rsyslog_server = rsyslog_server + ':1514' with open('/etc/rsyslog.d/scylla.conf', 'w') as f: f.write("if $programname == 'scylla' then @@{};RSYSLOG_SyslogProtocol23Format\n".format(rsyslog_server)) systemd_unit('rsyslog.service').restart() if __name__ == '__main__': if os.getuid() > 0: print('Requires root permission.') sys.exit(1) parser = argparse.ArgumentParser(description='Updating rsyslog to send logs to a remote server.') parser.add_argument('--remote-server', required=True, help='specify remote rsyslog server, use ip:port format. If not port is included, Scylla-Monitoring port will be used') args = parser.parse_args() update_rsysconf(args.remote_server)