Category Archives: Linux

Adding JMX support to your java app

what is JMX?

JMX is a technology that lets you add management interfaces for Java applications

the jmx interface on your java application will let you monitor and publish graphs for:

  • heap memory
  • threads and their stack trace
  • CPU
  • classes
  • memory pools
and it will also expose the java Mbeans tree which you can browse
with the jconsole app included with any java distribution:
you can either browse and read these attributes,
and in some cases edit them and change the application status.

Technorati Tags: , ,

NFS mount – When Your Shares Go Wrong

From Wikipedia:

Network File System (NFS) is a network file system protocol originally developed by Sun Microsystems in 1984, allowing a user on a client computer to access files over a network in a manner similar to how local storage is accessed.

So basically its a network share, it allows you to share files between remote computers
in the most easy and seamless way, once it was specifically for UNIX servers,
but today NFS is supported over MS servers as well.

Like everything else in Sysadmin life,
when its working its working well, and nobody hears about it,
but what to do when its not working?
Samba debugging for example is easier from that aspect since it has extensive logs for the sysadmin,
NFS doesn’t keep logs, and NFS issues doesn’t show up in the syslog/messages file as well.

But there are tools that allow you to get extensive information about the running NFS process,
shares, statistics, users connected etc :

Description

Command

see what the machine is exporting SunOS: # exportfs
Solaris: # share
Print the list of shared file systems showmount -e server_name
Print the list of all clients mounting a directory from the questioned server showmount -a server_name
Print the directory and all the clients that are mounting it curretly – from within the nfs server dfmounts
print the nfs netwrok statistics client side: nfsstat -c
server side: nfsstat -s
To see that nfsd is responding rpcinfo -T udp crimson nfs
To see that mountd is responding rpcinfo -T udp crimson mountd
To see that lockd is responding rpcinfo -T udp crimson nlockmgr

rpcinfo -T udp crimson llockmgr

Technorati Tags: , , ,

Improving Your WebSite Performance

Why is my site slow?
Why is my Bounce Rate so high?
How to improve my site’s performance?

These are some of the questions bothering web masters and site owners all the time,
here are some tools and readme’s that will:

  • test your site
  • find bottle necks
  • measure performance from the outside
  • get tips for fixing the problem areas in your site
  • and knows list of issues every site is suffering from

so lets start with online freeware tools and external web site test tools.

Check if your Google Analytics is working well in your site

Who is watching the watchman?

first thing to check – are you getting the accurate statistics from your site?
is your Analytics account configured well?
are you even really using one?

SiteScan™ is a diagnostic tool from EpikOne that verifies if your Google Analytics (GA)
Tracking Code is installed properly on your website.

sitescan google analytics

This scan will go over each page and verify that the Google Analytics code is embedded correctly to each of your page, this can help you diagnose if your bounce rate is high because the Analytics cant see their next click,
or maybe you should really work on your site design.

How does my code looks like from the browser?

firebug

From the firebug download page:

Firebug integrates with Firefox to put a wealth of development tools at your fingertips while you browse. You can edit, debug, and monitor CSS, HTML, and JavaScript live in any web page..

This is the basic tool to verify your code as it seen from the browser side,
you can click a specific element on your page, and get a list on the right pane window of firebug,
of all the css code that is effecting this element, even if the code span multiple css files.

Why is my page so slow?

the yslow tool from yahoo will go through the elements of your page,
and by using a preset list of rules, it will tell you which parts of the website you should fix,
and what to fix.
yslow

The yslow firefox plugin needs the firefox firebug installed first.

If you want to learn more deeply on the reasons behind each of the testing rules yahoo though about you can read the very informative document from yahoo about “Best Practices for Speeding Up Your Web Site

Feed Validator

Get your rss feed validated

AOL webpagetest

from the AOL web page test:

Pagetest allows you to provide the URL of a webpage to be tested. The test will be conducted from the location specified and you will be provided a waterfall of your page load performance as well as a comparison against an optimization checklist.

aol pagetest waterfall

Technorati Tags: , , ,

Implementing MediaWiki

My favorite type of wiki is mediawiki,
I love the ease of use, the huge matrix of extensions available,
and the look and feel of the wiki itself.
backup, restore and upgrade support are also very important reasons to choose a specific wiki software,
and having gone through all this steps in mediawiki, I am very pleased with the ease of use.

Starting from the begining:

what is mediawiki?

MediaWiki is free server-based software which is licensed under the GNU General Public License (GPL). It’s designed to be run on a large server farm for a website that gets millions of hits per day. MediaWiki is an extremely powerful, scalable software and a feature-rich wiki implementation, that uses PHP to process and display data stored in its MySQL database.
Media wiki site

Media wiki also saves the versions of the updated files – allowing for easy reverts and versioning of edited files.

The largest sites using medaiwiki:

Mediawiki large sites list

Design matters

Wiki website doesn’t have to have the MediaWiki standard look,
you can design the look and feel either manually to suite the corporate guidelines or with existing skins.

Novelle’s wiki site:

Novell wiki site

marvel.wikia.com:

marvel

Extensions

Extensions are compilations of PHP code that add new features or enhance functionality of the main MediaWiki core. Extensions are one of the main advantages of MediaWiki. They give wiki administrators and wiki end-users the ability to adapt MediaWiki to their requirements.

The extensions can add capabilities like:

Integrate into the Organization

Using LDAP we can integrate the wiki with the main active directory.
http://www.mediawiki.org/wiki/Ldap will show you the step to add ldap support to the wiki install,
with ldap you can have single and multi domain authentication (including local database)
Retrieval of user information from LDAP:
  • Email address
  • Real name
  • Nickname
  • Language
you can configure the wiki to allow to only domain users to access the server, and you can create wikis that will be accessible only by a specific domain group/users.
You can restrict edit access only to users who have created an account AND verified their email address.
more features the mediawiki ofers:
  • A watch list – update by email when a watched page has changed.
  • By default, MediaWiki’s page URLs look like /index.php?title=Your_Page,
  • but an .htaccess file tweak can make them look like Wikipedia’s clean /wiki/Your_Page links.
  • When a user submits an edit to a page, MediaWiki writes it to the database, but without deleting the previous versions of the page, thus allowing easy reverts in case of vandalism or spamming.

First steps with editing wiki pages

http://meta.wikimedia.org/wiki/MediaWiki_User%27s_Guide:_Editing_overview

This simple editing tutorial will show you the basic step in editing a new wiki page:

  • headings
  • lists
  • links

Technorati Tags: , , ,

solaris 10 and vnc

Boost Your Adsense And Affiliate Commissions By Building 10s, 100s or 1,000s of Websites,
Each With The Click of a Button!

VNC is a server client method of connecting to a remote server,
the great thing about vnc is that you can see the remote server desktop, and work on it with a mouse just like its your local desktop.
another good thing about vnc is that its free for use for many distros.

There are main 2 major software companies that supply free vnc server and vnc cllient,
the first is realvnc and the second is tightvnc , from the tighvnc site:

TightVNC is a free remote control software package. With TightVNC, you can see the desktop of a remote machine and control it with your local mouse and keyboard, just like you would do it sitting in the front of that computer. TightVNC is:

  • free for both personal and commercial usage, with full source code available (GPL-licensed);
  • useful in remote administration, remote customer support, education, and for many other purposes;
  • cross-platform, available for Windows and Unix, compatible with other VNC software.

So these are 2 options for you to download a good free vnc viewer.

Solaris VNCserver configuration

and I say only viewer because now the Solaris 10 build 5 comes with the vncserver alredy inside.
all you need to do is to configure it.

This page on the SUN site will give you the detailed explanation on how to do things and what security patch you need to install fisrt ,but the instructions can be summed up in 4 lines:

mkdir -p /etc/dt/config

cp /usr/dt/config/Xservers    /etc/dt/config/Xservers

edit this file “/etc/dt/config/Xservers” and add these lines at the end:

:1  Local local_uid@none root /usr/X11/bin/Xvnc :1 -nobanner -AlwaysShared -SecurityTypes None -geometry 1024x768x24 -depth 24
:2  Local local_uid@none root /usr/X11/bin/Xvnc :2 -nobanner -AlwaysShared -SecurityTypes None -geometry 1024x768x24 -depth 24
:3  Local local_uid@none root /usr/X11/bin/Xvnc :3 -nobanner -AlwaysShared -SecurityTypes None -geometry 1024x768x24 -depth 24
And reboot the server.

The lines with the :1 :2 etc at the beginning, are the virtual displays you wish to server to have available for connections, you can add more by changing the numbers to :4 :5 etc.

when connecting to the server with the vnc viewer you need to express to which virtual display you want to connect by adding it to end of the server’s name or ip:

10.10.10.1:3

If you want to connect to virtual display number 3.

A security note – this configuration will allow passwordless access to the vnc screen – if someone logs in and leaves it open – the next user can just enter without a login.

A safer configuration is to require a password by using the -SecurityTypes VncAuth parameter. The Xvnc(1) man page describes password requirements.

VNC and Security

The vnc as a general is clear text, for a more secure connection there is a method of tunneling the vnc through a ssh session.
2 nice tutorials for vnc through ssh can be found here and here.
the second tutorial is using putty for the ssh connection – putty is another great freeware,
its a free ssh client for windows to connect to ssh servers.

If the server you wish to connect to through vnc is located withing your lan,
and you are relaxed about security for the users on it – if its a training server etc ,
you can just setup the vncserver without any safeguards,
but if you are connecting through an unsecured medium (AKA the internet)
you better add the ssh layer to it.

Boost Your Adsense And Affiliate Commissions By Building 10s, 100s or 1,000s of Websites,
Each With The Click of a Button!

Technorati Tags: , , , ,

Reading Linux Email book

Linux E-mail

I’m reading a new book about Linux mail servers,
Its basically a Hands on training book for easily installing a full linux email server for the office,
The book is filled with helping screenshots and a step-by-step procedures to install the server and make things work,
some of the apps the book covers are: Postfix, Courier, Procmail etc…
Ill add a full review when I’m done reading – it looks nice so far.

Technorati Tags: , ,