Jun 29

The first day of pre order was nothing less than a massacre. With over 250 thousand ordered th first day, AT&T and Apple’s data systems were not even able to handle the large capacity of traffic. After waiting in line for 2 hours, when the AT&T representative finally called my name (from the clipboard), the rep did not even have the ability to do anything for me. All of the systems in the store were crashed! What a headache. I came back to the store 2 days later, and they weren’t even taking pre orders anymore. So, I ended up arriving at the store at 430 am on the 25th in hopes to be one of the first 10 in line. Of course there was a sign on the door stating that they were only fulfilling pre orders and would resume sales on the 29th.

So today, the 29th, which is the 30th day of owning Clare’s 3GS, and the last day I have to utilize the buyer’s remorse program. After waiting outside in line for an hour, I am finally able to order the phone, now we wait…

Jun 21

Jailbroken iPhone 3GS with 3.1.3 firmware….

Of course I am very impatient and want all the new features of iOS4, so this is my findings with upgrading a jailbroken iPhone to the new iOS4.

Successful Process:

1. Plug iPhone into iTunes (9.2).

2. Check for Updates -> Download Only

3. Backup and Sync iPhone, externally syncing photos with iPhoto

4. Restore iPhone (which restores to iOS4)

5. Set up iPhone as new iPhone.

6. Set up iTunes to sync all apps, music, etc,that I want.

YAY!

Works like a charm

Tagged with:
Apr 21

I have been slowly working on transitioning our in house email over to Google hosted Apps. There are a million reasons why. Mainly the lack of maintenance and out-of-house servers, or the reliability of Google? The original goal was to set up a Dovecot/ Postfix email server but after alot of time and effort, I honestly gave up.

Anywho, we are now up and running on Google Apps. Setup was mostly easy besides the fact that I could not get the correct zone file that Google wanted to see. I have bind9 running on Ubuntu 8.10. I have tried so many different zone files, the following zone file is what did it.

$TTL 86400
@ IN SOA ns1.mjwired.com. admin.mjwired.com (
2009052301
2H
15M
1W
1D )
IN NS ns1.mjwired.com.
@ IN A 216.230.127.156
www IN CNAME @
mail IN CNAME ghs.google.com.
calendar IN CNAME ghs.google.com.
docs IN CNAME ghs.google.com.
sites IN CNAME ghs.google.com.
start IN CNAME ghs.google.com.
@ IN MX 1 aspmx.l.google.com.
@ IN MX 3 alt1.aspmx.l.google.com.
@ IN MX 3 alt2.aspmx.l.google.com.
@ IN MX 5 aspmx2.googlemail.com.
@ IN MX 5 aspmx3.googlemail.com.
@ IN MX 5 aspmx4.googlemail.com.
@ IN MX 5 aspmx5.googlemail.com.
IN TXT “v=spf1 ip4:216.230.127.156 include:gmail.com~all”"

Setting up local email clients:

Incoming Mail (IMAP) Server – requires SSL: imap.gmail.com
Use SSL: Yes
Port: 993
Outgoing Mail (SMTP) Server – requires TLS: smtp.gmail.com (use authentication)
Use Authentication: Yes
Use STARTTLS: Yes (some clients call this SSL)
Port: 465 or 587 587!
Account Name: your full email address (including @gmail.com) Google Apps users, please enter username@your_domain.com
Email Address: your full Gmail email address (username@gmail.com) Google Apps users, please enter username@your_domain.com
Password: your Gmail password

Tagged with:
Jan 11

Quick note …

Motoblur only syncs the “My Contacts” group from your gmail/ google apps contacts.

Tagged with:
Jan 01

This was not as easy to do as one would hope, but this is how you remove your Google account from your Motorola Cliq, in case you want to change accounts or just delete it.

1. Go into the gmail account and turn off in this order: AutoSync then Background sync

2. Go into manage applications and delete data for gmail, gmail storage, and Google Apps (you have to click on each one, and click clear data) – you should see the data line read 0.00B

3. Go back to accounts – there will be no Google account. You can now add a different account.

Tagged with:
Dec 16

All of our servers at work are running Ubuntu 9.10 Server.

I was tasked to add some monitoring tools for our core network, and was given Nagios 3 installed from the Ubuntu repository.

The first thing that threw me off was the fact that all of the documentation you will find for Nagios, is based on a binary install. Alot of example files, scripts, etc. are non-existent with the repo install.

After working out the bugs with the install, and Apache2 multi-ssl sites hack, I started digging into the configuration and writing definitions.

Nagios is a charm. The general concept and design took a little while to grasp but basically is a s follows:

1.Define a host
2. Define a host group
3. Define a host template
4. Define a service
5. Define a service template

——————————————————-

1. Defining a host. I have colored directives in blue with options in red. This is a real host based on our configuration.

define host{
use core-router ; name of the host template used
host_name rtr1.wtc ; host name nagios will use for this host
hostgroups wtc-core, core-routers ; all host groups this host is a member of
alias WTC Core Router ; human readable name to this host
address rtr1.wtc ; the network host name of this host or ip address
}

2. Defining a group. Groups are wonderful. Your Nagios web page can look however you want it. I used different service levels for groups, device types, and locations.

An example group definition, again highlighted for easy reading:

define hostgroup{
hostgroup_name  wtc-core
alias           WTC Core
}

define hostgroup{

hostgroup_name wtc-core

alias WTC Core

}

3.  Defining a host template. This is where the first step of the magic happens.( I know, it’s not really magic)  The host template defines the type of keep-alive host service check, generic attributes, contacts, and notifications.

##Template for core routers

define host{

name core-router ; The name of this host template

notifications_enabled 1 ; Host notifications are enabled

event_handler_enabled 1 ; Host event handler is enabled

flap_detection_enabled 1 ; Flap detection is enabled

failure_prediction_enabled 1 ; Failure prediction is enabled

process_perf_data 1 ; Process performance data

retain_status_information 1 ; Retain status information across program restarts

retain_nonstatus_information 1 ; Retain non-status information across program restarts

check_command check-host-alive

max_check_attempts 10

notification_interval 0

notification_period 24×7

notification_options d,u,r

contact_groups network

register 0 ; DONT REGISTER THIS DEFINITION – ITS NOT A REAL HOST, JUST A TEMPLATE!

}

4.  Defining a service. We are actually monitoring the availability of a service, so the service will be the command we use to check the service.
NOTE FOR UBUNTU USERS: The default commands are NOT defined in the configuration when you install Nagios 3 from the repository using apt-get! The only working command out of the box is check_ping.  You must define the commands in the /path/commands.cgf file
For example :
###This command checks interface interface status UP/DOWN for dell 3424 switches ( the OID is in the service)
define command{
command_name check_snmp
command_line $USER1$/check_snmp -H $HOSTADDRESS$ -P 2c -L noAuthNoPriv -C ********** $ARG1$
}
The $USER1! variable refers to the plugin directory and the $ARG1$ referes to data derived from a host.
A service:
## The only needed variable below is -o <OID> -r <return status, 1 is OK>
define service{
hostgroup_name core-switches
service_description Dell 3424 Switch Port 1 Status
check_command check_snmp! -o IF-MIB::ifOperStatus.12 -r 1
use level-0-service
notification_interval 0
}
A service :
#The following service checks for latency in IP connection.
define service{
use level-0-service ; this is the template which has notification/testing properties
hostgroup_name core-routers,core-switches, servers,core-links,***output omitted
service_description ping latency test
check_command check_ping!40.0,20%!80.0,60% ; This checks latency (OK<40ms>Warning<80ms>Critical)
}
5. A Service template:
define service{
name level-0-service ; The ‘name’ of this service template
service_description used for all core networking equipment, highest level of priority
active_checks_enabled 1 ; Active service checks are enabled
passive_checks_enabled 1 ; Passive service checks are enabled/accepted
parallelize_check 1 ; Active service checks should be parallelized (disabling this can lead to major performance problems)
obsess_over_service 1 ; We should obsess over this service (if necessary)
check_freshness 0 ; Default is to NOT check service ‘freshness’
notifications_enabled 1 ; Service notifications are enabled
event_handler_enabled 1 ; Service event handler is enabled
flap_detection_enabled 1 ; Flap detection is enabled
failure_prediction_enabled 1 ; Failure prediction is enabled
process_perf_data 1 ; Process performance data
retain_status_information 1 ; Retain status information across program restarts
retain_nonstatus_information 1 ; Retain non-status information across program restarts
notification_interval 0 ; Only send notifications on status change by default.
is_volatile 0
check_period 24×7
normal_check_interval 3
retry_check_interval 1
max_check_attempts 4
notification_period 24×7
notification_options w,u,c,r ; w=warning, u=unknown, c=critical, r=recovers, f=flapping, s=scheduled downtime,
contact_groups network
register 0 ; DONT REGISTER THIS DEFINITION – ITS NOT A REAL SERVICE, JUST A TEMPLATE!
}
———————————————-
Some topics I did not cover but plan on doing so are notifications ( the network team is receiving email notifications for warnings and critical failures on core and level 1 network equipment, and the support staff has an auto-generated Netsuite case when a lower priority issue arises.)  I set up postfix and some other things that I will discuss later.
I plan on learning more and more about Nagios over the next few years, as I will be developing its services and using it more each day.
I had no intentions on writing such a large entry, but once you get started it is hard to stop.
Tagged with:
Nov 14

So I moved my server a few months back from one data center to a much more secured, temperature controlled data center in Baltimore. In this move I was given a new IP address. Since I am running multiple services on the server, I had to plug in the KVM switch at the old datacenter and configure the new settings. I thought that everything was up and running, but after the installation, could only access my server by IP and not by host name.

All of my services were down for weeks while I was trying to figure out what in the world was going on. During this downtime, I learned how to put Bind9 in a ch-jail environment, but when restarting Bind9 using the init script, it would not shutdown. After manually killing the processes and starting Bind9, nothing would work as well.
Bind would give all types of errors talking about RNDC and I thought there was a problem with the configuration file or a problem with the RNDC key.

Note: Using a good tutorial for setting up a chroot jail, added logging which REALLY helped debug this issue.

https://help.ubuntu.com/community/BIND9ServerHowto

The simplest thing was my problem, i had removed the loopback interface from the interfaces file.

Lesson learned:
#/etc/network/interfaces:

auto lo
iface lo inet loopback

Without the loopback device installed, Bind9 was non functional.

That is a VERY IMPORTANT LINE.

Tagged with:
Nov 12

So, I moved away from the CMS and decided to make a wordpress blog. A few things I want to post about soon are Google Apps , specifically Google Calendar and iCal, loopback address on linux box and bind.

preload preload preload