- cp -v /opt/graphite/conf/graphTemplates.conf.example /opt/graphite/conf/graphTemplates.conf
- vi /opt/graphite/conf/graphTemplates.conf
- change '[default]' section to '[uggs]'
- change another section, e.g. '[solarized-dark]', to '[default]'
- reload dashboard and you should see changed colors
Monday, 28 July 2014
Change graphite's default dashboard graph colors
Wednesday, 23 July 2014
Ganglia on Amazon Linux (and other RedHat derivatives)
The below is for setting up unicast, not multicast. AWS does not support multicast networking.
Key concepts: gmond daemons run on every server and use C code to collect the server's stats; this data is stored in local memory. Multiple gmonds can send their data on to one central gmond to hold, call this a gmond "bank"; this "bank" also uses only memory to store the server stats. gmetad comes along and collects the data from the gmond "banks" and stores in it rrds, these are files; the web interface uses these rrd files, and it usually runs on the same server as gmetad.
Cluster name: cluster name is key in grouping data and getting it from gmond to gmond and then on to gmetad. data_source is the way gmetad find the "banks"; and, by the way, you can have redundant "banks" for one cluster data_source.
Getting rid of multicast settings: comment out all references to multicast: bind_hostname, mcast_join, bind. Comment them all out.
UDP vs TCP, and port 8649: port 8649 is the default. UDP traffic on port 8649 is used for gmond intercommunication. And TCP traffic on port 8649 is used by the gmetad daemon to pull data from all your gmond "banks". Run "tcpdump -i any -nn port 8649" ALL THE TIME ON EVERY SERVER in a separate terminal when debugging.
Source: http://www.admin-magazine.com/HPC/Articles/Monitoring-HPC-Systems
Key concepts: gmond daemons run on every server and use C code to collect the server's stats; this data is stored in local memory. Multiple gmonds can send their data on to one central gmond to hold, call this a gmond "bank"; this "bank" also uses only memory to store the server stats. gmetad comes along and collects the data from the gmond "banks" and stores in it rrds, these are files; the web interface uses these rrd files, and it usually runs on the same server as gmetad.
Cluster name: cluster name is key in grouping data and getting it from gmond to gmond and then on to gmetad. data_source is the way gmetad find the "banks"; and, by the way, you can have redundant "banks" for one cluster data_source.
Getting rid of multicast settings: comment out all references to multicast: bind_hostname, mcast_join, bind. Comment them all out.
UDP vs TCP, and port 8649: port 8649 is the default. UDP traffic on port 8649 is used for gmond intercommunication. And TCP traffic on port 8649 is used by the gmetad daemon to pull data from all your gmond "banks". Run "tcpdump -i any -nn port 8649" ALL THE TIME ON EVERY SERVER in a separate terminal when debugging.
Source: http://www.admin-magazine.com/HPC/Articles/Monitoring-HPC-Systems
- mkdir ganglia_rpms
- cd ganglia_rpms/
- wget http://vuksan.com/centos/RPMS-6/x86_64/ganglia-gmond-3.6.0-1.x86_64.rpm
- wget http://vuksan.com/centos/RPMS-6/x86_64/libganglia-3.6.0-1.x86_64.rpm
- wget http://vuksan.com/centos/RPMS-6/x86_64/ganglia-debuginfo-3.6.0-1.x86_64.rpm
- wget http://vuksan.com/centos/RPMS-6/x86_64/ganglia-devel-3.6.0-1.x86_64.rpm
- wget http://vuksan.com/centos/RPMS-6/x86_64/ganglia-gmetad-3.6.0-1.x86_64.rpm
- wget http://vuksan.com/centos/RPMS-6/x86_64/ganglia-gmond-modules-python-3.6.0-1.x86_64.rpm
- wget http://vuksan.com/centos/RPMS-6/x86_64/libconfuse-2.6-2.el6.rf.x86_64.rpm
- wget http://vuksan.com/centos/RPMS-6/x86_64/libconfuse-devel-2.6-2.el6.rf.x86_64.rpm
- yum localinstall ganglia-*.rpm lib*.rpm
- yum install httpd
- yum install php
- cd
- mkdir ganglia-web-dev
- cd ganglia-web-dev/
- wget http://downloads.sourceforge.net/project/ganglia/ganglia-web/3.5.12/ganglia-web-3.5.12.tar.gz
- tar zxvf ganglia-web-3.5.12.tar.gz
- cd ganglia-web-3.5.12
- vi Makefile
- GDESTDIR = /var/www/html/ganglia
- APACHE_USER = apache
- make install
- cp apache.conf /etc/httpd/conf.d/ganglia.conf
- vi /etc/httpd/conf.d/ganglia.conf
- /usr/share/ganglia-webfrontend -> /var/www/html/ganglia
- service httpd start
- setenforce 0
- not needed on Amazon Linux
- vi /etc/ganglia/gmond.conf
- vi /etc/ganglia/gmetad.conf
- service gmond start
- service gmetad start
Tuesday, 8 July 2014
Latest graphite on Amazon Linux at AWS
- yum update -y;reboot
- yum -y groupinstall "Development Tools"
- yum -y install git-core python-pip mlocate
- yum -y install python-rrdtool pycairo-devel
- mkdir -p /root/graphite-install
- cd /root/graphite-install
- git clone https://github.com/graphite-project/carbon.git
- git clone https://github.com/graphite-project/whisper.git
- git clone https://github.com/graphite-project/ceres
- git clone https://github.com/graphite-project/graphite-web.git
- cd /root/graphite-install/whisper
- git checkout 0.9.x
- python setup.py install
- cd /root/graphite-install/ceres
- # only has master branch, but it works with others
- pip install -r requirements.txt
- python setup.py install
- cd /root/graphite-install/carbon
- git checkout 0.9.x
- pip install -r requirements.txt
- python setup.py install
- cd /root/graphite-install/graphite-web
- git checkout 0.9.x
- yum install libffi-devel -y # some developer broke things, add this
- pip install -r requirements.txt
- python check-dependencies.py
- python setup.py install
- cp -v /opt/graphite/conf/carbon.conf.example /opt/graphite/conf/carbon.conf
- cp -v /opt/graphite/conf/storage-schemas.conf.example /opt/graphite/conf/storage-schemas.conf
- cp -v /opt/graphite/conf/storage-aggregation.conf.example /opt/graphite/conf/storage-aggregation.conf
- cp -v /opt/graphite/webapp/graphite/local_settings.py.example /opt/graphite/webapp/graphite/local_settings.py
- cp -v /opt/graphite/conf/graphite.wsgi.example /opt/graphite/conf/graphite.wsgi
- vi /opt/graphite/webapp/graphite/local_settings.py
- set SECRET_KEY param
- uncomment DATABASE section
- add these lines to /root/.bash_profile
- export GRAPHITE_ROOT=/opt/graphite
- export PYTHONPATH=$GRAPHITE_ROOT/webapp:$GRAPHITE_ROOT/whisper
- source /root/.bash_profile
- django-admin.py syncdb --settings=graphite.settings
- yum -y install httpd24 mod24_wsgi
- mkdir /etc/httpd/vhosts.d
- add to end of /etc/httpd/conf/httpd.conf
- IncludeOptional vhosts.d/*.conf
- create /etc/httpd/vhosts.d/graphite.conf with below
- mkdir /var/run/wsgi;chmod -v 777 /var/run/wsgi
- apachectl -S
- check for errors
- service httpd start
- /opt/graphite/bin/carbon-cache.py start
- find /opt/graphite/storage -type d -exec chmod -v 777 {} \;
- find /opt/graphite/storage -type f -exec chmod -v 666 {} \;
- echo '127.0.1.3 graphite' >> /etc/hosts
- curl -I http://graphite
- on local machine
- make same /etc/hosts entry
- port forward 127.0.1.3:8081 to remote-server:80
- curl -I http://graphite:8081
- END
WSGISocketPrefix /var/run/wsgi
<VirtualHost *:80>
ServerName graphite
DocumentRoot "/opt/graphite/webapp"
ErrorLog logs/webapp_error.log
CustomLog logs/webapp_access.log common
WSGIDaemonProcess graphite processes=5 threads=5 display-name='%{GROUP}' inactivity-timeout=120
WSGIProcessGroup graphite
WSGIApplicationGroup %{GLOBAL}
WSGIImportScript /opt/graphite/conf/graphite.wsgi process-group=graphite application-group=%{GLOBAL}
WSGIScriptAlias / /opt/graphite/conf/graphite.wsgi
Alias /content/ /opt/graphite/webapp/content/
<Location "/content/">
SetHandler None
Require all granted
</Location>
Alias /media/ "@DJANGO_ROOT@/contrib/admin/media/"
<Location "/media/">
SetHandler None
Require all granted
</Location>
<Directory /opt/graphite/conf/>
Require all granted
</Directory>
</VirtualHost>
Subscribe to:
Posts (Atom)
Interview questions: 2020-12
Terraform provider vs provisioner Load balancing Network Load Balancer vs Application Load Balancer Networking Layer 1 vs Layer 4 haproxy u...
-
kubectl --cert=/tmp/tls.crt --key=/tmp/tls.key create secret tls tls-wc-ingress
-
apt-get install exim4 dpkg-reconfigure exim4-config Select: internet site; mail is sent and received directly using SMTP IP-addresses...
-
brew install python3 mkdir -p ~/bin/python3 python3 -m venv ~/bin/python3 source ~/bin/python3/bin/activate enjoy!