|
|
@ -0,0 +1,28 @@ |
|
|
|
This article contains a brief introduction to centralized structured logging with [Serilog](https://serilog.net/) and event viewing with [ELK](https://www.elastic.co/elk-stack) in eShopOnContainers. ELK is an acronym of ElasticSearch, LogStash and Kibana. This is one of the most used tools in the industry standards. |
|
|
|
|
|
|
|
![](img/elk/kibana-working.png) |
|
|
|
|
|
|
|
## Wiring eshopOnContainers with ELK |
|
|
|
|
|
|
|
eshopOnContainers is ready for work with ELK, you only need to setup the configuration parameter **LogstashgUrl**, in **Serilog** Section, for achieve this, you can do it modifing this parameter in every appsettings.json in every service, or via Environment Variable **Serilog:LogstashUrl**. |
|
|
|
|
|
|
|
There is another option, a zero-configuration environment for testing the integration launching via ```docker-compose``` command, on the root directory of eshopOnContainers: |
|
|
|
|
|
|
|
```sh |
|
|
|
docker-compose -f docker-compose.yml -f docker-compose.override.yml -f docker-compose.elk.yml |
|
|
|
``` |
|
|
|
|
|
|
|
### Configuring Logstash index on Kibana |
|
|
|
|
|
|
|
Once time you have started and configured your application, you only need to configure the logstash index on kibana. |
|
|
|
You can address to Kibana, with docker-compose setup is at [http://localhost:5601](http://localhost:5601) |
|
|
|
|
|
|
|
If you have accessed to kibana too early, you can see this error. It's normal, depending of your machine the kibana stack needs a bit of time to startup. |
|
|
|
![](img/elk/kibana_startup.png) |
|
|
|
|
|
|
|
You can wait a bit and refresh the page, the first time you enter, you need to configure and index pattern, in the ```docker-compose``` configuration, the index pattern name is **eshops-\***. |
|
|
|
![](img/elk/kibana_eshops_index.png) |
|
|
|
|
|
|
|
With the index pattern configured, you can enter in the discover section and start viewing how the tool is recollecting the logging information. |
|
|
|
|
|
|
|
![](img/elk/kibana_result.png) |