From 5547884ba440ab248f2a79f4415c7da066e437d0 Mon Sep 17 00:00:00 2001 From: Thibault Duplessis Date: Sat, 22 Dec 2012 15:40:52 +0100 Subject: [PATCH] add prod munin plugins --- bin/prod/munin/lichess_game_index | 21 ++++++++++++++++++++ bin/prod/munin/lichess_log_size | 32 ++++++++++++++++++++++++++++++ bin/prod/munin/lichess_moves | 27 +++++++++++++++++++++++++ bin/prod/munin/lichess_players | 31 +++++++++++++++++++++++++++++ bin/prod/munin/lichess_players_day | 20 +++++++++++++++++++ bin/prod/munin/lichess_posts_day | 20 +++++++++++++++++++ bin/prod/munin/lichess_themes.rb | 22 ++++++++++++++++++++ 7 files changed, 173 insertions(+) create mode 100755 bin/prod/munin/lichess_game_index create mode 100755 bin/prod/munin/lichess_log_size create mode 100755 bin/prod/munin/lichess_moves create mode 100755 bin/prod/munin/lichess_players create mode 100755 bin/prod/munin/lichess_players_day create mode 100755 bin/prod/munin/lichess_posts_day create mode 100755 bin/prod/munin/lichess_themes.rb diff --git a/bin/prod/munin/lichess_game_index b/bin/prod/munin/lichess_game_index new file mode 100755 index 0000000000..5407560a60 --- /dev/null +++ b/bin/prod/munin/lichess_game_index @@ -0,0 +1,21 @@ +#!/usr/bin/env php +count; +echo $count; +echo "\n"; diff --git a/bin/prod/munin/lichess_log_size b/bin/prod/munin/lichess_log_size new file mode 100755 index 0000000000..e53548d14e --- /dev/null +++ b/bin/prod/munin/lichess_log_size @@ -0,0 +1,32 @@ +#!/usr/bin/env php + 'cat /home/lila/logs/output.log | wc -l', + "ai_log" => 'ssh ai2.lichess.org "cat /home/lila/logs/output.log | wc -l"', + "mongo_log" => 'cat /var/log/mongodb/mongodb.log | wc -l', + "nginx_log" => 'cat /var/log/nginx/lila.error.log | wc -l' +); + +if(isset($argv[1]) && 'config' == $argv[1]) { + echo "graph_title Lichess log size growth +graph_args --base 1000 --lower-limit 0.01 --logarithmic +graph_vlabel growth +graph_category lichess +"; + +foreach ($logs as $log => $c) { + $name = str_replace('_', ' ', $log); + echo "$log.label $name +$log.draw LINE +$log.type DERIVE +$log.min 0 +"; +} + exit; +} + +foreach ($logs as $log => $command) { + echo "$log.value "; + echo exec($command) . "\n"; +} diff --git a/bin/prod/munin/lichess_moves b/bin/prod/munin/lichess_moves new file mode 100755 index 0000000000..9bb3774704 --- /dev/null +++ b/bin/prod/munin/lichess_moves @@ -0,0 +1,27 @@ +#!/usr/bin/env php + $url, + CURLOPT_PORT => 80, + CURLOPT_USERAGENT => 'munin', + CURLOPT_RETURNTRANSFER => true, + CURLOPT_TIMEOUT => 2 + )); +$moves = curl_exec($curl); + +echo "moves.value ".$moves."\n"; diff --git a/bin/prod/munin/lichess_players b/bin/prod/munin/lichess_players new file mode 100755 index 0000000000..677da6beb7 --- /dev/null +++ b/bin/prod/munin/lichess_players @@ -0,0 +1,31 @@ +#!/usr/bin/env php + $url, + CURLOPT_PORT => 80, + CURLOPT_USERAGENT => 'munin', + CURLOPT_RETURNTRANSFER => true, + CURLOPT_TIMEOUT => 2 + )); +$value = curl_exec($curl); +list($players, $named) = explode(' ', $value); + +echo "players.value ".$players."\n"; +echo "named.value ".$named."\n"; diff --git a/bin/prod/munin/lichess_players_day b/bin/prod/munin/lichess_players_day new file mode 100755 index 0000000000..be73e97ff2 --- /dev/null +++ b/bin/prod/munin/lichess_players_day @@ -0,0 +1,20 @@ +#!/usr/bin/env php +selectCollection('lichess', 'user2'); +echo $collection->count(array('createdAt' => array('$gte' => new MongoDate(date_create('- 1 day')->getTimestamp())))); +echo "\n"; diff --git a/bin/prod/munin/lichess_posts_day b/bin/prod/munin/lichess_posts_day new file mode 100755 index 0000000000..f80161392e --- /dev/null +++ b/bin/prod/munin/lichess_posts_day @@ -0,0 +1,20 @@ +#!/usr/bin/env php +selectCollection('lichess', 'f_post'); +echo $collection->count(array('createdAt' => array('$gte' => new MongoDate(date_create('- 1 day')->getTimestamp())))); +echo "\n"; diff --git a/bin/prod/munin/lichess_themes.rb b/bin/prod/munin/lichess_themes.rb new file mode 100755 index 0000000000..9ce77d6245 --- /dev/null +++ b/bin/prod/munin/lichess_themes.rb @@ -0,0 +1,22 @@ +#!/usr/bin/env ruby + +script = 'db.user2.group({cond:{"settings.theme":{$exists:true}},key:{"settings.theme":true},initial:{s:0},reduce:function(o,p){p.s++;}}).forEach(function(y) { print(y["settings.theme"] + ".value " + y.s);});' +command = 'mongo lichess --eval \'%s\'' % script + +themes = ['green', 'brown', 'blue', 'grey', 'wood', 'canvas'] + +if ARGV.include? 'config' + puts "graph_title Lichess themes popularity +graph_args --base 1000 -l 0 +graph_vlabel users +graph_category lichess +" +themes.each do |theme| + puts "#{theme}.label #{theme} +#{theme}.draw LINE +" +end +else + puts IO.popen(command).readlines.to_a[2..-1].join +end +