Thursday, August 16, 2012

Linux - how to show the memory usage per process

Top is a very useful command to show real time overall system health like CPU,memory and  swap status
 
But when come to memory leak detection, we will need more detail information like which process consumes how much memory

Command below comes handy:-
ps -e -orss=,args= | sort -b -k1,1n | pr -TW$COLUMNS

Thursday, August 2, 2012

Disable Auto-Restart after Windows Update

If you often receive alert at 3 in the morning about your lovely Windows servers restart by itself.

Chances are Auto-restart has been set to on on Windows Update configuration and Windows Update is normally scheduled to restart at 3:00a.m. by default.

To disable Auto Restart after Windows Update. You can set it from Group Policy.

Run gpedit.msc

Computer Configuration-> Admin Template->Windows Component-> Windows Update
Enable - No auto-restart with...

You can now have a good night sleep. Zz.zz..

Authenticating Linux against Active Directory

When you only have few Linux machines and sysadmins, a simple local machine authentication would do a fairy good job.
Imaging if you have 64 Linux box(and growing) and 4 sysadmins. To keep and maintain sudo access up-to-update would be a daunting task.
Why not get Linux and Windows talk to each other if you already have Active Directory on your environment?
- First you will need to ensure Linux machine A record added to AD DNS server
- create a AD group called linixadmin and add admin user to the group
- Next run the following command on Linux client box

yum install samba-common samba-winbind pam_krb5 sudo authconfig;
chkconfig winbind on;
mkdir /home/[your domain name-mycompany];
chmod 0777 /home/mycompany;
echo "%linuxadmin ALL=(ALL) ALL" >> /etc/sudoers;


authconfig \
--disablecache \
--enablewinbind \
--enablewinbindauth \
--smbsecurity=ads \
--smbworkgroup=MYCOMPANY \
--smbrealm=MYCOMPANY.LOCAL \
--enablewinbindusedefaultdomain \
--winbindtemplatehomedir=/home//%U \
--winbindtemplateshell=/bin/bash \
--enablekrb5 \
--krb5realm=MYCOMPANY.LOCAL \  
--enablekrb5kdcdns \
--enablekrb5realmdns \
--enablelocauthorize \
--enablemkhomedir \
--enablepamaccess \
--updateall \

net ads join -U "AD Admin account i.e. joesoh";
 
service winbind restart
===
Note: MYCOMPANY.LOCAL is your AD domain name
Try logon using you Windows ID and password.
Now who says Windows and Linux don't talk?

Tuesday, January 17, 2012

php installation

Steps to install php APC
  1. # yum install pcre-devel
  2. # pecl install apc
Build process completed successfully
Installing '/usr/lib64/php/modules/apc.so'
Installing '/usr/include/php/ext/apc/apc_serializer.h'
install ok: channel://pecl.php.net/APC-3.1.9
configuration option "php_ini" is not set to php.ini location
You should add "extension=apc.so" to php.ini
 

Monday, January 9, 2012

Opsview

Install solr_check  with sudo cpan -i XML::XPath fail

which make
cpan> o conf make /usr/bin/make
    make               /usr/bin/make

cpan> o conf commit
commit: wrote /etc/perl/CPAN/Config.pm
 
https://github.com/rbramley/Opsview-solr-checks
http://johnbokma.com/mexit/2010/09/22/cpan-writing-makefile-not-ok.html

Friday, September 30, 2011

How to start Tomcat at boot time on CentOS

If you use Tomcat for you Java app, you will most probably encouter a situation where Tomcat doesn't load  after reboot.

This due to, as at the time of writing ,Tomcat doesn't have its built-in or default startup script included.
As usual, after some googling, found out the script below creates a custom Tomcat service and load tomcat automatically at startup.

#!/bin/bash
#
# Tomcat Server
#
# chkconfig: 345 96 30
# description:  Start up the Tomcat servlet engine.

# Source function library.
. /etc/init.d/functions


RETVAL=$?
 CATALINA_HOME="/opt/tomcat"

start() {
        if [ -f $CATALINA_HOME/bin/startup.sh ];
          then
            echo $"Starting Tomcat"
            /bin/su tomcat $CATALINA_HOME/bin/startup.sh
        fi
        sleep 2
}
stop() {
        if [ -f $CATALINA_HOME/bin/shutdown.sh ];
          then
            echo $"Stopping Tomcat"
            /bin/su tomcat $CATALINA_HOME/bin/shutdown.sh
        fi

}

case "$1" in
 start)
        start
        ;;
 stop)
        stop
        ;;
 restart)
        stop
        sleep 2
        start
        ;;

 *)
        echo $"Usage: $0 {start|stop|restart}"
        exit 1

        ;;
esac

exit $RETVAL



 In order to support chkconfig, an init script must:
1.  Be located in /etc/rc.d/init.d (which /etc/init.d is a symlink to)
2.  Have a commented out line that contains “chkconfig: <default  runlevels for this service> <start priority> <stop priority>”
3.  Have a commented out line that contains “description: <a description of the service>”
4.  Upon successful service startup, place a lock file in  /var/lock/subsys that matches the name of the service script.  Upon  successful service shutdown, the lockfile must be removed.
5. If the avove doesn't wotk. Add symbolic link for /etc/init.d/tomcat to  etc/rc.d/rc2.d/S96tomcat, /etc/rc.d/rc1.d/K99tomcat 

Reference:
http://adityo.blog.binusian.org/?tag=redhat-run-level-and-how-to-make-tomcat-service-to-run-on-boot-time-in-centos

Update: If you install Tomcat from Yum, init script is already included, just run /etc/init.d/tomcat7 start/stop/restart

Thursday, September 29, 2011

Windows Active Directory (AD)

Port 389 and 3289 need to be opened.

Do check firewall outbound rule, spent more than a week to configure a remote office to join domain.
Endup discovered that remote office firewal blocked outgoing traffic for those ports!