Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var mysql = require('mysql');
- var async = require('async');
- var request = require('request');
- var host = "whosting-mariadb-10-1-19-c1.c3uahxgwxkrq.us-east-1.rds.amazonaws.com";
- var database = "56686_aniversariocorona";
- var user = "whostingmaster";
- var password = "d5291XeU76*V";
- var elasticsearch = 'http://search-qinsights-aabzxfibr4meoriwcbjzo62oai.us-east-1.es.amazonaws.com';
- var indexname = "system-whosting-database-metrics";
- var AWS_CLIENT_ID = process.env.AWS_ACCESS_KEY_ID;
- var AWS_CLIENT_SECRET = process.env.AWS_SECRET_ACCESS_KEY;
- var AWS_SESSION_TOKEN = process.env.AWS_SESSION_TOKEN
- var dbclient;
- exports.handler = function (event, context) {
- async.waterfall([
- // create database connection
- function (cb) {
- //console.log("\n** 1. create connection.");
- dbclient = mysql.createConnection({
- host: host,
- user: user,
- password: password,
- database: database,
- });
- dbclient.connect(cb);
- },
- // run query
- function (results, cb) {
- var query = "SELECT table_schema 'DB', sum( data_length + index_length ) / 1024 / 1024 'Size' FROM information_schema.TABLES GROUP BY table_schema;"
- dbclient.query(query, cb);
- },
- // format
- function (rows, fields, callback)
- {
- var body = [];
- rows.forEach(function (row) {
- var data = {"Database": rows.DB, "Size in MB": row.Size}
- console.log(JSON.stringify(data, null, 2));
- body.push(JSON.stringify(data));
- });
- var options = {
- url: elasticsearch + "/_bulk",
- body: body.join("\n\r") + "\n\r",
- headers: {
- "Content-Type": "application/x-ndjson"
- },
- aws: {
- key: AWS_CLIENT_ID,
- secret: AWS_CLIENT_SECRET,
- session: AWS_SESSION_TOKEN,
- sign_version: 4
- }
- }
- request.post(options, function (error, response, body) {
- callback(JSON.parse(body));
- });
- callback(null);
- }
- ],
- // waterfall cleanup function
- function (err, results) {
- if (err) {
- console.log("Aw, there was an error: ");
- console.log(err);
- } else {
- console.log("All operations completed without error.");
- }
- dbclient.end();
- });
- };
Add Comment
Please, Sign In to add comment