24th December 2008

Instalar Zabbix en Ubuntu desde los source

Following are instructions on installing ZABBIX on Ubuntu. Beware that the packages in the Ubuntu repository are quite probably an old version. You can check this with

apt-cache showpkg zabbix-server-mysql

They currently apply to ZABBIX v1.4.2 and Ubuntu 7.04 but may apply to other versions. These instructions have been compiled from various sources so a big thanks to the sources. These instructions have been tested on Ubuntu 8.04 as well.

Install pre-requisites: Apache MySQL-Server PHP5 Net-Snmp libraries Curl libraries

sudo apt-get install build-essential mysql-server libmysqlclient15-dev php5 php5-gd php5-mysql
snmp libsnmp-dev snmpd libcurl3-dev

If you aren’t going to be using Web Monitoring, you can exclude libcurl3-dev from above.

NOTE: For Jabber support make sure to include libiksemel3 and libiksemel-dev packages and then add –with-jabber=/usr/ to your configure command (STEP #4 below). The script wants the /include dir for the .h file and /lib for .c files and it needs to look in the root of the directory for them. For Ubuntu /usr is the place. Therefore, if you make sure that it knows to look in “/usr/” Jabber support should build fine. This is tested on Ubuntu Dapper 6.06 with Zabbix 1.4.2 but should work for more recent versions of Ubuntu as well.

1 - Make the zabbix user and group:

sudo adduser zabbix
enter in new password
confirm

use the remaining defaults.

Add zabbix to the admin group:

sudo adduser zabbix admin

2 - Download and Untar the sources:

su - zabbix
wget http://optusnet.dl.sourceforge.net/sourceforge/zabbix/zabbix-1.4.2.tar.gz
tar zxvpf zabbix-1.4.2.tar.gz

You might want to confirm that this is actually the latest version. You might also want to find a mirror closer to you by going to http://sourceforge.net/project/showfiles.php?group_id=23494.

3 - Create a zabbix database and populate it:

sudo mysql -e"create database zabbix;”
sudo mysql -e”grant all privileges on zabbix.* to zabbix@localhost identified by ‘enter-password-here’;”

The following steps will require the password you assigned to the new zabbix database user account in the step above.

mysql -D zabbix -uzabbix -p zabbix < /home/zabbix/zabbix-1.4.2/create/schema/mysql.sql
mysql -D zabbix -uzabbix -p zabbix < /home/zabbix/zabbix-1.4.2/create/data/data.sql
mysql -D zabbix -uzabbix -p zabbix < /home/zabbix/zabbix-1.4.2/create/data/images_mysql.sql

4 - Configure, compile and install the server:

cd zabbix-1.4.2/
./configure –prefix=/usr –with-mysql –with-net-snmp \
–with-libcurl –enable-server –enable-agent &&
make
sudo make install

If you aren’t going to be using Web Monitoring, you can exclude –with-libcurl from above.

If you wish to add Jabber support add –with-jabber=/usr/ and make sure you have libiksemel3 and libiksemel-dev packages as noted above before STEP #1

5 - Prepare the rest of the system:

sudo nano /etc/services

Add at the end:

zabbix_agent 10050/tcp # Zabbix ports
zabbix_trap 10051/tcp

Save and exit.

sudo mkdir /etc/zabbix
sudo chown -R zabbix.zabbix /etc/zabbix/
cp misc/conf/zabbix_* /etc/zabbix/

Edit /etc/zabbix/zabbix_agentd.conf:

nano /etc/zabbix/zabbix_agentd.conf

Make sure that the Server parameter points to the server address, for the agent that runs on the server it is like this:

Server=127.0.0.1

Save and exit.

Edit /etc/zabbix/zabbix_server.conf:

nano /etc/zabbix/zabbix_server.conf

For small sites this default file will do, however if you are into tweaking your config for your 10+ hosts site, this is the place.

Change this:

# Database user
DBUser=zabbix
# Database password
# Comment this line if no password used
DBPassword=Secret

Save and exit.

Copy the init.d scripts to the right spot:

sudo cp misc/init.d/debian/zabbix-server /etc/init.d
sudo cp misc/init.d/debian/zabbix-agent /etc/init.d

You may need to edit these script files as the compiled versions of the zabbix files is placed under /usr/sbin (/usr/bin in older versions).

sudo nano /etc/init.d/zabbix-server

Look for the following line:

DAEMON=/home/zabbix/bin/${NAME}

and replace it with:

DAEMON=/usr/sbin/${NAME} (old versions use /usr/bin/${NAME})

Save and exit.

sudo nano /etc/init.d/zabbix-agent

Look for the following line:

DAEMON=/home/zabbix/bin/${NAME}

and replace it with:

DAEMON=/usr/sbin/${NAME}  (old versions use /usr/bin/${NAME})

Save and exit.

Now set the correct permissions and set ZABBIX to start when the machine boots:

sudo chmod 755 /etc/init.d/zabbix-server
sudo update-rc.d zabbix-server defaults
sudo chmod 755 /etc/init.d/zabbix-agent
sudo update-rc.d zabbix-agent defaults

Start the server :

sudo /etc/init.d/zabbix-server start

Start the agent:

sudo /etc/init.d/zabbix-agent start

Now check to make sure that they are running:

ps -aux | grep zabbix

You should see multiple instances of zabbix_server and zabbix_client running if everything has gone ok.

6 - Configure web interface

mkdir /home/zabbix/public_html
cp -R frontends/php/* /home/zabbix/public_html/

Edit /etc/apache2/sites-enabled/000-default:

sudo nano /etc/apache2/sites-enabled/000-default

Work into file:

Alias /zabbix /home/zabbix/public_html/
<Directory /home/zabbix/public_html>
  AllowOverride FileInfo AuthConfig Limit Indexes
  Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
  <Limit GET POST OPTIONS PROPFIND>
    Order allow,deny
    Allow from all
  </Limit>
  <LimitExcept GET POST OPTIONS PROPFIND>
    Order deny,allow
    Deny from all
  </LimitExcept>
</Directory>

Save and exit.

Make php.ini adjustments:

sudo nano /etc/php5/apache2/php.ini

Change the following values:

max_execution_time = 300 ; Maximum execution time of each script, in seconds
date.timezone = America/Kentucky/Louisville

(use this url to find your correct timezone format: http://us3.php.net/manual/en/timezones.php )

Restart Apache:

sudo /etc/init.d/apache2 restart

Now point your browser to:

http://<servername or ip>/zabbix/

1. Introduction

read and click Next

2. License Agreement

Read, check ‘I Agree’, click Next

3. Check of Pre-Requisites

Fix any problems, click retry. Click Next when all pre-requisites are OK.

4. Configure DB Connection

Enter appropriate settings and click Test Connection. Click Next when OK.

5. Pre-Installation Summary

Verify installation settings, click Next.

6. Install

Click Save Configuration file and save to machine. Copy zabbix.conf.php to /home/zabbix/public_html/conf/zabbix.conf.php

One way to do this from a desktop machine (requires ssh installed): scp zabbix.conf.php zabbix@<serverip>:/home/zabbix/public_html/conf/

If using a windows workstation, you can use winscp http://winscp.net/eng/index.php to drag/drop the file onto your zabbix machine. This also requires ssh to be installed. (sudo apt-get install openssh-server)

Click Retry and click Next when OK.

7. Finish Click Finish to complete installation.

Your New Zabbix install will now be shown.

Log in with username: Admin And password is zabbix

First go to the tab Configuration and then Hosts.

Now create a host-group, see that you can give it some templates, e.g: Application.MySQL, Host.SNMP, Host.Standalone, Host.Unix.

Then some hosts:

Select your host-group and use Link with Template Host.Unix

Now a lot of triggers are imported and the game begins.

Go to the monitoring tab and watch the latest values roll in.

For specifics on configuration, please refer to the Zabbix user manual.

posted in General, Linux, Redes | 0 Comments

20th December 2008

Copias de Windows con rsync sobre servidor linux

Como siempre, os dejo aqui cosas que encuentro interesantes y que pruebo.

La idea es tener un servidor linux al que mediente rsync se conecte un servidor windows para disponer de una copia de los ficheros. Esta copia solo se realiza sobre los documentos que han cambiado. Algo más que interesante para ahorrar en ancho de banda.

Set up rsync server on Ubuntu

  1. Run sudo apt-get install rsync (it’s probably already installed)
  2. Create a file named rsyncd.conf in /etc
    1. sudo nano /etc/rsyncd.conf
    2. Add the following to rsyncd.conf, replacing all instances ofusername with your Ubuntu username:
      [usernamebackup]
      
          path = /home/username/backup
          comment = Backup
          uid = username
          gid = username
          read only = false
          auth users = username
          secrets file = /etc/rsyncd.secrets
    3. sudo chmod 644 /etc/rsyncd.conf
  3. Create a file named rsyncd.secrets in /etc
    1. sudo nano /etc/rsyncd.secrets
    2. Add the following to rsyncd.secrets, replacing usernamewith your username and password with a password of your choosing:
      username:password
    3. sudo chmod 600 /etc/rsyncd.secrets
  4. Open rsync port by editing /etc/default/rsync and setting
    RSYNC_ENABLE=true
  5. Restart rsync
    sudo /etc/init.d/rsync restart

Set up rsync client on Windows

  1. Install Cygwin, making sure Editors > nano and Net > rsync are selected
  2. Add C:\cygwin\bin; to the Windows PATH statement
    1. Right-click on My Computer and select Properties
    2. Switch to the Advanced tab and click the Environment Variables button at the bottom
    3. Find the “Path” or “PATH” variable in the System variables list at the bottom and click Edit
    4. Add C:\cygwin\bin; to the beginning of the list
  3. Create secret file to store password in Cygwin
    1. Start Cygwin Bash Shell
    2. Create secret file in the filesystem root and enter only the password in rsyncd.secrets above, with no spaces or line breaks
      nano /secret
    3. chmod 600 /secret
    4. chown Administrator:SYSTEM /secret
  4. Create bat file to run rsync
    1. Open Notepad and enter the following command, replacingUser Name with your Windows User Name directory,username with your Ubuntu username, and ipaddresswith the IP address of your Ubuntu server (e.g. 192.168.0.100):
      C:\cygwin\bin\rsync.exe -qrtz --password-file=c:\cygwin\secret --delete "/cygdrive/c/Documents and Settings/User Nameusername@ipaddress::usernamebackup

      As you may have guessed, the "/cygdrive/c/Documents and Settings/User Name" command line option designates where to start backing up from. As currently configured, this will backup your Windows home directory (Desktop, My Documents, etc). If you want to backup your whole hard drive, change that option to "/cygdrive/c".

    2. Save the file as C:\rsync.bat

Create scheduled task to run C:\rsync.bat once a day

  1. Create scheduled task
    1. Goto Start > Programs > Accessories > System Tools > Scheduled Tasks
    2. From the File menu, select New > Scheduled Task
    3. Name this task “rsync backup”
    4. Right-click on the task and select properties
    5. Enter C:\rsync.bat in the Run field
    6. Switch to the Schedule tab and select the time you want the backup to run every day and click Ok
  2. Test the scheduled task
    1. Create a folder called C:\data and put a few photo files in it
    2. Edit C:\rsync.bat and change "/cygdrive/c/Documents and Settings/User Name to "/cygdrive/c/data"
    3. Add the command pause on a new line at the bottom of C:\rsync.bat and save the file
    4. Right-click on the “rsync backup” scheduled task and select “Run”—A command window should popup and with either errors or the list of files being transfered. If there are errors, troubleshoot them.
    5. Once the scheduled task and C:\rsync.bat appear to be working correctly, change "/cygdrive/c/data" back to"/cygdrive/c/Documents and Settings/User Nameand remove the pause command
    6. Finally, edit the scheduled task properties and change “Run as:” to NT AUTHORITY\SYSTEM—this will ensure that the process runs in the background, without popping up a command prompt window

Run your first backup

Run C:\rsync.bat from the command line before going to bed. Backing up 35GB over a wireless-g connection took me over 8 hours. Subsequent backups take less than a minute. Behold the beauty of rsync.

Update: for information on how to backup Ubuntu to Ubuntu (or Linux to Linux really) using rsync with passphraseless keys, check out Playing with rsync on Ubuntu.

posted in Linux, Redes, windows | 0 Comments

  • Publicidad

  • Calendar

  • December 2008
    M T W T F S S
    « Nov   Jan »
    1234567
    891011121314
    15161718192021
    22232425262728
    293031