The standard way is by using the LWE estimator (if it is simple or not it is debatable).
It estimates the cost of known attacks against LWE instances given parameters
$n$, $\alpha$, and $q$, where $\alpha$ represents the noise ratio and can be obtained from the parameter $\sigma$ from the discrete Gaussian using the formula $\alpha = \sqrt{2 \pi} \cdot \sigma / q$, already implemented in command alpha = alphaf(sigmaf(sigma), q)
.
The estimator basically finds the block size $\beta$ that the BKZ algorithm will have to use to break the LWE problem. But estimating the running time of BKZ-$\beta$ is not simple, so, to get the actual security level, you have to choose a cost model for BKZ.
In short, BKZ runs on a lattice of dimension $d$ and does several calls to a SVP solver in dimension $\beta$. The SVP oracle is often assumed to require $2^{0.292\cdot \beta}$ operations in a classical computer and $2^{0.265\cdot \beta}$ in a quantum one.
Thus, using reduction_cost_model=BKZ.sieve
in the LWE estimator will give you the number of operations as $2^{0.292\cdot \beta + 16.4 + \log_2(8 \cdot d)}$ and you want it to be larger than $2^\lambda$ for $\lambda$ bits of security.
Some people are more conservative (paranoid?) and ignore cost related to the dimension $d$ and the many calls to the SVP oracle, therefore they estimate the number of operations of BKZ as a single call to the SVP solver, thus, they get $2^{0.292\cdot \beta}$ or $2^{0.265\cdot \beta}$. This is called the "core-SVP" cost model and it was used, for example, to estimate the security of SABER.