{"id":20263610,"url":"https://github.com/springerpe/mtail-boshrelease","last_synced_at":"2026-05-12T14:02:44.271Z","repository":{"id":37483483,"uuid":"236735867","full_name":"SpringerPE/mtail-boshrelease","owner":"SpringerPE","description":"https://github.com/google/mtail in bosh","archived":false,"fork":false,"pushed_at":"2023-03-03T15:47:55.000Z","size":51,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-03T19:59:35.876Z","etag":null,"topics":["bosh","bosh-addon","bosh-release","cloud-foundry"],"latest_commit_sha":null,"homepage":null,"language":"Shell","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/SpringerPE.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-01-28T12:58:56.000Z","updated_at":"2022-06-16T11:53:30.000Z","dependencies_parsed_at":"2024-11-14T11:37:03.554Z","dependency_job_id":"20bcc2b2-79da-4161-a129-0b2590bc86bf","html_url":"https://github.com/SpringerPE/mtail-boshrelease","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/SpringerPE/mtail-boshrelease","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SpringerPE%2Fmtail-boshrelease","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SpringerPE%2Fmtail-boshrelease/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SpringerPE%2Fmtail-boshrelease/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SpringerPE%2Fmtail-boshrelease/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SpringerPE","download_url":"https://codeload.github.com/SpringerPE/mtail-boshrelease/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SpringerPE%2Fmtail-boshrelease/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32942147,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-12T09:19:52.626Z","status":"ssl_error","status_checked_at":"2026-05-12T09:17:33.438Z","response_time":102,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: 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":["bosh","bosh-addon","bosh-release","cloud-foundry"],"created_at":"2024-11-14T11:35:42.076Z","updated_at":"2026-05-12T14:02:44.221Z","avatar_url":"https://github.com/SpringerPE.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# mtail-boshrelease\n\nPoC of mtail: https://github.com/google/mtail/\n\n\n# Creating and using a release:\n\nIn order to test and create a \"non final\" (dev) release, run:\n\n```\n# Update or sync blobs\n./update-blobs.sh\n# Create a dev release\nbosh  create-release --force --tarball=/tmp/release.tgz\n# Upload release to bosh director\nbosh -e \u003cbosh-env\u003e upload-release /tmp/release.tgz\n```\n\nFor a final release, make sure you have GITHUB_TOKEN defined and `s3cmd`\ncommand with the proper credentials (also populate `config/private.yml`\nwith the S3 key id and key.\n\nYou can deploy an empty vm with this example manifest to provide\na metric per log file with the number of lines (graphite is also\nenabled here!):\n\n```\nname: mtail\n\nreleases:\n- name: mtail\n  version: latest\n\ninstance_groups:\n- name: mtail\n  instances: 1\n  vm_type: small\n  stemcell: default\n  vm_extensions: []\n  azs:\n  - z1\n  - z2\n  - z3\n  networks:\n  - name: default\n  jobs:\n  - name: mtail\n    release: mtail\n  properties:\n    mtail:\n      port: 3903\n      graphite: \"localhost:5555\"\n      progs:\n      - name: mtaillogs\n        log: \"/var/vcap/sys/log/mtail/*.log\"\n        config: |\n          counter filename_lines by filename\n          /$/ {\n            filename_lines[getfilename()]++\n          }\n\nstemcells:\n- alias: default\n  name: bosh-google-kvm-ubuntu-xenial-go_agent\n  version: latest\n\nupdate:\n  canaries: 1\n  max_in_flight: 1\n  serial: false\n  canary_watch_time: 1000-60000\n  update_watch_time: 1000-60000\n```\n\nA more realistic purpose is to use this release to provide metrics from the gorouter\naccess logs by using a runtime-config:\n\n```\nreleases:\n- name: mtail\n  version: \"0+dev.4\"\n\naddons:\n- name: mtail\n  jobs:\n  - name: mtail\n    release: mtail\n    properties:\n      mtail:\n        progs:\n        - name: gorouter\n          log: \"/var/vcap/sys/log/gorouter/access.log\"\n          config: |\n            counter gorouter_http_requests_total\n            counter gorouter_http_requests by route, request_method, status_code\n            counter gorouter_http_requests_app by route, app_id\n            /^/ +\n            /(?P\u003croute\u003e[0-9A-Za-z\\.:-]+) / +\n            /- / +\n            /\\[(?P\u003ctimestamp\u003e\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{3}(\\+|-)\\d{4})\\] / +\n            /\"(?P\u003crequest_method\u003e[A-Z]+) (?P\u003crequest_uri\u003e\\S+) (?P\u003chttp_version\u003eHTTP\\/[0-9\\.]+)\" / +\n            /(?P\u003cstatus_code\u003e\\d{3}) / +\n            /((?P\u003cresponse_size\u003e\\d+)|-) / +\n            /(?P\u003cresponse_time\u003e\\d+) / +\n            /\"(?P\u003creferer\u003e\\S+)\" / +\n            /\"(?P\u003cuser_agent\u003e[[:print:]]+)\" / +\n            /\"(?P\u003cremote_addr\u003e[[:print:]]+)\" / +\n            /\"(?P\u003cbackend_addr\u003e[[:print:]]+)\" / +\n            /x_forwarded_for:\"(?P\u003cx_forwarded_for\u003e[[:print:]]+)\" / +\n            /x_forwarded_proto:\"(?P\u003cx_forwarded_proto\u003e[[:print:]]+)\" / +\n            /vcap_request_id:\"(?P\u003cvcap_request_id\u003e[[:print:]]+)\" / +\n            /response_time:(?P\u003cresponse_time\u003e[0-9\\.]+) / +\n            /app_id:\"(?P\u003capp_id\u003e[[:print:]]+)\" / +\n            /app_index:\"(?P\u003capp_index\u003e\\d+)\" / +\n            /tls_client_protocol:\"(?P\u003ctls_client_protocol\u003e[[:print:]]+)\" / +\n            /tls_client_cipher:\"(?P\u003ctls_client_cipher\u003e[[:print:]]+)\" / +\n            /.*$/ {\n                # extra fields todo: zipkin headers\n                gorouter_http_requests_total++\n                gorouter_http_requests[$route][$request_method][$status_code]++\n                gorouter_http_requests_app[$route][$app_id]++\n            }\n\n  include:\n    deployments:\n    - cf\n    jobs:\n    - name: gorouter\n      release: cf\n```\n\n# Author\n\n(c) Jose Riguera Lopez jose.riguera@springernature.com\n\nSpringernature Engineering Enablement\n\nMIT License\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspringerpe%2Fmtail-boshrelease","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fspringerpe%2Fmtail-boshrelease","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspringerpe%2Fmtail-boshrelease/lists"}