In a very well written article, Steve Pavlina provides very useful advice for chronic complainers. It's not as easy as it sounds but is a good starting point.
And it all begins with accepting responsibility:
* If I’m unhappy, it’s because I’m creating it.
* If there’s a problem in the world that bothers me, I’m responsible for fixing it.
* If someone is in need, I’m responsible for helping them.
* If I want something, it’s up to me to achieve it.
* If I want certain people in my life, I must attract and invite them to be with me.
* If I don’t like my present circumstances, I must end them.
Like I said, it's not easy but it definitely is something to work on.