{"id":17506353,"url":"https://github.com/kenriortega/flb_filter_iis","last_synced_at":"2025-04-11T03:43:35.195Z","repository":{"id":187254704,"uuid":"676581479","full_name":"kenriortega/flb_filter_iis","owner":"kenriortega","description":"Simple fluentbit filter for IIS logs w3c format using wasm","archived":false,"fork":false,"pushed_at":"2023-10-21T16:56:37.000Z","size":38,"stargazers_count":4,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-25T01:44:15.416Z","etag":null,"topics":["fluentbit","iis","iis-server","rust","wasm"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kenriortega.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-08-09T14:25:33.000Z","updated_at":"2024-09-12T12:06:53.000Z","dependencies_parsed_at":"2023-08-09T16:15:12.879Z","dependency_job_id":"1d6fecb3-d5d8-4e96-be88-28efe36d26c3","html_url":"https://github.com/kenriortega/flb_filter_iis","commit_stats":null,"previous_names":["kenriortega/flb_filter_iis"],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kenriortega%2Fflb_filter_iis","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kenriortega%2Fflb_filter_iis/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kenriortega%2Fflb_filter_iis/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kenriortega%2Fflb_filter_iis/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kenriortega","download_url":"https://codeload.github.com/kenriortega/flb_filter_iis/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248339289,"owners_count":21087213,"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":["fluentbit","iis","iis-server","rust","wasm"],"created_at":"2024-10-20T03:37:29.273Z","updated_at":"2025-04-11T03:43:35.174Z","avatar_url":"https://github.com/kenriortega.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Fluent-bit Plugin to process IIS logs\n\n\nDoc: [https://docs.fluentbit.io/manual/development/wasm-filter-plugins](https://docs.fluentbit.io/manual/development/wasm-filter-plugins)\n\n\nThis filter takes the Internet Information Services (IIS) w3c logs (with some custom modifications) and transforms the raw string into a standard Fluent Bit JSON structured record.\n\n\n\u003e Compile to WASM\n\n```console\n$ cargo build --target wasm32-unknown-unknown --release\n$ ls target/wasm32-unknown-unknown/release/*.wasm\ntarget/wasm32-unknown-unknown/release/filter_rust.wasm\n```\n\n\n## How to configure \n\n\n```ini\n[INPUT]\n    Name             dummy\n    Dummy            {\"log\": \"2023-08-11 19:56:44 W3SVC1 WIN-PC1 ::1 GET / - 80 ::1 Mozilla/5.0+(Windows+NT+10.0;+Win64;+x64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/115.0.0.0+Safari/537.36+Edg/115.0.1901.200 - - localhost 304 142 756 1078 -\"}\n    Tag              iis.*\n\n[FILTER]\n    Name             wasm\n    match            iis.*\n    WASM_Path        /plugins/flb_filter_iis_wasm.wasm\n    Function_Name    flb_filter_log_iis_w3c_custom\n    accessible_paths .\n\n[OUTPUT]\n    name             stdout\n    match            iis.*\n```\n\nThe incoming raw strings from an IIS log are composed of the following fields:\ndate time s-sitename s-computername s-ip cs-method cs-uri-stem cs-uri-query s-port c-ip cs(User-Agent) cs(Cookie) cs(Referer) cs-host sc-status sc-bytes cs-bytes time-taken c-authorization-header\nThe output after the filter logic will be:\n\n```console\n\n#Software: Microsoft Internet Information Services 10.0\n#Version: 1.0\n#Date: 2023-07-20 17:17:36\n#Fields: date time s-sitename s-computername s-ip cs-method cs-uri-stem cs-uri-query s-port c-ip cs(User-Agent) cs(Cookie) cs(Referer) cs-host sc-status sc-bytes cs-bytes time-taken c-authorization-header\n2023-07-20 17:18:54 W3SVC279 WIN-PC1 192.168.1.104 GET /api/Site/site-data qName=quww 13334 10.0.0.0 Mozilla/5.0+(Windows+NT+10.0;+Win64;+x64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/114.0.0.0+Safari/537.36+Edg/114.0.1823.82 _ga=GA1.1.499592451.1685996504;+_gid=GA1.1.1209215542.1689808850;+_ga_PCBRLY5C8Y=GS1.1.1689811012.8.0.1689811012.0.0.0 http://192.168.1.104:13334/swagger/index.html 192.168.1.104:13334 200 456 1082 3131 Bearer+token\n```\n\n### Output\n\n```console\n[0] iis.*: [[1692131925.559486675, {}], {\"c_authorization_header\"=\u003e\"-\", \"c_ip\"=\u003e\"::1\", \"cs_bytes\"=\u003e756, \"cs_cookie\"=\u003e\"-\", \"cs_host\"=\u003e\"localhost\", \"cs_method\"=\u003e\"GET\", \"cs_referer\"=\u003e\"-\", \"cs_uri_query\"=\u003e\"-\", \"cs_uri_stem\"=\u003e\"/\", \"cs_user_agent\"=\u003e\"Mozilla/5.0+(Windows+NT+10.0;+Win64;+x64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/115.0.0.0+Safari/537.36+Edg/115.0.1901.200\", \"date\"=\u003e\"2023-08-11 19:56:44\", \"s_computername\"=\u003e\"WIN-PC1\", \"s_ip\"=\u003e\"::1\", \"s_port\"=\u003e\"80\", \"s_sitename\"=\u003e\"W3SVC1\", \"sc_bytes\"=\u003e142, \"sc_status\"=\u003e\"304\", \"source\"=\u003e\"LogEntryIIS\", \"tag\"=\u003e\"iis.*\", \"time\"=\u003e\"2023-08-15T20:38:45.559486675 +0000\", \"time_taken\"=\u003e1078}]\n```\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkenriortega%2Fflb_filter_iis","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkenriortega%2Fflb_filter_iis","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkenriortega%2Fflb_filter_iis/lists"}