Мелкие советы

Вопросы, касающиеся установки и настройки всех программ сервера хотспота
Ответить
Аватара пользователя
Dmitry
Администратор
Сообщения: 1073
Зарегистрирован: 25 май 2011, 09:14
Откуда: г. Запорожье, Украина
Контактная информация:

Мелкие советы

Сообщение Dmitry »

Т.к. обычно вопросы мне предпочитают задавать в аську или по телефону, решил выкладывать тут те, которые могли бы быть интересны многим.

В. Как узнать, когда был активирован ваучер.
О. Увы, напрямую в веб-интерфейсе этот параметр увидеть негде. Чтобы узнать это, придется воспользоваться консолью сервера. Итак.

Посмотрите ЛОГИН интересующего вас ваучера. Допустим (такой логи будет использован в приведенном ниже примере), это dmitry.
В терминале вводим команду

Код: Выделить всё

mysql -u root -p
после того, как вы введете верный пароль пользователя root для сервера баз данных MySQL, вы попадете в консоль сервера баз данных
в ней сначала перейдем в базу Easyhotspot. Для этого введите команду

Код: Выделить всё

use easyhotspot;
После сообщения об успешной смене базы данных (Database changed), введите такой запрос (памятуя о том, что мы интересуемся данными о пользователе с логином dmitry (вы, естественно подставьте свой)):

Код: Выделить всё

select acctstarttime from radacct where username='dmitry';
Сервер выдаст подобный результат:

Код: Выделить всё

+---------------------+
| acctstarttime       |
+---------------------+
| 2012-06-07 19:38:03 |
| 2012-06-12 09:15:13 |
| 2012-06-12 09:38:34 |
| 2012-06-12 09:40:30 |
| 2012-06-12 09:41:08 |
| 2012-06-12 09:41:49 |
| 2012-06-12 09:44:59 |
| 2012-06-12 09:45:52 |
| 2012-06-12 09:47:40 |
| 2012-06-12 09:48:55 |
| 2012-06-12 09:50:14 |
| 2012-06-12 09:51:39 |
| 2012-06-12 09:53:17 |
| 2012-06-12 09:54:27 |
| 2012-06-12 10:03:09 |
| 2012-06-12 10:04:51 |
| 2012-06-12 10:05:47 |
| 2012-06-12 10:06:23 |
| 2012-06-12 10:09:33 |
| 2012-06-12 10:10:50 |
| 2012-06-12 11:19:40 |
| 2012-06-15 13:52:48 |
| 2012-06-15 18:04:14 |
| 2012-06-15 18:12:41 |
| 2012-06-24 10:13:26 |
+---------------------+
25 rows in set (0.00 sec)
В данном случае - в ответе приведены данные о времени старта ВСЕХ сеансов клиента с логином dmitry. В принципе, временем активации система считает момент старта самого первого сеанса клиента. Таким образом, просто прочитав данные из самой первой строки (с самой "давней" датой), вы можете увидеть, когда ваучер был активирован клиентом.

При желании (т.к. зачастую сеансов может быть "ну очень много"), можно ввести запрос, чтобы сервер сам выдал только самую первую строку с одним единственным значением, которое и является датой и временем активации аккаунта:

Код: Выделить всё

select acctstarttime from radacct where username='dmitry' order by acctstarttime limit 1;
В итоге, ответ будет выглядеть подобным образом:

Код: Выделить всё

+---------------------+
| acctstarttime       |
+---------------------+
| 2012-06-07 19:38:03 |
+---------------------+
1 row in set (0.00 sec)
Если сравнить ответ на второй запрос с ответом на первый запрос, можно увидеть, что во втором случае выведена строка, которая в первом ответе стоит самой первой (то есть, как раз о моменте активации)...
Аватара пользователя
Dmitry
Администратор
Сообщения: 1073
Зарегистрирован: 25 май 2011, 09:14
Откуда: г. Запорожье, Украина
Контактная информация:

Re: Мелкие советы

Сообщение Dmitry »

"По мотивам" предыдущего мелкого совета была выполнена "мелкая модернизация" программы.
Теперь дату и время активации ваукчера кассир может видеть прямо в веб-интерфейсе программы
http://wifi-hotspot.zp.ua/forum/viewtop ... p=577#p577
Аватара пользователя
Dmitry
Администратор
Сообщения: 1073
Зарегистрирован: 25 май 2011, 09:14
Откуда: г. Запорожье, Украина
Контактная информация:

Re: Мелкие советы

Сообщение Dmitry »

Задали мне в переписке вопрос: "У меня точки доступа стоят в разных местах города у них разные ip адреса. Хочется получить статистику сколько абонентов было на каждой точке. Как такую статистику собрать?"

Увы, но в вебинтерфейсе Easyhotspot получить данную информацию невозможно.
Однако можно получить ответ, дав запрос в базу непосредственно в консоли сервера MySQL.

Итак, для этого в консоли сервера сначала входим в консоль MySQL:

Код: Выделить всё

mysql -u root -p 
В ответ на запрпос вводим пароль пользователя для сервера баз данных .
Попав в консоль , выбираем базу данных программы :

Код: Выделить всё

use easyhotspot;
После успешной смены базы данных (), вводим запрос:

Код: Выделить всё

select username,nasipaddress,COUNT(*) from radacct group by nasipaddress,username;
В ответ получаем табличку наподобие вот такой:

Код: Выделить всё

+----------+--------------+----------+
| username | nasipaddress | COUNT(*) |
+----------+--------------+----------+
| 1835556  | 192.168.1.30 |        2 |
| 5910     | 192.168.1.30 |        1 |
| 8401     | 192.168.1.30 |        7 |
| dmitry   | 192.168.1.99 |       72 |
| 52503914 | 195.114.7.23 |        1 |
| 0027     | 80.73.15.24  |        1 |
| 2724     | 80.73.15.24  |        1 |
| 9916     | 80.73.15.24  |        1 |
+----------+--------------+----------+
8 rows in set (0.00 sec)
Собственно, в ней показано число записей каждого пользователя для каждой из точек, сгруппированное именно по точкам доступа.
Ответить

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость