{"id":19872190,"url":"https://github.com/piotrjustyna/probable-eureka","last_synced_at":"2026-04-13T00:47:03.168Z","repository":{"id":189914708,"uuid":"681226316","full_name":"PiotrJustyna/probable-eureka","owner":"PiotrJustyna","description":"f# + filebeat + elasticsearch + kibana + docker-compose","archived":false,"fork":false,"pushed_at":"2023-08-23T10:09:03.000Z","size":1354,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-11T16:38:44.851Z","etag":null,"topics":["docker-compose","elasticsearch","filebeat","fsharp","kibana"],"latest_commit_sha":null,"homepage":"","language":"F#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PiotrJustyna.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-08-21T14:45:11.000Z","updated_at":"2023-08-22T14:30:45.000Z","dependencies_parsed_at":"2025-01-11T16:33:17.668Z","dependency_job_id":"f43957f7-fefc-4793-8d30-a1ee72015744","html_url":"https://github.com/PiotrJustyna/probable-eureka","commit_stats":null,"previous_names":["piotrjustyna/probable-eureka"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PiotrJustyna%2Fprobable-eureka","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PiotrJustyna%2Fprobable-eureka/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PiotrJustyna%2Fprobable-eureka/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PiotrJustyna%2Fprobable-eureka/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PiotrJustyna","download_url":"https://codeload.github.com/PiotrJustyna/probable-eureka/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241297551,"owners_count":19940256,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker-compose","elasticsearch","filebeat","fsharp","kibana"],"created_at":"2024-11-12T16:14:46.145Z","updated_at":"2026-04-13T00:47:03.128Z","avatar_url":"https://github.com/PiotrJustyna.png","language":"F#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# probable-eureka\n\nf# + filebeat + elasticsearch + kibana + docker-compose\n\n## communication diagram\n\nLogs are propagated as follows:\n\n```mermaid\nstateDiagram-v2\ndirection lr\n\nstate \"application runtime\" as runtime\nstate \"filebeat\" as filebeat\nstate \"elasticsearch\" as elasticsearch\nstate \"kibana\" as kibana\n\nstate \"./filebeat.yml\" as filebeatyml\nstate \"elasticsearch-data\" as elasticsearchdata\nstate \".\" as currentdirectory\nstate \"./logs\" as logs\n\nstate host-os {\n  state volumes {\n    filebeatyml\n    elasticsearchdata\n    currentdirectory\n    logs\n  }\n\n  state containers {\n    runtime\n    filebeat\n    elasticsearch\n    kibana\n  }\n}\n\nfilebeatyml --\u003e filebeat\nelasticsearch --\u003e elasticsearchdata\ncurrentdirectory --\u003e runtime\nruntime --\u003e logs\nlogs --\u003e filebeat\nfilebeat --\u003e elasticsearch\nelasticsearch --\u003e kibana\n```\n\nRolling log files:\n\n![rolling log files](./img/rolling-file.png)\n\nKibana:\n\n![kibana](./img/kibana.png)\n\n## how to use\n\n* `./start-development-environment.sh`\n* `./stop-development-environment.sh`\n* `./build.sh`\n* `./run.sh`\n* `./nuke-development-environment.sh`\n\n### kibana\n\n* http://localhost:5601/app/discover#/?_g=()\n* main menu -\u003e analytics -\u003e discover\n* create data view\n  * index name\n  * index pattern\n  * timestamp field\n  * save data view to kibana\n\n## resources used\n\n* https://www.elastic.co/blog/getting-started-with-the-elastic-stack-and-docker-compose - looks like filebeat goes directly to elasticsearch. It should be logstash instead.\n* https://www.elastic.co/guide/en/beats/filebeat/current/running-on-docker.html - Run Filebeat on Docker\n* https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-installation-configuration.html\n* https://www.elastic.co/guide/en/beats/filebeat/current/configuring-howto-filebeat.html - Configure Filebeat\n* https://www.elastic.co/guide/en/ecs-logging/dotnet/master/setup.html - elastic + filebeat + dotnet, specifically this: https://www.elastic.co/guide/en/ecs-logging/dotnet/master/setup.html#setup-step-3\n* https://www.elastic.co/guide/en/ecs-logging/dotnet/master/serilog-formatter.html - serilog formatter\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpiotrjustyna%2Fprobable-eureka","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpiotrjustyna%2Fprobable-eureka","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpiotrjustyna%2Fprobable-eureka/lists"}