Skip to content

Instantly share code, notes, and snippets.

@mikeda
mikeda / munin_solr_multi.rb
Last active December 20, 2015 06:29
マルチコアのSolrの各種グラフを作成するmuninプラグインのとりあえず版
#!/usr/local/bin/ruby
# とりあえずこのへんをグラフ化
# ●インデックス
# numDocs
# サイズ
#
# ●検索クエリ
# 総リクエスト(QPS)
# エラー(QPS)
# タイムアウト(QPS)
@mikeda
mikeda / zabbix_rds.php
Created July 8, 2013 08:47
ZabbixでRDSを監視するexternalscriptsのサンプル。いろいろ古い
#!/usr/bin/php
<?php
//最新版だとPHP5.2~らしいのでSDKは1.3.0を使う
require_once(dirname(__FILE__) .'/../helper/aws/sdk-1.3.0/sdk.class.php');
//error_reporting(E_ALL);
$debug_log = "/var/log/zabbix/rds.log";
//$args = print_r($argv, true);
//debug_log($args);
@mikeda
mikeda / nagios.cfg
Created July 7, 2013 08:35
Nagiosの通知をGoogleスプレッドシートに書き込むサンプル
define command{
command_name notify-service-by-spreadsheet
command_line /etc/nagios/notify-service-by-spreadsheet.rb "$HOSTALIAS$" "$SERVICESTATE$" "$NOTIFICATIONTYPE$" "$SERVICEDESC$" "$SERVICEOUTPUT$" "$TIMET$"
}
define contact{
name generic-contact
service_notification_period 24x7
host_notification_period 24x7
service_notification_options w,u,c,r,f,s
@mikeda
mikeda / google_drive_test.rb
Created July 7, 2013 06:07
rubyからGoogle SpreadSheetをいじるサンプル
#!/home/mikeda/.rbenv/shims/ruby
# -*- coding: utf-8 -*-
require 'google_drive'
session = GoogleDrive.login("<user>@gmail.com", "<password>")
#session.files.each do |file|
# p file.title
#end
@mikeda
mikeda / recommend_and_ranking.rb
Created June 30, 2013 09:06
FluentdとRedisで簡単なアクセスランキングとアイテム相関レコメンド
module Fluent
class RecommendRedis < Output
Fluent::Plugin.register_output('recommend_and_ranking', self)
require 'redis'
REDIS = Redis.new(:host => "192.168.1.126", :port => 6379)
VIEW_PREFIX = 'view_' # ユーザごとの閲覧履歴のリスト
RELATION_PREFIX = 'relation_' # アイテム間の相関値
ACCESS_COUNTER = 'access_counter' # アイテムごとのアクセスカウンタ
@mikeda
mikeda / httpd.conf
Created June 13, 2013 08:11
mod_proxy_balancerでアクセスされるパスによって無理やりtimeout値を変更する
<Proxy balancer://3sec/ >
BalancerMember http://192.168.1.1 loadfactor=10 timeout=3
BalancerMember http://192.168.1.2 loadfactor=10 timeout=3
</Proxy>
<Proxy balancer://5sec/ >
BalancerMember http://192.168.1.1 loadfactor=10 timeout=5
BalancerMember http://192.168.1.2 loadfactor=10 timeout=5
</Proxy>
@mikeda
mikeda / logtail.rb
Created June 4, 2013 21:24
ログの差分出力スクリプト
#!/usr/local/bin/ruby
# ログの差分出力スクリプト
# 使用例
# 前回実行からの追記分を出力する
# $ logtail.rb access_log
#
# ログのローテートに対応させる場合はオプションでローテートファイルを指定する
# $ logtail.rb access_log -r access_log.1
#
@mikeda
mikeda / nagios_alert.sh
Created May 27, 2013 06:10
ホストを指定してNagiosのアラートを停止するスクリプト
#!/bin/bash
### 使い方
### アラート停止:nagios_alert.sh stop web01 db01
### アラート再開:nagios_alert.sh start web01 db01
command_file="/var/spool/nagios/cmd/nagios.cmd"
if [ $# -lt 2 ];then
echo "usage: $0 <start|stop> hosts1 host2 ..."
@mikeda
mikeda / check_http_multi.rb
Last active December 17, 2015 08:49
Nagiosで複数URLをまとめてHTTP監視するプラグイン
#!/usr/local/bin/ruby
# -*- encoding: utf-8 -*-
require 'net/http'
require 'uri'
require 'pp'
configs = [
{ desc: '正常', url: 'http://mikeda.jp/wiki/', regex: /MikedaWiki/, timeout: 1},
{ desc: '中身がおかしい', url: 'http://mikeda.jp/wiki/', regex: /XXXYYYZZZ/, timeout: 1},
@mikeda
mikeda / mk_complex.rb
Created March 17, 2013 06:08
growthforecastのgemライブラリを使って、グラフに色を付けたり複合グラフ作ったり
#!/bin/env ruby
# -*- encoding: utf-8 -*-
require 'growthforecast'
SERVICE = 'service01'
SECTION = 'access'
COMPLEX_GRAPHS = [
{
name: 'access_status',