背景 Dockerコンテナを立てたらマルウェアに感染したのでサイバーセキュリティの啓蒙を兼ねてメモ書きしてみました。 注意事項 マルウェアに感染した被害の対処方法を記述しています。マルウェア自体の機能や解析の解説ではなく一般利用者ユーザーの視点から感染経路と対応方法についての記述になります。 マルウェア感染状況 症状 Dockerコンテナを稼働させたホストのロードアベレージ(CPU負荷)が常時4を超える状況になっていました。つまり400%でホストがフル回転してた訳ですな。 例えるならエヴァンゲリオン初号機が暴走してマヤちゃんがコンソール画面に向かって叫んでいるところです(違) こうなるとクラウドサービスのAWSとかだと英文で警告アラートが飛んで来ますし毎日課金されで膨大な利用料金請求が来ることになります。恐ろしい!! 状況の調査 CPUの利用状況やメモリの使用量などを調査するツール類があり
PostgreSQLにはBRINインデックス(Block Range Index)という機能があり、ログデータに付属するタイムスタンプ値など、近しい値を持ったデータが物理的に近接するという特徴を持っているとき、検索範囲を効率的に絞り込むために使用する事ができる。 この機能はPG-Stromでも対応しており、その詳細は以前のエントリでも解説している。 kaigai.hatenablog.com かいつまんで説明すると、時系列のログデータのように大半が追記(Insert-Only)であり、かつタイムスタンプ値のように近しい値同士が近接している場合、1MBのブロック((pages_per_rangeがデフォルトの128の場合、8kB * 128 = 1MB))ごとにその最小値/最大値を記録しておくことで『明らかに検索条件にマッチしない範囲』を読み飛ばす事ができる。 例えば以下の例であれば、WHE
目次 ワーカーノードの作成 DigdagとEmbulkのDockerビルド KubernetesにDigdag/Embulkをデプロイ Redashの導入 まとめ Kubernetes上に分析環境を構築する機会があったのでどのように構築したかを紹介します。同じような構成でKubernetes上で構築するのは3回目になったので構築方法も洗練されてきました。構成は以下のようになっています。 MySQL(RDS): サービスのデータベース。ここのテーブルからBigQueryにEmbulkでデータをエクスポートします。 PostgreSQL(RDS): Digdagのデータベース。今回新たにつくりました。 Digdag: データベースのエクスポートなどを実行するタスクスケジューラ。失敗したときにリトライもできます。 Embulk: プラグインを使ってデータベースをMySQLからBigQueryにエ
新型コロナ…感染拡大が止まらないですね… 駆け出しGIS屋としては何かしらのデータを地図上に乗せて可視化したいなーとは思っていたんですが、公開されてるデータって大抵がPDFなんで収集するのめっちゃめんどいやん…と尻込みしていました。 が!!!!!! 非営利目的であればデータの複製・引用・転載自由で素晴らしいデータを提供してくれているサイト様(https://gis.jag-japan.com/covid19jp/)を見つけたのでこのデータを使って地図上に表現していきたいと思います!!xf 今回は勉強がてらに多少冗長な構成(docker-composeでアプリケーションサーバーとDBサーバーを立ち上げて、わざわざGeoJSONをAPIで配信するなど)になっています。 データの取得 早速データを見てみましょう! 上述のサイトにアクセスし、左上のcsvのリンクをクリックします。 すると以下のよう
はじめに さっぶ。どうも、だーやまんです。 この記事は、本番環境でやらかしちゃった人 Advent Calendar 2019 - Qiitaの11日目の記事です。 これは、中途半端な知識でサービスを運用していた結果、タイトル通りの大失敗をしてしまったお話です。個人開発での出来事なので、業務で起きたことかと胃薬を握られていた方はご安心ください。 語るのもすごい恥ずかしいレベルですが、戒めのために晒しておきます。 この記事を読んでほしい人 初めてインターネット上にサービスを公開しようとしている人 喋太郎の利用者様(この場をお借りして、改めてお詫び申し上げます。本当に申し訳ございませんでした。) 背景とか Discord読み上げBot 「喋太郎」にてやらかしました www.dayaman.work 利用者が約10万人 さくらのVPSにてAppサーバ2台、DBサーバ1台で運用 各サーバの死活監視
HomebrewでPostgreSQLをインストールをしようとしたのですが、権限周りなどで詰まったので、備忘録として残しています。 自分がPostgreSQLをインストールする際に参考にしたURLも張っているので、併せて確認して頂ければです。 HomebrewでPostgreSQLをインストール $ brew install postgresql ==> Downloading https://homebrew.bintray.com/bottles/postgresql-11.1.mojave.bottle.tar.gz Already downloaded: /Users/suzuki_naoto/Library/Caches/Homebrew/downloads/0c14020ff4817a892c73344b81dbd6f31e0d6e83ca0778de6fe3b4d4ecba7
$ brew install postgresql : : ==> /usr/local/Cellar/postgresql/9.3.4/bin/initdb /usr/local/var/postgres ==> Summary ? /usr/local/Cellar/postgresql/9.3.4: 2921 files, 38M $ initdb /usr/local/var/postgres -E utf8 The files belonging to this database system will be owned by user "dai". This user must also own the server process. The database cluster will be initialized with locale "ja_JP.UTF-8". init
前回に引き続き、Scrapyを使ってこの日記のクローリングを行います。 github.com 今回はクローリングで得られた値を、バリデーションしてPostgreSQLに保存するPipelineを実装します。Spiderの実装は前回の投稿も参考にしてみてください。 ohke.hateblo.jp こちらの書籍を参考にしてます。 Pipeline ScrapyにおけるPipelineは、Spiderがクローリング・スクレイピングした値に対して、バリデーションチェックや永続化などの後処理を行うための仕組みです。 Spiderが取得した値をItemに詰めて返すと、優先順位に従って複数のタスクが実行されます。 ここでは例として、前回作成したarchive_spiderを使い、取得した記事タイトル・投稿日のフォーマットをチェックするPipelineと、PostgreSQLに保存するPipelineを作
PostgreSQL9.6でcontrib/pg_trgmに入るword similarityについてのメモです。リリースノートはこちら。 Add support for "word similarity" to contrib/pg_trgm (Alexander Korotkov, Artur Zakirov) These functions and operators measure the similarity between one string and the most similar single word of another string. そもそもSimilarity検索とは? 文書間の類似度(どれだけ似ているか)を算出して、指定した閾値以上の類似度を持った文章を選択するという検索です。 PostgreSQLのcontrib/pg_trgmを使うと利用できるsimila
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く