Showing posts with label Ubuntu. Show all posts
Showing posts with label Ubuntu. Show all posts

2010-11-23

Taking Control: More BASH Tips

Between the numerous servers I manage via ssh and my personal machines I spend a lot of time in the BASH shell and, as with anyone and who uses a tool for a long time, I have discovered numerous shortcuts to getting things done efficiently. I wrote a couple months ago about using ! and $ to manipulate previous commands.
This time I am going to talk about moving the cursor around in the current command and manipulating the window.

CTRL + l
Before we get started let's clean up by clearing our screen. Control and l will clear the screen without modifying any of the text on your current line. It is very helpful for keeping your terminal clean or preparing it for a large amount of output that your next command may bring.

CTRL + r
This is probably one of the most frequently used control combinations. Control and r allows you to pull up a command from your history by typing in and having it match the last used command with those characters. For example, if you used a command yesterday that had very complex syntax and can't remember what it was, you could hit ctrl+r and then start typing the part of the command that you know.

j2consulting:~ user1$ echo The quick brown fox jumps over the lazy dog.
The quick brown fox jumps over the lazy dog.
(reverse-i-search)`fox': echo The quick brown fox jumps over the lazy dog.


CTRL + a and CTRL + e
There are many times when you need to jump to the beginning of the line to fix a command and then jump back to the end to finish what you were typing. Control and a as well as Control and e take care of this for you. Say I wanted to use print instead of echo in the previous example. I could hit the up arrow, CTRL+a, change echo to printf ", CTRL+e, add \n" and be done.

j2consulting:~ user1$ echo The quick brown fox jumps over the lazy dog.
The quick brown fox jumps over the lazy dog.
j2consulting:~ user1$ printf "The quick brown fox jumps over the lazy dog.\n"
The quick brown fox jumps over the lazy dog.


ESC, ALT, CTRL + b and ESC, ALT, CTRL + f
In addition to these there are commands to move back and forward one word at a time. I don't frequently use these because they have mixed success depending on which terminal emulator is used. If you are on a mac on the local terminal esc and then b will move you back one word and esc then f will move you forward one word. If you are on a mac and ssh'd into a system CTRL + the left arrow will move you back one word and CTRL + the right arrow will move you forward one word. I have also read about ALT + b and ALT + f working on different systems. Experiment with this one but because of the inconsistency I tend not to depend on it.

There are more control commands available and I will be looking at those in my next post. Until then happy BASHing.

2010-11-08

Installing Nagios on Ubuntu 10.10

Nagios is a powerful monitoring software package that basically consists of a web interface, a scheduling and evaluation engine, and various scripts or plug-ins. It is a widely used monitoring tool due to it's flexibility and stability. I've personally seen it being used at numerous operation centers and set it up for countless clients. Until recently I had never used Ubuntu as a nagios host but that has changed and the difference in setup was worth documenting. This

I'll be starting with a basic install of Ubuntu Server 10.10, specifically the Rackspace Cloud Server image and all commands will be run as root ( sudo su - ) to simplify things. After building it I like to make sure that I'm all patched up before starting.

apt-get update
apt-get upgrade


No Compiling?
If you have ever built a nagios system in the past you have probably had to go to nagios.org, download the source, compile it and install it. Ubuntu keeps nagios in their repository so there is no need for that.

apt-get install nagios3

This will prompt you to install a large number of packages including apache2, php, postfix, samba, and a slew of libraries all used to either present the nagios interface or support the underlying scripts. The install will prompt you to set the postfix ( mail ) settings. Internet Site and your domain name are probably what you want to use there. It will also prompt you for the nagiosadmin password, this is for the htaccess on the website. Once all of the packages are done installing you have a working nagios install. You can verify this by going to the web interface at http://your.server.ip/nagios3 use the username nagiosadmin and the password you set during the install.


Where are the files?
Traditionally nagios installs into /usr/local/nagios as a complete package. The way the ubuntu package installs these files are put into the larger os layout. Below is a rough cheat sheet as to where things ended up.

Purpose ................... Old ..................................... New
binary ..................... /usr/local/nagios/bin/nagios ... /usr/sbin/nagios3
configuration files ... /usr/local/nagios/etc .............. /etc/nagios3 & /etc/nagios-plugins/config
plugins ................... /usr/local/nagios/libexec ........ /usr/lib/nagios/plugins
website files ........... /usr/local/nagios/share ........... /usr/share/nagios3/htdocs
command file ......... /usr/local/nagios/var .............. /var/lib/nagios3

One last hurdle.
At this point you have a very basic nagios system that is functioning, almost. If you are in the web interface and try to use any of the links under Service Commands or Host Commands you will see this error:

Sorry, but Nagios is currently not checking for external commands, so your command will not be committed!

Like the error says, external commands are not enabled. To fix this edit /etc/nagios3/nagios.cfg, find the line check_external_commands=0 and change it to check_external_commands=1

If you restart nagios now and try the commands again you will get another error:

Error: Could not stat() command file '/var/lib/nagios3/rw/nagios.cmd'!
The external command file may be missing, Nagios may not be running, and/or Nagios may not be checking external commands.
An error occurred while attempting to commit your command for processing.

This error is coming up because the apache process does not have the permission to write to the file that nagios checks for the commands you are requesting. The fix for this is to allow the www-data group read and execute permission to the directory where the command file lives and then add the www-data user to the nagios group because the command file gets created with nagios:nagios as the owner:group and 660 as the permissions.

chmod g+rx /var/lib/nagios3/rw
usermod -a -G nagios www-data
/etc/init.d/apache2 restart
/etc/init.d/nagios3 restart

Now the host and service commands will work and you can start configuring the rest of your nagios setup.

2010-10-10

Maverick Meerkat's clever coming out party.

In a clever move by Canonical the next release of Ubuntu, 10.10, was released today, the tenth day of the tenth month of the tenth year. This release, named Maverick Meerkat, only has minor upgrades to most packages that effect servers with the only major upgrade being to Eucalyptus. It does include the update to 3.2.1 for Nagios which includes a slightly improved site design as well as bug fixes which I was happy to see.

This release also serves as a reminder that Ubuntu 9.04 ( Jaunty Jackalope ) will enter end of life in 13 days, October 23. What does this mean? From Ubuntu's official announcement: "At that time, Ubuntu Security Notices will no longer include information or updated packages for Ubuntu 9.04."

To find out more about the release, check out the release notes or download and install it for yourself. You can also take Ubuntu up on it's offer of a free hour of Maverick in the cloud via their Ubuntu on Cloud 10 project.