The surface of your water are lipids (fatty acids and oils). Because these oils float most filters do not pull the lipids into your filter to be removed. Once in the filter a good grade of activated carbon will remove the lipids. For future knowledge Seachem’s Tidal hang on filter does surface skim for this very reason.

Lipids come from fish food and fish waste. Typically, several partial water changes and a good grade of activated carbon should get this under control. You may also want to go with a better or different brand of fish food. Most hobbyists overfeed. Reducing the amount or type of food can help. If you are currently using flake food, consider changing to granule food the size your fish can eat. (edited)