All Projects → opserver → Opserver

opserver / Opserver

Licence: mit
Stack Exchange's Monitoring System

Programming Languages

C#
18002 projects
CSS
56736 projects
javascript
184084 projects - #8 most used programming language
HTML
75241 projects
XSLT
1337 projects
Batchfile
5799 projects

Projects that are alternatives of or similar to Opserver

Exceptionless
Exceptionless server and jobs
Stars: ✭ 2,107 (-48.93%)
Mutual labels:  redis, elasticsearch, monitoring
Zombodb
Making Postgres and Elasticsearch work together like it's 2021
Stars: ✭ 3,781 (-8.36%)
Mutual labels:  sql, elasticsearch
Xboot
基于Spring Boot 2.x的一站式前后端分离快速开发平台XBoot 微信小程序+Uniapp 前端:Vue+iView Admin 后端:Spring Boot 2.x/Spring Security/JWT/JPA+Mybatis-Plus/Redis/Elasticsearch/Activiti 分布式限流/同步锁/验证码/SnowFlake雪花算法ID 动态权限 数据权限 工作流 代码生成 定时任务 社交账号 短信登录 单点登录 OAuth2开放平台 客服机器人 数据大屏 暗黑模式
Stars: ✭ 3,432 (-16.82%)
Mutual labels:  redis, elasticsearch
Vue Storefront Api
Vue.js storefront for Magento2 (and not only) - data backend
Stars: ✭ 328 (-92.05%)
Mutual labels:  redis, elasticsearch
Cookbook
🎉🎉🎉JAVA高级架构师技术栈==任何技能通过 “刻意练习” 都可以达到融会贯通的境界,就像烹饪一样,这里有一份JAVA开发技术手册,只需要增加自己练习的次数。🏃🏃🏃
Stars: ✭ 428 (-89.63%)
Mutual labels:  redis, elasticsearch
Wazuh Ruleset
Wazuh - Ruleset
Stars: ✭ 305 (-92.61%)
Mutual labels:  elasticsearch, monitoring
Osquery
SQL powered operating system instrumentation, monitoring, and analytics.
Stars: ✭ 18,475 (+347.77%)
Mutual labels:  sql, monitoring
Sens
基于SpringBoot+MyBatis+Shiro+Redis+ElasticSearch的企业级博客系统
Stars: ✭ 287 (-93.04%)
Mutual labels:  redis, elasticsearch
Springboot Learning
基于Gradle构建,使用SpringBoot在各个场景的应用,包括集成消息中间件、前后端分离、数据库、缓存、分布式锁、分布式事务等
Stars: ✭ 340 (-91.76%)
Mutual labels:  redis, elasticsearch
Sigma
Generic Signature Format for SIEM Systems
Stars: ✭ 4,418 (+7.08%)
Mutual labels:  elasticsearch, monitoring
Awesome Monitoring
INFRASTRUCTURE、OPERATION SYSTEM and APPLICATION monitoring tools for Operations.
Stars: ✭ 356 (-91.37%)
Mutual labels:  elasticsearch, monitoring
Bosun
Time Series Alerting Framework
Stars: ✭ 3,226 (-21.81%)
Mutual labels:  monitoring, bosun
Hastic Server
Hastic data management server for analyzing patterns and anomalies from Grafana
Stars: ✭ 292 (-92.92%)
Mutual labels:  elasticsearch, monitoring
Peek
Take a peek into your Rails applications.
Stars: ✭ 3,153 (-23.58%)
Mutual labels:  redis, elasticsearch
Workarea
Workarea is an enterprise-grade Ruby on Rails commerce platform
Stars: ✭ 290 (-92.97%)
Mutual labels:  redis, elasticsearch
Dotnetguide
🦸【C#/.NET/.NET Core学习、工作、面试指南】概述:C#/.NET/.NET Core基础知识,学习资料、文章、书籍,社区组织,工具和常见的面试题总结。以及面试时需要注意的事项和优秀简历编写技巧,希望能和大家一起成长进步👊。【让现在的自己不再迷漫✨】
Stars: ✭ 308 (-92.54%)
Mutual labels:  sql, redis
Kafka Connect Ui
Web tool for Kafka Connect |
Stars: ✭ 388 (-90.6%)
Mutual labels:  redis, elasticsearch
Springboot Learn
🌹springboot常用框架整合示例,涉及多种网站监控,数据缓存,网络通信,持久层,权限管理,常用工具等
Stars: ✭ 270 (-93.46%)
Mutual labels:  redis, elasticsearch
Korio
Korio: Kotlin cORoutines I/O : Virtual File System + Async/Sync Streams + Async TCP Client/Server + WebSockets for Multiplatform Kotlin 1.3
Stars: ✭ 282 (-93.17%)
Mutual labels:  redis, elasticsearch
Superboot
随着技术日新月异,新技术新平台不断出现,对现如今的开发人员来说选择快速高效的框架进行项目开发,既能提高产出,又能节约时间。本框架无需开发即可实现服务注册、服务发现、负载均衡、服务网关、配置中心、API管理、分布式事务、支撑平台、集成框架、数据传输加密等功能,是学习SpringCloud整体业务模式的完整示例,并且可以直接用于生产环境
Stars: ✭ 341 (-91.74%)
Mutual labels:  sql, redis

Opserver

Build status Open Source Helpers

Opserver is a monitoring system by the team at Stack Exchange, home of Stack Overflow. It is a tool for monitoring:

  • Servers/Switches & anything supported by Bosun, Orion, or direct WMI monitoring
  • SQL Clusters & Single Instances
  • Redis
  • Elasticsearch
  • Exception Logs (from StackExchange.Exceptional)
  • HAproxy
  • PagerDuty
  • CloudFlare DNS
  • ... and more as we go

Known as “status” internally, Opserver provides a fast overall view of all our major systems that also allows drilling in for more detail. For an idea of the UI, you can see some screenshots from our Velocity 2013 talk.

Installation

Installation should be a snap, just build this project as-is and deploy it as an IIS website. If monitoring windows servers and using integrated auth sections (e.g. live polling, SQL, exception logs) then using a service account with needed permissions is all you need to do on the auth side. After that, configure Opserver to monitor your systems, keep reading for how.

Security Configuration

/Config/SecuritySettings.config contains the security settings for the Opserver website itself, there are a few built-in providers already:

  • Active Directory ("ad")
  • "Everyone's an admin" ("alladmin")
  • "View All" (the default)

There is a SecuritySettings.config.example as a reference. You can optionally add networks that can see the main dashboard without any authentication when using any provider. This is useful for fully automated screens like a TV in an office or data center.

If you are using Active Directory authentication, you should edit the ViewGroups and AdminGroups in the Web.Config. You can also edit the ViewGroups and AdminGroups on a per monitor basis by adding "AdminGroups": "GroupName", or "ViewGRoups": "GroupName", to the json config file.

One cause of the 'No Configuration' message being displayed is if you do not have any permissions to any of your configured monitors. You can see what you were authenticated as, and what roles you were granted by browsing to /about.

Monitoring Configuration

The basic configuration implementation is via .json files, for which .json.example files are included in the /config directory of the Opserver project. These .example files are exactly what’s running in the Stack Exchange production environment, minus any passwords or internal-only URLs. You are also welcome to implement your own settings provider that has a completely different source, for example JSON from MongoDB, or SQL, or…whatever you can come up with. Settings changes will be hooked up to events but that isn’t complete just yet, since we build every change and Opserver restarts, this isn’t a priority.

We recommend using a service account with the necessary permissions for monitoring, this eliminates any passwords in your configuration files and makes management easier, that's the practice in place at Stack Exchange.

Even if you have correctly configured your monitors, you still may not see any data. Each monitor configuration has an enabled flag which must return true for a monitor section to appear in OpServer.

You can browse to /about to review which monitors have been enabled.

Jira Actions Configuration

You can use Jira to create issues using the links rendered in the exception details page.

In order to use Jira

  • You have to enable Exception monitoring
  • Add JiraSettings.json file under /config folder (JiraSettings.json.example file is included)
  • Enable REST api on Jira

Jira action screenshots

PagerDuty Configuration

You can connect OpServer to your pagerduty installation.

You need a PagerDuty ReadWrite API Key (RO will work for viewing but will throw errors when you do a RW action).

You need to set the following options in PagerDutySettings.json to get a minimally working setup:

  • APIKey: Your Pager Duty API Key
  • APIBaseURL: https://<your_domain>.pagerduty.com/api/v1

There is a username map option for when your email address does not match your OpServer login credentials.

For example George has an email of [email protected], and a login of gsock. The plugin needs to be told how to map the email on the pagerduty side to the username on the opserver side. To setup a map to allow George to be discovered and associated correctly, you would do the following:

"UserNameMap": [
  {"OpServerName": "gsock", "EmailUser": "george"},
],

The UserNameMap is an array of OpserverName (login Name) and EmailUser (user part of email associated to PagerDuty Account). You can have as many User Name Mappings as you need.

There is a HeaderHTML tag that lets you put arbitrary html above all content. You can use this to place notices, or messages for people who do not view the page all the time at the top. We use it to explain how to contact the on call Engineer.

Open Source Projects in Use

StackExchange.Redis by Marc Gravell
Dapper by Stack Exchange
JSON.Net by James Newton-King
MiniProfiler by Stack Exchange
StackExchange.Exceptional by Nick Craver

JavaScript:
d3.js by Michael Bostock
ColorBrewer by Cynthia Brewer and Mark Harrower
HTML Query Plan by Justin Pealing
isotope by Metafizzy
jQuery by The jQuery Foundation
jQuery cookie plugin by Klaus Hartl
jQuery autocomplete by Jörn Zaefferer
prettify by Google
TableSorter by Christian Bach
Toastr by John Papa and Hans Fjällemark

License

Opserver is licensed under the MIT License.

Props

We'd like to thank several people outside Stack Exchange for large contributions to Opserver's development.

  • Brent Ozar for lots of (continuing) help on the SQL monitoring, with some of the initial queries and help letting us know many use cases to cover. We'll be integrating some of the awesome tooling Brent and his team have to further assist DBAs and developers (like sp_Blitz, sp_BlitzIndex, and some you'll hear about soon).
  • Adam Machanic for sp_WhoIsActive, which powers the active tab for a SQL Instance. He also assisted with use cases and performance tuning on the use of sp_WhoIsActive.
  • The Sentry One guys: Aaron Bertrand and Kevin Kline for even more SQL use cases, and their help with upcoming integration with SQL Sentry.
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].