alertmanager-status
Oat++
alertmanager-status | Oat++ | |
---|---|---|
3 | 21 | |
3 | 7,448 | |
- | 1.0% | |
0.0 | 8.4 | |
about 1 year ago | about 22 hours ago | |
Go | C++ | |
Apache License 2.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
alertmanager-status
-
Grafana Labs launches free incident management tool in Grafana Cloud
I dunno, I don't really mind self-hosting monitoring infrastructure. I basically pay for a website uptime checker to check that Alertmanager is working. If Alertmanager is down, obviously you have to manually check to see what else is down, but it doesn't fail open.
I wrote a little glue to make this straightforward for anyone else who uses Prometheus/Alertmanager: https://github.com/jrockway/alertmanager-status This ensures that the website check checks the health of the whole alerting pipeline; Prometheus has an always firing alert, Alertmanager is set to send that alert to alertmanager-status, and alertmanager-status starts failing its external health check if it isn't seeing that alert firing at the configured interval. If one of [Prometheus, Alertmanager, alertmanager-status] fails, then your website health check fails.
-
Slack’s Outage on January 4th 2021
It is quite awkward that the output of "working" and "completely broken" alerting systems have the same visible effect -- no alerts.
For Prometheus users, I wrote alertmanager-status to let a third-party "website up?" monitoring server check your alertmanager: https://github.com/jrockway/alertmanager-status
(I also wrote one of the main Google Fiber monitoring systems back when I was at Google. We spent quite a bit of time on monitoring monitoring, because whenever there was an actual incident people would ask us "is this real, or just the monitoring system being down?" Previous monitoring systems were flaky so people were kind of conditioned to ignore the improved system -- so we had to have a lot of dashboards to show them that there was really an ongoing issue.)
-
Ask HN: What Are You Working On?
Many things!
jsso2: Identity provider and authenticating proxy for your non-enterprise use cases. WebAuthn only, no passwords! I was tired of typing a password for things like Grafana and PGAdmin, and IP whitelisting my home Internet for things that didn't have built-in authentication. https://github.com/jrockway/jsso2
If I were starting from 0 today, I'd just use Dex and Envoy's built-in OAuth support. OAuth is overly complicated, requiring a bunch of configuration for each app, and a ton of code in each app... but it won. So use that.
jlog: I read a lot of log files in my day-to-day work and really like the idea of structured logs, but found them hard to read. jlog translates timestamps to my local time zone, lets me query them with jq, etc.: https://github.com/jrockway/json-logs Can't live without it, I use it many times every day, and have even convinced other people to use it without writing any documentation. (There are binary releases and a --help though!)
"kubectl jq": I wanted to play with writing Kubernetes plugins, so I made one that is just "kubectl get x -o json | jq". I use it pretty regularly, but the Kubernetes client machinery doesn't give you autocompletion for free, so it's pretty painful to use. When they fix that, I plan to write more kubernetes extensions (including one that invokes jlog on the logs, saving a pipe ;) https://github.com/jrockway/kubectl-jq
alertmanager-status: How do you know if your Prometheus/Alertmanager is working? If it breaks, it won't be sending you an alert, after all. https://github.com/jrockway/alertmanager-status
ekglue: The good parts of Istio, written by someone who read the xDS spec :P https://github.comjrockway/ekglue
For my day job, I work on Pachyderm Hub, which you should totally use if you want to run production-quality data science workloads (data provenance, reproducibility, etc.): https://hub.pachyderm.com/ I could write a lot about it, but basically... we have customers that want to use Pachyderm, but the complexity of Kubernetes stands in their way. How do you store logs? How do you monitor things? How do you give your coworkers access? We solve those problems by letting you click a button in a web UI. (As for why you'd want to use Pachyderm: https://www.pachyderm.com/use-cases/)
Oat++
-
Experience using crow as web server
I looked at oatpp and drogon, which are both great, but feel too high-level for my purposes. I tried drogon and got something working, but it feels like too much for my requirements, as in particular I'd like to slot in my choice of Json and message-body handling. C.f. the simple approach in Crow, which I easily understand and build on.
-
What isn't cpp used on web servers as much as other languages?
With the right libraries, C++ could be a good fit for applications that want to expose a fast web API to things that need lots of compute (simulators, for instance) or I/O (interactive editing of large datasets). Projects like Oat++ and Crow give me hope that we might see such an ecosystem develop.
-
REST APIs using C++. (Is this even done much?)
Lots of other options have been mentioned, but I'll throw Oat++ into the mix. I used it for this purpose and it was reasonably painless.
- C/C++ framework for REST API implementation
-
People talking about C++ and Java as bad languages. Let me introduce to you: Java++
https://github.com/oatpp/oatpp +WASM ;)
-
Server with oat++. Installation. CmakeLists.txt
cd "some/temp/path/for/repositories" git clone https://github.com/oatpp/oatpp.git cd oatpp mkdir build && cd build cmake .. (sudo) make install
-
How to use C++ as the backend for web dev?
Maybe use something like https://oatpp.io to create a REST API: C++ in the backend with this library to create a REST server, and the JavaScript/TypeScript frontend to ask for the information.
-
making a web server in c++?
I've used OATPP ( https://github.com/oatpp/oatpp ) which worked nicely for setting up simple rest interfaces. Supports things like swagger & websockets out of the box. It's also on Conan which is nice if you use cmake. I can't speak to it's performance but it has about a 1mb binary size footprint.
- Not mine but the pain of c++
-
learning c++: looking for structured project tutorial (web app/api? or other?)
As for your web problem, I have only used https://oatpp.io/ in the past but I'm sure there are more frameworks like that on the internet.
What are some alternatives?
drogon - Drogon: A C++14/17 based HTTP web application framework running on Linux/macOS/Unix/Windows [Moved to: https://github.com/drogonframework/drogon]
Crow - Crow is very fast and easy to use C++ micro web framework (inspired by Python Flask)
Pistache - A high-performance REST toolkit written in C++
Boost.Asio - Asio C++ Library
Crow - A Fast and Easy to use microframework for the web.
Wt - Wt, C++ Web Toolkit
drogon - Drogon: A C++14/17/20 based HTTP web application framework running on Linux/macOS/Unix/Windows
TreeFrog Framework - TreeFrog Framework : High-speed C++ MVC Framework for Web Application
Civetweb - Embedded C/C++ web server
Restbed - Corvusoft's Restbed framework brings asynchronous RESTful functionality to C++14 applications.
Boost.Beast - HTTP and WebSocket built on Boost.Asio in C++11
C++ REST SDK - The C++ REST SDK is a Microsoft project for cloud-based client-server communication in native code using a modern asynchronous C++ API design. This project aims to help C++ developers connect to and interact with services.