{"_id":"@3fv/redis-cluster-monitor","_rev":"4-e45707ec3247777be0dc7b585cb95e58","name":"@3fv/redis-cluster-monitor","dist-tags":{"latest":"1.0.2"},"versions":{"1.0.0":{"name":"@3fv/redis-cluster-monitor","version":"1.0.0","description":"Command line tool for monitoring all redis cluster nodes automagically.","main":"lib/index.js","types":"lib/index.d.ts","bin":{"redis-cluster-monitor":"bin/redis-cluster-monitor"},"scripts":{"build":"tsc -p tsconfig.json","build:watch":"yarn run build -- --watch","test":"jest","test:watch":"jest --watch","preversion":"yarn build && yarn test","postversion":"./scripts/release.sh latest","release":"yarn build  && yarn version --patch --non-interactive"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/3fv/redis-cluster-monitor.git"},"keywords":["typescript","redis","cluster","monitor","cli"],"author":{"name":"Jonathan Glanz"},"license":"MIT","bugs":{"url":"https://github.com/3fv/redis-cluster-monitor/issues"},"homepage":"https://github.com/3fv/redis-cluster-monitor#readme","dependencies":{"lodash":"^4.17.21","ioredis":"^4.28.0","tracer":"^1.1.5","moment":"^2.29.1","yargs":"^17.2.1","debug":"^4.3.2"},"devDependencies":{"@types/jest":"^24.0.23","@types/lodash":"^4.14.149","@types/node":"^16.11.7","@types/ioredis":"^4.28.1","@types/yargs":"^17.0.5","jest":"^27.3.1","ts-jest":"^27.0.7","npm-run-all":"^4.1.5","prettier":"^2.4.1","typescript":"^4.4.4"},"_id":"@3fv/redis-cluster-monitor@1.0.0","dist":{"shasum":"ac02b44076de2b2c7c5a29dc662bfc02f729d058","integrity":"sha512-BdWrCdBG8tejFDO/fxONFwsv9yNxv+OmW6otj4Lz90z9K7+H6KCwu0ZKXCBmFsln38OJ04W29/aXSGyys6WGCg==","tarball":"https://registry.npmjs.org/@3fv/redis-cluster-monitor/-/redis-cluster-monitor-1.0.0.tgz","fileCount":15,"unpackedSize":15354,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDH0mubpmU3hPWZIZ0uOqJqKG0dBLGgD290OC7MW6wc4QIgQ5q8vJRsNJlMQMyGQB3GHcvrYH46CuSQqqXyd50P1RU="}]},"_npmUser":{"name":"jglanz","email":"jonathan.glanz@gmail.com"},"directories":{},"maintainers":[{"name":"jglanz","email":"jonathan.glanz@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/redis-cluster-monitor_1.0.0_1636766326343_0.32493216157690696"},"_hasShrinkwrap":false},"1.0.1":{"name":"@3fv/redis-cluster-monitor","version":"1.0.1","description":"Command line tool for monitoring all redis cluster nodes automagically.","main":"lib/index.js","types":"lib/index.d.ts","bin":{"redis-cluster-monitor":"bin/redis-cluster-monitor"},"scripts":{"build":"tsc -p tsconfig.json","build:watch":"yarn run build -- --watch","test":"jest","test:watch":"jest --watch","preversion":"yarn build","postversion":"./scripts/release.sh latest","release":"yarn build  && yarn version --patch --non-interactive"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/3fv/redis-cluster-monitor.git"},"keywords":["typescript","redis","cluster","monitor","cli"],"author":{"name":"Jonathan Glanz"},"license":"MIT","bugs":{"url":"https://github.com/3fv/redis-cluster-monitor/issues"},"homepage":"https://github.com/3fv/redis-cluster-monitor#readme","dependencies":{"chalk":"^4.1.2","completarr":"^0.2.2","debug":"^4.3.2","ioredis":"^4.28.0","lodash":"^4.17.21","moment":"^2.29.1","tracer":"^1.1.5","yargs":"^17.2.1"},"devDependencies":{"@types/ioredis":"^4.28.1","@types/jest":"^24.0.23","@types/lodash":"^4.14.149","@types/node":"^16.11.7","@types/yargs":"^17.0.5","jest":"^27.3.1","npm-run-all":"^4.1.5","prettier":"^2.4.1","ts-jest":"^27.0.7","typescript":"^4.4.4"},"_id":"@3fv/redis-cluster-monitor@1.0.1","dist":{"shasum":"80db1f77319ae58e4bae34cf044d8ecec79b9b70","integrity":"sha512-MWrs9B8PDYF7r8ahhz5KOeBLL0NUom5J6/IdMdBof+rqzZAK1ATuJbJDgGv3kdQF5H3rs5kmAl+TXcc2YYeeBQ==","tarball":"https://registry.npmjs.org/@3fv/redis-cluster-monitor/-/redis-cluster-monitor-1.0.1.tgz","fileCount":32,"unpackedSize":31744,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBWOkBi1UamaKYkYMUkczssB4qoRTSrif98Wl7oZktfdAiEAk4y9VNCzgzEmrfIZNnhCIYplX9mgoqRJoFQ3WPycrLI="}]},"_npmUser":{"name":"jglanz","email":"jonathan.glanz@gmail.com"},"directories":{},"maintainers":[{"name":"jglanz","email":"jonathan.glanz@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/redis-cluster-monitor_1.0.1_1636859856000_0.05053430354416055"},"_hasShrinkwrap":false},"1.0.2":{"name":"@3fv/redis-cluster-monitor","version":"1.0.2","description":"Command line tool for monitoring all redis cluster nodes automagically.","main":"lib/index.js","types":"lib/index.d.ts","bin":{"redis-cluster-monitor":"bin/redis-cluster-monitor"},"scripts":{"build":"tsc -p tsconfig.json","build:watch":"yarn run build -- --watch","test":"jest","test:watch":"jest --watch","preversion":"yarn build","postversion":"./scripts/release.sh latest","release":"yarn build  && yarn version --patch --non-interactive"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/3fv/redis-cluster-monitor.git"},"keywords":["typescript","redis","cluster","monitor","cli"],"author":{"name":"Jonathan Glanz"},"license":"MIT","bugs":{"url":"https://github.com/3fv/redis-cluster-monitor/issues"},"homepage":"https://github.com/3fv/redis-cluster-monitor#readme","dependencies":{"chalk":"^4.1.2","completarr":"^0.2.2","debug":"^4.3.2","ioredis":"^4.28.0","lodash":"^4.17.21","moment":"^2.29.1","tracer":"^1.1.5","yargs":"^17.2.1"},"devDependencies":{"@types/ioredis":"^4.28.1","@types/jest":"^24.0.23","@types/lodash":"^4.14.149","@types/node":"^16.11.7","@types/yargs":"^17.0.5","jest":"^27.3.1","npm-run-all":"^4.1.5","prettier":"^2.4.1","ts-jest":"^27.0.7","typescript":"^4.4.4"},"_id":"@3fv/redis-cluster-monitor@1.0.2","dist":{"shasum":"f85c8051a4809ca5503cb215ddd2d327d2768c27","integrity":"sha512-dKfoTbS04LeFGiPAephRYmx1FIx36m5xkrlm/zxvLD6fdgbsVH1MekseYBNwX1k8jyYylrAxqUXw0YWYQxOPNA==","tarball":"https://registry.npmjs.org/@3fv/redis-cluster-monitor/-/redis-cluster-monitor-1.0.2.tgz","fileCount":36,"unpackedSize":32273,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhugexCRA9TVsSAnZWagAAPr0P/RMikgVuliuxdMHiqNJK\ns+ifLx53xs/+XYBY0nPkUEWA+lQByCDBJOypybCZHgwPAtHnokqsfpK3qwgw\nM5+oIhJx2+e/ForyUIcTmgq7yn2GWEhKzvtSRO4lDiP6Hx6nsGNpe5zqZr69\nSAbKJeavgQU51EqKiZQhnfirIvfXBbj+/xsTuTugOU8neSnpsCPTnG5oXzfK\neTmodMUTcBGy32TTDRBUqPZmDEyW3LeOnVFFtIDXO44d6oKiKTqq8aLrfvoV\nwUUk3lFRvb8kCtgo7Ed6MtwLE7PzZmNMgUNI0LCoFNk/UZKthCGN8GsSGAL2\neNTYhuUOXZhtgctWR/23jo31+XxKqCXVf2rkGOlcIS5AK4YGr78TqvVjvdvE\nYcosxGwMmYDz8wDscCXlJGbr/C96lhN6ZSuSvdhMK3e++wrdJO0OuGmLwVxq\npAZoiXUwdts8fjan1BYYSHwChZMuFapWJZ+DT+Y0gipZE/EX7G9jx1zikpKZ\nD9oHa6RUybTZyuGSKDSaa5yOYZPeVuJXRidmjWZrfAJDCWpTU+6jf5DPm1wS\nrT150nXwEn8xAQFji7vJvIG8VyMGqfxp0R+IUtYn34uDEdW0fsluzzl0+A29\njTG9LMPLPwh1jhHD+z6EmCxLo6hr6+Iwej5XqFLE/9r3eLKJ5L84BTS33kAo\nzDnx\r\n=0J3R\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAdW6PfOPLqiERvd4fPz+ofsxTGhKfIFLH2aAaHxNfXGAiAqS+NARIz2lh0CGz0C5A+4+LMUPrG8VZ9clPuz8Si9RQ=="}]},"_npmUser":{"name":"jglanz","email":"jonathan.glanz@gmail.com"},"directories":{},"maintainers":[{"name":"jglanz","email":"jonathan.glanz@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/redis-cluster-monitor_1.0.2_1636932056461_0.940873149047498"},"_hasShrinkwrap":false}},"time":{"created":"2021-11-13T01:18:46.247Z","1.0.0":"2021-11-13T01:18:46.506Z","modified":"2022-04-04T10:44:45.606Z","1.0.1":"2021-11-14T03:17:36.234Z","1.0.2":"2021-11-14T23:20:56.632Z"},"maintainers":[{"name":"jglanz","email":"jonathan.glanz@gmail.com"}],"description":"Command line tool for monitoring all redis cluster nodes automagically.","homepage":"https://github.com/3fv/redis-cluster-monitor#readme","keywords":["typescript","redis","cluster","monitor","cli"],"repository":{"type":"git","url":"git+https://github.com/3fv/redis-cluster-monitor.git"},"author":{"name":"Jonathan Glanz"},"bugs":{"url":"https://github.com/3fv/redis-cluster-monitor/issues"},"license":"MIT","readme":"# `redis-cluster-monitor`\n\nMonitor any Redis cluster, greatly simplifying development with Redis.\n\nWhile most of the redis desktop tools as well as `redis-cli` support the\n`monitor` command, none of the tools subscribe to all `nodes` (`masters` &\n`slaves`).\n\nDepending on how well you understand Redis `cluster-mode`, you likely are quick\nto realize that without executing `monitor` on all `nodes` and then merging the\ndata to a shared stream, debugging consistency & locking is a bit difficult.\nWell, problem solved, `redis-cluster-monitor` is here.\n\nIt uses `ioredis` `Cluster` client under the covers and has an API as well as\nCLI entry & OOB works with Amazon AWS `Elasticache`.\n\n## Quick Start\n\n```shell\nnpm i -g @3fv/redis-cluster-monitor\n\n# Only required option is `host` or `clusterConfigEndpoint` (aliases)\n# Which is a config endpoint for your redis cluster\n\n# LOG FORMAT\nredis-cluster-monitor --host my-elastic-cache-config.amazonaws.com:6379\n\n>> 2021-11-13T22:03:17-05:00 [172.0.12.116:51565] info [ 'all' ]\n\n# JSON FORMAT\nredis-cluster-monitor --format json --host my-elastic-cache-config.amazonaws.com:6379\n\n>> {\"timestamp\":\"2021-11-13T21:52:07-05:00\",\"epoch\":1636858327969,\"cmd\":\"info\",\"args\":[\"all\"],\"source\":\"172.0.12.116:51565\",\"database\":\"0\"}\n```\n\n## Extras\n\nA few nice to have extras.\n\n- Regex filtering of commands, keys & values\n- Output `log` or `json` format (`json` is really `jsonl`, which is an Object\n  per line)\n\n## Examples\n\n```shell\n\n# filters are regex compiled, so make sure to escape any values provided\nredis-cluster-monitor --host my-elastic-cache-config.amazonaws.com:6379 --filter info\n\n# same as\nredis-cluster-monitor --host my-elastic-cache-config.amazonaws.com:6379 --filter \".*info.*\"\n\n```\n\n```shell\n# Example of JSON format, filtering for `info`\nredis-cluster-monitor -t json --filter info --host my-elastic-cache-config.amazonaws.com:6379\n\n>> {\"timestamp\":\"2021-11-13T22:07:17-05:00\",\"epoch\":1636859237962,\"cmd\":\"info\",\"args\":[\"all\"],\"source\":\"172.0.12.116:51565\",\"database\":\"0\"}\n>> {\"timestamp\":\"2021-11-13T22:07:27-05:00\",\"epoch\":1636859247962,\"cmd\":\"info\",\"args\":[\"all\"],\"source\":\"172.0.12.116:51565\",\"database\":\"0\"}\n>> {\"timestamp\":\"2021-11-13T22:07:37-05:00\",\"epoch\":1636859257963,\"cmd\":\"info\",\"args\":[\"all\"],\"source\":\"172.0.12.116:51565\",\"database\":\"0\"}\n\n```\n\n# API\n\nCheckout [RedisClusterMonitorOptions](./src/RedisClusterMonitorOptions.ts) for\nall options. Here is a quick example of the CLI example above.\n\n```typescript\nimport {\n  RedisClusterMonitor,\n  regexMonitorFilter\n} from \"@3fv/redis-cluster-monitor\"\n\nconst monitor = new RedisClusterMonitor(\n  \"my-elastic-cache-config.amazonaws.com:6379\",\n  {\n    filters: [regexMonitorFilter(/info/)],\n    outputFormat: \"json\"\n  }\n)\n\nmonitor.start().then(() => {\n  console.log(\"Monitoring all nodes\")\n})\n```\n","readmeFilename":"README.md"}