Quick search on google yields lots of tools that I used to use..If you want to monitor internet facing services on your box, you can use upmonitor's limited but free service up to 20 alerts..However if you want to monitor a server and/or service on your internal network, you can simple ping to the listening port and raise alerts based on the result..Sending SMS, as far as I know, is as simple as sending an email to a phone number..exam:123.234.4545@tmomail.net (each carrier assigns an email address to their phone numbers..find out what your phone's email address is)
Here is an article I found that talks about using existing linux tools for you purpose:
http://www.howtoforge.com/howtos/monitoring..
If you need further help, give me a use case of your setup..AND: do you have an internet connected smartphone? if so, sky is the limit..