ujunのブログ

Ryzen 5 3600 でマシン組んだ

構成を忘れないようにメモ。 MSI B450M MORTAR MAX-A マザーボード MicroATX [AMD B450チップセット搭載] MB5512 www.amazon.co.jp Thermaltake Versa H26 Black /w casefan ミドルタワー型PCケース [ブラックモデル] CS7070 CA-1J5-00M1WN-01 www.amazon.co…

KubeOneでHetzner CloudにKubernetesクラスタをデプロイする

KubeOneというKubernetesの管理ツールがある。 KubeOne - Kubermatic Documentation 簡単にKubernetesクラスタをデプロイできるCLIツール(kubeadmのラッパ)で、代表的なクラウドプロバイダには対応している。 自分はおうちラボとしてよくHetzner Cloudを使っ…

KubernetesクラスタにHetzner Cloud Controller ManagerをデプロイしてLoad Balancerをプロビジョニングする

KubernetesクラスタをHetznerCloudに秒で作ることができるようになった。また、Hetznerの永続ボリュームをプロビジョニングできるようになったので、LoadBalancer ServiceでLoad Balancerをプロビジョニングできるようにします。 github.com 前提 : kubelet…

KubernetesクラスタにHetznerCloudVolumes CSIをデプロイ

KubernetesクラスタをHetznerCloudに秒で作ることができるようになったので、次は、Hetznerの永続ボリュームをプロビジョニングできるようにします。 github.com Secretの登録 HetznerのAPI Tokenを払い出して以下のようなsecretリソースのマニフェストを書…

RancherのNode DriverでHetzner CloudにKubernetesクラスタを作る

手軽/安価にKubernetesクラスタを作るときに自分がやっていること。 Rancherから格安VPSであるHetzner Cloudに瞬時にクラスタを構築する。 Hetzner Cloud Hetzner Cloudとは、Hetzner社が提供するVPSサービス(https://www.hetzner.com/cloud)で、価格が鬼の…

lava-dockerのPostgreSQLを捨てて Amazon Aurora Serverless を使えるように改造する

IoT的なネタと見せかけてただの魔改造を。。 目次 目次 LAVAとは LAVAのアーキテクチャ lava-dockerのインストール AWS Aurora Serverless の準備 改造する 使えている 今後 参考 LAVAとは Introduction to LAVA — LAVA 2020.04 documentation LAVAはいろん…

bpftraceでPostgreSQLのバックエンドプロセスを追う

これは、Sansan Advent Calendar 2019 - Adventar の24日目のエントリーです。 PostgreSQLのUSDTを題材にしてbpftraceワンライナーをいくつか書いていきます。ここではuprobeは対象外としています。 はじめに 前提としてこれは遊びであり、PostgreSQLはマル…

Go Conference 2019 Spring にいってLTをした

以下のトークをしてきた。 speakerdeck.com 以前書いたエントリ(BPFを用いてPostgreSQL共有バッファ読込を動的トレーシング - ujunのブログ)があり、そちらはPythonを使っておなじようなことをしているのだが、 せっかくGoConなので、Goで書いてみようと思い…

Kafka ConnectがTasksを分散する様子

目次 目次 Kafka Connect と Producer/Consumer Kafka Connect のTaskとWorker Tasks Workers それ以外 対象とするログ収集基盤例 Kafka Connect REST Interface Workerがダウンした場合の挙動 tasks.max を増減した場合の挙動 Connectorインスタンスが稼働…

pgwatch2のミニマム設定でPostgreSQLを監視する

目次 目次 手軽にPostgreSQLの監視をする pgwatch2のアーキテクチャ 準備 CREATE EXTENSION 接続設定 使う influxDB Grafana まとめ 手軽にPostgreSQLの監視をする 業務では libzbxpgsql(https://github.com/cavaliercoder/libzbxpgsql) を使ってZabbixにメ…

BPFを用いてPostgreSQL共有バッファ読込を動的トレーシング

この記事は、 Sansan Advent Calendar 2018 - Adventar 22日目のエントリです。 目次 目次 AWRのSQL ordered by Readsのようにクエリごとにreadしたブロック数をPostgreSQLで知りたい bcc/BPFによるシステムの動的トレーシング PostgreSQLが提供するプローブ…

Microservices Get Started その1

このエントリに書くこと このエントリは以下のようなことについて自分が最近まなんだ範囲で書く。 MicroservicesとSOA NamekoというPython製Microservicesフレームワークを簡単に始める方法 自分の環境は以下: - macOS 10.13.4 - cpython 3.6.1 - nameko 2.9…

TerraformでAWS CodeDeployのアプリケーションを作る

リリース時に手で展開しているバッチを、いい加減なんらかのデプロイツールでやりたい。 できる限りTerraformで環境構築したいというのもある。 参考: https://www.terraform.io/docs/providers/aws/r/codedeploy_app.html# 素の状態から簡単にアプリケーシ…

PowerShell で基本的なコンピュータリソースのメトリクスをとる(プロセスごと)

Windows Server 2016の検証を行なっていてもろもろとるために調べた。 (実行前に Get-Counter -ListSet process | Select-Object -ExpandProperty Paths をやらないとエラーとなることがある 参考: 同一PSで、「Get-Counter '\Process(*)\% Processor Time'…

AWS Systems Manager でタスクのスケジューリングを置き換えれる

SSMとCloudWatch Eventで置き換えられそう。 Terraform の 以下を参考にする AWS: aws_cloudwatch_event_target - Terraform by HashiCorp resource "aws_iam_role" "ecs_events" { name = "ecs_events" assume_role_policy = <

Relational DBMS Internals - Ch.2

DB

最近読んでいるので、2章のまとめ。 http://pages.di.unipi.it/ghelli/bd2/DBMS-Internals.pdf Permanent Memory And Buffer Management DBMSを実装する上で最初に解決するべきは、システムを構成する複数のコンポーネントに依存せずストレージを抽象的に扱…

SQSのキューからひたすらreceiveするくん

60万件くらい入ってたSQSのキューからひたすらreceiveした人 10多重 package main import ( "sync" "fmt" "github.com/aws/aws-sdk-go/service/sqs" "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/aws/session" kingpin "gopkg.in/alecthomas…

packer buildしてできたamiだけ取得(packerの出力変わると使えない)

AWS

#!/usr/bin/env python import subprocess import re def run(cmd): p = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) stdout = [] while True: line = p.stdout.readline() stdout.append(line) if not line and …

Executable JAR を作る

Treasure Data の Embulk(http://www.embulk.org/docs/) をインストールして気になったので、メモ。 Embulkがなんなのかはドキュメントを読むとして、インストールするには以下のコマンドを叩くだけではいった。 curl --create-dirs -o ~/.embulk/bin/embulk…

PackerでAMIを作ると流れるようにできるしChefの確認も流れるようにできた

HashiCorpのPackerの使い勝手の良さはすごくいい。 AWS環境でしか使っていないが、とても手軽にAMIをbakeできる。(bakeという単語を公式で使っていた)。 特に、Windows機のAMIをbakeするのに威力を発揮してくれた。 そもそも、Windowsに限らずだが、後のイン…

ALBログのためのInput Plugin

ALB (https://aws.amazon.com/jp/blogs/aws/new-aws-application-load-balancer/) がリリースされてから半年以上経っているけれど、 明示的にサポートしているfluendプラグインがあまりないようなので書くことにした。 先人には、id:yomon8 さんのここのよう…

Elasticsearch + Kibana 5.0のDockerImage

www.elastic.co ここ最近、会社のログ収集基盤周りばかりと向き合っているので、 上記エントリを参考に手元のKitematicで5.0-betaを起動するところまでの記録です。 環境: MacOS El Capitan 10.11.6, VirtualBox 5.0.16, Docker Kitematic 0.10.0, boot2dock…

mruby-hibariとmruby-rack-r3でWeb API フレームワークを書いた

まだ表現力は乏しいですが、一応mrubyのWeb APIフレームワークのfirst commitを書きました。 github.com 書き味は、CRubyのGrapeやその他のRESTライクなAPIを書くフレームワークのような感じになっています。mruby-hibariやmuby-rack-r3など巨人の肩の上に乗…

NorikraのAPIを叩くmrbgemを書いて、mod_mrubyで使う

FluentdからNorikraにサーバの各種ログを流し込んで解析する、というのは、 割とよくあるNorikraのユースケースかと思います。 Norikra+FluentdでDoS攻撃をブロックする仕組みを作ってみた | Developers.IO Fluentd + Elasticsearch + Kibana + Norikra+ Za…

mruby-hibari on mod_mrubyが動いた。

mruby-hibariというmrbgemがあり、主要なWebサーバならなんとM/WレベルでRackテイストなWebアプリを書けるようです。 kysnm.hatenablog.com kysnm.hatenablog.com Apacheでやってみたところ、少し修正して、なんとか動きました!! まず、通常通り以下のように…

続 mod_mrubyでmrubyのビルドサーバを書いた

この記事で、mod_mrubyで数行書くとmrubyのビルドサーバが書けるということをやっていたのですが、@matsumotoryさんが以下のようなコメントをされていたので、対応をしました。 libmruby.flags.makのような情報も返せるとさらによいなぁ / すごい!便利!! …

mod_mrubyでmrubyのビルドサーバを書いた

build_config.rbをそのままPOSTすると、mrubyの静的ライブラリを返してくれるサーバを書きました。 なにが嬉しいかといえば、ローカルにCRuby等を用意しなくても、以下を実行してlibmruby.aをコロッと作れるので、 開発環境に1台このビルドサーバを置いてお…

MySQLのUDFをGoで書く

前回、Go1.5を使ってC共有ライブラリを生成しました。 この時は、単純にsoをビルドしてpythonのREPLからエクスポートされた関数が実行できるかを見たのですが、このテクノロジーを使ってMySQLのUDFをGoで書いてみたのが今回です。 環境は、以下です。 $ cat …

go-mrubyでmrubyをC共有ライブラリに突っ込む

Go1.5から、C共有ライブラリを生成するオプションが追加されたらしい。 Golang で Shared Library を出力する。 - Qiita go1.5のshared library機能を使ってみた - unokun’s blog そこで、Goにmrubyを組み込んでC共有ライブラリを作成し、使ってみた。 環境…

初Pull Requestがmergeされた

さきほど、自分のGitHubページを見ていたら、先日送信した初プルリクがマージされたことがわかった。 show results in the order of date by ujun · Pull Request #16 · nrosvall/memogithub.com 自分のアカウントがcontributorに並んだ! と思って眺めていた…