How to install Icinga (Nagios Fork) in Ubuntu 12.10 server

Icinga is an enterprise grade open source monitoring system which keeps watch over networks and any conceivable network resource, notifies the user of errors and recoveries and generates performance data for reporting. Scalable and extensible, Icinga can monitor complex, large environments across dispersed locations.

manually updating java in ubuntu

Below is outlined the process of updating to the latest JDK in ubuntu and updating the alternatives link manually to point the the latest java:

Step 1: Download:

wget http://download.oracle.com/otn-pub/java/jdk/7u15-b03/jdk-7u15-linux-x64.tar.gz
cd /usr/lib/jvm/
tar -xzf ~/downloads/jdk-7u15-linux-x64.tar.gz

Step 2: If java-7-sun already exists, the below is all that is needed if not skip to step 3 if this is the first time it is setup:

unlink java-7-sun
ln -s jdk1.7.0_15 java-7-sun

Step 3: If java-7-sun link does not already exists:

ln -s jdk1.7.0_15 java-7-sun
update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/java-7-sun/bin/java" 1
update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/java-7-sun/bin/javac" 1
update-alternatives --install "/usr/lib/mozilla/plugins/libjavaplugin.so" "mozilla-javaplugin.so" "/usr/lib/jvm/java-7-sun/jre/lib/amd64/libnpjp2.so" 1
update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/lib/jvm/java-7-sun/bin/javaws" 1

Step 4: Choose the java just installed as default:

update-alternatives --config java
update-alternatives --config javac
update-alternatives --config javaws
update-alternatives --config mozilla-javaplugin.so

Resetting WordPress admin password

Here is the sql to reset admin password for wordpress:

update wp_users set user_pass=md5("NEWPASS") where ID=1;

Even if the passwords are salted, you can still replace the password with an MD5 hash.

Install yum from centos vault

I had to update an old release of CentOS-5.5 on an OpenVZ container where yum was not available.

The below script should automatically download and install the required rpms from "vault.centos.org".

#!/bin/bash
# install_yum.sh
rpms="
        rpm-libs-4.4.2.3-18.el5.x86_64.rpm
        popt-1.10.2.3-18.el5.x86_64.rpm
        rpm-4.4.2.3-18.el5.x86_64.rpm
        python-elementtree-1.2.6-5.x86_64.rpm
        python-iniparse-0.2.3-4.el5.noarch.rpm
        python-sqlite-1.1.7-1.2.1.x86_64.rpm
        rpm-python-4.4.2.3-18.el5.x86_64.rpm
        python-urlgrabber-3.1.0-5.el5.noarch.rpm
        yum-fastestmirror-1.1.16-14.el5.centos.1.noarch.rpm
        yum-metadata-parser-1.1.2-3.el5.centos.x86_64.rpm
        yum-3.2.22-26.el5.centos.noarch.rpm
"
for rpm in $rpms
do
rpm -Uvh --nodeps http://vault.centos.org/5.5/os/x86_64/CentOS/${rpm};
done

Disabling IDLE in courier-imap

Apple and BlackBerry email clients has a configurable setting to use the IMAP IDLE functionality to stay logged in, periodically checking email. This causes imapd to run out of daemons and stop responding. One solution is to raise MAXDAEMONS in /etc/courier-imap/imapd, but will eventually cause high loads on the server.

The better solution is to disable IDLE entirely in /etc/courier-imap/imapd by removing "IDLE" option from "IMAP_CAPABILITY".

Change:

IMAP_CAPABILITY="IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA IDLE"

To:

IMAP_CAPABILITY="IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA"

Upon courier-imap restart, this should prevent connections from persisting.

Telnet to imap port 143 to verify that the IDLE option is not present anymore in CAPABILITY response from the server.

force qmail to process mail queue

Use qmail-qstat or qmail-qread to check the messages in queue.

Run qmail-tcpok to clear out the TCP timeout table.

After that, send the "ALRM " signal to the "qmail-send" process, and Qmail will process all messages in the queue immediately:

kill -ALRM `ps ax | grep [q]mail-send | awk '{print $1}'`

monitor and kill long running mysql select statements

Below script checks and kills any sql SELECT statements that has been running for more than 60 seconds. The script can be added to a cron task to be run periodically. Make sure to check the log file it creates to keep an eye on the long running sql statements and tune it.

#!/bin/bash

LOG=/tmp/kill_mysql.log
SECONDS=60

echo "####" `date` "####" >>${LOG}
PIDS=$(mysql -t -e 'show full processlist' | awk -F'|' -v seconds="$SECONDS" '$7 > seconds  && toupper($9) ~ /^ SELECT/ {print $0}' | tee -a $LOG | awk -F'|' '{print $2}')
[ -n "$PIDS" ] && mysqladmin kill `echo $PIDS | tr ' ' ','`

Prior to running it, setup the root login in "~/.my.cnf" file with the login credentials:

[client]
user=root
password=xxxxxxxx

Python Ecosystem - An Introduction

(via mirnazim.org)

When developers shift from PHP, Ruby or any other platform to Python, the very first road block they face (most often) is a lack of an overall understanding of the Python ecosystem. Developers often yearn for a tutorial or resource that explains how to accomplish most tasks in a more or less standard way.

What follows is an extract from the internal wiki at my workplace, which documents the basics of the Python ecosystem for web application development for our interns, trainees and experienced developers who shift to Python from other platforms.

Install ImageMagick with PHP imagick extension on CentOS-5.8

You can easily install ImageMagick and PHP imagick extension from remi repository. There are some dependencies from epel repository too.

yum --enablerepo=remi,epel install ImageMagick.x86_64 php-pecl-imagick.x86_64

Wireless Ad-Hoc connection sharing in Ubuntu 10.10

  • dnsmasq-base has to be installed:

    sudo apt-get install dnsmasq-base

  • Remove dnsmasq because it conflicts with NetworkManager:

    sudo apt-get remove dnsmasq

  • Restart NetworkManager:

    sudo /etc/init.d/network-manager restart

  • Add a new wireless network with NetworkManager (left-click on NetworkManager icon, then select "Create New Wireless Network").
  • Set encryption to WEP 40/128-bit Key with a 13 characters key. (Note: You may have to experiment here according to what type of encryption with ad-hoc the device supports. WPA is not supported).
  • NetworkManager now should connect to itself (which means it creates the ad-hoc wireless network and routes any Internet traffic to your wired network interface). Now, connect with the client(s), and you should have a working Internet connection.
  • You have to make sure that this connection is shared to other computers and devices (clients). Make sure that the Connect automatically check-box is selected and on the IPv4 Settings tab make sure that the Method option is set to "Shared to other computers".

Syndicate content
Comment