Skip to content

Instantly share code, notes, and snippets.

@lmmx
Created June 8, 2023 15:32
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save lmmx/4699551b7c8111655a11ebe74060878b to your computer and use it in GitHub Desktop.
Save lmmx/4699551b7c8111655a11ebe74060878b to your computer and use it in GitHub Desktop.
Data from EC2 instance
CmZyb20gZGF0ZXRpbWUgaW1wb3J0IGRhdGV0aW1lLCB0aW1lZGVsdGEKaW1wb3J0IGpzb24KaW1w b3J0IG9zCmltcG9ydCB0aW1lCgppbXBvcnQgYm90bzMKZnJvbSBib3RvMy5keW5hbW9kYi5jb25k aXRpb25zIGltcG9ydCBLZXksIEF0dHIKZnJvbSBkYXRldXRpbCBpbXBvcnQgcGFyc2VyCmltcG9y dCByZXF1ZXN0cwoKCkNMSUVOVF9JRCA9IG9zLmVudmlyb24uZ2V0KCdTUE9USUZZX0NMSUVOVF9J RCcpCkNMSUVOVF9TRUNSRVQgPSBvcy5lbnZpcm9uLmdldCgnU1BPVElGWV9DTElFTlRfU0VDUkVU JykKICAgICAgICAKaWYgbm90IChDTElFTlRfSUQgYW5kIENMSUVOVF9TRUNSRVQpOgogICAgYXdz X3NzbSA9IGJvdG8zLmNsaWVudCgnc3NtJykKICAgIENMSUVOVF9JRCA9IGF3c19zc20uZ2V0X3Bh cmFtZXRlcigKICAgICAgICBOYW1lPSdiZWF0Y2hhaW4tc3BvdGlmeS1jbGllbnQtaWQnLAogICAg ICAgIFdpdGhEZWNyeXB0aW9uPVRydWUpWydQYXJhbWV0ZXInXVsnVmFsdWUnXQogICAgICAgICAg ICAKICAgIENMSUVOVF9TRUNSRVQgPSBhd3Nfc3NtLmdldF9wYXJhbWV0ZXIoCiAgICAgICAgTmFt ZT0nYmVhdGNoYWluLXNwb3RpZnktc2VjcmV0JywKICAgICAgICBXaXRoRGVjcnlwdGlvbj1UcnVl KVsnUGFyYW1ldGVyJ11bJ1ZhbHVlJ10KCmFzc2VydCAoQ0xJRU5UX0lEIGFuZCBDTElFTlRfU0VD UkVUKQoKCmNsYXNzIFNwb3RpZnlTZXNzaW9uKG9iamVjdCk6CiAgICAKICAgIGRlZiBfX2luaXRf XyhzZWxmKToKICAgICAgICAnJycKICAgICAgICBzZWxmLmNsaWVudF9pZCA9IG9zLmVudmlyb24u Z2V0KCdTUE9USUZZX0NMSUVOVF9JRCcsIEZhbHNlKQogICAgICAgIHNlbGYuY2xpZW50X3NlY3Jl dCA9IG9zLmVudmlyb24uZ2V0KCdTUE9USUZZX0NMSUVOVF9TRUNSRVQnLCBGYWxzZSkKICAgICAg ICAKICAgICAgICBpZiBub3QgKHNlbGYuY2xpZW50X2lkIGFuZCBzZWxmLmNsaWVudF9zZWNyZXQp OgogICAgICAgICAgICBhd3Nfc3NtID0gYm90bzMuY2xpZW50KCdzc20nKQogICAgICAgICAgICBz ZWxmLmNsaWVudF9pZCA9IGF3c19zc20uZ2V0X3BhcmFtZXRlcigKICAgICAgICAgICAgICAgIE5h bWU9J2JlYXRjaGFpbi1zcG90aWZ5LWNsaWVudC1pZCcsCiAgICAgICAgICAgICAgICBXaXRoRGVj cnlwdGlvbj1UcnVlKVsnUGFyYW1ldGVyJ11bJ1ZhbHVlJ10KICAgICAgICAgICAgCiAgICAgICAg ICAgIHNlbGYuY2xpZW50X3NlY3JldCA9IGF3c19zc20uZ2V0X3BhcmFtZXRlcigKICAgICAgICAg ICAgICAgIE5hbWU9J2JlYXRjaGFpbi1zcG90aWZ5LXNlY3JldCcsCiAgICAgICAgICAgICAgICBX aXRoRGVjcnlwdGlvbj1UcnVlKVsnUGFyYW1ldGVyJ11bJ1ZhbHVlJ10KICAgICAgICAgICAgCiAg ICAgICAgYXNzZXJ0IHNlbGYuY2xpZW50X2lkIGFuZCBzZWxmLmNsaWVudF9zZWNyZXQKICAgICAg ICAnJycKICAgICAgICAKICAgICAgICBzZWxmLmdldF9jYWNoZWRfdG9rZW4oKQogICAgICAgIAog ICAgICAgIAogICAgZGVmIGdldF9jYWNoZWRfdG9rZW4oc2VsZik6CiAgICAgICAgZHluYW1vZGIg PSBib3RvMy5yZXNvdXJjZSgnZHluYW1vZGInKQogICAgICAgIGNhY2hlID0gZHluYW1vZGIuVGFi bGUoJ3t9LWdlbmVyaWMtY2FjaGUnLmZvcm1hdCgKICAgICAgICAgICAgb3MuZW52aXJvbi5nZXQo J1NUQUdFJywgJ3Byb2QnKSkpCiAgICAgICAgcXVlcnkgPSBjYWNoZS5xdWVyeSgKICAgICAgICAg ICAgS2V5Q29uZGl0aW9uRXhwcmVzc2lvbj1LZXkoJ2lkJykuZXEoJ3Nwb3RpZnlfY3Jhd2xfc2Vz c2lvbicpKQogICAgICAgIAogICAgICAgIHRyeToKICAgICAgICAgICAgcmVzdWx0ID0ganNvbi5s b2FkcyhxdWVyeS5nZXQoJ0l0ZW1zJywgW10pWzBdWyd2YWx1ZSddKQogICAgICAgIGV4Y2VwdDoK ICAgICAgICAgICAgcmVzdWx0ID0ge30KICAgICAgICAgICAgCiAgICAgICAgc2VsZi50b2tlbiA9 IHJlc3VsdC5nZXQoJ3Rva2VuJykKICAgICAgICBzZWxmLmV4cGlyeSA9IHBhcnNlci5wYXJzZShy ZXN1bHQuZ2V0KCdleHBpcnknLAogICAgICAgICAgICBkYXRldGltZS5mcm9tdGltZXN0YW1wKDAp Lmlzb2Zvcm1hdCgpKSkKICAgICAgICAKICAgICAgICBpZiAoc2VsZi5leHBpcnkgLSBkYXRldGlt ZS5ub3coKSkuc2Vjb25kcyA8IDMwMDoKICAgICAgICAgICAgc2VsZi5nZXRfbmV3X3Rva2VuKCkK ICAgICAgICAKICAgICAgICAgICAgCiAgICBkZWYgZ2V0X25ld190b2tlbihzZWxmLCBjYWNoZT1U cnVlKToKICAgICAgICAKICAgICAgICAjIFRoaXMgaGFzLCBhdCB0aW1lcywgYmVlbiByZXR1cm5p bmc6CiAgICAgICAgIyAgIHsnZXJyb3InOiAnaW52YWxpZF9jbGllbnQnfQogICAgICAgIAogICAg ICAgIGF1dGhfcmVxID0gcmVxdWVzdHMucG9zdCgnaHR0cHM6Ly9hY2NvdW50cy5zcG90aWZ5LmNv bS9hcGkvdG9rZW4nLAogICAgICAgICAgICBhdXRoPShDTElFTlRfSUQsIENMSUVOVF9TRUNSRVQp LAogICAgICAgICAgICBkYXRhPXsnZ3JhbnRfdHlwZSc6ICdjbGllbnRfY3JlZGVudGlhbHMnfSkK CiAgICAgICAgcHJpbnQoYXV0aF9yZXEuanNvbigpKQogICAgICAgIAogICAgICAgIHNlbGYudG9r ZW4gPSBhdXRoX3JlcS5qc29uKCkuZ2V0KCdhY2Nlc3NfdG9rZW4nLCBGYWxzZSkKICAgIAogICAg ICAgIGlmIG5vdCBzZWxmLnRva2VuOgogICAgICAgICAgICBwcmludCgnQ09VTEQgTk9UIE9CVEFJ TiBBIFNQT1RJRlkgVE9LRU4hJykKICAgICAgICAgICAgcHJpbnQoanNvbi5kdW1wcyhhdXRoX3Jl cS5qc29uKCkpKQogICAgCiAgICAgICAgICAgICMgRnJvbTogaHR0cHM6Ly9zdGFja292ZXJmbG93 LmNvbS9xdWVzdGlvbnMvNTM1Njc4NTgvc3BvdGlmeS1hcGktZXJyb3ItaW52YWxpZC1jbGllbnQt YXV0aG9yaXphdGlvbi1jb2RlLWZsb3ctNDAwCiAgICAgICAgICAgICMgTGV0IHVzIHRyeToKICAg ICAgICAKICAgICAgICAgICAgYXV0aF9yZXEgPSByZXF1ZXN0cy5wb3N0KCdodHRwczovL2FjY291 bnRzLnNwb3RpZnkuY29tL2FwaS90b2tlbicsCiAgICAgICAgICAgICAgICBkYXRhID0geydncmFu dF90eXBlJzogJ2NsaWVudF9jcmVkZW50aWFscycsCiAgICAgICAgICAgICAgICAiY2xpZW50X2lk IjogQ0xJRU5UX0lELAogICAgICAgICAgICAgICAgImNsaWVudF9zZWNyZXQiOiBDTElFTlRfU0VD UkVUfSkKICAgICAgICAKICAgICAgICAgICAgc2VsZi50b2tlbiA9IGF1dGhfcmVxLmpzb24oKS5n ZXQoJ2FjY2Vzc190b2tlbicsIEZhbHNlKQogICAgICAgIAogICAgICAgIGlmIG5vdCBzZWxmLnRv a2VuOgogICAgICAgICAgICBwcmludCgnQ09VTEQgTk9UIE9CVEFJTiBBIFNQT1RJRlkgVE9LRU4h JykKICAgICAgICAgICAgcHJpbnQoanNvbi5kdW1wcyhhdXRoX3JlcS5qc29uKCkpKQogICAgCiAg ICAgICAgYXNzZXJ0IHNlbGYudG9rZW4KCiAgICAgICAgc2VsZi5leHBpcnkgPSBkYXRldGltZS5u b3coKSArICh0aW1lZGVsdGEoCiAgICAgICAgICAgIHNlY29uZHM9YXV0aF9yZXEuanNvbigpWydl eHBpcmVzX2luJ10pIC0KICAgICAgICAgICAgdGltZWRlbHRhKHNlY29uZHM9NjApKQogICAgICAg IAogICAgICAgIGlmIGNhY2hlOgogICAgICAgICAgICBkeW5hbW9kYiA9IGJvdG8zLnJlc291cmNl KCdkeW5hbW9kYicpCiAgICAgICAgCiAgICAgICAgICAgIHVwZGF0ZV9rZXkgPSB7J2lkJzogJ3Nw b3RpZnlfY3Jhd2xfc2Vzc2lvbicsCiAgICAgICAgICAgICAgICAnc2Vjb25kYXJ5X2lkJzogJ3Nw b3RpZnlfY3Jhd2xfc2Vzc2lvbid9CiAgICAgICAgICAgIHRpbWVzdGFtcCA9IGRhdGV0aW1lLm5v dygpLmlzb2Zvcm1hdCgpCiAgICAgICAgICAgIGpzb25fcGF5bG9hZCA9IGpzb24uZHVtcHMoeyd0 b2tlbic6IHNlbGYudG9rZW4sCiAgICAgICAgICAgICAgICAnZXhwaXJ5Jzogc2VsZi5leHBpcnku aXNvZm9ybWF0KCl9KQogICAgICAgICAgICB1cGRhdGUgPSAnU0VUICN2YWx1ZSA9IDp2YWxwYXls b2FkLCBjcmVhdGVkX2F0ID0gOnZhbHRpbWVzdGFtcCcKICAgICAgICAgICAgdmFsdWVzID0geyc6 dmFscGF5bG9hZCc6IGpzb25fcGF5bG9hZCwgJzp2YWx0aW1lc3RhbXAnOiB0aW1lc3RhbXB9CiAg ICAgICAgCiAgICAgICAgICAgIGR5bmFtb19jYWNoZSA9IGR5bmFtb2RiLlRhYmxlKCd7fS1nZW5l cmljLWNhY2hlJy5mb3JtYXQoCiAgICAgICAgICAgICAgICBvcy5lbnZpcm9uLmdldCgnU1RBR0Un LCAncHJvZCcpKSkKICAgICAgICAKICAgICAgICAgICAgZHluYW1vX2NhY2hlLnVwZGF0ZV9pdGVt KEtleT11cGRhdGVfa2V5LCBVcGRhdGVFeHByZXNzaW9uPXVwZGF0ZSwKICAgICAgICAgICAgICAg IEV4cHJlc3Npb25BdHRyaWJ1dGVWYWx1ZXM9dmFsdWVzLAogICAgICAgICAgICBFeHByZXNzaW9u QXR0cmlidXRlTmFtZXM9eycjdmFsdWUnOiAndmFsdWUnfSkKICAgICAgICAKICAgICAgICAKICAg IGRlZiBoZWFkZXJzKHNlbGYpOgogICAgICAgIGlmIGRhdGV0aW1lLm5vdygpID4gc2VsZi5leHBp cnk6CiAgICAgICAgICAgIHNlbGYuZ2V0X25ld190b2tlbigpCiAgICAgICAgcmV0dXJuIHsnQXV0 aG9yaXphdGlvbic6ICdCZWFyZXIge30nLmZvcm1hdChzZWxmLnRva2VuKX0KICAgIAogICAgCiAg ICBkZWYgZ2V0X2pzb24oc2VsZiwgdXJsLCBwYXJhbXM9Tm9uZSwgY3VzdG9tX2hlYWRlcnM9Tm9u ZSwgbWF4X3JldHJpZXM9MTApOgogICAgICAgIHJldHJpZXMgPSAwCiAgICAgICAgc3VjY2VzcyA9 IEZhbHNlCiAgICAgICAgCiAgICAgICAgaWYgY3VzdG9tX2hlYWRlcnM6CiAgICAgICAgICAgIGhl YWRlcnMgPSBjdXN0b21faGVhZGVycwogICAgICAgIGVsc2U6CiAgICAgICAgICAgIGhlYWRlcnMg PSBzZWxmLmhlYWRlcnMoKQogICAgICAgIAogICAgICAgIHdoaWxlIChub3Qgc3VjY2VzcykgYW5k IHJldHJpZXMgPCBtYXhfcmV0cmllczoKICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAg cmVxID0gcmVxdWVzdHMuZ2V0KHVybCwgaGVhZGVycz1oZWFkZXJzLCBwYXJhbXM9cGFyYW1zKQog ICAgICAgICAgICAgICAgc3VjY2VzcyA9IFRydWUKICAgICAgICAgICAgZXhjZXB0OgogICAgICAg ICAgICAgICAgcmVxID0gRmFsc2UKICAgICAgICAgICAgICAgIHJldHJpZXMgKz0xCiAgICAgICAg ICAgICAgICB0aW1lLnNsZWVwKDEpCiAgICAgICAgICAgICAgICAKICAgICAgICBpZiByZXRyaWVz ID49IG1heF9yZXRyaWVzOgogICAgICAgICAgICBwcmludCgnQ09VTEQgTk9UIFJFQUNIIFNQT1RJ RlQgVVJMIHt9Jy5mb3JtYXQodXJsKSkKICAgICAgICAgICAgYXNzZXJ0IEZhbHNlCiAKICAgICAg ICBpZiByZXEuc3RhdHVzX2NvZGUgPT0gNDI5OgogICAgICAgICAgICBwcmludCgnU1BPVElGWSBS QVRFLUxJTUlUIEVYQ0VFRCBGT1Ige30nLmZvcm1hdCh1cmwpKQogICAgICAgICAgICBwcmludChy ZXEuanNvbigpKQogICAgICAgICAgICBhc3NlcnQgRmFsc2UKICAgICAgICAKICAgICAgICByZXFf anNvbiA9IHJlcS5qc29uKCkKICAgIAogICAgICAgIHRyeToKICAgICAgICAgICAgdGltZWRfb3V0 ID0gcmVxX2pzb25bJ2Vycm9yJ11bJ21lc3NhZ2UnXSA9PSAnVGhlIGFjY2VzcyB0b2tlbiBleHBp cmVkJwogICAgICAgIGV4Y2VwdDoKICAgICAgICAgICAgdGltZWRfb3V0ID0gRmFsc2UKICAgICAg ICAgICAgCiAgICAgICAgaWYgdGltZWRfb3V0OgogICAgICAgICAgICBzZWxmLmdldF9uZXdfdG9r ZW4oKQogICAgICAgICAgICByZXEgPSByZXF1ZXN0cy5nZXQodXJsLCBoZWFkZXJzPXNlbGYuaGVh ZGVycygpLCBwYXJhbXM9cGFyYW1zKQogICAgICAgICAgICBpZiByZXEuc3RhdHVzX2NvZGUgPT0g NDI5OgogICAgICAgICAgICAgICAgcHJpbnQoJ1NQT1RJRlkgUkFURS1MSU1JVCBFWENFRUQgRk9S IHt9Jy5mb3JtYXQodXJsKSkKICAgICAgICAgICAgICAgIHByaW50KHJlcS5qc29uKCkpCiAgICAg ICAgICAgICAgICBhc3NlcnQgRmFsc2UKICAgICAgICAgICAgcmVxX2pzb24gPSByZXEuanNvbigp CgogICAgICAgIHJldHVybiByZXFfanNvbgogICAgCiAgICAKaWYgX19uYW1lX18gPT0gJ19fbWFp bl9fJzoKICAgIHdoaWxlIFRydWU6CiAgICAgICAgc2VzcyA9IFNwb3RpZnlTZXNzaW9uKCkKICAg ICAgICBwcmludCgnU3BvdGlmeSBzZXNzaW9uIGV4cGlyZXMgaW4ge31zLicuZm9ybWF0KAogICAg ICAgICAgICAoc2Vzcy5leHBpcnktZGF0ZXRpbWUubm93KCkpLnNlY29uZHMpKQogICAgICAgIHRp bWUuc2xlZXAoNjApCiAgICAK
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment