Munin plugin, пример.

28 декабря, 2011 · Posted in Без рубрики · 1 Comment 

Так получилось, что однажды, в целях ознакомления, поставленная система мониторинга Munin покорила меня своей простотой. С тех пор я нею и пользуюсь.

После недавних работ с геймсервером (была снесена FreeBSD, установлен CentOS), мунин законно встал и тут.

Захотелось анализировать загруженность игровых серверов. Полез делать плагин для Munin.

Что имеется:

  1. 3 игровых сервера
  2. Мониторинг серверов: lgsl
  3. Munin

Пишем плагин.

Для упрощения, я разбил систему информирования на составляющие. Т.е. для каждого сервера выдачу количества игроков на сервере ведет свой скрипт.

Код одного из таких скриптов, назовем его server1.sh:


#!/usr/bin/php
<?php
error_reporting(0);
require "/www/lgsl2/lgsl_files/lgsl_class.php";
$server_list = lgsl_query_cached_zone($lgsl_config['players'][0] ? "sp" : "s", 0);

$server_list = lgsl_sort_servers($server_list);

// print_r($server_list);

$results=$server_list[1]['s'];

//номер сервера узнаем из таблицы мониторинга lgsl

echo $results['players'];  //выводит количество игроков на этом сервере

?>

Делаем скрипт исполняемым:

chmod +x server1.sh

Проверяем выдачу результатов работы скрипта.

Делаем скрипты server2.sh и server3.sh и идем писать плагин.

В директории /usr/share/munin/plugins я взял первый плагин, который не использовал и заменил (а также переименовал) его содержимое на:


#!/bin/bash

if [ "$1" = "config" ]; then

echo 'graph_title MegaStyle game servers players'
 echo 'graph_args --base 1000 -r --lower-limit 0 --upper-limit 50'
 echo 'graph_vlabel players'
 echo 'player.label Red Orchestra players'
 echo 'tfplayer.label Team Fortress2 players'
 echo 'q3player.label Quake3 players'
 echo 'graph_category games'
exit 0
fi

echo "player.value" $(/www/lgsl2/server1.sh)
 echo "tfplayer.value" $(/www/lgsl2/server2.sh)
 echo "q3player.value" $(/www/lgsl2/server3.sh)

делаем плагин активным:

ln -s /usr/share/munin/plugins/нашплагин /etc/munin/plugins

рестартим ноду:

service munin-node restart

и идем глядеть результат на графике:

Полезное

13 января, 2013 · Posted in Без рубрики · Comment 

Фейсбук для графиков

Для построения графиков можно поставить где-то на хостинге Munin И написать к нему плагинчик.

Или пойти более олдскульным путем и заюзать rrdtool напрямую. А можно не заморачиваться, и скормить свои данные полезному сервису, который нарисует и сохранит все Ваши графики.

Я, для примера, вывел данные о посещаемости RO-сервера: https://cosm.com/feeds/97476


Для начала хватит и этой доки: https://cosm.com/docs/v2/feed/update.html

PS: попутно нашел хороший сервис для проверки (GET, POST) запросов: http://www.hurl.it/

Проверить почту из bash

Скрипт, нарытый на просторах и немного доработанный. Возвращает количество непрочитанных сообщений.

atomlines=`wget -T 3 -t 1 -q --secure-protocol=TLSv1 --no-check-certificate --user=USERNAME@gmail.com --password=PASSWORD \ https://mail.google.com/mail/feed/atom/LABEL -O - | grep -Po '^.*?\K(?).*?(?=
echo $atomlines 

LABEL — это новые письма по метке, можно убрать, тогда будет просто инбокс

https://api.cosm.com/v2/feeds/97476/datastreams/players.png?width=730&height=250&colour=%23f15a24&duration=1day&show_axis_labels=true&detailed_grid=true&scale=auto&timezone=UTC

Для себя

20 ноября, 2009 · Posted in Без рубрики · Comment 

Вот такое странное выражение я обнаружил у себя  в черновиках:

??—›V

Навряд ли это что-то означает, но выглядит неплохо.

Подведу промежуточный итог выставления сервера на колокейшн:

  • В работе 1 сайт: www.andboson.net
  • Удобная статистика piwik.
  • Мониторинг munin.
  • Обкатан и работает nginx.

На этом пока активные работы с сервером закончены. Ищу вдохновения для проектов.