slack
cortex
slack | cortex | |
---|---|---|
13 | 17 | |
4,573 | 5,361 | |
0.9% | 0.5% | |
7.7 | 9.5 | |
7 days ago | 5 days ago | |
Go | Go | |
BSD 2-clause "Simplified" License | 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.
slack
-
Was learning Go hard for you?
Though I am thinking of converting my Python Bolt slackbot (very early in development anyway) over to using slack-go. Mainly wanted to rewrite some of it anyway and use socket-mode.
-
Go team: honesty is the best policy?
code looks to be BSD licensed from https://github.com/slack-go/slack/blob/5a6b1b08ff8fa911e85bd582de643f7f0df0f0fb/chat.go
-
Is there any crate to work with Slack in Rust and how to approach library/crate creation for third-party vendors like Slack/GCP?
I have created a Slack bot that acts on some slack events to create Jira tickets using Slack Go. It was a hobby project for me but it's being used for some teams on my company.
- Looking for projects to contribute
-
2.7 - 83 issues closed
I have also tried to do this in Go, because I always would try to do something in Go given the opportinity, but the Go Slack API was using the outdated auth system, there was simply no documentation to follow at all. I see this in my second attempt at using Go, having no tools to use, or no instruction to follow. Oh well, maybe the next project...
-
Creating a flexible Backoffice Tool in a Technical Company using Slack
We use this library github.com/slack-go/slack for the API calls and data model.
-
Sending Slack Messages with Images using Go
The Slack Go SDK is a community SDK and not officially maintained by Slack. This means it doesn't get the same care or attention in terms of documentation and code examples.
-
Parsing a Slack-Go socket mode response
I am using Slack-Go (https://github.com/slack-go/slack) to create a modal to allow my users to enter some information.
-
Trying to build a Slack Bot in Go but can't figure out how to work with the Events API
Does the example in the repository for the Events API not useful? https://github.com/slack-go/slack/blob/master/examples/eventsapi/events.go
-
Handler and Middleware design pattern in Golang
I came across the well-maintained slack-go library; I started coding my bot using the provided example. Everything worked fine; The code is producing the expected result. It is time to make another coffee and implements a few extra features.
cortex
-
Self hosted log paraer
now if its more metric data you are using and want to do APM, prometheus is your man https://prometheus.io/, want to make prometheus your full time job? deploy cortex https://cortexmetrics.io/, honorable mention in the metrics space, Zabbix, https://www.zabbix.com/ I've seen use cases of zabbix going way beyond its intended use its a fantastic tool
-
Is anyone frustrated with anything about Prometheus?
Yes, but also no. The Prometheus ecosystem already has two FOSS time-series databases that are complementary to Prometheus itself. Thanos and Mimir. Not to mention M3db, developed at Uber, and Cortex, then ancestor of Mimir. There's a bunch of others I won't mention as it would take too long.
-
Centralized solution for Prometheus?
You can use the Remote write feature to send to a centralized location. It would have to be scalable like Cortex https://cortexmetrics.io/
-
Where to store high-cardinality metrics?
Cortex is not really good for high-cardinality metrics (if you are talking about https://github.com/cortexproject/cortex)
-
Building a distributed lab with an observability stack
For a homelab I think prometheus + grafana is easy to get started and scales well. There are lots of ways to set up the architecture. Prometheus can write to a directory on a filesystem, it can be set to write to a remote server, and there are other projects to integrate object storage (s3, minio, etc) or influxdb for long term storage and downsampling.
-
Prometheus federation or Thanos?
Cortex (it is renamed to Mimir recently).
- Building my first Monitoring stack - Security concerns
-
Grafana Mimir – 1B active series TSDB
Disclosure: I work for AWS, but I don't work on the Amazon Managed Service for Prometheus. I have my own very long held opinions about Free and Open Source software, and I am only speaking for myself.
To me, the AGPLv3 license isn't about forcing software users to "give changes back" to a project. It is about giving the permissions to users of software that are necessary for Software Freedom [1] when they access a program over a network. In practice, that means that changes often flow "upstream" to copyleft licensed programs one way or another. But it was never about obligating changes to be "given back" to upstream. In my personal opinion, you should be "free to fork" Free and Open Source Software (FOSS). Indeed, the Grafana folks seem to have decided to do that with Grafana Mimir.
Personally, I hope that they accept contributions under the AGPLv3 license, and hold themselves to the same obligations that others are held to with regard to providing corresponding source code of derivative works when it is made available to users over a network. In my personal opinion, too often companies use a contributor agreement that excuses them from those obligations, and also allows them to sell the software to others under licenses that do not carry copyleft obligations. See [2] for a blog post that goes into some detail about this.
If you look at the Coretex project MAINTAINERS file [3], you will see that there are two folks listed that currently work at AWS, but no other company other than Grafana Labs today. I would love to see more diversity in maintainers for a project like this, as I think too many maintainers from any one company isn't the best for long term project sustainability.
I think if you look at the Cortex Community Meeting minutes [4], you can see that AWS folks are regularly "showing up" in healthy numbers, and working collaboratively with anyone who accepts the open invitation to participate. There have been some pretty big improvements to Coretex that have merged lately, like some of the work on parallel compaction [5, 6].
TL;DR, I think it is easy to jump to some conclusions about how things are going in a FOSS project that don't hold water if you do some cursory exploration. I think best way to know what's going on in a project is to get involved!
--
[1] the rights needed to: run the program for any purpose; to study how the program works, and modify it; to redistribute copies; to distribute copies of modified versions to others
[2] https://meshedinsights.com/2021/06/14/legally-ignoring-the-l...
[3] https://github.com/cortexproject/cortex/blob/master/MAINTAIN...
[4] https://docs.google.com/document/d/1shtXSAqp3t7fiC-9uZcKkq3m...
[5] https://aws.amazon.com/blogs/opensource/scaling-cortex-with-...
[6] https://github.com/cortexproject/cortex/pull/4624
- Ask HN: How to built a HIGHLY scalable API monitoring tool?
-
The unbearable fussiness of the smart home
> [...] that feed into a prometheus -> cortex store, so I can then map them on Grafana.
I had to Google because I've never heard of any of those. Did I find the right ones?
https://prometheus.io/
https://cortexmetrics.io/
https://grafana.com/
Mine is much more primitive. My indoor temperature monitor is an ESP8266 that uploads the temperature to a simple PHP page that saves it in an sqlite DB. A cron job runs a Perl script every few minutes that extract the data for the last hour, 3 hours, 12 hours, 48 hours, and since the beginning of time and uses gnuplot to produce PNG graphs. There's a static page on my server that displays those graphs.
My outdoor temperature monitor uses a cheap AcuRite 433 MHz indoor/outdoor thermometer I bought. I have an RPi with an RTL-SDR attached spying on the communications between the AcuRite sensor outside and the AcuRite display inside using rtl_433. A script looks at the rtl_433 and finds the AcuRite sensor data and puts it in an sqlite DB. I haven't yet gotten around to making something to graph it.
The nice thing about that approach is that it was also easy to add support for other 433 MHz wireless sensors near me, such as the AcuRite fridge/freezer thermometer I have. I can also see a few assorted sensors of neighbors (temperature, humidity, soil moisture, tire pressure, wind speed, wind direction, rain, and a few other random things). If I wanted to it would be easy to add them to the DB.
When I made a wireless tipping range gauge recently. I used a 433 MHz transmitter module [1] and added a decoder [2] to rtl_433 that understands my data stream format. That gets my data into the rtl_433 output. No need to futz around with 433 MHz receiver modules which appear to be a pain in the ass [3]. An ATTiny85 counts the tips and runs the transmitter. The ATTiny85, the transmitter module, a battery holder, an RJ11 socket because the rain gauge has an RJ11 connector, a board to put those things on [4], and a small waterproof case is pretty much the complete parts list.
I think I'm going to standardize on this general approach. For things that do not have WiFi and only need to report data 433 MHz modules and custom decoders fro rtl_433 on the RPi. For things that do have WiFi, such as any future ESP projects I do, they will just use WiFi to talk to the RPi. If anything needs to get sent outside of my LAN the RPi will handle it.
The RPi is also currently controlling a space heater in my living room, getting connection data from my cable modem periodically and recording that in an sqlite DB, and serving a simple web page that lets me quickly change inputs and volume on my Denon receiver and so I'm already pretty much committed to keeping it running all the time.
[1] https://www.sparkfun.com/products/10534
[2] Decoders can be specified in a simple text file. Here's the one for my rain guage as an example:
decoder {
What are some alternatives?
lakeFS - lakeFS - Data version control for your data lake | Git for data
thanos - Highly available Prometheus setup with long term storage capabilities. A CNCF Incubating project.
rosterbot - Slackbot for rostering, sends messages when someone new is rostered on
mimir - Grafana Mimir provides horizontally scalable, highly available, multi-tenant, long-term storage for Prometheus.
enhancements - Enhancements tracking repo for Kubernetes
loki - Like Prometheus, but for logs.
gopher-stickers - gopher stickers
VictoriaMetrics - VictoriaMetrics: fast, cost-effective monitoring solution and time series database
fission - Fast and Simple Serverless Functions for Kubernetes
TimescaleDB - An open-source time-series SQL database optimized for fast ingest and complex queries. Packaged as a PostgreSQL extension.
Concourse - Concourse is a container-based continuous thing-doer written in Go.
Ory Kratos - Next-gen identity server replacing your Auth0, Okta, Firebase with hardened security and PassKeys, SMS, OIDC, Social Sign In, MFA, FIDO, TOTP and OTP, WebAuthn, passwordless and much more. Golang, headless, API-first. Available as a worry-free SaaS with the fairest pricing on the market!