Skip to content

Instantly share code, notes, and snippets.

@mikeda
mikeda / gist:4369294
Last active December 10, 2015 02:39
muninのRRDから簡単なレポートを作るサンプル
#!/usr/bin/perl
use strict;
use warnings;
use RRDs;
use Data::Dumper;
#ホストのリストをどこから取ってくるか・・・
my $hostname = 'test01';
my @rrds = (
@mikeda
mikeda / gist:4406576
Last active December 30, 2020 14:34
GrowthForecastでAPIを使って複合グラフを作るサンプル
#!/usr/lib64/fluent/ruby/bin/ruby
# -*- encoding: utf-8 -*-
# GrowthForecastのAPIを使って複合グラフを作るサンプル
# 仕様はこのへん読もう
# https://github.com/kazeburo/GrowthForecast/blob/master/lib/GrowthForecast/Web.pm
#
# <service_name>/access/{2xx_count,3xx_count,4xx_count,5xx_count}
# ↓
# <service_name>/access/access_status
@mikeda
mikeda / rsyslog.conf
Created January 20, 2013 02:49
syslog集約サーバのrsyslog.conf。とりあえず版
$ModLoad imuxsock
$ModLoad imklog
$ModLoad imudp
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
$template RemoteLog, "/var/log/remote/%hostname:::secpath-replace%/%hostname:::secpath-replace%_%$year%%$month%%$day%.log"
$RuleSet local
*.info;mail.none;authpriv.none;cron.none /var/log/messages
authpriv.* /var/log/secure
@mikeda
mikeda / cassandra_task.pl
Last active December 11, 2015 19:19
Cassandra監視用のmuninプラグインその1
#!/usr/bin/perl
use strict;
use warnings;
use Data::Dumper;
my $command = 'nodetool -h localhost tpstats';
my $prefix = "cassandra_task_";
my @graphs = qw(active pending completed);
my %configs = (
@mikeda
mikeda / nginx.conf
Last active May 12, 2019 23:21
Nginxでクエリストリングを見て振り分け先を切り替える。 http://localhost/test.txt?para1=AAA ならバランサ1、 http://localhost/test.txt?para1=CCC ならバランサ2
user nginx;
worker_processes 1;
error_log /var/log/nginx/error.log;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
@mikeda
mikeda / snmp__if_cisco2960_.pl
Last active December 12, 2015 08:59
muninのSNMPプラグインをちょこちょこ書き換え 「1ポートで17回もポーリングしてたので、ifDescr、ifAlias、ifSpeedなどを取らないように」 「ErrorsとDiscardsを分離」 「SNMPのretry:1->0、timeout:5->2」 
#!/usr/bin/perl -w
# -*- cperl -*-
use strict;
use Munin::Plugin;
use Munin::Plugin::SNMP;
my $response;
my $iface;
my $alias;
@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',
@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 / 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 / logtail.rb
Created June 4, 2013 21:24
ログの差分出力スクリプト
#!/usr/local/bin/ruby
# ログの差分出力スクリプト
# 使用例
# 前回実行からの追記分を出力する
# $ logtail.rb access_log
#
# ログのローテートに対応させる場合はオプションでローテートファイルを指定する
# $ logtail.rb access_log -r access_log.1
#