一応公式には一カ月以内であれば戻せるということになっているのだが、8月10日に入れたWindows10だが、試しにWindows7に戻してみたら見事10分以内で成功した。
Windows7に戻せるた意味リミットはたんなる脅しなのか?それとも起動している時間が1カ月相当であれば戻せなくなるのかは不明だが、一応成功したという記録を残しておく!
一応公式には一カ月以内であれば戻せるということになっているのだが、8月10日に入れたWindows10だが、試しにWindows7に戻してみたら見事10分以内で成功した。
Windows7に戻せるた意味リミットはたんなる脅しなのか?それとも起動している時間が1カ月相当であれば戻せなくなるのかは不明だが、一応成功したという記録を残しておく!
Jenkinsでビルドするときにメタ情報として、ビルド番号を取得したいときがある。
そんな時はJenkinsが提供してくれている環境変数を利用すればよい。
BUILD_NUMBER環境変数でJenkinsのビルド番号が取得できる。
BUILD_TAG環境変数を使うとjenkins-プロジェクト名-ビルド番号が取得できる。
http://loganalytics.connpass.com/event/19614/
気がついた時にはすでに満席で、キャンセル待ちをしたものの60人が繰り上がることはなく参加できず。
スライドを見て参加した気分になってみた。
・セキュリティログ分析~開発者は見た!ログ分析
目grepやexcelでアタックを分析するのはつらい
リアルタイムで分析するのには専用のツールなどを使いましょう。
アプリをつくるときはログ分析するためのログ要件を事前に決めておこう。
・Kibanaで秒間1万件のアクセスを可視化した話
fluentd
elasticSearch
Kibana
の組み合わせは定番(例が多い)ようだ。
Sentry
NewRelic APM
などのツールも紹介。
1日のログ量は120GBで
6台のr3.xlargeで運用。
ElasticSearchは合計72Gのheapを与えている。
おもに時間のかかる処理や攻撃簡易検知ツールとして利用。
Fluentdでrubyのコードを使うとCPU負荷が上がるので注意。
・Splunkを使ったセキュリティ分析123
これはsplunkの人によるSplunkの紹介
・正規分布を使ったアノーマリー検知 Apacheログ分析
これも同じくsplunkを使った正規分布
・Check your fluentd before log analytics
v1はもう古いよv2にアップデートしなさい。
ログのロスに注意。きちんとバッファーの設定をしなさい。
無料というキーワードに弱いのでAmazon主催のセミナーに参加してきた。
参加者の年齢層はこれまでと比べると高めかな?
MacBook系よりもLet’s noteの利用者のほうが多かったようだ。
(CF-S10なんて古い機種を使っているのは・・・自分以外にもいた!)
結論から言うとハンズオンの内容はPDFで186Pとかなり分量があり、あらかじめAWSの用語と操作について慣れていないと座学だけで終わってしまう可能性があると思われた。
自分は多少触ったことがあり、知らない用語もなかったのだが、ほかの参加者の皆様は結構ついていくのに苦労していたようだ。
インスタンス作成などに時間がかかることもあり、当日のコンテンツは途中で終わらざるを得ないとのことで実際この日もRDS(データベース)の起動に時間がかかっていて講師の人ですら終わらなかったという!
ただし、テキスト通りに(一部うまくいかず修正が必要だったが)やっていけば、表題の「セキュア&スケーラブルウェブサービス構築」はできるはずなので、家で復習は必須である。
ちなみに起動で使った後に削除すれば料金はかからないとの触れ込みだが、RDSのマルチAZにしてしまうとちょこっと料金がかかってしまう。アンケートに答えると25ドルのクーポンがもらえるのでそれでカバーできるが!
$0.052 per RDS T2 Micro Multi-AZ Instance hour (or partial hour) running MySQL – BYOL
今日チェックしたら7円かかってしまった!
最近遅くなったと巷で評判のIIJMioだが、乗り換えるにはまた手数料がかかるので、しばらく見守るつもり。
ただ最近3GBをぎりぎり計算しながら使うことが多いので、プランアップすることにした。
10GBでさらに追加のSIMが今なら無料ということでファミリーシェアプラン。
これでiPhone6とpriori2の両方で使うことができる!
10/26日夜に申し込んで10/28日朝に発送日時の連絡。
反映は翌月1日なので、11/1到着予定。
現在メインで使っているCF-S10の予備機として購入したCF-S10E(CPUが0.1Ghz up)だが、
HDDなので遅くて遅くてたんすの肥やしになっていた。
しかし本来であればこちらのCF-S10Eがメインとして活躍すべきスペックなのでいい加減にSSD化してみた。
手順は以前と同様、バッテリーはずして二本のねじをはずして、HDDを取り出す。
このSanDisk Ultra IIには厚さが7mmだが、9mm用にするための枠が付いている。
しかしCF-S10は入口のスポンジがSSDを支えてくれるので、9mmにしなくても大丈夫。
(以前は9mmのマウンタをつけていれたら、入口が狭くてとても苦労した)
入りづらいときはクオカードなどの磁気カードをガイドにして、滑り込ますようにSSDを入れるとよい。
交換自体は5分でおわるが、HDDからSSDの完全コピーが80分ぐらいかかったような・・・・
市販のソフトを使うともっと早いのだろうが、確実なのでHDDクレードルで完全コピーさせている。
表題の通りだが、Jenkinsのslaveの起動ログを見たいときはMasterのJENKINS_HOME/logs/slaves/スレーブ名/slave.logに過去分含めて出力されている。
なぜこんなことが必要になったかというと突然slaveが死亡したので調査のためログが必要になったというわけ。
AWSからであればネットからダウンロードするよりも、S3にダウンロードしてあるものをコピーするのが圧倒的に早い。
というわけで既存のローカルからファイルコピーしていたタスクを書き直した。
AnsibleでS3経由でファイルを単にダウンロードするだけのタスクなのに、失敗している。
(実際にはファイルはあるのだが、チェックサムの計算に失敗している)
で、みたところアップロードしたファイルはマルチパートで分割されてアップロードされていた。
aws s3 cpコマンドを使ってアップロードするとファイルサイズが8M超えたあたりで自動的に分割するらしい。
(E-tagというメタデータをS3コンソールから確認できて、そこに-2みたいな-が入っていたらマルチパートでアップロードされたものということらしい)
Ansibleのs3タスクでアップロードされたものはマルチパートにはならないので、面倒だけどAnsibleタスク同士でアップロード、ダウンロードしている分にはエラーに遭遇しない。
追記:
どうやら別の原因だったもようで、既にファイルがあるときにもう一回実施するとエラーになるというものだった。
ファイルを消して実行したら問題なかった。このAnsibleのエラーメッセージがおかしい!
さらに追記:
Ansibleのs3でアップロードするとマルチパートにはならないが、アップロード先に同名ファイルがあるとやはりエラー。どうもマルチパートは鬼門なのでマルチパートは避けるようにしよう。
td-agentのバージョンが古いので、filterは使わない前提で実装する。
td-agent(fluentd)のバージョンが新しくfilterが使えるのであれば、record_transformerフィルターを使うと同じようなことが実現できるはず(未検証)
前提として、拡張pluginとしてrecord-reformerのインストールが必要。
/opt/td-agent/embedded/bin/fluent-gem install fluent-plugin-record-reformer # 設定ファイルは以下のように記載する。 <source> type dummy tag dummydata dummy {"hello":"WORLD"} </source> <match dummydata> type record_reformer tag reformed <record> hostname added by hello ${hello.downcase} </record> </match> <match reformed> type stdout </match>
出力ログが
2015-10-23 11:52:04 +0900 reformed: {“hello”:”world”,”hostname”:”added by “}
hostnameフィールドが追加されて、元のWORLDが小文字に変換されている。
Ruby on RailsのJavaバージョンであるGrails3のセットアップを楽して行いたい。
SDKMANというツールを使うとbashがある環境であれば簡単にセットアップ可能らしい。
必要なのはJDKとJAVA_HOME環境変数の設定のみ。
確かに楽だ!
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk curl -s get.sdkman.io | bash source "$HOME/.sdkman/bin/sdkman-init.sh" sdk install grails
インストールは終わったので使い方は次回以降!