Probably good to review several of them just to be sure you're not overlooking something.
Blocking/deadlocking and some other minor issues are best alerted, rather than you running a query periodically. Blocking and deadlocking can be picked up in extended events and event notifications, although XEvents can't alert you.
Blocking is not worth alerting on unless it lasts for at least a certain time. You can control this with the blocked process report:
And there's some tools to help you view them:
There are similar scripts etc. for deadlocks. In a previous job I have an XEvent session that captured both, plus an event notification that would email me when they happened.
You can also set SQL Agent alerts for some of these, they can email you when they arise. I found the SQL Agent alerts not as useful, as they didn't give you details, but just basically sent an email. They can, however, kick off a job that can query your other capture data and email those details.
You might want to look into some monitoring tools, Redgate, Idera, etc. There are also some not-quite-free, but also not as expensive tools you can trial.