Skip to content

Instantly share code, notes, and snippets.

View grepory's full-sized avatar
😃

Greg Poirier grepory

😃
  • SolarWinds
  • Atlanta, GA
View GitHub Profile
@grepory
grepory / gist:2553e425bf0fa8f051097eef81d1811d
Created February 13, 2019 16:40
opensnoop for an ssh login
vagrant@vagrant:~$ sudo /usr/share/bcc/tools/opensnoop
PID COMM FD ERR PATH
419 vmtoolsd 9 0 /etc/mtab
419 vmtoolsd 10 0 /proc/devices
419 vmtoolsd 10 0 /proc/net/dev
419 vmtoolsd 11 0 /proc/net/if_inet6
419 vmtoolsd 11 0 /proc/net/if_inet6
419 vmtoolsd 10 0 /proc/net/dev
419 vmtoolsd 11 0 /proc/net/if_inet6
419 vmtoolsd 11 0 /proc/net/if_inet6
@grepory
grepory / gist:82de1557a0a65788cc9398c09433d8e9
Created February 13, 2019 16:35
Every exec called on my Vagrantbox, as watched by bcc's execsnoop upon a login
vagrant@vagrant:~$ sudo /usr/share/bcc/tools/execsnoop
PCOMM PID PPID RET ARGS
sshd 2196 893 0 /usr/sbin/sshd -D -R
sh 2198 2196 0
env 2199 2198 0 /usr/bin/env -i PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin run-parts --lsbsysinit /etc/update-motd.d
run-parts 2199 2198 0 /bin/run-parts --lsbsysinit /etc/update-motd.d
00-header 2200 2199 0 /etc/update-motd.d/00-header
uname 2201 2200 0 /bin/uname -o
uname 2202 2200 0 /bin/uname -r
uname 2203 2200 0 /bin/uname -m
@grepory
grepory / main.go
Last active January 30, 2019 16:59
Test port reassignment on darwin
package main
import (
"flag"
"fmt"
"math"
"net"
"sort"
"time"
)
package main
import (
"bufio"
"flag"
"io/ioutil"
"log"
"net/http"
"strings"
"time"
package routes
import (
"fmt"
"net/http"
"path"
restful "github.com/emicklei/go-restful"
"github.com/emicklei/go-restful-openapi"
"github.com/grepory/storage/apis/meta"
package storage
type Store struct {
client *clientv3.Cient
}
func (s *Store) Get(key string, out interface{}) {
resp, _ := s.client.Get(context.TODO(), key)
proto.Unmarshal(resp.Kvs[0].Value, out.(proto.Message))
}
@grepory
grepory / types.proto
Created September 25, 2018 22:15
sensu-go/apis/meta/v1alpha1/types.proto
syntax = "proto3";
import "google/protobuf/timestamp.proto";
import "github.com/gogo/protobuf/gogoproto/gogo.proto";
package v2alpha1.rbac.sensu.io;
option go_package = "v2alpha1";
option (gogoproto.populate_all) = true;
@grepory
grepory / psuedocode.go
Created September 25, 2018 19:34
Pseudocode for decoding/encoding and api clients.
package v2
import (
somepackage
)
type Scheme struct {
Group string
Version string
}
@grepory
grepory / queues.md
Created August 3, 2018 18:29
Queues

Ad Hoc Check Requests via Fanout Queues

Data Model

Messages

A Message on a queue is a combination of a Context and a CheckRequest.

type Context struct {
/etc/sensu/conf.d/checks/some_check.json:
{
"checks": [
{
"name: "some_check",
"handlers": [],
"interval": 60,
"command": "some_check.rb"
}
]