Skip to content

Instantly share code, notes, and snippets.

View VerosK's full-sized avatar
🚌
On the road.

Věroš Kaplan VerosK

🚌
On the road.
View GitHub Profile
@VerosK
VerosK / nginx.conf
Created August 23, 2019 07:12
Block locust
if ($http_user_agent ~* "^Locust/") {
return 403;
}
@VerosK
VerosK / stop-solr.py
Created August 14, 2019 09:35
Solr stopping script
#!/usr/bin/env python3
import socket
TCP_IP = '127.0.0.1'
TCP_PORT = 7983
MESSAGE = b"solrrocks\nstop\n"
BUFFER_SIZE = 1024
import json
from errbot import BotPlugin, botcmd, webhook
AWX_OUTPUT = '#awx_output'
class AWX(BotPlugin):
"""
This plugin implements AWX webhook

Oblíbený vtip zahajující přednášky o zálohování říká, že někteří lidé zálohují a ti druzí o data zatím nepřišli.

Existuje spousta zálohovacích přístupů - někdo přísahá na [rsync], případně vyladěný (rsync)[rsync-root]. Okolu rsyncu existuje spousta zajímavých nástrojů jako třeba [rsnapshot] nebo [rdiff-backup].
Existují i samostatné nástroje jako třeba [restic], [borgbackup] a (spousta dalších)[others]

Aby toho nebylo málo, různé programy pro zálohovní používají různé přístupy (např. PosgreSQL se svým pg_dump a pg_dumpall).

Kromě zálohování je dobré zálohování

@VerosK
VerosK / kwargs.md
Last active April 24, 2019 13:07
Python keyword arguments

Pokud je connection_string dictionary, tedy:

dsn=dict(host="server.xxl.cz", port=5432, user_name="yser", password="secret")

a chci zavolat pomocí pojmenovaných parametrů (což je dobrým zvykem).

connect_to_db(host=dsn['host'], port=dsn['port'], user_name=dsn['user_name'], password=dsn['password'])
@VerosK
VerosK / wordpress-deployment.yml
Created February 12, 2019 15:52
This is wordpress on Kubernetes
# https://d33wubrfki0l68.cloudfront.net/94cf9fb38535eaa5bfe33db5b23409841b8f7d03/654d8/blog/2017/my-blog-on-kubernetes/screenshot-dex-tweet-blog-on-kubernetes.png
---
apiVersion: v1
kind: Namespace
metadata:
name: wordpress
---
apiVersion: v1
kind: ConfigMap
metadata:
@VerosK
VerosK / haproxy-json-log-format.txt
Created January 14, 2019 10:38 — forked from fluential/haproxy-json-log-format.txt
haproxy-json-log-format
log-format: '{"timestamp":%Ts,"frontend_name":"%f","remote_addr":"%ci","bytes_read":%B,"upstream_addr":"%si","backend_name":"%b","retries":%rc,"bytes_uploaded":%U,"upstream_connect_time":"%Tc","session_duration":"%Tt","termination_state":"%ts","srv_queue":%sq,"backend_queue":"%bq","frontend_concurrent_conns":%fc,"backend_concurrent_conns":%bc}'
@VerosK
VerosK / check-logstash-events.sh
Created January 4, 2019 09:48
Icinga2 check number of events in ELK stack
#!/bin/bash
#
# Check number of events in Elasticsearch stored by Logstash
#
INDEX_NAME=$( date '+logstash-%Y.%m.%d' -d '30 minutes ago' )
function get_last_items() {
curl -s -k -XGET "http://localhost:9200/$INDEX_NAME/_count" \
-H "Content-type: application/json" -d'
# Load Modules
module(load="imudp")
module(load="omhiredis")
# rsyslog Templates
# rsyslog Input Modules
#input(type="imudp" port="8814" ruleset="SaveToRedis")
input(type="imudp" port="8514" ruleset="SaveToRedis")
from __future__ import print_function
from random import randint
def random_address():
retv = [str(randint(1,255)) for i in 'abcd']
return '.'.join(retv)
addresses = [random_address() for i in range(15)]
def sort_key(k):