The easiest way is with direct computation of different spin configurations of the system. You construct cells with specific spin configurations and calculate the total energy. This total energy can then be compared with other spin configurations to extract particular J coupling values.
The basic idea is to generate some supercells with different spin configurations. You then write down the total energy that the system would have in the Ising model, and also calculate it by DFT. This gives you a set of simultaneous equations to solve for the individual J-couplings. By a clever choice of configurations, you can often make the system relatively simple to solve with only a few DFT calculations.
This is normally performed with non-colinear magnetism and constraints ( https://docs.google.com/document/d/1_WKe2OwDK3IES92ZGCq3swGbVvWNvWpMn5Ely0Y_NK4/ ). We have tried this for simple magnetic systems such as FePt and got reasonable results.
We currently have a project to automate this calculation as otherwise, you have to work out the J-coupling of your system by hand, and generate the spin configurations manually.