{"id":21630496,"url":"https://github.com/hawkular/hawkular-metrics","last_synced_at":"2025-05-15T16:07:04.343Z","repository":{"id":14980479,"uuid":"17705626","full_name":"hawkular/hawkular-metrics","owner":"hawkular","description":"Time Series Metrics Engine based on Cassandra","archived":false,"fork":false,"pushed_at":"2019-08-07T23:54:25.000Z","size":22153,"stargazers_count":233,"open_issues_count":12,"forks_count":73,"subscribers_count":36,"default_branch":"master","last_synced_at":"2025-04-07T21:14:29.312Z","etag":null,"topics":["alerting","hawkular","java","metrics","monitoring","time-series"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hawkular.png","metadata":{"files":{"readme":"README.adoc","changelog":null,"contributing":"CONTRIBUTING.adoc","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-03-13T10:07:30.000Z","updated_at":"2025-02-11T21:31:03.000Z","dependencies_parsed_at":"2022-08-30T12:31:25.701Z","dependency_job_id":null,"html_url":"https://github.com/hawkular/hawkular-metrics","commit_stats":null,"previous_names":["rhq-project/rhq-metrics"],"tags_count":116,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hawkular%2Fhawkular-metrics","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hawkular%2Fhawkular-metrics/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hawkular%2Fhawkular-metrics/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hawkular%2Fhawkular-metrics/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hawkular","download_url":"https://codeload.github.com/hawkular/hawkular-metrics/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254374475,"owners_count":22060611,"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":["alerting","hawkular","java","metrics","monitoring","time-series"],"created_at":"2024-11-25T02:11:11.244Z","updated_at":"2025-05-15T16:07:04.307Z","avatar_url":"https://github.com/hawkular.png","language":"Java","readme":"= Hawkular Metrics, a storage engine for metric data\n:source-language: java\n\n// just major.minor\n:cassandra-version: 3.0.12\n\nifdef::env-github[]\n[link=https://travis-ci.org/hawkular/hawkular-metrics]\nimage::https://travis-ci.org/hawkular/hawkular-metrics.svg?branch=master[Build Status,70,18]\n[link=https://scan.coverity.com/projects/4581\"]\nimage::https://scan.coverity.com/projects/4581/badge.svg[Coverity Scan Build Status (coverity_scan branch)]\nendif::[]\n\n== About\n\nHawkular Metrics is the metric data storage engine part of http://www.hawkular.org/[Hawkular] community.\n\nIt relies on https://cassandra.apache.org/[Apache Cassandra] as a backend and is comprised of:\n\n- a core library\n- a REST/HTTP interface\n\nIMPORTANT: Cassandra {cassandra-version} or later is required.\n\n=== The core library\n\nA Java library, built with https://github.com/ReactiveX/RxJava[RxJava] on top of the Cassandra Java driver.\n\nThis is for advanced users only, for embedding the core functionality in another project.\n\n=== REST/HTTP interface\n\nMost users will work with the\nhttps://github.com/hawkular/hawkular-metrics/tree/master/api/metrics-api-jaxrs[web application].\nIt exposes a REST/HTTP interface based on the core library. It is implemented with the JAX-RS 2 asynchronous API and\nruns on a http://www.wildfly.org/[Wildfly 10] server. The data format is JSON.\n\n== Goals\n\n=== Simple, easy to use REST interface\n\nThe http://www.hawkular.org/docs/rest/rest-metrics.html[REST API] should be easy to use. Users should be able to send\ndata with the simplest tools: shell scripts and `curl`.\n\n== Getting started with a release build\nThere are a couple of options for running Hawkular Metrics:\n\n* WildFly distribution\n* EAR distribution\n\nIMPORTANT: Earlier versions of Hawkular Metrics could be run by deploying `hawkular-metrics-api-jaxrs-X.Y.Z.war`. This\nis longer supported.\n\nThe WildFly distribution is a pre-configured WildFly 10 server that includes Hawkular Alerts in addition to Hawkular\nMetrics. Check out the https://github.com/hawkular/hawkular-metrics/releases[Metrics releases] page and download the latest\nversion of `hawkular-metrics-wildfly-standalone-X.Y.Z.Final.tar.gz`.\n\nThe EAR distribution includes both Hawkular Metrics and Hawkular Alerts. Check out the\nhttps://github.com/hawkular/hawkular-metrics/releases[Metrics releases] page and download the latest version of\n`hawkular-metrics-standalone-dist-X.Y.Z.Final.ear`. Copy the EAR file to the `standalone/deployments` directory. You\nwill have to manually configure WildFly.\n\nThe following cache container declarations are needed in the infinispan\nsubsection:\n\n[source,xml]\n----\n\u003ccache-container name=\"hawkular-alerts\" default-cache=\"triggers\" statistics-enabled=\"true\"\u003e\n      \u003clocal-cache name=\"partition\"/\u003e\n      \u003clocal-cache name=\"triggers\"/\u003e\n      \u003clocal-cache name=\"data\"/\u003e\n      \u003clocal-cache name=\"publish\"/\u003e\n      \u003clocal-cache name=\"schema\"/\u003e\n      \u003clocal-cache name=\"dataIds\"/\u003e\n      \u003clocal-cache name=\"globalActions\"/\u003e\n\u003c/cache-container\u003e\n\u003ccache-container name=\"hawkular-metrics\" default-cache=\"triggers\" statistics-enabled=\"true\"\u003e\n        \u003clocal-cache name=\"locks\"/\u003e\n\u003c/cache-container\u003e\n----\n\nIf you are running a cluster of WildFly servers in HA mode, then you will instead want to edit standalone-ha.xml,\nadding the following cache containers:\n\n[source,xml]\n----\n\u003ccache-container name=\"hawkular-alerts\" default-cache=\"triggers\" statistics-enabled=\"true\"\u003e\n        \u003ctransport lock-timeout=\"60000\"/\u003e\n        \u003creplicated-cache name=\"partition\" mode=\"SYNC\"\u003e\n               \u003ctransaction mode=\"BATCH\"/\u003e\n        \u003c/replicated-cache\u003e\n        \u003creplicated-cache name=\"triggers\" mode=\"ASYNC\"\u003e\n               \u003ctransaction mode=\"BATCH\"/\u003e\n        \u003c/replicated-cache\u003e\n        \u003creplicated-cache name=\"data\" mode=\"ASYNC\"\u003e\n               \u003ctransaction mode=\"BATCH\"/\u003e\n        \u003c/replicated-cache\u003e\n        \u003creplicated-cache name=\"publish\" mode=\"ASYNC\"\u003e\n               \u003ctransaction mode=\"BATCH\"/\u003e\n        \u003c/replicated-cache\u003e\n        \u003creplicated-cache name=\"schema\" mode=\"SYNC\"\u003e\n               \u003ctransaction mode=\"NON_XA\"/\u003e\n        \u003c/replicated-cache\u003e\n        \u003creplicated-cache name=\"dataIds\" mode=\"ASYNC\"\u003e\n               \u003ctransaction mode=\"BATCH\"/\u003e\n        \u003c/replicated-cache\u003e\n        \u003creplicated-cache name=\"globalActions\" mode=\"ASYNC\"\u003e\n               \u003ctransaction mode=\"BATCH\"/\u003e\n        \u003c/replicated-cache\u003e\n\u003c/cache-container\u003e\n\u003ccache-container name=\"hawkular-metrics\" default-cache=\"triggers\" statistics-enabled=\"true\"\u003e\n        \u003ctransport lock-timeout=\"60000\"/\u003e\n        \u003creplicated-cache name=\"locks\" mode=\"SYNC\"\u003e\n               \u003ctransaction mode=\"NON_XA\" locking=\"PESSIMISTIC\"/\u003e\n        \u003c/replicated-cache\u003e\n\u003c/cache-container\u003e\n----\n\nBy default, Metrics will try to connect to a Cassandra on localhost. If you want to start a Cassandra server\nembedded in WildFly for testing, add the `hawkular-metrics-embedded-cassandra-ear-X.Y.Z.ear` archive to the\n`standalone/deployments` directory.\n\n== Build Instructions\n\nIMPORTANT: A running Cassandra cluster, which can be a single node, is required for unit and integration tests.\n\n[source,bash]\n----\ngit clone git@github.com:hawkular/hawkular-metrics.git\ncd hawkular-metrics\n./mvnw install\n----\n\nTIP: If you only want to build the sources without a running C* cluster, you can run `./mvnw install -DskipTests`.\n\n== Setting up Cassandra for development or testing\n\nFor development or testing, the easiest way to setup Cassandra is to use the\nhttps://github.com/pcmanus/ccm[Cassandra Cluster Manager, CCM].\n\n[source,bash,subs=\"attributes\"]\n----\nccm create -v {cassandra-version} -n 1 -s hawkular\n----\n\nThese steps build and start a single node cluster of Cassandra. Note that while it is recommended to use ccm, it\nis not necessary. You just need to make sure you have a running {cassandra-version} cluster.\n\n== Client tools\n\nIf you want to send or fetch metrics from your own application, there are client libraries available to assist:\n\n- https://github.com/hawkular/hawkular-client-python[Python]\n- https://github.com/hawkular/hawkular-client-go[Go]\n- https://github.com/hawkular/hawkular-client-ruby[Ruby]\n- https://github.com/hawkular/hawkular-client-java[Java]\n\n== Working with monitoring tools\n\nYou can send data collected with your usual monitoring tools to Hawkular Metrics:\n\n- collectd\n- ganglia\n- jmxtrans\n- statsd\n\nIn order to do so, you must start our network protocol adapter,\nhttps://github.com/hawkular/hawkular-metrics/tree/master/clients/ptranslator[ptrans].\n\n== Contributing \u0026 Community\n\nIf you are a user of Hawkular Metrics please ask your question in the\nhttps://developer.jboss.org/discussion/create.jspa?containerType=14\u0026containerID=2351[Hawkular user forum].\nTo contribute or participate in design discussion, please use the\nhttps://lists.jboss.org/mailman/listinfo/hawkular-dev[Hawkular developer mailing list].\n\nWe love contributions and pull-requests :-)\n\nTo file an issue, please use the http://issues.jboss.org/browse/HWKMETRICS[Hawkular-Metrics JIRA].\n\nTo chat, join us on irc://irc.freenode.net/#hawkular[Freenode IRC] in channel #hawkular.\nIf you can not use the irc protocol, you can also use a web to irc gateway like\nhttp://webchat.freenode.net/?channels=hawkular[Web chat on Freenode].\n\nHawkular-Metrics is http://twitter.com/#!/hawkular_org/[@hawkular_org] on Twitter.\n","funding_links":[],"categories":["Observability \u0026 Monitoring","指标库"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhawkular%2Fhawkular-metrics","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhawkular%2Fhawkular-metrics","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhawkular%2Fhawkular-metrics/lists"}