All Projects → salesforce → Argus

salesforce / Argus

Licence: bsd-3-clause
Time series monitoring and alerting platform.

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Argus

Prometheus
The Prometheus monitoring system and time series database.
Stars: ✭ 40,114 (+8471.37%)
Mutual labels:  metrics, alerting
Opbeat Node
DEPRECATED - See Elastic APM instead: https://github.com/elastic/apm-agent-nodejs
Stars: ✭ 155 (-66.88%)
Mutual labels:  metrics, alerting
Grafana
The open and composable observability and data visualization platform. Visualize metrics, logs, and traces from multiple sources like Prometheus, Loki, Elasticsearch, InfluxDB, Postgres and many more.
Stars: ✭ 45,930 (+9714.1%)
Mutual labels:  metrics, alerting
Sensu Go
Simple. Scalable. Multi-cloud monitoring.
Stars: ✭ 625 (+33.55%)
Mutual labels:  metrics, alerting
Questdb
An open source SQL database designed to process time series data, faster
Stars: ✭ 7,544 (+1511.97%)
Mutual labels:  metrics, low-latency
Amon
Amon is a modern server monitoring platform.
Stars: ✭ 1,331 (+184.4%)
Mutual labels:  metrics, alerting
Sourced Ce
source{d} Community Edition (CE)
Stars: ✭ 153 (-67.31%)
Mutual labels:  metrics, dashboards
Banshee
Anomalies detection system for periodic metrics.
Stars: ✭ 1,045 (+123.29%)
Mutual labels:  metrics, alerting
cv4pve-metrics
Metrics for Proxmox VE, Grafana with dasboard, InfluxDb
Stars: ✭ 38 (-91.88%)
Mutual labels:  metrics, dashboards
Hawkular Metrics
Time Series Metrics Engine based on Cassandra
Stars: ✭ 225 (-51.92%)
Mutual labels:  metrics, alerting
Opennms
Enterprise-Grade Open-Source Network Management Platform
Stars: ✭ 568 (+21.37%)
Mutual labels:  metrics, alerting
Hastic Server
Hastic data management server for analyzing patterns and anomalies from Grafana
Stars: ✭ 292 (-37.61%)
Mutual labels:  metrics, alerting
Zabbix
Real-time monitoring of IT components and services, such as networks, servers, VMs, applications and the cloud.
Stars: ✭ 1,914 (+308.97%)
Mutual labels:  metrics, alerting
Sdk
Library for using Grafana' structures in Go programs and client for Grafana REST API.
Stars: ✭ 193 (-58.76%)
Mutual labels:  metrics, dashboards
Kibana
Your window into the Elastic Stack
Stars: ✭ 16,820 (+3494.02%)
Mutual labels:  metrics, dashboards
Nightingale
💡 A Distributed and High-Performance Monitoring System. Prometheus enterprise edition
Stars: ✭ 4,003 (+755.34%)
Mutual labels:  metrics, alerting
React Native Branch Deep Linking Attribution
The Branch React Native SDK for deep linking and attribution. Branch helps mobile apps grow with deep links / deeplinks that power paid acquisition and re-engagement campaigns, referral programs, content sharing, deep linked emails, smart banners, custom user onboarding, and more.
Stars: ✭ 408 (-12.82%)
Mutual labels:  metrics
Sitespeed.io
Sitespeed.io is an open source tool that helps you monitor, analyze and optimize your website speed and performance, based on performance best practices advices from the coach and collecting browser metrics using the Navigation Timing API, User Timings and Visual Metrics (FirstVisualChange, SpeedIndex & LastVisualChange).
Stars: ✭ 4,255 (+809.19%)
Mutual labels:  metrics
Ramcloud
**No Longer Maintained** Official RAMCloud repo
Stars: ✭ 405 (-13.46%)
Mutual labels:  low-latency
Yabeda
Extendable framework for collecting and exporting metrics from your Ruby application
Stars: ✭ 402 (-14.1%)
Mutual labels:  metrics

Argus Build Status Static Analysis argus-sdk - Maven Central

Argus is a time-series monitoring and alerting platform. It consists of discrete services to configure alerts, ingest and transform metrics & events, send notifications, create namespaces, and to both establish and enforce policies and quotas for usage.

Its architecture allows any and all of these services to be retargeted to new technology as it becomes available, with little to no impact on the users.

To find out more see the wiki and check out the release notes.

Argus UI

Building Argus

Installing The Resource Filters

Argus uses the argus-build.properties file as a resource filter for the build and all the module builds. After you clone the project for the first time, or after you change this file, you must create and install the dependency jars which will contain these filters. Those dependency jars are then pulled in by the modules, expanded and have their values applied to the module specific builds. Luckily, it's a straightforward operation. Just execute the following command from within the parent project, after you first clone the project or after you update the argus-build.properties file.

mvn -DskipTests=true -DskipDockerBuild --non-recursive install

Running The Unit Tests

Once the resource filters are installed, you can run unit tests. Running the unit tests doesn't require any changes to the argus-build.properties file. Just install the resource filters and execute the test goal.

mvn test

Only the unit tests are run by codecov.io and as such, the coverage reported by it is significantly less than the coverage obtained by running the full test suite.

Running The Integration Tests (Deprecated)

Currently the integration tests are non-functional but are being retained in case we want to resurrect them.

The integration tests for Argus use the LDAPAuthService implementation of the AuthService interface and the DefaultTSDBService implementation of the TSDBService interface (which targets OpenTSDB). Additionally it uses the RedisCacheService implementation of the CacheService interface to facilitate integration testing of the BatchService. In order to run the integration tests you must update the argus-build.properties file to correctly setup the external LDAP you'll be testing against and the OpenTSDB endpoints to use as well as the Redis cluster. The snippet below shows the specific properties that should be modified in the argus-build.properties file. Of course, after you make these updates, you must re-install the resource filter dependencies as described above and execute the clean goal, before running the integration tests.

# The LDAP endpoint to use
service.property.auth.ldap.endpoint=ldaps://ldaps.yourdomain.com:636
# A list of comma separated search paths used to query the DN of users attempting to authenticate.
# This example lists two separate search bases.  One for users and one for service accounts.
service.property.auth.ldap.searchbase=OU=active,OU=user,DC=yourdomain,DC=com:OU=active,OU=robot,DC=yourdomain,DC=com
# This specifies of the DN for the privileged user that is used to bind and subsequently execute the search for user DN's
service.property.auth.ldap.searchdn=CN=argus_admin,OU=active,OU=user,DC=yourdomain,DC=com
# The password for the privileged user above.
service.property.auth.ldap.searchpwd=Argu5R0cks!
# The LDAP field with which the username provided during a login attempt, will be matched.
# This is used so Argus can obtain the DN for the user attempting to login, and subsequently attempt to bind as that user.
service.property.auth.ldap.usernamefield=sAMAccountName
# The TSDB read endpoint
service.property.tsdb.endpoint.read=http://readtsdb.yourdomain.com:4466
# The TSDB write endpoint
service.property.tsdb.endpoint.write=http://writetsdb.yourdomain.com:4477
# The Redis cache cluster information
service.property.cache.redis.cluster=redis0.mycompany.com:6379,redis1.mycompany.com:6389

Once the modifications have been made and the resource filters re-installed, you're ready to run the complete suite of tests, including the integration tests.

mvn verify

Generating Coverage Reports

Coverage is calculated everytime tests are run for all modules with the exception of ArgusWeb. In order to generate a coverage report for a module, just cd into the module subdirectory and run the report generation target.

mvn jacoco:report

Coverage reports are generated in the target/site/jacoco directory.

Deploying & Running Argus

Please see the wiki for information on how to deploy, configure and run Argus.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].