Difference between revisions of "Google charts"

From SME Server
Jump to navigationJump to search
Line 26: Line 26:
 
2. Now we must create a database to hold the information -( how you name the database, table and the columns is up to you ), I'll use the following :
 
2. Now we must create a database to hold the information -( how you name the database, table and the columns is up to you ), I'll use the following :
 
* Database name : apache_stats
 
* Database name : apache_stats
 +
* Table name : performance
 +
* Columns : number, mem_used, process_size, processors_used, period
 +
 +
  
  

Revision as of 23:31, 26 November 2015

PythonIcon.png Skill level: Medium
The instructions on this page require a basic knowledge of linux.


Is this article helpful to you?
Please consider donating or volunteering
Thank you!

About

"Charts Google chart tools are powerful, simple to use, and free. Try out our rich gallery of interactive charts and data tools.


Forum discussion

This how-to can be discussed on the forums here

The rational for behind this is : You have a database / source of information that you would like to graph. In this instance, I needed to see in fairly real-time, the number of http processes as well as the size of these processes.

It could be applied to a multitude of scenarios.

Getting Started

1. Find the relevant info re; http

ps -ylC httpd | awk '{x += $8;y += 1} END {print "Apache Memory Usage (MB): "x/1024; print "Average Proccess Size (MB): "x/((y-1)*1024)}' && echo -n 'current Apache Processes : ' && ps -C httpd --no-headers | wc -l

This outputs the following information;

Apache Memory Usage (MB): 1737.91
Average Proccess Size (MB): 75.5611
current Apache Processes : 23

2. Now we must create a database to hold the information -( how you name the database, table and the columns is up to you ), I'll use the following :

  • Database name : apache_stats
  • Table name : performance
  • Columns : number, mem_used, process_size, processors_used, period



3.Prepare the collection of the relevant parameters that you want to monitor ( in this case, http stats ) create a shell script: ( apache_memory_usage_show_to_database.sh )

#/usr/bin
while true
do
LOG=outlog.txt
OUTPUT=$(ps -ylC httpd | awk '{x += $8;y += 1} END {print "Apache Memory Usage (MB): "x/1024; print ":Average Proccess Size (MB): "x/((y-1)*1024)}' && echo -n ':Apache Processes: ' && ps -C httpd --no-headers | wc -l  )
DAY=$(date +"%F"+"%T")
now=$(date +'%Y-%m-%d %H:%M:%S')

echo $OUTPUT \'$DAY\' | awk  '{print "INSERT INTO performance (mem_used, process_size, processors_used,period) VALUES  ( "$5", "$10", "$13", "$14" );"}' | mysql --user=username --password=password database_name
sleep 120
done