{"id":25794495,"url":"https://github.com/cblomart/signinstats","last_synced_at":"2025-06-23T14:33:20.538Z","repository":{"id":150513111,"uuid":"289010232","full_name":"cblomart/signinstats","owner":"cblomart","description":"Aggregates Sign-in Logs from Azure AD to log analytics to save storage","archived":false,"fork":false,"pushed_at":"2020-08-20T19:50:30.000Z","size":12,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-01T23:57:13.806Z","etag":null,"topics":["azuread","log-analytics","signinlog"],"latest_commit_sha":null,"homepage":"","language":"C#","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/cblomart.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":"2020-08-20T13:13:15.000Z","updated_at":"2020-08-25T21:10:02.000Z","dependencies_parsed_at":"2023-04-06T07:46:45.408Z","dependency_job_id":null,"html_url":"https://github.com/cblomart/signinstats","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/cblomart/signinstats","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cblomart%2Fsigninstats","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cblomart%2Fsigninstats/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cblomart%2Fsigninstats/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cblomart%2Fsigninstats/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cblomart","download_url":"https://codeload.github.com/cblomart/signinstats/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cblomart%2Fsigninstats/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261494702,"owners_count":23167182,"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":["azuread","log-analytics","signinlog"],"created_at":"2025-02-27T13:59:19.171Z","updated_at":"2025-06-23T14:33:20.529Z","avatar_url":"https://github.com/cblomart.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SigninStats\n\n\u003e **TODO**: render the user informations more flexible. Currently only the company name is collected.\n\nAzure AD signing logs can be sent to log analytics :)\n\nOn some tenants these logs can take up quite a bit of storage. \n\nThis projects aims at consolidating those logs at some time interval to lower the storage needed.\n\nAdmitedly these don't replace the original logs but they can give a sense of the amount and type of signins on a tenant.\n\n## Principle\n\nOk... bear with me there...\n\n\n```ascii\n                                         +-----------+\n                                         | Azure AD  |\n                                         | User info |                    +--------------------+\n                                         +-----+-----+                   -\u003e Log Analytics      |\n+---------+                                    |                        / | \"simple\" dashboard |\n| sign-in |   +-------+   +-----------+   +----v-----+   +-----------+ /  +--------------------+\n|   logs  +---\u003e event +---\u003e stream    +---\u003e Azure    +---\u003e Log       |/\n| ------- |   |  hub  |   | analytics |   | function |   | Analytics |\\\n| ------- |   +-------+   +-----------+   +----^-----+   +-----------+ \\ \n+---------/                                    |                        \\ +-------------------+\n                                           +---v---+                     -\u003e Kibana            |\n                                           | redis |                      | dynamic dashboard |\n                                           | cache |                      +-------------------+\n                                           +-------+\n```\n\n1. Azure AD signin logs are configured to be exported to an event hub\n2. Stream Analytics picks up event from event hub and concatenate them per time slice (i.e. hours). Events are batched to an Azure function for enrichement.\n3. An Azure function recieves the events batch and fetches user information from Azure AD (companyname) and caches it to redis\n4. The aggregated and enriched information is sent to log analytics\n\n## Setup\n\n\u003e **TODO**: complete setup instructions\n\n### Log Analytics\n\n### Azure Function\n\n### Event Hub\n\n### Stream Analytics\n\n### Sign-in Logs","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcblomart%2Fsigninstats","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcblomart%2Fsigninstats","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcblomart%2Fsigninstats/lists"}