Exemple #1
0
def _setup_database(sql_password):
    '''
    Configure database for rsyslog

    '''
    mysqlUtils.drop_user('rsyslogd')
    mysqlUtils.create_user('rsyslogd', sql_password, 'Syslog', 'INSERT')

    mysql_exec("\. {0}".format(get_create_db_path()), True, escape=False)
Exemple #2
0
def _setup_database(sql_password):
    '''
    Configure database for rsyslog

    '''
    mysqlUtils.drop_user('rsyslogd')
    mysqlUtils.create_user('rsyslogd', sql_password, 'Syslog', 'INSERT')

    mysql_exec("\. {0}".format(get_create_db_path()), True, escape=False)
Exemple #3
0
def _create_db_user(sql_password):
    '''
    Create db user for loganalyzer.

    ryslogd and loganalyzer has it's own user.

    Note: Granting all privileges, fewer is possible.

    '''
    mysqlUtils.drop_user('loganalyzer')
    mysqlUtils.create_user('loganalyzer', sql_password, 'Syslog')
Exemple #4
0
def _create_db_user(sql_password):
    '''
    Create db user for loganalyzer.

    ryslogd and loganalyzer has it's own user.

    Note: Granting all privileges, fewer is possible.

    '''
    mysqlUtils.drop_user('loganalyzer')
    mysqlUtils.create_user('loganalyzer', sql_password, 'Syslog')
Exemple #5
0
def install_purge_db():
    '''
    Install a script that purges mysql from old rows every hour.

    '''
    # Setup user for purge script.
    sql_password = generate_password(20, string.letters + string.digits)
    mysqlUtils.drop_user('purgelogdb')
    mysqlUtils.create_user('purgelogdb', sql_password, 'Syslog', 'SELECT, DELETE')

    # Script should be executed once every hour.
    fn = "/etc/cron.hourly/purge-db.sh"
    x("cp -f {0}var/rsyslog/purge-db.sh {1}".format(app.SYCO_PATH, fn))
    x("chmod +x {0}".format(fn))
    logSql = scOpen(fn)
    logSql.replace("${MYSQL_PASSWORD}", sql_password)
Exemple #6
0
def _setup_icinga_web_mysql():
    '''
    Set up a mysql database for icinga-web

    '''
    # Generate a random password and add the icinga_web user
    web_sqlpassword = generate_password(40, chars=string.letters+string.digits)
    mysqlUtils.create_user('icinga-web', web_sqlpassword, 'icinga_web')

    # Build database tables from supplied schema
    x("mysql --user='******' --password='******' -e 'CREATE DATABASE icinga_web'".format("icinga-web",re.escape(web_sqlpassword)))
    x("mysql icinga_web  --user='******' --password='******' < /usr/share/doc/icinga-web-{2}/schema/mysql.sql".format("icinga-web",re.escape(web_sqlpassword),_get_icinga_version()))

    # Append a login password for "icingaadmin".
    x("mysql --user='******' --password='******' < {2}syco-private/var/nagios/{3}".format("icinga-web",re.escape(web_sqlpassword), constant.SYCO_USR_PATH,"icinga_password.sql"))

    return web_sqlpassword
Exemple #7
0
def install_purge_db():
    '''
    Install a script that purges mysql from old rows every hour.

    '''
    # Setup user for purge script.
    sql_password = generate_password(20, string.letters + string.digits)
    mysqlUtils.drop_user('purgelogdb')
    mysqlUtils.create_user('purgelogdb', sql_password, 'Syslog',
                           'SELECT, DELETE')

    # Script should be executed once every hour.
    fn = "/etc/cron.hourly/purge-db.sh"
    x("cp -f {0}var/rsyslog/purge-db.sh {1}".format(app.SYCO_PATH, fn))
    x("chmod +x {0}".format(fn))
    logSql = scOpen(fn)
    logSql.replace("${MYSQL_PASSWORD}", sql_password)
Exemple #8
0
def _setup_icinga_mysql():
    '''
    Set up a mysql database for icinga

    '''
    # Create and configure. Install hardened MySQL if needed.
    if not os.path.exists('/etc/init.d/mysqld'):
        install_mysql(["","1","1G"])
    sqlpassword = generate_password(40,chars=string.letters+string.digits)

    # Create MySQL icinga user
    mysqlUtils.drop_user('icinga')
    mysqlUtils.create_user('icinga', sqlpassword, 'icinga')

    # Create MySQL database schema for icinga.
    x("mysql --user='******' --password='******' -e 'CREATE DATABASE icinga'".format("icinga",re.escape(sqlpassword)))
    x("mysql icinga --user='******' --password='******' < /usr/share/doc/icinga-idoutils-libdbi-mysql-{2}/db/mysql/mysql.sql".format("icinga",re.escape(sqlpassword), _get_icinga_version()))

    return sqlpassword
Exemple #9
0
def _setup_icinga_mysql():
    '''
    Set up a mysql database for icinga

    '''
    # Create and configure. Install hardened MySQL if needed.
    if not os.path.exists('/etc/init.d/mysqld'):
        install_mysql(["", "1", "1G"])
    sqlpassword = generate_password(40, chars=string.letters + string.digits)

    # Create MySQL icinga user
    mysqlUtils.drop_user('icinga')
    mysqlUtils.create_user('icinga', sqlpassword, 'icinga')

    # Create MySQL database schema for icinga.
    x("mysql --user='******' --password='******' -e 'CREATE DATABASE icinga'".format(
        "icinga", re.escape(sqlpassword)))
    x("mysql icinga --user='******' --password='******' < /usr/share/doc/icinga-idoutils-libdbi-mysql-{2}/db/mysql/mysql.sql"
      .format("icinga", re.escape(sqlpassword), _get_icinga_version()))

    return sqlpassword
Exemple #10
0
def _setup_icinga_web_mysql():
    '''
    Set up a mysql database for icinga-web

    '''
    # Generate a random password and add the icinga_web user
    web_sqlpassword = generate_password(40,
                                        chars=string.letters + string.digits)
    mysqlUtils.create_user('icinga-web', web_sqlpassword, 'icinga_web')

    # Build database tables from supplied schema
    x("mysql --user='******' --password='******' -e 'CREATE DATABASE icinga_web'".
      format("icinga-web", re.escape(web_sqlpassword)))
    x("mysql icinga_web  --user='******' --password='******' < /usr/share/doc/icinga-web-{2}/schema/mysql.sql"
      .format("icinga-web", re.escape(web_sqlpassword),
              _get_icinga_web_version()))

    # Append a login password for "icingaadmin".
    x("mysql --user='******' --password='******' < {2}syco-private/var/nagios/{3}".
      format("icinga-web", re.escape(web_sqlpassword), constant.SYCO_USR_PATH,
             "icinga_password.sql"))

    return web_sqlpassword