ircのlogを収集してweb上で確認できるものを作ってみた

エンジニアの@soplanaです。

最近jmtyエンジニアのコミュニケーションツールとして、ircを導入しました。
社内のコミュニケーションツールとしてircを使うにあたって、”ログが残らない”点が結構ツライなと感じたので、ログを収集してwebで閲覧できるツールを、まぁかなり簡単にですけど作ってみたので、今日はその紹介を。
ちなみにrubyからircを扱うにはcinchというgemが大変便利でした。



■railsで作った

ソースはgithubで公開してるので自由に使って下さい。
https://github.com/soplana/irclog

勢いに任せて作ったので色々荒いですが、今後カスタマイズしていくと思います。
logの保存にmongoDBうようになっています。



■導入ガイド

READMEにも一応書いていますが、以下導入手順です。
まずはgithubからソースをcloneしてきて、bundle installを走らせます。

$ git clone https://github.com/soplana/irclog.git
Cloning into 'irclog'...
remote: Counting objects: 77, done.
remote: Compressing objects: 100% (62/62), done.
remote: Total 77 (delta 0), reused 77 (delta 0)
Unpacking objects: 100% (77/77), done.
$ cd irclog/
$ bundle install --path vendor/bundle
Fetching gem metadata from https://rubygems.org/.........
Fetching gem metadata from https://rubygems.org/..
Installing rake (10.0.3)
Installing i18n (0.6.1)



次にDBやircの接続先を設定します。
まずはmongoidの設定ファイルを作成。

$ bundle exec rails g mongoid:config

Mongoid config not found. Create a config file at: config/mongoid.yml
to generate one run: rails generate mongoid:config

create config/mongoid.yml


mongoid.ymlにproductionの設定を追記。

production:
sessions:
default:
database: irclog
hosts:
- xx.xx.xx.xx:27017


script/lognyan.rbにircの情報を設定。
必要な項目は、c.server、c.password、c.channelsです。
serverにpasswordが設定されてない場合はc.passwordの省略が可能です。

# -*- coding: utf-8 -*-
require 'cinch'

bot = Cinch::Bot.new do
configure do |c|
c.server = "irc.xxxx.com"
c.password = "xxxxx"
c.channels = ["#xxxxx"]
c.nick = "lognyan"
end

on :message do |m|
Log.create({
name: m.user.nick,
text: m.message,
time: Time.now.to_s
})
end

end

bot.start



■起動する

ircに常駐してログを収集するlognyanを走らせるのと、それを確認するrails appを起動する必要があります。
まずはログを収集するlognyanをnohupとかで適当に動かしましょう。


$ nohup bundle exec rails r script/lognyan.rb -e production > /dev/null 2>&1 &


で、rails serverを立ち上げるとログが確認できるはずです。



ircbotは、gitでpushがあれば通知する事や、命令をトリガーにしてプログラムを起動したりすることも容易だし、エンジニアにircが長く愛されてるのがやっと分かった気がします。
恥ずかしながら僕はircデビューしたばかりなのですが、botを作るのがかなり楽しかったので、これからどんどんくだらないbotを作っていこうと思います。

投稿者: ジモティー | 2012年12月25日 - ページTopへ

節約といえば?!

いつもお世話になっております。ナイス津田で御座います。

すっかり前回のYokohama.rbを取り上げたブログから早くも、一ヶ月と少しが経ちました。早いものですね。
今夜は、節約という事で、節約術@ランチタイムについて書きます。

今日のおすすめ使えるナイスなアイテムは、こちらです!グリコの「お湯を注いで 30秒でできあがる
新世代カレー登場 『 カレーポット 』
」。
お弁当を作って持ってきている弁当男子(女子も)諸君に朗報です(^_^)/

お湯を注いで 30秒でできあがる新世代カレー登場カレーポット

お湯を注いで 30秒でできあがる新世代カレー登場カレーポットの写真


以下スペックになります。
エネルギー:193kcal
たんぱく質:3.2g
脂質:13.6g
炭水化物:14.5g
ナトリウム:904mg
食塩相当量:2.3g


フリーズドライのカレーにお湯をかけて混ぜるだけ!で、30秒でできるすぐれものです!
専門店で食べるカレーよりも、ヘルシーかつ、体にも節約マインドを持っていただける、ナイスな商品です!
大体一つ200円くらいなので、一緒に食べるコメの原価を30円としても相当コスパが素晴らしい(^_^)
節約をされている方には、おすすめしたい商品となっております!
ぜひ生活に取り入れてみては如何でしょうか?!
新世代カレー登場 『 カレーポット 』2012年2月21日から関東地方で発売!

節約と言えば、いつも節約ランチと銘打っておにぎりと何かを組み合わせて食べています。
節約ランチ@2007-2012の移り変わりとなっております。
ご覧の通り五年たっても同じスタンスですが、節約も継続は力なので、ぜひトライしてみて下さいm(_ _)m
僕の節約ランチ2007-2012
節約と言えばジモティーでも、年末大掃除0円特集もやってます!いらないものを出品して、ただであげちゃおう!って具合のナイスな特集ですね♫

最後までお付き合い頂きありがとうございましたm(_ _)m

投稿者: ジモティー | 2012年12月18日 - ページTopへ

ジモティー、テレビ番組に出演の巻。


あれ?デジャヴュなタイトル。

こんにちは。ジモティー唯一の女子(でも残念ながら人妻子持ち)、ひがのです。

実は先日、千葉テレビの「ハピはぴモーニング〜ハピモ〜」という番組の取材を受けました。

写真は私と取材してくださった石原さんです。

収録では、大掃除などででてきた不用品をジモティーで簡単に処分する方法や、無料で出品されている商品などをお話しさせていただきました。

「この無料のダイビングセット欲しい〜!すぐ引き取り手ついちゃいますかね?」と言っていただいてたこの記事ですが、

やっぱり既に終了マークがついてますねー。残念!

 

そんなハピモは、明日12/7(金)7:00頃〜、千葉テレビ、tvk(神奈川)、テレ玉(埼玉)でO.A.されます!朝早い。。。1番バタバタしてる時間帯ですね。

関東にお住まいのみなさま、明日はぜひ、めざま◯テレビでも、Z◯P!でも、やじう◯プラスでも、朝ズ◯ッ!でもなくハピモでジモティーをご覧になってみてください。

 

余談ですが、石原さんはジモティーにきていただく前に、このスタッフブログを読んでいただいたとのことで、

番組内で私のことを「ジモティーのマドンナ、ひがのさんです〜」と紹介してくれましたw

 

が、しかし、収録後の石原さんとディレクターさんとの雑談で、ジモティー社員はTシャツ・短パンで出社するというこのブログ

の話になり、うっかり私の普段の出勤スタイルを話してしまいました。(ま、普通にデニムです。ま、普通にスッピンに近いです。)

それを聞いたディレクターさんが

「え…全然マドンナじゃないじゃん」

と。

 

ガ━━(゚д゚lll)━━ン!!

 

でも、その通り!

という訳で、私のマドンナ紹介部分は残っているのか!?カットされているのか!?

 

ドキドキの結果は明日12/7(金)7:00頃〜の「ハピはぴモーニング〜ハピモ〜」(千葉テレビ、tvk(神奈川)、テレ玉(埼玉))でお確かめください。

 

あー恥ずかし。

投稿者: ひがの | 2012年12月06日 - ページTopへ

すぐに引き取り手の見つかるサイト

こんにちは、のんたんです。


このところ突然寒くなり、秋を堪能しないまま冬を迎えそうな勢いです。

そこで急いで冬支度を!!とやり出したついでに、部屋の大掃除を一気にやってしまいました。

一部家具を買い替えたり、眠っている家電を掘り出したり。。。


大量の不要品が出た、そんなときこそヤフオk、いや、パシャオk、でもなく、ジモティー



もう一回言いましょう。



不要品の処分には、ヤフオk、いや、パシャオk、でもなく、ジモティー!!




さて、ジモティー社員としては、やはり自分のサイトを使っている訳ですが、今回のやり取りでの体験やユーザーさんとのお話を書きたいと思います。


今回、出品したのはこちら。


【新品コーヒーメーカー&ミル】

http://jmty.jp/tokyo/sale-ele/article-gmwe



新品とは言え買ってから10年くらい経っているため、無料で出品をしてみました。

ちなみに、出品時間は10月14日22時42分


出品後、他にも要らないものを出品していたところ、何やらメールを受信しました。


・買いたい/欲しいです。

以上に関してご質問がありました。


具体的な質問内容


のんたん様

はじめまして、こんにちは。

コーヒーメーカーをぜひお譲り頂きたいです。


来週取りに伺えます。


ジモ子(仮名)



なんと、メールの受信時間は10月14日22時52分

出品してからわずか10分後です!!


取り急ぎ返信します(10月14日22時57分


ジモ子さま


ご連絡ありがとうございます。

ぜひお譲りしたいと思います。

ウィークデーは時間が取れないので、できれば週末が嬉しいですがいかがでしょうか。

または、ウィークデーの朝であれば8時15分くらいであれば、駅でお渡しすることも可能です。

ご検討ください。


よろしくお願いいたします。


のんたん



すると、ほどなくして返信が。。。


のんたんさま


早速のお返事ありがとうございます。

次の週末(20,21)は仕事がありますので、少し先になりますが27日か28日でも宜しいでしょうか?

時間は午前中でいかがでしょう?時間を決めてくださると有難いです。


一人暮らしを始めるので、探していたんです。

とても嬉しいです!ありがとうございます。

連絡先を記載いたしますので、何かありましたらご連絡ください。


jimoty-love@mail.com (仮)


ジモ子



時間は10月14日23時12分

世界最速取引を目指して、すぐに返信します(10月14日23時16分)。


ジモ子さま

それでは27日土曜日の午前中でお願いいたします。

時間帯はいつでも大丈夫ですが、9時半とかではいかがでしょうか?

ご検討よろしくお願いします。


のんたん



しかし、ここで返事が途絶えます。。。




返信が来ました!!


のんたんさま


かしこまりました。

我儘を言って申し訳ございません。

では、27日9時半にお伺いします。

宜しくお願いします。


ジモ子



はい、取引成立しました!!

成立時間は…10月14日23時39分!!

出品後、1時間以内で取引成立です!!


最後のメールをいただくのに少し時間がかかってしまいましたが、実質的には40分くらいで取引は成立していたと思います。


これには自分のサイトながらドキドキしました。


サイトの立ち上げの頃、サイトの投稿数を増やすため、友人に出品を頼んで回っていました。

断られることも多かったのですが、その際に言われたことで印象に残っているのが、『ジモティーに出品して引き取り手いるの?処分したい方からしたら今すぐ引き取り手が見つからないサイトは使わないよ。Amazonに出した方が早いもん。』でした。


それ以降、ずっとその言葉は心に残り、『すぐに引き取り手の見つかるサイト』を目指して1年間やってきました。

今回自分がサイトで取引してみて、少しずつではあるけれど、目指すべき方向に前進していることを実感しました。

まだまだAmazonには勝てませんが、地道に頑張っていきたいと思います。


引き続きジモティーをよろしくお願いいたします。

投稿者: ジモティー | 2012年11月29日 - ページTopへ

Skypeの代わりにIRCを立てよう

ジモティーでは現在社内のこみゅにけ〜しょんにSkypeを使っています. エンジニアチャット, 全社チャット, ネタチャットなどいくつかの部屋があり以下のような小芝居を挟みながら皆思い思いにアレしてます.

ところが一部の過激派が反Skypeを掲げ立ち上がり, 血で血を争う展開ののち社内IRCが立てられる運びとなりましたのでその記録を残します. 論争の詳細はシン劇場版:‖で補完されるそうです.




EC2サーバを用意

GitLabなどもろもろの調査に使っている雑多なEC2サーバ(smallインスタンス)をIRCサーバとして流用することにしました.


IRCデーモンをインストール

IRC童貞ながらに模索しつつ作業しましたので, そのへんも残していきます.

まずircdでpacmanを検索します. 最初ircで検索したらずらずら出てきたのでircd.


$ sudo pacman -Ss ircd
community/ngircd 19.2-2 [installed]
Next Generation IRC Daemon
community/ultimate-ircd 3.0.2-6
ultimate irc server
community/unrealircd 3.2.9-4
Open Source IRC Server

なんかngircdってのがありますね.

ngIRCd

The name ngIRCd means next generation IRC daemon, which is a little bit exaggerated: lightweight Internet Relay Chat server most probably would have been a better name.

だそうです. これにします.



$ sudo pacman -S ngircd
$ sudo pacman -Ql ngircd | grep etc
ngircd /etc/
ngircd /etc/ngircd.conf
ngircd /etc/rc.d/
ngircd /etc/rc.d/ngircd


設定ファイル(ngricd.conf)とデーモン起動スクリプトが入りました. ngircd.confを編集します.


# Name = irc.example.net
Name = myirc.mynetwork.com


実稼動時は(サーバ接続時の)パスワードやポートを変えた方がよいです.


# Global password for all users needed to connect to the server.
# (Default: not set)
Password = mypassword

# Ports on which the server should listen. There may be more than
# one port, separated with ",". (Default: 6667)
Ports = 12345


で起動.


$ sudo /etc/rc.d/ngircd start


動きました. netstatで見てみましょう. Archにはnetstatがデフォルトで入ってないのでnet-toolsを入れます.


$ sudo pacman -S net-tools
$ sudo pacman -Ql net-tools | grep bin
net-tools /bin/
net-tools /bin/netstat
net-tools /sbin/
net-tools /sbin/arp
net-tools /sbin/ifconfig
net-tools /sbin/ipmaddr
net-tools /sbin/iptunnel
net-tools /sbin/mii-tool
net-tools /sbin/nameif
net-tools /sbin/plipconfig
net-tools /sbin/rarp
net-tools /sbin/route
net-tools /sbin/slattach


入りました. ircのportはデフォルトで6667です.


$ sudo netstat -an | grep 6667
tcp 0 0 0.0.0.0:6667 0.0.0.0:* LISTEN
tcp 0 0 10.152.29.113:6667 180.47.00.00:37641 ESTABLISHED
tcp 0 0 10.152.29.113:6667 180.47.00.00:58449 ESTABLISHED
tcp6 0 0 :::6667 :::* LISTEN


ネットワークをつなげる

サーバが立ったので, アクセスできるようにします.

(1). インスタンスのSecurity Groupを変更(amiから立ち上げ直す), 設定ポートを許可する
(2). EC2のElastic IPを取得し, IRCをインストールしたインスタンスへ紐付ける.
(3). 適当なドメインのDNSレコードを追加し, (2)で取得したIPへ振り分ける.

個人的にここが一番楽しいです.



IRCクライアントで利用開始


CUIから使えるweechatを選びました. brew, aptitudeなどで入ります. RubyやらSchemeやらLuaで拡張できるそうです.


$ sudo apt-get install weechat-curses
$ weechat-curses "irc://hash:password@myirc.mynetwork.com:12345/#engineer"


でターミナルから使えて幸せになれました. Skypeもターミナルから使いたい…

とりあえず立ててみただけなので, 身体を慣らしつつ徐々に移行したいなーと思ってます.

投稿者: ジモティー | 2012年11月22日 - ページTopへ