{"id":18343428,"url":"https://github.com/cosimo/vlogdump","last_synced_at":"2026-01-20T09:02:43.622Z","repository":{"id":66959069,"uuid":"9648732","full_name":"cosimo/vlogdump","owner":"cosimo","description":"Small tool to filter/convert/match raw varnishlog output","archived":false,"fork":false,"pushed_at":"2018-09-05T09:38:32.000Z","size":17,"stargazers_count":55,"open_issues_count":0,"forks_count":7,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-04-09T21:50:30.027Z","etag":null,"topics":["awk","logging","varnish","varnishlog"],"latest_commit_sha":null,"homepage":"http://www.streppone.it/cosimo/blog/2013/05/display-and-filter-traffic-at-the-varnish-level-vlogdump/","language":"Awk","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cosimo.png","metadata":{"files":{"readme":"README.pod","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,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2013-04-24T13:52:56.000Z","updated_at":"2025-02-06T00:49:24.000Z","dependencies_parsed_at":null,"dependency_job_id":"b3e86726-6299-4e43-a2f3-e12caaf18acf","html_url":"https://github.com/cosimo/vlogdump","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/cosimo/vlogdump","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cosimo%2Fvlogdump","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cosimo%2Fvlogdump/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cosimo%2Fvlogdump/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cosimo%2Fvlogdump/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cosimo","download_url":"https://codeload.github.com/cosimo/vlogdump/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cosimo%2Fvlogdump/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28599838,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-20T08:51:33.170Z","status":"ssl_error","status_checked_at":"2026-01-20T08:51:10.855Z","response_time":117,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["awk","logging","varnish","varnishlog"],"created_at":"2024-11-05T20:36:01.623Z","updated_at":"2026-01-20T09:02:43.593Z","avatar_url":"https://github.com/cosimo.png","language":"Awk","readme":"=head1 NAME\n\nvlogdump\n\n=head1 DESCRIPTION\n\nTool to parse varnishlog output and keep track of transactions.\nMatch those that we want to debug and show detailed information\nabout them.\n\nThis tool is meant to help when setting up or troubleshooting\na varnish configuration.\n\nIt's confirmed working with Varnish 2.x, 3.x, 4.x and 5.x.\nFor some versions, it might be necessary to use a specific\ndevelopment branch instead of master.\n\n=head1 EXAMPLES\n\nHere's some examples of usage.\n\n=head2 Show all requests that are cache misses\n\n  $ varnishlog | vlogdump -v only_misses=1\n\n  172.22.0.15 =\u003e GET /assets/tn/m/mq/e85ed0a7b1b87120a0a2bfa025531c6733a48802 HTTP/1.0 MISS\n              \u003c= 200 OK                                                          28.432 ms\n  172.22.0.18 =\u003e GET /assets/tn/m/mq/5a9e9440c5c85e8dc5d65e03e15c95e390901fa7 HTTP/1.0 MISS\n              \u003c= 200 OK                                                          36.905 ms\n  172.22.0.18 =\u003e GET /assets//icons/categories/te/icon32x32-technology.png HTTP/1.0 MISS\n              \u003c= 304 Not Modified                                                 0.589 ms\n  172.22.0.15 =\u003e GET /api/fetch/article-preview/?client=2\u0026language=en-GB HTTP/1.1 MISS\n              \u003c= 301 MOVED PERMANENTLY                                            8.381 ms\n  172.22.0.18 =\u003e GET /assets/tn/m/mq/c3830e95b717761005e26ce49ebab253e0ccb40b HTTP/1.0 MISS\n              \u003c= 200 OK                                                         291.354 ms\n  172.22.0.18 =\u003e GET /api/1.0/category/list?client=2\u0026language=en-GB HTTP/1.1 MISS\n              \u003c= 200 OK                                                          58.025 ms\n  ...\n\n=head2 Show only requests that are cache hits\n\nSame as above, but C\u003c\u003c -v only_hits=1 \u003e\u003e.\n\n=head2 Show only requests (not) for certain URLs\n\n  $ varnishlog | vlogdump -v url_match=assets\n\nTo negate the pattern, prepend a C\u003c!\u003e character before the\nregular expression. You will get only requests for URLs that\nB\u003cDO NOT\u003e match C\u003cassets\u003e:\n\n  $ varnishlog | vlogdump -v url_match=!assets\n\n=head2 For each transaction, show the request headers\n\n  $ varnishlog | vlogdump -v show_req_headers=1\n\n  172.22.0.15 =\u003e GET /assets/3a626ed2f029fc5802c244673c6e168914568080 HTTP/1.0 MISS\n              \u003c= 200 OK                                                          51.483 ms\n      req.http.Host = discovery.opera.com\n      req.http.User-Agent = Amazon CloudFront\n      req.http.X-Forwarded-For = 111.12.34.56\n      req.http.X-Amz-Cf-Id = NS3KqU_AKnueKyQcJWQXbLyVAYR7jvPJ5QGl9raDg0AZZaPkt87avA==\n      req.http.Connection = keep-alive\n      ...\n\n=head2 Only show transactions where the request headers match X\n\nWhere C\u003cX\u003e can be a string or a regular expression:\n\n  $ varnishlog | vlogdump -v show_req_headers=1 -v req_headers_match=X\n\n=head2 ...\n\nand there's more. Check the full list of options below.\n\n=head1 OPTIONS\n\nThis being an C\u003cawk\u003e script, all options need to be supplied\nin the form C\u003c\u003c -v \u003coption\u003e=\u003cvalue\u003e \u003e\u003e.\n\n=over\n\n=item client_match=\u003cregexp\u003e\n\nShows only transactions from clients (IP addresses) matching\na given regular expression.\n\n=item show_req_headers=0|1\n\nTurn on or off the output of HTTP request headers\n\n=item show_resp_headers=0|1\n\nTurn on or off the output of HTTP response headers\n\n=item req_headers_match=\u003cregexp\u003e\n\nShows only transactions with request headers\n(any header) matching the given regular expression\n\nPrepend '!' to the pattern to negate the meaning,\nto display only transactions that *do not* match the\npattern.\n\n=item resp_headers_match=\u003cregexp\u003e\n\nShows only transactions with response headers\n(any header) matching the given regular expression\n\nPrepend '!' to the pattern to negate the meaning,\nto display only transactions that *do not* match the\npattern.\n\n=item req_method=\u003cregexp\u003e\n\nShows only transactions with the given HTTP request\nmethod, or a method that matches the given regexp.\n\nPrepend '!' to the pattern to negate the meaning,\nto display only transactions that *do not* match the\npattern.\n\n=item only_hits=0|1\n\nShows only transactions that were served from the cache\n\n=item only_misses=0|1\n\nShows only transactions that were served by going to\nthe backend server.\n\n=item only_slow=1\n\n=item only_slow=\u003cms\u003e\n\nShows only requests that are considered slow.\nThe time used is the backend response time.\nIf you use C\u003conly_slow=1\u003e, the default threshold is 1s.\nYou can also specify your own threshold, using\nfor example C\u003conly_slow=500\u003e. Value is in milliseconds.\n\n=item url_match=\u003cregexp\u003e\n\nShow only the transactions for URLs matching the\ngiven regular expression.\n\nPrepend '!' to the pattern to negate the meaning,\nto display only transactions where the URL *does not* match\nthe given regular expression.\n\nExample:\n\n    varnishlog | vlogdump -v url_match='!/assets'\n\n=back\n\n=head1 AUTHOR\n\nCosimo Streppone, C\u003c\u003c cosimo@streppone.it \u003e\u003e\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcosimo%2Fvlogdump","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcosimo%2Fvlogdump","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcosimo%2Fvlogdump/lists"}