Reputation: 13
My team and I recently started working on a new project. Our project is layered in 3 tiers - client (Winforms Application), middle ware (.NET Core 3.0 Web API), Database (PostgreSQL). I was assigned to find the optimal way to implement a logging and monitoring system.
What we need is log every exception (of course), as well as every query that our middle ware does to our database and also some audit logs. Bear in mind that these logs will occur very often since the users are more than 200 concurrently.
At first my search began from the noSQL databases. I was thinking of picking MongoDb, Cassandra or ElasticSearch, since they are fast and do not need a specific schema and log everything there. But then I stumbled upon this great blog post by Nick Craver - the Architecture Lead for Stack Exchange. There he mentions the use of StackExchange.Exceptional and I think that this is what we actually need. But I am not sure how to actually use it and which of all those great solutions that Nick gives I need for my use case.
So I am asking:
Upvotes: 0
Views: 1277
Reputation: 2277
If you asking me I will be going with ELKB stack. I haven't use OPServer. So I am not going to comment on this. But I would like to share my opinion about elasticsearch how your use case can be achievable on this.
As far I understand you have two things need to log:
ELKB stack is designed for these use cases only. Where there will be a river kind of flow. Your logs will keep storing in Elasticsearch.
Below are a few steps for how you can achieve your use case:
Step 1: Setup Elasticsearch. For this, you don't need to be any professional. Just follow the wonderfull document they have.
Step 2: Setup Logstash / Filebeat which will read your logs file in realtime and keep inserting in Elasticsearch.
Step 3: Setup Kibana over the elasticsearch. You will get a complete view of your data logs.
Step 4: Just add logs point in your app where you will get Exceptions or you want to log something else.
PROS :
There are lots of prons you will find on the Internet.
CONS:
Below are a few Use cases I would like to share. I am sure it will help you out to understand:
Dream11 : https://medium.com/@D11Engg/elasticsearch-dream11-30328d913cd5
Uber : https://eng.uber.com/elk/
Ebay : https://www.elastic.co/blog/monitoring-petabytes-of-logs-at-ebay-with-beats
Upvotes: 1