カテゴリー : Tool

Slack bot から @channel のような mention 付き投稿の記法

Slack bot で @channel や @everyone のようなメンション付き投稿は、そのまま書いても正常に動作しないので独自記法を使わないといけません。

Slack

続きを読む

Slack Multi-Channel / Single-Channel Guest アカウント料金について

Slack では一部機能を制限して使える Multi-Channel Guest や Single-Channel Guest といったアカウントも作成することができます。

社内で「取引先企業とのちょっとしたやり取りを Slack 内でしたい」という要望を解決するために、これらの Slack アカウントの料金体系について調べてみました。

Slack

{言語: “日本語”}

  • 👯 マルチチャンネルゲスト : 制限アカウント(有料)
    複数のチャンネルやグループにまたがって様々なSlackを確認する必要がある場合に選択(案件を複数お願いするフリーランスの方にはこちらがおすすめ)
  • 💃 シングルチャンネルゲスト(無料・チーム有料アカウントの5倍まで)
  • 一つのチャンネルのみ共有する場合に選択(一つだけのクライアントとプロジェクトを共有する場合におすすめ)

{lang: “English”}

  • 💳 Guest roles are available to teams on the Standard plan and above.
  • 👯 Multi-Channel Guests are billed as regular team members, and can be added to unlimited channels.
  • 💃 Single-Channel Guests are free. You can add up to 5 Single-Channel Guests per paid member of your team.

シングルチャンネルゲストは有料アカウントの5倍まで作成できるので、積極的にアカウント作成して使っていきたいですね。

参考情報

バックアップ用途としてオンラインストレージサービスを比較してみた

バックアップで利用している HDD 1TB をいつも持ち歩いてるのですが、調子が悪くて読み込めなくて焦るということが増えてきました。この HDD の中には消えると困るデータも入っているので、オンラインバックアップサービスを利用することを決めて、色々と検討した末に Google Drive を採用しました。

オンラインバックアップサービスに Google Drive を採用した理由

Google Drive は 20GB までなら無料で利用できますが、容量が足りないので 100 GB プランに上げて利用しています。100 GB プランだと月額 $1.99 です。全部バックアップした場合は 1TB にする必要がありますが、それでも月額 $9.99 で済みます。

Google Drive 100GB Plan

Google Drive 100GB Plan

オンラインストレージサービスの比較

他に検討したオンラインストレージサービスは以下の通りです。

続きを読む

2段階認証アプリは Google Authenticator よりも Authy がオススメ

今まで2段階認証アプリは Google Authenticator を使っていたのですが、Android/iOS でしか使えないという点でかなり不便でした。

Authy

一方で Android/iOS 以外に PC App も公開している Authy がより便利と教えてもらったのですぐに移行しました。

続きを読む

[CircleCI] コミットメッセージに [ci skip] と書くと CI 実行をスキップできる

CircleCI でコミットメッセージに [ci skip] と書くと CI を実行させないことができるようです。

CircleCI

続きを読む

Scrum で Trello をもっと便利に使うための Chrome 拡張機能

今日から自分の所属するチームでスクラムが始まりました。

カンバンには Trello を使っていて、これを便利にするための Chrome 拡張機能をいくつかインストールしたのでご紹介します。

Bug 2 Trello

Bug 2 Trello は GitHub や BitBucket の issue を各サイトのページ上から Trello に追加することができます。

Bug 2 Trello

Card Color Titles for Trello

Card Color Titles for Trello は名前の通り、Trello の Label 名を Card に表示させることができます。

Card Color Titles for Trello

Scrum for Trello

Scrum for Trello を使うと、スクラム開発の見積もりに使うポイント数を Card の Title にカンタンに設定することができます。

ポイント数は通常、フィボナッチ数(1、2、3、5、8、13、…)を利用しますが、設定ページから扱えるポイント数にフィボナッチ数以外を追加することもできます。

Scrum for Trello

ちなみに Chrome 以外にも Firefox や Safari の拡張機能もあるみたいです。

Trello Checklist Point

Trello Checklist Point は、Trello の Checklist の Item に [3] [2] [1] みたいにポイントを書いておくと、足し算してくれる地味に便利な拡張機能です。

Trello Checklist Point

まとめ

Trello 向けの便利な Chrome 拡張機能がたくさんあるので、上手く活用して Scrum 開発を効率よく回していきたいですね。

[CircleCI] Ruby のバージョン指定について

CircleCI の公式ドキュメントに書いてある ruby のバージョンのみ対応しています。

CircleCI

続きを読む

[Slack] Nagios からの通知を Channel に書き込む

Nagios からのアラート通知を Slack の Incoming WebHooks を利用して Channel へ書き込む設定をしました。

Slack には Nagios の Integration が用意されているので、普通はこれ使えば良さそうです。

しかし、今回は Lite プランに抑えたいという理由で、色々とインテグレーションを使ってると 5 external integrations の上限に引っかかってしまうのを避けるために Incoming WebHooks を使って自前で実装しました。Incoming WebHooks の Webhook URL を発行するのは上限ないみたいなので重宝しています。

早速、シェルスクリプトを書こうと思ったんですが、ググったら Gist にコード公開している人が居たので fork してちょっと書き換えて使うことにしました。

slack_nagios.sh – gist

下記が、gist に公開しているシェルスクリプトの内容です。

#!/bin/bash
 
# This script is used by Nagios to post alerts into a Slack channel
# using the Incoming WebHooks integration. Create the channel, botname
# and integration first and then add this notification script in your
# Nagios configuration.
#
# All variables that start with NAGIOS_ are provided by Nagios as 
# environment variables when an notification is generated.
# A list of the env variables is available here: 
#   http://nagios.sourceforge.net/docs/3_0/macrolist.html
#
# More info on Slack
# Website: https://slack.com/
# Twitter: @slackhq, @slackapi
#
# My info
# Website: bakorer.com
# Twitter: @bakorer
 
#Modify these variables for your environment
MY_NAGIOS_HOSTNAME="nagios.yourdomain.com"
MY_NAGIOS_STATUS_URL="http://${MY_NAGIOS_HOSTNAME}/nagios/cgi-bin/status.cgi?host=${NAGIOS_HOSTNAME}"
SLACK_HOSTNAME="yourslack.slack.com"
SLACK_TOKEN="xyxyxyourslackkey"
SLACK_CHANNEL="#alert"
SLACK_BOTNAME="Nagios"
 
 
#Set the message icon based on Nagios service state
if [ "$NAGIOS_SERVICESTATE" = "CRITICAL" ]
then
    ICON=":exclamation:"
    COLOR="danger"
elif [ "$NAGIOS_SERVICESTATE" = "WARNING" ]
then
    ICON=":warning:"
    COLOR="warning"
elif [ "$NAGIOS_SERVICESTATE" = "OK" ]
then
    ICON=":white_check_mark:"
    COLOR="good"
elif [ "$NAGIOS_SERVICESTATE" = "UNKNOWN" ]
then
    ICON=":question:"
    COLOR="#00FFFF"
else
    ICON=":white_medium_square:"
    COLOR="#FFFFFF"
fi
 
#Send message to Slack
curl -X POST --data "payload={\"channel\": \"${SLACK_CHANNEL}\", \"username\": \"${SLACK_BOTNAME}\", \"icon_url\": \"https://slack.com/img/services/nagios_48.png\", \"text\": \"${ICON} HOST: ${NAGIOS_HOSTNAME}   SERVICE: ${NAGIOS_SERVICEDISPLAYNAME}     MESSAGE: ${NAGIOS_SERVICEOUTPUT} <${MY_NAGIOS_STATUS_URL}|See Nagios>\"}" https://${SLACK_HOSTNAME}/services/hooks/incoming-webhook?token=${SLACK_TOKEN}

これを Nagios を動かしているサーバーの plugins 以下とかに設置して、実行できるようにします。

chmod +x /usr/lib64/nagios/plugins/slack_nagios.sh

そして、Nagios commands に slack_nagios.sh を実行する定義を追加します。

vim /etc/nagios/objects/commands.cfg
 
define command {
    command_name    notify-service-by-slack
    command_line    /usr/lib64/nagios/plugins/slack_nagios.sh
}

contacts にも Slack を追加します。

vim /etc/nagios/objects/contacts.cfg
 
define contact {
  contact_name slack
  use generic-contact
  service_notification_commands   notify-service-by-slack
  email   /dev/null
}

あとは Slack の #alert channel に通知したいサービスに登録してあげて、設定確認と reload すれば完了です。

service nginx configtest
service nagios reload

Nagios のアラートを Slack へテスト通知してみた結果は下記のような感じです。

slack-nagios

Slack はチャンネル毎にアプリで通知を受け取るか設定できるので、これで夜中に Nagios からアラートきても気付けて、即対応できて幸せですね!