{"id":15021808,"url":"https://github.com/heheok/long-live","last_synced_at":"2026-02-06T18:08:43.661Z","repository":{"id":232148815,"uuid":"131624974","full_name":"heheok/long-live","owner":"heheok","description":"LongLive helps you monitor your HTTP applications availablity, and gives you couple of endpoints to publicly share your servers uptime statistics. (if you choose to do so!). ","archived":false,"fork":false,"pushed_at":"2018-07-04T10:21:13.000Z","size":67,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-16T18:15:33.134Z","etag":null,"topics":["commandline-tool","healthcheck","http-status-code","php","pingdom","symfony3"],"latest_commit_sha":null,"homepage":null,"language":"PHP","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/heheok.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2018-04-30T17:21:41.000Z","updated_at":"2018-07-04T10:21:10.000Z","dependencies_parsed_at":"2024-04-08T08:45:22.749Z","dependency_job_id":null,"html_url":"https://github.com/heheok/long-live","commit_stats":null,"previous_names":["heheok/long-live"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/heheok/long-live","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/heheok%2Flong-live","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/heheok%2Flong-live/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/heheok%2Flong-live/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/heheok%2Flong-live/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/heheok","download_url":"https://codeload.github.com/heheok/long-live/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/heheok%2Flong-live/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29171214,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-06T16:33:35.550Z","status":"ssl_error","status_checked_at":"2026-02-06T16:33:30.716Z","response_time":59,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5: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":["commandline-tool","healthcheck","http-status-code","php","pingdom","symfony3"],"created_at":"2024-09-24T19:57:05.504Z","updated_at":"2026-02-06T18:08:43.637Z","avatar_url":"https://github.com/heheok.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"LongLive HTTP Monitoring API \u0026 CLI Toolset\n============================\n\nLongLive helps you monitor your HTTP applications availablity, and gives you couple of endpoints to publicly share your servers uptime and response time statistics. (if you choose to do so!). \n\nWhat's inside?\n--------------\n - LongLive HTTP Monitoring API is based on Symfony3.0.\n - Uses Mysql as database, \n - Works with PHP \u003e=5.5.9,\n\nBackstory\n-----------\nThis project was born out of bare necessity. I could'nt find any local tools to create performance and uptime statics then... Indeed, there are good services like [pingdom](https://www.pingdom.com/) but my need was minimizing the false-negatives that occur with cross-border requests. (you can't belive how often it happens.). Anyway, this project was the result of it, after working on my server for two and a half years, i think it is the time to publish it.\n\nWhat is it exactly?\n-------------------\nIt is a mix of command line tools and couple of http endpoints that checks your http services with the rules that you specify, and records the performance stats to your database for publishing, or just for your eyes only. Also, it sends e-mails to predefined addresses if it can not reach to the service you set up.\n\nHow it Works?\n-------------\n1. Clone the repo\n2. ```cd LongLive```\n3. run ```composer install```\n4. follow the composer prompts.\n5. create the database with: \n    ```bin/console doctrine:database:create```\n6. create the schema with: \n    ```bin/console doctrine:schema:create```\n\nNow you are ready to go! As an example, let's create a rule to check if google.com is up;\n\n```bin/console status:check --add```\n\nThis command will start a prompt series for you to answer couple of simple questions to get you up and running in no time.\n\n```\nMandatory Please enter a name for your rule (alphanumeric) : GOOGLE\nMandatory Please enter the URL of the service you want to check : https://www.google.com\nOptional Please enter the Port of the service you want to check (default 80) : 80\nOptional  Enter a string to check in the response :\nOptional  Timeout in milliseconds (10000) : 5000\n+-----------+------------------------+------+-------------------------+---------+\n| Rule Name | URL                    | PORT | Response Should Include | Timeout |\n+-----------+------------------------+------+-------------------------+---------+\n| GOOGLE    | https://www.google.com | 80   |                         | 5000    |\n+-----------+------------------------+------+-------------------------+---------+\nDo you confirm that you want to add this rule to database? (yes/no) y\nRule GOOGLE added succesfully. You can use it now..\n```\n\nAs you can see, your rule is set, and ready to go. On order to check it you can use the following command;\n\n```bin/console status:check GOOGLE```\n\nYou should get something like this as a response;\n\n```\n+--------+-------------+----------------+-------------+---------------------+\n| RuleID | Status Code | Check For Clue | Clue Found? | Total Response Time |\n+--------+-------------+----------------+-------------+---------------------+\n| 1      | 200         |                |             | 0.202212            |\n+--------+-------------+----------------+-------------+---------------------+\n```\n\nBut who needs a command line tool for manually calling couple of predefined rules? What good is it?\nOk, the answer is simple, you can add more rules to your database, and then, you can call all of them like this;\n\n```bin/console status:check --all```\n\nFor all the available options and capabilities, you can check;\n\n```bin/console status:check --help```\nThis is the result;\n\n```\nUsage:\n  status:check [options] [--] [\u003cruleName\u003e]\n\nArguments:\n  ruleName              Which rule you want to run?\n\nOptions:\n  -a, --add             Add A new rule with step by step wizard.\n  -r, --remove          Remove a rule by name\n  -A, --all             If set, all rules will be run one after another.\n  -l, --list            Lists all the rules.\n  -g, --generate        Generate test data for every entry on rule database (do not use in production)\n  -i, --info            Gives information about the bundle.\n  -h, --help            Display this help message\n  -q, --quiet           Do not output any message\n  -V, --version         Display this application version\n      --ansi            Force ANSI output\n      --no-ansi         Disable ANSI output\n  -n, --no-interaction  Do not ask any interactive question\n  -e, --env=ENV         The Environment name. [default: \"dev\"]\n      --no-debug        Switches off debug mode.\n  -v|vv|vvv, --verbose  Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug\n\nHelp:\n Main command to be called with cron. If \"all\" option is not set, you have to supply a ruleName to run.\n```\n\nIn order to use it with its full potential, give it a couple of rules, set a cron on the server that calls the command every minute with ```--all``` parameter. It will keep working as long as the server and network is up.\n\nAlso, if you set your apache or nginx to work with LongLive HTTP API, you will have the following HTTP endpoints to read the data that the system records;\n\nyourdomain.com/logs\nyourdomain.com/day\n\n__TODO:__ improve documentation on http endpoints.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fheheok%2Flong-live","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fheheok%2Flong-live","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fheheok%2Flong-live/lists"}