Video conference calls is on the rise during the current lockdown as the Coronavirus emergency is forcing companies to transition to remote work. Even Google and Microsoft are giving away enterprise conferencing tools (for a limited time though). For those who want to use their own solution there are a number of open source alternatives.…
How to send a Telegram alert message using Go
Here’s a simple example of how to send a message from Go via Telegram: package main import ( “bytes” “fmt” “net/http” “encoding/json” ) func send(text string, bot string, chat_id string) { request_url := “https://api.telegram.org/” + bot + “/sendMessage” client := &http.Client{} values := map[string]string{“text”: text, “chat_id”: chat_id } json_paramaters, _ := json.Marshal(values) req, _:= http.NewRequest(“POST”,…
DATETIME vs TIMESTAMP in MySQL, which one to use?
It is simple but confusing nonetheless. Official documentation does not help much, as both definitions looks almost the same. But there is a difference, which is important if your code handles time zones. With TIMESTAMP MySQL converts the value to UTC timezone to store it in database. Consequently, to SELECT the data MySQL runs a…
MySQL Health Check release
We are pleased to announce our MySQL Health Check service. It’s free and takes about a minute to complete, you just need to submit MySQL server counters. How it works? You submit your MySQL server counters from SHOW GLOBAL STATUS and SHOW GLOBAL VARIABLES and get the report. We analyze a lot of DB metrics…
Google Cloud SQL MySQL: how to convert JSON to slowlog
Nowadays data volumes are growing very quickly. Today Hundreds of gigabytes database is not even being considered as a huge one. Naturally cloud services like Amazon Relational Database Service (RDS) or Google Cloud SQL services can be successfully used for such cases. This is very handy, you don’t even need to spend your time tuning…
How to setup free willdcard SSL certificate from LetsEncrypt
We’ll use Centos 7. Run: yum install epel-release && yum install install certbot Or if you already have certbot installed yum update certbot Once done fire (change example.com to your domain): certbot certonly –manual -d *.example.com,example.com –preferred-challenges dns-01 –server https://acme-v02.api.letsencrypt.org/directory A certificate created for *.example.com is not valid for example.com, so you have to add it…
Redis: sort keys by size
There are multiple ways to figure out what take so much memory of your Redis instance. The simplest and quickest way is the following: redis-cli –bigkeys But for some cases it’s not enough. Then you can Redis Memory analyzer (requires Python 3.4). It does provide a lot of useful insights but didn’t help me either.…
Installing RabbitMQ on Ubuntu server
RabbitMQ is a messaging broker. It means it can be used as a transport layer to communicate between some applications by sending and receding messages. Sounds quite simple but actually it’s not that simple and has a lot of features. For instance, unlike some other message broker it supports persistence . RabbitMQ is an Erlang application.…
Sending alerts for PHP fatal errors
If you need to send alerts for PHP errors or some other error messages you can use SEC – simple event correlator. Here’s how you can do that. It’s assumed that you use php-fpm / nginx setup on Centos 6.5, but it should work on Debian/Ubuntu as well. Let’s suppose your PHP log is in…
Ansible: installing pyenv on Centos
In one of our previous post we covered how to install Python 2.7 on Centos using pyenv which is a Python versions management tool. Today we will show how to use ansible to do that for you. (If you are on Ubuntu you might want to check ansible-galaxy-pyenv .) Manual installation process is described here. This is how…