東京都立産業技術大学院大学(AIIT) に合格しました。 2023年4月から、情報アーキテクチャコースで学ぶ予定です。 スペック 地方国立大学の文系卒で、国際政治学を専攻していた。 卒業後、開発エンジニアとして3年、現在はインフラエンジニアとして7年目にな…
サーバの中に、mysqld_multiを使い擬似的なMaste/Slave構成を用意する。 この構成に対して、HAProxyを使った負荷分散の動作を確認する。 検証サーバのOSは、CentOS7系を使用する。 MariaDBのインストール # yum update # yum install -y mariadb mariadb-ser…
DockerコンテナとOpen vSwitchを組み合わせてネットワーク検証環境を用意する。 作りたいのはこれ。 各コンポーネントは、以下のようにする。 ルータ vyos1 ブリッジ vswitch1 vswitch2 サーバ centos1 centos2 centos3 centos4 各サーバは、NATを使いインタ…
Dockerコンテナを削除した後に、再生成してポートを割り当てようとすると、下記のエラーが出る。 $ sudo ovs-docker add-port vswitch1 eth0 centos1 --ipaddress=192.168.10.2/24 ovs-docker: Port already attached for CONTAINER=centos1 and INTERFACE=e…
KeepAlivedとLVSを使い負荷分散、冗長化時の動作を検証する。 はじめに 負荷分散は、ダイレクトルーティング(DR)を使う。 DR(ダイレクトルーティング)では、 クライアントがLVSサーバが持つVIPにリクエスト LVSサーバがリアルサーバにパケット転送 リアルサ…
Swapを使っているプロセスを特定する方法をメモしておく。 使用しているOSは、Ubuntu18.04。 結論からいうと、以下でOK。 # grep VmSwap /proc/*/status | sort -n -k 2 -r オペレーションの流れ swapが使われていることを確認する。 # free -h total used f…
バージョンが1.6系の古のJenkinsを運用していたが、誤ってapt upgradeしてしまいバージョンが 2.1系にあがり、起動しなくなってしまった。 OSは、Ubuntu 14.04。 # apt upgradeの抜粋 Unpacking jenkins (2.179) over (1.6xx) 切り戻しをしたので、メモして…
結論 先月の終わりに、AWS 認定ソリューションアーキテクト - アソシエイトを受けて、合格した。 www.certmetrics.com スペック プライベートで、EC2やS3をチュートリアルで触ったことがある程度の知識。 パブリッククラウドの業務経験はなし。 オンプレミス…
はじめに、Container Linuxを3台用意しておく。 k8s01(192.168.0.2/24) k8s02(192.168.0.3/24) k8s03(192.168.0.4/24) バージョンは、こちら。 $ grep VERSION= /etc/os-release VERSION=2023.5.0 Container Linuxの初期設定 各ホストで、パスワード、ホスト…
例えば、PostgreSQLのpg_hba.confのパスだけをpsqlで取りたいとき、 単純に、-cオプションを使うと、 $ psql -c 'SHOW hba_file' hba_file ------------------------------------- /etc/postgresql/10/main/pg_hba.conf (1 row) 余分な箇所が混ざる。 その場…
docs.aws.amazon.com VPCの理解を深めたいと思い、上記のガイドを読みながら、SSHでアクセスできる EC2インスタンスをTerraformで作成した時の雑記です。 SSHでインターネット経由でつなげられるEC2インスタンスを構築するためには、EC2インスタンス以外に、…
Ubuntuでfishを使っていて、rbenvの初期処理を実行する際に、詰まったので備忘録を残す。 最初に以下の記事を見つけて、config.fishを変更した。 qiita.com 設定内容はこれ。 togattti@dev ~> cat ~/.config/fish/config.fish rbenv init - | source でも、…
Anacondaへの環境パスがfishだと通ってないので、設定する。 Anaconda3のインストール先を変更しないことを前提に、以下のコマンドを実行する。 Ubuntu, MacOS set -U fish_user_paths $HOME/anaconda3/bin $fish_user_paths どうでもいいけど、anacondaユー…
curlで日時範囲を指定して、Elasticsearchのデータを取得する方法を示す。 取得対象のデータには、 (snip) "@timestamp" : "2017-08-16T16:51:06+09:00" (snip) のような感じで、タイムスタンプが設定されていることを前提とする。 curlで、タイムスタンプを…
Embulkプラグインのembulk-parser-regexで、regexのキーに、_(アンダースコア)を含めるとエラーになる。 regexを使う時は、キーに_を使わないようにしよう。 エラーメッセージ Error: java.util.regex.PatternSyntaxException: named capturing group is mis…
github.com これをcloneすれば、すぐ使える。
複数のホストから、ファイルをダウンロードする必要があったので、方法を調べた。 parallel-slurp(pslurp)という便利なものがあったので、使うことにした。 インストール OSは、Ubuntuなので、APTでインストールする。 # apt install pssh manを読むと、やり…
browsertimeを使い、Webページのロード時間を計測しながら、描画過程を録画する。 うまくいくとこんな感じで、録画できる。 browsertimeで生成されたmp4ファイル、HTMLの記述例などは、GitHubに置いた。 https://github.com/kentatogashi/example-browsertim…
プロキシを設定したときの走り書きです。 環境は、Ubuntu14.04.3 LTSです。 インストール # apt-get install -y squid3 設定ファイル /etc/squid3/squid.confをコピーして使う。特定のACLからの80と443ポートへのアクセスをフォワードするように 最低限の設…
FreeBSD10で、HTTP/2の検証をしようと思ったので、設定手順を残す。 Webサーバは、Apacheを使う。 環境 OS FreeBSD10.3 必要なソフトのインストール クリーンインストール後からの作業を想定しているので、 すでに稼動しているサーバとは手順が異なるかもし…
ログ収集ツールのfluentdのuuid_keyを使う場合、ログにUUIDを振る必要がある。 こんなときシェルスクリプトで、whileやfor、uuidgenを組み合わせて、追記していたが、 行が膨大な場合、処理の遅延が気になったので、C言語で処理するプログラムを書いた。 プ…
概要 スポーツの結果予想のために、最近、少しずつ機械学習に取り組んでいる。 今日は、機械学習 k-means(k平均法)を用いたクラスタリングを試してみる。 素材は、サッカーの時間帯別の得点率で、これを使いチームをクラスタリングする。 テスト用に作成し…
概要 Kibanaを管理者以外の誰かに使わせる場合、そのユーザを認証し、閲覧できるインデックスを限定したいことがある。 Shieldという有償プラグインで認証、認可が可能らしいが、お金をかけずに実現したかった。 dev.classmethod.jp 今回は、OpenRestyを使い…
環境 Ubuntu 16.04 Elasticsearch 5.0.0 GA Kibana 5.0.0 使用するIPは、192.168.0.2とする。 メモ 試行錯誤した結果、設定ファイルのLocationディレクティブをこうすると動作した。 location ~ (/app/kibana|/bundles/|/status|/elasticsearch|/plugins|/ti…
Snapshot機能で、使用する共有リポジトリの設定方法を示す。 概要 クラスタに、共有リポジトリを設定するためには、どのノードからもアクセスできるようにファイルシステムを共有する必要がある。 今回は、NFSで、共有ファイルサーバを構築し、共有リポジト…
Elasticsearchを運用していて、あるノードのデータをバックアップして、それを別のノードにリストアする方法を探した。 以前は、elasticsearch-knapsackやesclientといった方法があったらしい。 Elasticsearchのデータを簡単にimport/exportする - (゚∀゚)o彡 …
Kibana4のグラフ描写で、緯度、経度が必要だったので取得するスクリプトを書いた。 書いたスクリプトはこれ。 IPアドレスから、緯度、経度を取得するスクリプト · GitHub 準備 $ gem install geoip $ wget http://geolite.maxmind.com/download/geoip/databa…
運用しているGitLab (8.0.2)のバージョンが古かったので、 8.6.1にアップグレードしたところ、エラーが出たのでメモを残す。 環境 OS Ubuntu 14.04 GitLab アップデート前 8.0.2 アップデート後 8.6.1 インストールは、 gitlab/gitlab-ce - Packages - packa…
sedで、範囲指定してから、文字列置換する方法を備忘録として残しておく。 例えば、以下のようなファイルがあるとする。 $ cat sample_http.conf <VirtualHost example.com:80> User www Group www Port 80 SSLDisable ServerAdmin admin@example.com ServerName example.com </VirtualHost> <VirtualHost example.com:443> User www </virtualhost>…
MacOSで使う、 Docker Machine に、gcc、makeコマンド等を入れる方法を調べたので残す。 docker machineで、使われているOSは、TinyCoreLinuxというものらしい。 TinyCoreLinuxでは、tce-loadを使いパッケージをダウンロード、インストールすることができる…