The first thing you should try is to lift up the canister and wipe off the gasket and the toilet bowl seal. I use Lysol wipes. One piece of grit on the gasket can cause the problem you are describing. Sometimes, when I do this, the toilet continues to work fine for months. But, at some point, you will need to replace the gasket. I buy genuine Kohler gaskets from Amazon. Here is what you need:
Amazon.com