I tend to prefer my players not knowing anything about the monsters, but just like their characters get to know them by fighting them. That's why I keep monsters stats static (for example same type always same HP, unless it's a leader / commander), but also don't just outright reveal something in regards to the stats.
It's much more fun if the players figure out for example resistances by attacking and noticing it doesn't work rather than them just rolling e.g. "Arcana" or something and then I just outright tell them.
I do allow recalling lore if my players ask for it. What I do is the following:
I collect all the info available and categorize them into three levels (from easy to know to hard to know - I also sort out things I don't want to reveal). Then I decide how common the monster is:
Common: DC5 - Know name and basic info, DC10 - Know a bit more, DC15 - Know all the info I want to reveal
Uncommon: DC10 - Know name and basic info, DC15 - Know a bit more, DC20 - Know all the info I want to reveal
I don't put a lot of math or rocket science into it, usually I just quickly go by feeling.
Sometimes I don't even require a roll at all. For example a player who earlier read a book about a creature will just outright identify it (and what he knows I'll leave to the memory of that player).