{"id":21948283,"url":"https://github.com/instrumental/instrumentald","last_synced_at":"2025-03-22T17:14:07.846Z","repository":{"id":42418680,"uuid":"61829004","full_name":"Instrumental/instrumentald","owner":"Instrumental","description":"Instrumental System and Service Daemon","archived":false,"fork":false,"pushed_at":"2018-09-17T20:30:24.000Z","size":117087,"stargazers_count":15,"open_issues_count":8,"forks_count":3,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-01-27T19:54:23.264Z","etag":null,"topics":["daemon","metrics","monitoring","service-metrics","system-monitor"],"latest_commit_sha":null,"homepage":"","language":"HTML","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/Instrumental.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-06-23T18:51:08.000Z","updated_at":"2025-01-06T02:52:01.000Z","dependencies_parsed_at":"2022-09-20T21:20:32.624Z","dependency_job_id":null,"html_url":"https://github.com/Instrumental/instrumentald","commit_stats":null,"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Instrumental%2Finstrumentald","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Instrumental%2Finstrumentald/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Instrumental%2Finstrumentald/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Instrumental%2Finstrumentald/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Instrumental","download_url":"https://codeload.github.com/Instrumental/instrumentald/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244991176,"owners_count":20543627,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["daemon","metrics","monitoring","service-metrics","system-monitor"],"created_at":"2024-11-29T05:12:55.108Z","updated_at":"2025-03-22T17:14:07.823Z","avatar_url":"https://github.com/Instrumental.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# InstrumentalD\n\nInstrumental is an [application monitoring platform](https://instrumentalapp.com/) built for developers who want a better understanding of their production software. Powerful tools, like the [Instrumental Query Language](https://instrumentalapp.com/docs/query-language), combined with an exploration-focused interface allow you to get real answers to complex questions, in real-time.\n\n**InstrumentalD** is a server agent that provides [system monitoring](#system-metrics) and [service monitoring](#service-metrics). It's fast, reliable, runs on anything *nix, is [simple to configure](conf/instrumentald.toml) and deploy, and has a small memory footprint.\n\n\n## Installation\n`instrumentald` is supported on 32-bit and 64-bit Linux, as well as OSX/macOS. There are prebuilt packages available for Debian, Ubuntu, and RHEL systems.\n\nDetailed installation instructions for supported platforms are available in [INSTALL.md](INSTALL.md). For linux servers, the recommended installation method is to use a prebuilt package, which will automatically install the application as a service in your operating system's startup list.\n\nOnce you've installed the package, you will want to edit the `/etc/instrumentald.toml` file with your [Instrumental project token](https://instrumentalapp.com/docs/tokens). Example `/etc/instrumentald.toml`:\n\n```toml\nproject_token = \"YOUR_PROJECT_TOKEN\"\nsystem = [\"cpu\", \"disk\", \"load\", \"memory\", \"network\", \"swap\"]\ndocker = [\"unix:///var/run/docker.sock\"]\nmemcached = [\"localhost:11211\"]\nmongodb = [\"localhost:27017\"]\nmysql = [\"root@tcp(127.0.0.1:3306)/\"]\nnginx = [\"http://localhost:80/status\"]\npostgresql = [\"postgres://postgres@localhost?sslmode=disable\"]\nredis = [\"tcp://localhost:6379\"]\n```\n\n## System Metrics\n\nUnless configured otherwise, InstrumentalD will collect system metrics from every server on which it's installed, including:\n\n* CPU Stats\n* Disk Stats\n* Load Stats\n* Memory Stats\n* Network Stats\n* Swap Stats\n\nA detailed list of system metrics collected by InstrumentalD can be found in the [Instrumental documentation](https://instrumentalapp.com/docs/instrumentald/system-metrics).\n\n## Service Metrics\n\nInstrumentalD is built to make it easy to collect the most important metrics from your critical services. It's currently capable of capturing metrics from the following services:\n\n* [Docker](https://instrumentalapp.com/docs/instrumentald/docker)\n* [MySQL](https://instrumentalapp.com/docs/instrumentald/mysql)\n* [Memcached](https://instrumentalapp.com/docs/instrumentald/memcached)\n* [MongoDB](https://instrumentalapp.com/docs/instrumentald/mongodb)\n* [Nginx](https://instrumentalapp.com/docs/instrumentald/nginx)\n* [PostgreSQL](https://instrumentalapp.com/docs/instrumentald/postgresql)\n* [Redis](https://instrumentalapp.com/docs/instrumentald/redis)\n\n## Custom Plugin Scripts\n\nInstrumentalD can monitor arbitrary processes and system events through a plugin scripting system. Writing plugins is easier than you'd think! Plugin script installation and development instructions are listed in [PLUGIN_SCRIPTS.md](PLUGIN_SCRIPTS.md), and we've got [several examples](examples/) to get you started.\n\n## Command Line Usage\n\nBasic usage:\n\n```sh\ninstrumentald -k \u003cPROJECT_TOKEN\u003e\n```\n\nTo start `instrumentald` as a daemon:\n\n```sh\ninstrumentald -k \u003cPROJECT_TOKEN\u003e start\n```\n\nThe project token can also be provided by setting the INSTRUMENTAL_TOKEN environment variable, which eliminates the need to supply the key via command line option.\n\nBy default, instrumentald will use the hostname of the current host when reporting metrics, e.g. 'hostname.cpu.in_use'. To specify a different hostname:\n\n```sh\ninstrumentald -k \u003cPROJECT_TOKEN\u003e -H \u003cHOSTNAME\u003e\n```\n\nThe `start` command will start and detach the process. You may issue additional commands to the process like:\n\n* `stop` - stop the currently running `instrumentald` process\n* `restart` - restart the currently running `instrumentald` process\n* `foreground` - run the process in the foreground instead of detaching\n* `status` - display daemon status (running, stopped)\n* `clean` - remove any files created by the daemon\n* `kill` - forcibly halt the daemon and remove its pid file\n\nBy default, instrumentald will look for a configuration file at `/etc/instrumentald.toml`. You can pass an alternative instead:\n\n```sh\ninstrumentald -k \u003cPROJECT_TOKEN\u003e -H \u003cHOSTNAME\u003e -c \u003cPATH_TO_CONF\u003e\n```\n\n## Troubleshooting \u0026 Help\n\nWe are here to help! Email us at [support@instrumentalapp.com](mailto:support@instrumentalapp.com).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finstrumental%2Finstrumentald","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Finstrumental%2Finstrumentald","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finstrumental%2Finstrumentald/lists"}