Страница 1 из 1

/var/db/mysql/netams/

Добавлено: 2010-08-07 8:03:02
BKS
Добрый !
как всегда я за советом.
/var слишком быстро заполняется, в /var/db/mysql/netams/ самое весомое monitor.MYI и monitor.MYD как на дрожах увеличеваются.
нагуглил 2 решения
1. линковать на другой раздел (но ведь и он также заполнится и приплыли)
2. указать в мускуле максимальное значение (как он себя поведет интересно ?)
Подскажите как оно лучше будет, возможно кто то делает есчо проше ?

Re: /var/db/mysql/netams/

Добавлено: 2010-08-07 12:02:41
Burner
регулярно чистить базу от ненужных значений

Re: /var/db/mysql/netams/

Добавлено: 2010-08-07 12:30:58
BKS
Burner писал(а):регулярно чистить базу от ненужных значений
ненужных значений - ?
ни разу ни чистил , удалять удалял а вот чисткой не занимался как оно правильней будет ?

Re: /var/db/mysql/netams/

Добавлено: 2010-08-07 16:08:28
tynix
Здесь.
А ещё можно мониторить не всё подряд, а только то, что необходимо. Это значительно сокращает размер базы.

Re: /var/db/mysql/netams/

Добавлено: 2010-08-07 16:50:53
BKS
в mysql_rotate.pl добавил в конец и перезапустил netams, базы не уменьшились
#clear monitor
$dbh->do("DELETE FROM monitor WHERE time<$time");
$dbh->do("OPTIMIZE TABLE monitor");
$dbh->do("FLUSH TABLE monitor");

Re: /var/db/mysql/netams/

Добавлено: 2010-08-07 18:40:38
tynix
Значит вручную удали, там написано, как.
И ещё сделай оптимизацию и проверку таблиц.

Re: /var/db/mysql/netams/

Добавлено: 2010-08-07 19:14:10
BKS
tynix писал(а):Значит вручную удали, там написано, как.
И ещё сделай оптимизацию и проверку таблиц.
оптимизацию и проверку таблиц-?
а этого мало $dbh->do("OPTIMIZE TABLE monitor"); или есчо нужно что то сделать ?
заранее прошу прошение , впервые с этим сталкнулся по тому лучше на пальзах обьяснить

Re: /var/db/mysql/netams/

Добавлено: 2010-08-08 11:05:02
tynix
1. Точно этот скрипт отрабатывает? (у меня его счас нет под рукой, чтобы проверить).
2. Может у тебя нет данных старше 6 месяцев, попробуй указать другой период.
3. Я бы всё-таки попробовал вручную. man mysqlcheck.
monitor нужен только для того, чтобы выдавать детальную статистику (с какого ип на какой, протокол, порт и т.д.), если на какие-то хосты не нужно собирать такую статистику-не мониторь их. Суммарный траф так и будет выводиться, пока есть юнит.

Re: /var/db/mysql/netams/

Добавлено: 2010-08-08 13:06:00
BKS
Спасибо за ответы.
tynix писал(а):1. Точно этот скрипт отрабатывает? (у меня его счас нет под рукой, чтобы проверить).
2. Может у тебя нет данных старше 6 месяцев, попробуй указать другой период.
3. Я бы всё-таки попробовал вручную. man mysqlcheck.
monitor нужен только для того, чтобы выдавать детальную статистику (с какого ип на какой, протокол, порт и т.д.), если на какие-то хосты не нужно собирать такую статистику-не мониторь их. Суммарный траф так и будет выводиться, пока есть юнит.
1-как посмотреть действительно ли он отрабатывается?
/usr/local/etc/netams/mysql_rotate.pl
#!/usr/bin/perl
#
# $Id: mysql_rotate.pl,v 1.3 2008-01-02 13:31:38 anton Exp $
#
# This script removes old unnecessary data from netams tables.
#
# Data removed older then 2 month.

use DBI;
use Time::Local;

($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);
$mon-=2;
if($mon<0) {
$mon+=12;
$year--;
}
$time = timelocal(0,0,0,1,$mon,$year);

#($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime($time);
#print "$mday $mon $year\n";

# Data required to do a script login, change this
# login to netams
$sql_type="mysql";
$sql_dbname="netams";
$sql_host="localhost";
$sql_port=20001;
$sql_login="admin";
$sql_password="123";

$dbh = DBI->connect("DBI:$sql_type:database=$sql_dbname;host=$sql_host", $sql_login, $sql_password);
if ($dbh eq "") {
$p1.="Unable to connect to SQL radius database!\n"; }
else {
$p1.="Connected to database $sql_dbname \n";
}

#clear raw
$dbh->do("DELETE FROM raw WHERE t_from<$time");
#clear events
$dbh->do("DELETE FROM events WHERE time<$time");
#clear bstat
$dbh->do("DELETE FROM bstat WHERE t_from<$time");
#clear monitor
$dbh->do("DELETE FROM monitor WHERE time<$time");
$dbh->do("OPTIMIZE TABLE monitor");
$dbh->do("FLUSH TABLE monitor");
2-тут по умолчанию 2 месяца указано как я понял ($mon-=2;) указывал 1 все равно место не уменьшилось
3-хотелось автоматизировать процесс , без какого либо вмишательства

Re: /var/db/mysql/netams/

Добавлено: 2010-08-09 6:00:07
Burner
1 - залезть в базу и посмотреть на время в таблице
2 - см.1
3 - cron

Re: /var/db/mysql/netams/

Добавлено: 2010-08-09 20:22:57
BKS
Burner писал(а):1 - залезть в базу и посмотреть на время в таблице
2 - см.1
3 - cron
Прошу прошения, можно на пальцах, какими командами - залезть в базу и посмотреть на время в таблице.
в crontab
*/3 * * * 0 root /usr/local/etc/netams/mysql_rotate.pl
все равно без изменений

Re: /var/db/mysql/netams/

Добавлено: 2010-08-10 9:58:27
Burner
mysql -uroot -p
use..
select .. from.. where..

Re: /var/db/mysql/netams/

Добавлено: 2010-08-12 9:03:04
BKS
Burner писал(а):mysql -uroot -p
use..
select .. from.. where..
Мож сылочку кинете где по подробней описано о командах мускула или команды как то по подробней плиз.
до where.. команды срабатывают
use..
select .. from..
вместе с where.. команды не срабатывают пишет ошибки
use..
select .. from.. where..

что на гуглил и что срабатывает -
mysql -u root -p
show databases;
CREATE DATABASE nawt;
flush privileges;
connect netams
drop database netams;
use netams;
show tables;
select * from monitor;
select user,host,password from user;
show tables from mysql;
status
помогите чайнику

Re: /var/db/mysql/netams/

Добавлено: 2010-08-12 9:13:50
zeus4all
не очень в БД но попробуйте
http://www.lissyara.su/articles/freebsd ... criptions/

Re: /var/db/mysql/netams/

Добавлено: 2010-08-12 11:21:34
BKS
zeus4all писал(а):не очень в БД но попробуйте
http://www.lissyara.su/articles/freebsd ... criptions/
Огромное спасибо !!!
гуглил по крупицам а тут уже все разжовано =)

Re: /var/db/mysql/netams/

Добавлено: 2010-08-12 11:28:32
BKS
BKS писал(а):в mysql_rotate.pl добавил в конец и перезапустил , базы не уменьшились
#clear monitor
$dbh->do("DELETE FROM monitor WHERE time<$time");
$dbh->do("OPTIMIZE TABLE monitor");
$dbh->do("FLUSH TABLE monitor");
как посмотреть действительно ли он отрабатывается?
/usr/local/etc/netams/mysql_rotate.pl

Re: /var/db/mysql/netams/

Добавлено: 2010-08-12 19:29:48
BKS
Выручайте хлопцы.
осталось всего 1G в /var
в /var/db/mysql/netams/ самое весомое monitor.MYI и monitor.MYD как на дрожах увеличеваются.
в /usr/local/etc/netams/mysql_rotate.pl добавил в конец
#clear monitor
$dbh->do("DELETE FROM monitor WHERE time<$time");
$dbh->do("OPTIMIZE TABLE monitor");
$dbh->do("FLUSH TABLE monitor");
в crontab добавил
*/3 * * * 0 root /usr/local/etc/netams/mysql_rotate.pl
ребутил систему не однократно, бесполезно.
чего не хватает ?

Re: /var/db/mysql/netams/

Добавлено: 2010-08-12 20:37:40
BKS
mysql> delete from monitor where time < unix_timestamp(date_add(now(), interval -1 MONTH));
минут 10 думал и без результатов????

Re: /var/db/mysql/netams/

Добавлено: 2010-08-13 1:05:26
Burner
вы как определяете, что без результатов?

Re: /var/db/mysql/netams/

Добавлено: 2010-08-13 6:36:20
BKS
/dev/ad4s1e 4.8G 3.4G 1.1G 76% /var

/usr/home/bisti/>ll /var/db/mysql/netams/
total 3325816
-rw-rw---- 1 mysql mysql 65 Jun 25 23:29 db.opt
-rw-rw---- 1 mysql mysql 12860 Aug 12 21:52 events.MYD
-rw-rw---- 1 mysql mysql 1024 Aug 12 23:36 events.MYI
-rw-rw---- 1 mysql mysql 8742 Jun 25 23:29 events.frm
-rw-rw---- 1 mysql mysql 1999720644 Aug 13 09:36 monitor.MYD
-rw-rw---- 1 mysql mysql 1356222464 Aug 13 09:36 monitor.MYI
-rw-rw---- 1 mysql mysql 9018 Jun 25 23:31 monitor.frm
-rw-rw---- 1 mysql mysql 540 Aug 12 21:52 oids.MYD
-rw-rw---- 1 mysql mysql 2048 Aug 12 23:36 oids.MYI
-rw-rw---- 1 mysql mysql 8588 Jun 25 23:29 oids.frm
-rw-rw---- 1 mysql mysql 18376611 Aug 13 09:34 raw.MYD
-rw-rw---- 1 mysql mysql 25674752 Aug 13 09:34 raw.MYI
-rw-rw---- 1 mysql mysql 8752 Jun 25 23:32 raw.frm
-rw-rw---- 1 mysql mysql 1261020 Aug 13 09:34 summary.MYD
-rw-rw---- 1 mysql mysql 2492416 Aug 13 09:34 summary.MYI
-rw-rw---- 1 mysql mysql 8766 Jun 25 23:29 summary.frm

Re: /var/db/mysql/netams/

Добавлено: 2010-08-13 16:43:16
Burner
боже мой. Вы ведь не притворяетесь? Посмотрите количество строк в таблице до запуска скрипта. Посмотрите после запуска скрипта. Если они одинаковые, значит уменьшайте период хранения или увеличивайте дисковое пространство.

Re: /var/db/mysql/netams/

Добавлено: 2010-08-15 18:50:41
BKS
Спасибо!!
из меня плохой симулянт =)