zapier

Customize Slack notifications template for new Disqus comments

Zapierを使って、Disqusにコメントが来たらSlackに通知するようにしています。 Notify Slack when commented on DISQUS 上記の記事で以下のようにぼやいていましたが、 でもどの記事に対してコメントされたかはわからない! そのへんも色々いじれるならそのうちやってみようと思います。(`・ω・´)ゞ 普通に設定できましたあああ!!しかもけっこう詳細にカスタマイズできた(´;ω;`) 以下のようにして設定できます。 ↓のような内容にしました。URLを展開(画像とか)する設定があったのでOFFにしました。 @コメント者 コメント内容 コメントのURL コメントされた日付 テストしてみます。 良い!!!これでかなりコメントの確認が楽になりました。✨

td-agent

Send secure log to BigQuery

/var/log/secureをBigQueryに送ってRe:dashで攻撃っぽいアクセスなどを可視化してみたかったので送ってみました。 準備 /var/log/secureをtd-agentでも読めるようにパーミッションを下げる /var/log/secureがローテートされてもパーミッションが戻らないようにlogrotateの設定を変更する td-agentの設定 td-agentの設定を追加します。 <filter syslog.secure>部分でログの送信元のサーバのホスト名をレコードに追加している # syslog (secure log) <source> @type tail format syslog path /var/log/secure

mackerel

Annotate provider maintenance time with Mackerel

このブログはDigitalOceanが提供しているVPS上で動いています。 digitalocean - ゆるふわキャンパー DigitalOceanはもちろん、AWSやさくらVPSなどの物理リソースを提供しているプロバイダでは、プロバイダの都合によってメンテナンスが発生する場合があります。例えばネットワーク機器の差し替えや古くなった物理サーバの入れ替えなどによるものです。 このようなプロバイダ側で予測が可能で、サービスの可用性に影響する類のメンテナンスについては、まず何らかの形(メールや公式サイトなど)で告知が行われます。 DigitalOceanのシンガポールリージョンでネットワーク機器のメンテナンスのため 2017/04/25 05:00 ~ 07:00(JST) の間でネットワークが不安定になる場合があるとのこと ?— †殲滅の修道者† (@lorentzca) 2017年4月19日 ふと思いついて↑のメンテナンス期間をMackerelのグラフアノテーションに入れてみました。 はたしてグラフアノテーションは未来の日付に対して有効なのでしょうか…。 Web管理画面からは日付をマニュアルで入力することはできなかったので、mkrコマンドでやってみます。以下のコマンドを実行。

gcp

Report GCP billing and Referral domain everyday

少し前から、個人Slackに個人で利用しているGCPの使用料金とブログのリファラを集計して日時レポートとして出すようにしています。 Slack × Re:dash 以下のように、毎日午前11時にredash-reportチャンネルにレポートが届きます。 忘れないうちに良かったと感じたことをメモしておきます。 よかったこと GCPの使用状況を毎日意識することができる 月ごとのグラフを出すようにしたので推移がわかり良い感じ…! 2月から跳ね上がっている(といっても料金的には微量ですが)のはmackerelでGCP料金をホストメトリックに取り始めたからですね(毎分クエリ叩いてる&サーバの情報じゃないのでサービスメトリックに移行しなきゃあかん) ← みたいなことがわかったり どこから自サイトへのアクセスが多いのか毎日意識することができる アドベントカレンダー強いな… もう5月になるやぞ 楽しい 日々変化するデータが可視化され、それを労力をかけずに観察できるのが楽しい サーバのメトリックとはちがう「集計されたユーザの生のデータ」というのも楽しさを感じている要因と思う slackのチャンネルを遡って履歴を辿れるのも良い やりたいこと 以下のデータも出してみたいと思っています。 攻撃っぽいアクセスの集計 syslogをBigQueryに送ってssh試行失敗数とそのアクセス元のIPアドレスを集計して表示とか ✨

mruby

mruby libraries provided by H2O

最近H2Oでmrubyを使うことに興味を持ち入門してみました。 Hello world with mruby on H2O 実際に使われているmrubyのコードもみてみたいと思い調べたところ、標準でH2Oがmrubyのライブラリを提供していました。ありがたい。 h2o/share/h2o/mruby at master · h2o/h2o · GitHub 読むぞ!!! また、実際にこのライブラリを使いたい場合ですが、CentOS7かつtatsushid/h2o-rpmを使ってH2Oをインストールした環境では、以下のpathにライブラリが収まっていました。 $ rpm -ql h2o | grep rb /usr/share/doc/

ruby

Hello world with mruby on H2O

このブログのウェブサーバーにH2Oを使っています。 h2o - ゆるふわキャンパー H2Oはデフォルトでmrubyに対応しており、これが最近気になっています。 Using Mruby - Configure - H2O - the optimized HTTP/2 server 楽しそう。 H2O x mrubyで人はどれだけ幸せになれるのか from Ichito Nagata そこで、まずはHello Worldするところまでをやってみます。 その前に色々わからないので調べてみます。 mrubyとは mrubyとは以下の特徴を持つ言語。 組み込み機器やアプリケーションへの組み込みに最適化された軽量なruby ほぼrubyと互換性がある(

gpg

Conflict gpg-agent

GitHubにGPG認証を利用しています。 Export GPG Key さっきbrew upgradeをしていて、たぶんgpg関連のアップデートがあって恐らくそれがきっかけと思うんですが、git commitができなくなりました。 調査のためgpgコマンドをいじっていたら以下のエラーが出ました。 gpg: starting migration from earlier GnuPG versions gpg: *警告*: サーバ'gpg-agent'はこちらより古いです(2.0.30 < 2.1.20) gpg: error: GnuPG agent version "

mkr

Get mackerel graph annotation list with mkr

mackerelにはグラフに注釈(アノテーション)を付ける機能があります。 グラフを利用する - Mackerel ヘルプ グラフアノテーション - Mackerel API ドキュメント (v0) このアノテーションを一覧して見たかったのでやってみました。Web画面からは一覧を表示できなくて、APIかmkrコマンドから取得する必要があります。そのやりかたをメモ。 以下のコマンドで取得できます。 --from ~ --toで期間を指定しなければならない 2016/01/01 00:00:00から今現在までの期間を指定している エポックタイムで指定しなければならない(dateコマンドでエポックタイムに変換している) mkr annotations list \ --service <

ghost

Update to Ghost 0.11.8

Ghost 0.11.8がリリースされました。 ✨ Ghost 0.11.8 いくつかのバグフィックスや機能改善がありますが、その中でも「複数人同時に同じ記事を更新して衝突が発生するのを防ぐ機能」が良さそう。 今までは同時に同じ記事を更新できました。ブラウザをリロードするともう一方で更新した内容が反映される感じでした。危うい。 さっそくどんな感じになったのか試してみます。 アップデートはいつもの手順でやります。以下のスクリプトを実行するだけ。 では実際にブラウザで複数のウインドウを開いて同時に編集してみます。 後から開いた方のウインドウで編集して、保存ボタンを押すと...。 ブロックされました!! ✨ 感想 私は一人ぼっちでこのブログを運用しているので縁のない機能ですが、複数人で運用しているブログ(会社のブログとか)ではとても有用そうですね!

digitalocean

DigitalOcean released Monitoring

DigitalOceanの管理画面にモニタリング機能が追加されました!✨ Introducing Monitoring: Insight into Your Infrastructure モニタリングでできること まだできることは少なく、最小限という感じ。 グラフ(ドロップレット毎にデフォルトで用意されている)をモニタリングし、閾値を超えたら通知を出すことができる 通知先はまだメールかSlackの2つだけ モニタリング対象はドロップレット単位もしくはタグで指定できる 費用 無料! free with all Droplets. Introducing Monitoring: Insight into Your Infrastructure 設定方法 まずドロップレットにdo-agentをインストールする必要があります。 DigitalOceanがリリースしたdo-agentとはどういうものなのか curl -sSL

shell

Display my server Load Average in OSX menu bar

最近あだちんの家に行って(たまに遊びに行ってノートPCを借りて遊んでいる)bitbarを入れて遊んできたので、私も気分転換にbitbarで個人サーバのロードアベレージを表示させてみました。 以下の雑なスクリプトを作成してbitbarのプラグインディレクトリ(私は~/Dropbox/bitbarにしている)にget-loadavg5.5m.shという名前で保存します。 ファイル名はプラグイン名.時間.拡張子という命名規則 mkrでmackerelからメトリックを取得して結果をechoしているだけ #!/bin/bash hostId=XXXXXXXX export MACKEREL_APIKEY="YYYYYYYY" loadavg5=$(/usr/local/bin/mkr fetch -n loadavg5

terraform

Summary of Terraform v0.9

terraform0.9が出ました。 Terraform 0.9 | HashiCorp tfstateの管理を設定する方法が変わって、これは今のところは後方互換性がありますが0.11で旧方式が廃止されるみたいなので先日移行しました。 Migration from terraform remote command to terraform backend system 今回はほかに追加された機能についてもためしてみます。本家ブログの流れにだいたい沿って見ていきました。 Terraform 0.9 | HashiCorp うまく訳せず理解が追いつかないところも多いですがφ(..)メモメモ Backendsについて Backendsという概念が追加されて、これが結構重要そうなので先にまとめてみます。 Backendsとはterraformで管理されたリソースの状態(作成したリソースのIPアドレスのような実際の値)をどのように読み込むか、そしてapplyでどのような処理が実行されるかを決定する機構のようです。

terraform

Migration from terraform remote command to terraform backend system

先日terraform 0.9がリリースされました。 Terraform 0.9 | HashiCorp いくつかの面白そうな機能追加・変更がありますが、そのうちの一つとしてtfstateファイル(terraformで管理しているリソースの状態を記録しているjsonファイル)をクラウド管理するためのremoteコマンドが廃止され、代わりにbackendが実装されました。 Backends - Terraform by HashiCorp backend以外の諸々の機能も気になりますが、今回はひとまずremoteコマンドからbackendへの移行をしてみます。 terraformのドキュメントには各メジャーバージョン毎のアップグレード手順が用意されており、0.9のアップグレード手順でremoteコマンドからbackendへの移行方法を見ることができます。 Upgrading to Terraform 0.9 - Terraform by HashiCorp 移行方法

vim

Work around for powerline not working on Neovim

VimからNeovimに移行しましたがpowerlineをうまく動かせませんでした。 Move to Neovim and dein.vim そこで、powerlineとは別にvim-airline/vim-airlineを導入してとりあえずの対処とします。 GitHub - vim-airline/vim-airline Neovimにステータスラインを追加するパッケージはいくつかあると思いますが、vim-airline/vim-airlineはvimのためだけにpowerlineを入れたくない場合にpwoerlineが推奨しているパッケージなので選びました。 You should check out some of the Powerline derivatives. The most lightweight and feature-rich alternative is

vim

Move to Neovim and dein.vim

VimからNeovimに移行したので作業記録を晒します。 Home - Neovim ついでにvimのプラグインマネージャもNeoBundleからdein.vimに移行しました。 Neovimとは Neovimとは、より軽量にリファクタされたVimクローンです。luajitでより拡張しやすくもなるようです。 Vimと互換性があり、Vimと全く異なったものではないし、そうしていく予定もない、あくまで既存のVimをベースにより使いやすくしたプロダクトのようです。 About - Neovim dein.vimとは dein.vimとはNeoBundleの後継となる新しいVimのプラグインマネージャで、もちろんNeovimでも使うことが出来ます。 GitHub - Shougo/dein.vim: Dark powered Vim/Neovim plugin manager

tmux

Restore tmux environment after system restart

ターミナルマルチプレクサにtmuxを使用しています。OS再起動後も同じtmuxのペインで作業したいので、ちょっと前に教えてもらったtmux-resurrectを入れてみます。 GitHub - tmux-plugins/tmux-resurrect: Persists tmux environment across system restarts. Tmux Plugin Managerの導入 tmuxのプラグインの追加はTmux Plugin Managerを使うと楽なのでまずはこれを入れます。 GitHub - tmux-plugins/tpm: Tmux Plugin Manager READMEに従いtpmをインストールしていきます。 Installation tpmのインストール。 mkdir -p ~/.tmux/plugins

letsencrypt

Auto renew SSL Certificate with Certbot(Let’s Encrypt)

このブログのSSL証明書はLet’s Encryptという認証局のものを使っています。Let’s Encryptの証明書を使い始めてしばらく経ちましたがいいかんじです。 letsencrypt - ゆるふわキャンパー Let’s Encryptについて Let’s Encryptの証明書は無料で提供されており、certbotという証明書の取得や更新をコマンドで行うことの出来るツールが提供されているのが特徴です。神ってことです。 証明書の有効期限は90日(3ヶ月)と短いですが、コマンド一発で証明書を更新できるのでデメリットではありません。 また、証明書を細かくアップデートしていけるということは常に最新の暗号技術を取り入れた証明書を(Let’s Encryptが追随してくれているので)使えるということであり、度々世間を騒がせている弱い暗号方式を使った証明書によって起きる脆弱性に対しても運用上強いはずです。 certbotをインストールする Let’s Encryptの証明書はcertbotを通じて取得、更新を行うので、

tmux

Install powerline plugin to tmux and Vim

最近開発マシンが新しくなり環境がリセットされ、さっぱりしました。さっぱりしましたが、tmuxとvimとzshは前の環境と同じフィーリングで使いたいです。 私はpowerlineを使っているのでzshはまあ良いにしてもtmuxとvimはdotfileを置くだけでは環境が再現できぬ! というわけでtmuxとvimのpowerlineの導入方法を記録しておきます(毎回導入方法忘れる&昔とだいぶ変わった...)。 細かいpowerlineのカスタマイズは置いておいて、とりあえず最低限powerlineを使えるようにします。 powerlineのインストール(OS X) powerlineそのもののインストールをします(OS X)。 Installation on OS X — Powerline beta documentation pip install powerline-status powerlineで使うフォントのインストールをします(楽だ!以前は自分でビルドしてた)。 GitHub - powerline/fonts:

1password

Move existing 1Password to license version

1PasswordをApp Storeで購入した買い切り版からライセンス版に移行しました。 この2つの1Passwordの違いや、移行方法についてメモしておきます。 買い切り版とライセンス版の違い 違いについて全て把握しているわけではありませんが、以下のような違いがあります。 買い切り版 ライセンス版 ブラウザでの管理ページアクセス(1passwordアカウントの利用) ✕ ◯ 2つ以上の保管庫(Vault)の利用 ○(たぶん) ◯ iCloudやDropboxでのデータ共有 ◯ ✕ 1passwordアカウントでのデータ共有 ✕ ◯ ※ iCloudやDropboxでのデータ共有はライセンス版ではできないですがそもそもする必要がなくなるということなので問題ない 値段の違い 買い切り版(OSX版): 約7,000円 ライセンス版: 約300円/月 ライセンス版(Familys): 約400円/月 ライセンス版のプランの比較は以下を参照(個人なら無印ライセンスで充分)。 Pricing