Forwarded from Sysadmin Tools 🇺🇦
Алертилка на #go+#lua
Источники данных:
Clickhouse
Prometheus
Postgres
MySQL
Каналы:
Slack
Telegram
Syslog
Хранилища
S3
Script based alert system https://balerter.com
Github
Источники данных:
Clickhouse
Prometheus
Postgres
MySQL
Каналы:
Slack
Telegram
Syslog
Хранилища
S3
Script based alert system https://balerter.com
Github
GitHub
GitHub - balerter/balerter: Script Based Alerting Manager
Script Based Alerting Manager. Contribute to balerter/balerter development by creating an account on GitHub.
Forwarded from rxd_txd (fl64)
Hotexamples
Примеры кода на Golang - HotExamples
Этот сервис был создан, чтобы помочь программистам в поиске реальных примеров использования классов и методов, а также получении документации к ним. Наша система автоматически ищет, извлекает а также ранжирует примеры использования исходного кода из более…
Forwarded from Sysadmin Tools 🇺🇦
Очень советую ознакомится с постом https://habr.com/ru/post/500844/
и вот этот комментарий 😄😄 -> https://t.me/VictoriaMetrics_ru1/11751
UPD: Сама презентация https://docs.google.com/presentation/d/1k7OjHvxTHA7669MFwsNTCx8hII-a8lNvpmQetLxmrEU/edit?usp=sharing
#go #prometheus #victoriametrics #docker
и вот этот комментарий 😄😄 -> https://t.me/VictoriaMetrics_ru1/11751
UPD: Сама презентация https://docs.google.com/presentation/d/1k7OjHvxTHA7669MFwsNTCx8hII-a8lNvpmQetLxmrEU/edit?usp=sharing
#go #prometheus #victoriametrics #docker
Хабр
Go optimizations in VictoriaMetrics. Александр Валялкин
Предлагаю ознакомиться с расшифровкой доклада конца 2019 года Александра Валялкина "Go optimizations in VictoriaMetrics" VictoriaMetrics — быстрая и масштабируемая СУБД для хранения и...
Forwarded from Находки в опенсорсе
Echelon - hierarchical logs in terminal on steroids.
Cross-platform #go library to organize logs in a hierarchical structure.
Features:
- Customizable and works with any VT100 compatible terminal
- Supports simplified output for dump terminals
- Implements incremental drawing algorithm to optimize drawing performance
- Can be used from multiple goroutines
- Pluggable and customizable renderers
- Works on Windows!
https://github.com/cirruslabs/echelon
Cross-platform #go library to organize logs in a hierarchical structure.
Features:
- Customizable and works with any VT100 compatible terminal
- Supports simplified output for dump terminals
- Implements incremental drawing algorithm to optimize drawing performance
- Can be used from multiple goroutines
- Pluggable and customizable renderers
- Works on Windows!
https://github.com/cirruslabs/echelon
Forwarded from Находки в опенсорсе
Litmus helps Kubernetes SREs and developers practice chaos engineering in a Kubernetes native way.
Litmus is a toolset to do cloud-native chaos engineering. Litmus provides tools to orchestrate chaos on #k8s to help SREs find weaknesses in their deployments. SREs use Litmus to run chaos experiments initially in the staging environment and eventually in production to find bugs, vulnerabilities. Fixing the weaknesses leads to increased resilience of the system.
Litmus takes a cloud-native approach to create, manage and monitor chaos. Chaos is orchestrated using the following Kubernetes Custom Resource Definitions (CRDs):
- ChaosEngine: A resource to link a Kubernetes application or Kubernetes node to a ChaosExperiment. ChaosEngine is watched by Litmus' Chaos-Operator which then invokes Chaos-Experiments
- ChaosExperiment: A resource to group the configuration parameters of a chaos experiment. ChaosExperiment CRs are created by the operator when experiments are invoked by ChaosEngine.
- ChaosResult: A resource to hold the results of a chaos-experiment. The Chaos-exporter reads the results and exports the metrics into a configured Prometheus server.
Chaos experiments are hosted on hub.litmuschaos.io. It is a central hub where the application developers or vendors share their chaos experiments so that their users can use them to increase the resilience of the applications in production.
https://github.com/litmuschaos/litmus
#docker #devops #ts #go
Litmus is a toolset to do cloud-native chaos engineering. Litmus provides tools to orchestrate chaos on #k8s to help SREs find weaknesses in their deployments. SREs use Litmus to run chaos experiments initially in the staging environment and eventually in production to find bugs, vulnerabilities. Fixing the weaknesses leads to increased resilience of the system.
Litmus takes a cloud-native approach to create, manage and monitor chaos. Chaos is orchestrated using the following Kubernetes Custom Resource Definitions (CRDs):
- ChaosEngine: A resource to link a Kubernetes application or Kubernetes node to a ChaosExperiment. ChaosEngine is watched by Litmus' Chaos-Operator which then invokes Chaos-Experiments
- ChaosExperiment: A resource to group the configuration parameters of a chaos experiment. ChaosExperiment CRs are created by the operator when experiments are invoked by ChaosEngine.
- ChaosResult: A resource to hold the results of a chaos-experiment. The Chaos-exporter reads the results and exports the metrics into a configured Prometheus server.
Chaos experiments are hosted on hub.litmuschaos.io. It is a central hub where the application developers or vendors share their chaos experiments so that their users can use them to increase the resilience of the applications in production.
https://github.com/litmuschaos/litmus
#docker #devops #ts #go
Forwarded from oleg_log (Oleg Kovalov)
По поводу #go race detector, решил погуглить всякие статейки. Нашел одну, которую не узнал, может и не видел. Конечно же ничего нового, но такое ощущения, что больше теории рассказано, чем обычно. Вдруг заинтересует.
https://krakensystems.co/blog/2019/golang-race-detection
https://krakensystems.co/blog/2019/golang-race-detection
Kraken Systems Ltd.
Golang race detection | Kraken Systems Ltd.
Data races are nasty kinds of bugs; rare, hard to replicate and tend to occur at the worst possible moment. Have you ever wonder how go does it under the hood?
Forwarded from Находки в опенсорсе
sqlbench measures and compares the execution time of one or more SQL queries.
The main use case is benchmarking simple CPU-bound query variants against each other during local development.
Only PostgreSQL is supported at this point, but pull requests for MySQL or other databases are welcome.
https://github.com/felixge/sqlbench
#go
The main use case is benchmarking simple CPU-bound query variants against each other during local development.
Only PostgreSQL is supported at this point, but pull requests for MySQL or other databases are welcome.
https://github.com/felixge/sqlbench
#go
Forwarded from Sysadmin Tools 🇺🇦
How to monitor Go applications with VictoriaMetrics
https://victoriametrics.medium.com/how-to-monitor-go-applications-with-victoriametrics-c04703110870
#victoriametrics #monitoring #metrics #go #golang #prometheus #grafana
https://victoriametrics.medium.com/how-to-monitor-go-applications-with-victoriametrics-c04703110870
#victoriametrics #monitoring #metrics #go #golang #prometheus #grafana
Medium
How to monitor Go applications with VictoriaMetrics
Monitoring is fun! It is so fun that once you started you’ll never leave any of your apps without some fancy metrics. But sometimes…
Forwarded from Tech Cheat Sheet (Oleg Kovalov)
Forwarded from Sysadmin Tools 🇺🇦
Зачем создавали инструмент для бекапов #restic , как и зачем вы его должны использовать
https://changelog.com/podcast/434
#go #backup #tool
https://changelog.com/podcast/434
#go #backup #tool
Changelog
Restic has your backup with Alexander Neumann (Changelog Interviews #434)
This week Alexander Neumann takes Jerod on a tour of Restic, the world-class backup solution that's fast, secure, and cross-platform. We discuss why he created Restic in the first place, how (and why you should) you use it, some of its more interesting technical…
Forwarded from Tech Cheat Sheet (Oleg Kovalov)
Encore Cloud
Go Modules Cheat Sheet
A handy reference for common operations with Go modules.
Forwarded from Sysadmin Tools 🇺🇦
A Beginner's Guide to eBPF Programming with Go • Liz Rice • GOTO 2021
https://youtu.be/uBqRv8bDroc
#ebpf #go #guide
https://youtu.be/uBqRv8bDroc
#ebpf #go #guide
YouTube
A Beginner's Guide to eBPF Programming with Go • Liz Rice • GOTO 2021
This presentation was recorded at GOTOpia February 2021. #GOTOcon #GOTOpia
http://gotopia.eu
Liz Rice - VP of open source engineering at Aqua Security
ABSTRACT
eBPF has been described as “Superpowers for Linux,” and recently we’ve seen an explosion of tools…
http://gotopia.eu
Liz Rice - VP of open source engineering at Aqua Security
ABSTRACT
eBPF has been described as “Superpowers for Linux,” and recently we’ve seen an explosion of tools…
Forwarded from Находки в опенсорсе
Ain is a terminal HTTP API client. It's an alternative to postman, paw or insomnia.
Features:
- Flexible organization of API:s using files and folders.
- Use shell-scripts and executables for common tasks.
- Put things that change in environment variables or .env-files.
- Share the resulting curl, wget or httpie command-line.
- Pipe the API output for further processing.
- Tries hard to be helpful when there are errors.
Ain was built to enable scripting of input and further processing of output via pipes. It targets users who work with many API:s using a simple file format. It uses curl, wget or httpie to make the actual calls.
https://github.com/jonaslu/ain
Personal opinion: I don't like GUIs, they are harder to work with. So, any tools that can be replaced should be replaced.
#go
Features:
- Flexible organization of API:s using files and folders.
- Use shell-scripts and executables for common tasks.
- Put things that change in environment variables or .env-files.
- Share the resulting curl, wget or httpie command-line.
- Pipe the API output for further processing.
- Tries hard to be helpful when there are errors.
Ain was built to enable scripting of input and further processing of output via pipes. It targets users who work with many API:s using a simple file format. It uses curl, wget or httpie to make the actual calls.
https://github.com/jonaslu/ain
Personal opinion: I don't like GUIs, they are harder to work with. So, any tools that can be replaced should be replaced.
#go
Forwarded from Находки в опенсорсе
Prevent Kubernetes misconfigurations from reaching production (again 😤 )! Datree is a CLI tool to ensure K8s manifests and Helm charts follow best practices as well as your organization’s policies.
It’s far more effective than manual processes, such as sending an email to a slew of developers, begging them to set various limits, which likely falls on deaf ears because developers are already overwhelmed.
The CLI integration provides a policy enforcement solution for Kubernetes to run automatic checks on every code change for rule violations and misconfigurations. When rule violations are found, Datree produces an alert which guides the developer to fix the issue inside the CI process — or even earlier as a pre-commit hook — while explaining the reason behind the rule.
Right now, there are 30 battle-tested rules for you to choose from.
https://github.com/datreeio/datree
#k8s #devops #go
It’s far more effective than manual processes, such as sending an email to a slew of developers, begging them to set various limits, which likely falls on deaf ears because developers are already overwhelmed.
The CLI integration provides a policy enforcement solution for Kubernetes to run automatic checks on every code change for rule violations and misconfigurations. When rule violations are found, Datree produces an alert which guides the developer to fix the issue inside the CI process — or even earlier as a pre-commit hook — while explaining the reason behind the rule.
Right now, there are 30 battle-tested rules for you to choose from.
https://github.com/datreeio/datree
#k8s #devops #go
Forwarded from Sysadmin Tools 🇺🇦
Forwarded from Библиотека Go-разработчика | Golang
#tip #go #security
Два способа проверить свой код на наличие уязвимостей
📌Инструмент govulncheck, безусловно, является универсальным для сканирования репозиториев на наличие известных уязвимостей.
🔸Инструмент использует официальную базу данных уязвимостей Go vuln.go.dev, всеобъемлющий источник известных уязвимостей в общедоступных модулях Go.
🔸Govulncheck можно использовать в командной строке или как часть рабочего процесса CI.
📌Еще одним инструментом, заслуживающим внимания, является gosec: Golang Security Checker.
🔸gosec — CLI-инструмент, который может быть интегрирован в пайплайн CI. В дополнение к этому, gosec входит в состав golangci-lint.
🔸По умолчанию он отключен, и вы можете включить либо все проверки на уязвимости, либо только определенные из них. Таким образом, ваш код проверяется на наличие уязвимостей каждый раз, когда ваша IDE запускает линтер.
🔸В отличие от govulncheck, gosec не проверяет наличие известных уязвимостей в общедоступном коде Go. Скорее, он проверяет код на соответствие списку уязвимых шаблонов программирования, включая: жестко закодированные учетные данные, непроверенные ошибки, построение SQL-инструкций с использованием fmt и т.д.
Два способа проверить свой код на наличие уязвимостей
📌Инструмент govulncheck, безусловно, является универсальным для сканирования репозиториев на наличие известных уязвимостей.
🔸Инструмент использует официальную базу данных уязвимостей Go vuln.go.dev, всеобъемлющий источник известных уязвимостей в общедоступных модулях Go.
🔸Govulncheck можно использовать в командной строке или как часть рабочего процесса CI.
📌Еще одним инструментом, заслуживающим внимания, является gosec: Golang Security Checker.
🔸gosec — CLI-инструмент, который может быть интегрирован в пайплайн CI. В дополнение к этому, gosec входит в состав golangci-lint.
🔸По умолчанию он отключен, и вы можете включить либо все проверки на уязвимости, либо только определенные из них. Таким образом, ваш код проверяется на наличие уязвимостей каждый раз, когда ваша IDE запускает линтер.
🔸В отличие от govulncheck, gosec не проверяет наличие известных уязвимостей в общедоступном коде Go. Скорее, он проверяет код на соответствие списку уязвимых шаблонов программирования, включая: жестко закодированные учетные данные, непроверенные ошибки, построение SQL-инструкций с использованием fmt и т.д.
pkg.go.dev
govulncheck command - golang.org/x/vuln/cmd/govulncheck - Go Packages
Govulncheck reports known vulnerabilities that affect Go code.
🔥1
Forwarded from DevOps FM
В прошлом мы уже обсуждали зомби-ресурсы в облаке, теперь пришло время зомби-процессов — и не где-нибудь, а внутри Docker-контейнера с Go-приложением.
Савас Вендова делится кейсом, в котором его сервер стабильно падал с ошибкой
Redis Pub/Sub
из-за проблем с утечкой памяти. Причиной были зомби: дочерние процессы Node.js не завершались корректно даже после os.Process.Kill()
в Go. А поскольку приложение запускалось как PID 1 внутри Docker, оно не собирало съедающие ресурсы зомби-процессы.Проблему решили с помощью Tini — init-решения для контейнеров. Оно перехватывает SIGCHLD и корректно завершает все процессы. Подробный разбор кейса с примерами читаем здесь.
Желаем всем, кто отдыхает, хороших выходных, а тем, кто дежурит — спокойных смен без серьёзных алертов и зомби!
#devops #docker #go #zombieprocesses
Please open Telegram to view this post
VIEW IN TELEGRAM