def database_periodic(self): from database.sandesh.database.ttypes import \ DatabaseUsageStats, DatabaseUsageInfo, DatabaseUsage (linux_dist, x, y) = platform.linux_distribution() if (linux_dist == 'Ubuntu'): (disk_space_used, error_value) = Popen( "set `df -Pk \`grep -A 1 'data_file_directories:' /etc/cassandra/cassandra.yaml | grep '-' | cut -d'-' -f2 \`/ContrailAnalytics | grep %` && echo $3 | cut -d'%' -f1", shell=True, stdout=PIPE).communicate() (disk_space_available, error_value) = Popen( "set `df -Pk \`grep -A 1 'data_file_directories:' /etc/cassandra/cassandra.yaml | grep '-' | cut -d'-' -f2\`/ContrailAnalytics | grep %` && echo $4 | cut -d'%' -f1", shell=True, stdout=PIPE).communicate() (analytics_db_size, error_value) = Popen( "set `du -skL \`grep -A 1 'data_file_directories:' /etc/cassandra/cassandra.yaml | grep '-' | cut -d'-' -f2\`/ContrailAnalytics` && echo $1 | cut -d'%' -f1", shell=True, stdout=PIPE).communicate() else: (disk_space_used, error_value) = Popen( "set `df -Pk \`grep -A 1 'data_file_directories:' /etc/cassandra/conf/cassandra.yaml | grep '-' | cut -d'-' -f2 \`/ContrailAnalytics | grep %` && echo $3 | cut -d'%' -f1", shell=True, stdout=PIPE).communicate() (disk_space_available, error_value) = Popen( "set `df -Pk \`grep -A 1 'data_file_directories:' /etc/cassandra/conf/cassandra.yaml | grep '-' | cut -d'-' -f2\`/ContrailAnalytics | grep %` && echo $4 | cut -d'%' -f1", shell=True, stdout=PIPE).communicate() (analytics_db_size, error_value) = Popen( "set `du -skL \`grep -A 1 'data_file_directories:' /etc/cassandra/conf/cassandra.yaml | grep '-' | cut -d'-' -f2\`/ContrailAnalytics` && echo $1 | cut -d'%' -f1", shell=True, stdout=PIPE).communicate() db_stat = DatabaseUsageStats() db_info = DatabaseUsageInfo() try: db_stat.disk_space_used_1k = int(disk_space_used) db_stat.disk_space_available_1k = int(disk_space_available) db_stat.analytics_db_size_1k = int(analytics_db_size) except ValueError: sys.stderr.write("Failed to get database usage" + "\n") else: db_info.name = socket.gethostname() db_info.database_usage = db_stat db_info.database_usage_stats = [db_stat] usage_stat = DatabaseUsage(data=db_info) usage_stat.send() cassandra_cli_cmd = "cassandra-cli --host " + self.hostip + " --batch < /dev/null | grep 'Connected to:'" proc = Popen(cassandra_cli_cmd, shell=True, stdout=PIPE, stderr=PIPE) (output, errout) = proc.communicate() if proc.returncode != 0: self.fail_status_bits |= self.FAIL_STATUS_SERVER_PORT else: self.fail_status_bits &= ~self.FAIL_STATUS_SERVER_PORT self.send_nodemgr_process_status()
def send_database_usage(self): from database.sandesh.database.ttypes import \ DatabaseUsageStats, DatabaseUsageInfo, DatabaseUsage (linux_dist, x, y) = platform.linux_distribution() if (linux_dist == 'Ubuntu'): (disk_space_used, error_value) = Popen( "set `df -Pk \`grep -A 1 'data_file_directories:' /etc/cassandra/cassandra.yaml | grep '-' | cut -d'-' -f2 \`/ContrailAnalytics | grep %` && echo $3 | cut -d'%' -f1", shell=True, stdout=PIPE).communicate() (disk_space_available, error_value) = Popen( "set `df -Pk \`grep -A 1 'data_file_directories:' /etc/cassandra/cassandra.yaml | grep '-' | cut -d'-' -f2\`/ContrailAnalytics | grep %` && echo $4 | cut -d'%' -f1", shell=True, stdout=PIPE).communicate() (analytics_db_size, error_value) = Popen( "set `du -skL \`grep -A 1 'data_file_directories:' /etc/cassandra/cassandra.yaml | grep '-' | cut -d'-' -f2\`/ContrailAnalytics` && echo $1 | cut -d'%' -f1", shell=True, stdout=PIPE).communicate() else: (disk_space_used, error_value) = Popen( "set `df -Pk \`grep -A 1 'data_file_directories:' /etc/cassandra/conf/cassandra.yaml | grep '-' | cut -d'-' -f2 \`/ContrailAnalytics | grep %` && echo $3 | cut -d'%' -f1", shell=True, stdout=PIPE).communicate() (disk_space_available, error_value) = Popen( "set `df -Pk \`grep -A 1 'data_file_directories:' /etc/cassandra/conf/cassandra.yaml | grep '-' | cut -d'-' -f2\`/ContrailAnalytics | grep %` && echo $4 | cut -d'%' -f1", shell=True, stdout=PIPE).communicate() (analytics_db_size, error_value) = Popen( "set `du -skL \`grep -A 1 'data_file_directories:' /etc/cassandra/conf/cassandra.yaml | grep '-' | cut -d'-' -f2\`/ContrailAnalytics` && echo $1 | cut -d'%' -f1", shell=True, stdout=PIPE).communicate() db_stat = DatabaseUsageStats() db_info = DatabaseUsageInfo() try: db_stat.disk_space_used_1k = int(disk_space_used) db_stat.disk_space_available_1k = int(disk_space_available) db_stat.analytics_db_size_1k = int(analytics_db_size) except ValueError: sys.stderr.write("Failed to get database usage" + "\n") else: db_info.name = socket.gethostname() db_info.database_usage = db_stat db_info.database_usage_stats = [db_stat] usage_stat = DatabaseUsage(data=db_info) usage_stat.send()