Переодический перезапуск accel-ppp

IPoE related questions
Nightik
Posts: 38
Joined: 14 May 2020, 10:48

Переодический перезапуск accel-ppp

Post by Nightik »

Здравствуйте! Есть проблема переодического перезапуска приложения, в последнее время особенно часто связываю это с повышением кол-ва абонентов с отрицательным балансом или приостановленых в связи с пандемией. До этого эта проблема возникала но не так часто - раз 4 или 5 дней. Сейчас в день до 10 раз.
Работаем с iPoe(присваеваем абоненту статику) плюс радиус, биллинг используем BG Billing. При падении в логе accel-ppp ничего нет. Куда смотреть и как увеличить производительность приложения незнаю. Надеюсь на помощь. Спасибо.

ЗЫ Приложил бы какую нибудь информацию, но незнаю какую) с радостью это сделаю если кто то решит мне помочь с проблемой
dimka88
Posts: 866
Joined: 13 Oct 2014, 05:51
Contact:

Re: Переодический перезапуск accel-ppp

Post by dimka88 »

Доброго времени суток. Обратите внимание в вывод dmesg и journalctl.
Какая версия accel-ppp используется? accel-cmd -V
Nightik
Posts: 38
Joined: 14 May 2020, 10:48

Re: Переодический перезапуск accel-ppp

Post by Nightik »

accel-cmd a4fe1168dda707a2836f6d74c7a6610645b20152

в dmesg

[ 2639.992841] perf: interrupt took too long (2514 > 2500), lowering kernel.perf_event_max_sample_rate to 79500
[ 3387.857841] perf: interrupt took too long (3166 > 3142), lowering kernel.perf_event_max_sample_rate to 63000
[ 4428.662683] perf: interrupt took too long (3964 > 3957), lowering kernel.perf_event_max_sample_rate to 50250
[ 6069.396647] perf: interrupt took too long (4962 > 4955), lowering kernel.perf_event_max_sample_rate to 40250
[ 9230.106646] perf: interrupt took too long (6210 > 6202), lowering kernel.perf_event_max_sample_rate to 32000
[144257.499272] nf_conntrack: nf_conntrack: table full, dropping packet
[144257.499393] nf_conntrack: nf_conntrack: table full, dropping packet
[144257.500768] nf_conntrack: nf_conntrack: table full, dropping packet
[144257.620766] nf_conntrack: nf_conntrack: table full, dropping packet
[144257.809948] nf_conntrack: nf_conntrack: table full, dropping packet
[144257.810057] nf_conntrack: nf_conntrack: table full, dropping packet
[144257.810166] nf_conntrack: nf_conntrack: table full, dropping packet
[144257.810279] nf_conntrack: nf_conntrack: table full, dropping packet
[144257.810837] nf_conntrack: nf_conntrack: table full, dropping packet
[144257.810955] nf_conntrack: nf_conntrack: table full, dropping packet
[144262.738807] net_ratelimit: 57 callbacks suppressed
[144262.738808] nf_conntrack: nf_conntrack: table full, dropping packet
[144262.738812] nf_conntrack: nf_conntrack: table full, dropping packet
[144262.738987] nf_conntrack: nf_conntrack: table full, dropping packet
[144262.739326] nf_conntrack: nf_conntrack: table full, dropping packet
[144262.740058] nf_conntrack: nf_conntrack: table full, dropping packet

journalctl этот журнал показывается за последние 3 часа...соответственно падений за последние время не было...
dimka88
Posts: 866
Joined: 13 Oct 2014, 05:51
Contact:

Re: Переодический перезапуск accel-ppp

Post by dimka88 »

1. Accel желательно обновить, собрать с DEBUG
https://accel-ppp.org/wiki/doku.php?id= ... 0%B5%D1%82

2. Решите вопрос с переполнение conntrack. Это могло негативно повлиять на accounting что возможно привело и к падению демона
sysctl -w net.netfilter.nf_conntrack_max=1048576
Или сделайте notrack для сетей в сторону radius
Nightik
Posts: 38
Joined: 14 May 2020, 10:48

Re: Переодический перезапуск accel-ppp

Post by Nightik »

Если пересоберу, конфиг не нужно будет менять? Он его подхватит без проблем?
dimka88 wrote: 16 May 2020, 08:23 1. Accel желательно обновить, собрать с DEBUG
https://accel-ppp.org/wiki/doku.php?id= ... 0%B5%D1%82





2. Решите вопрос с переполнение conntrack. Это могло негативно повлиять на accounting что возможно привело и к падению демона
sysctl -w net.netfilter.nf_conntrack_max=1048576
Или сделайте notrack для сетей в сторону radius
Выполнил.
dimka88
Posts: 866
Joined: 13 Oct 2014, 05:51
Contact:

Re: Переодический перезапуск accel-ppp

Post by dimka88 »

Да, должен подхватить без проблем.
Nightik
Posts: 38
Joined: 14 May 2020, 10:48

Re: Переодический перезапуск accel-ppp

Post by Nightik »

пытаюсь скомпилировать с такими параметрами

cmake -DBUILD_IPOE_DRIVER=TRUE -DBUILD_VLAN_MON_DRIVER=TRUE -DCMAKE_INSTALL_PREFIX=/usr -DKDIR=/usr/src/linux-headers-`uname -r` -DLUA=TRUE -DCMAKE_BUILD_TYPE=Debug -DCMAKE_C_FLAGS=«-g -O0» -DMEMDEBUG=TRUE -DCPACK_TYPE=Debian10 ..


Выдает ошибку
Спойлер
CMake Deprecation Warning at CMakeLists.txt:3 (cmake_policy):
The OLD behavior for policy CMP0003 will be removed from a future version
of CMake.

The cmake-policies(7) manual explains that the OLD behaviors of all
policies are deprecated and that a policy should be set to OLD only under
specific short-term circumstances. Projects should be ported to the NEW
behavior and not rely on setting a policy to OLD.


-- The C compiler identification is GNU 8.3.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- broken
CMake Error at /usr/share/cmake-3.13/Modules/CMakeTestCCompiler.cmake:52 (message):
The C compiler

"/usr/bin/cc"

is not able to compile a simple test program.

It fails with the following output:

Change Dir: /opt/accel-ppp-code/build/CMakeFiles/CMakeTmp

Run Build Command:"/usr/bin/make" "cmTC_9d202/fast"
/usr/bin/make -f CMakeFiles/cmTC_9d202.dir/build.make CMakeFiles/cmTC_9d202.dir/build
make[1]: вход в каталог «/opt/accel-ppp-code/build/CMakeFiles/CMakeTmp»
Building C object CMakeFiles/cmTC_9d202.dir/testCCompiler.c.o
/usr/bin/cc «-g -o CMakeFiles/cmTC_9d202.dir/testCCompiler.c.o -c /opt/accel-ppp-code/build/CMakeFiles/CMakeTmp/testCCompiler.c
cc: error: «-g: Нет такого файла или каталога
make[1]: *** [CMakeFiles/cmTC_9d202.dir/build.make:66: CMakeFiles/cmTC_9d202.dir/testCCompiler.c.o] Ошибка 1
make[1]: выход из каталога «/opt/accel-ppp-code/build/CMakeFiles/CMakeTmp»
make: *** [Makefile:121: cmTC_9d202/fast] Ошибка 2




CMake will not be able to correctly generate this project.
Call Stack (most recent call first):
CMakeLists.txt:9 (project)


-- Configuring incomplete, errors occurred!
See also "/opt/accel-ppp-code/build/CMakeFiles/CMakeOutput.log".
See also "/opt/accel-ppp-code/build/CMakeFiles/CMakeError.log".
Nightik
Posts: 38
Joined: 14 May 2020, 10:48

Re: Переодический перезапуск accel-ppp

Post by Nightik »

Несколько часов назад опять отрубилась((
может эти данные что то подскажут
Спойлер
uptime: 0.03:44:53
cpu: 0%
memory:
rss/virt: 9844/507408 kB
arena: 4764 kB
mmaped: 0 kB
uordblks: 3519 kB
fordblks: 1244 kB
core:
mempool_allocated: 131072
mempool_available: 131072
thread_count: 4
thread_active: 3
context_count: 422
context_sleeping: 0
context_pending: 0
md_handler_count: 242
md_handler_pending: 0
timer_count: 410
timer_pending: 0
sessions:
starting: 1
active: 175
finishing: 0
ipoe:
starting: 3
active: 175
delayed: 0
radius(1, 192.168.100.7):
state: active
fail count: 0
request count: 1
queue length: 0
auth sent: 159724
auth lost(total/5m/1m): 227/0/0
auth avg query time(5m/1m): 3/3 ms
acct sent: 589
acct lost(total/5m/1m): 36/0/0
acct avg query time(5m/1m): 793/751 ms
interim sent: 7503
interim lost(total/5m/1m): 0/0/0
interim avg query time(5m/1m): 2/0 ms
Вот конфиг
Спойлер
[modules]
log_file
#log_syslog
#log_tcp
#log_pgsql

#pptp
#l2tp
#sstp
#pppoe
ipoe

#auth_mschap_v2
#auth_mschap_v1
#auth_chap_md5
#auth_pap

radius
#chap-secrets

#ippool

#pppd_compat

shaper
#net-snmp
#logwtmp
#connlimit

#ipv6_nd
#ipv6_dhcp
#ipv6pool

[core]
log-error=/var/log/accel-ppp/core.log
thread-count=4

[common]
#single-session=replace
#sid-case=upper
#sid-source=seq
#max-sessions=1000

[ppp]
verbose=1
min-mtu=1280
mtu=1400
mru=1400
#accomp=deny
#pcomp=deny
#ccp=0
#check-ip=0
#mppe=require
ipv4=require
ipv6=deny
ipv6-intf-id=0:0:0:1
ipv6-peer-intf-id=0:0:0:2
ipv6-accept-peer-intf-id=1
lcp-echo-interval=20
#lcp-echo-failure=3
lcp-echo-timeout=120
unit-cache=1
#unit-preallocate=1

[auth]
#any-login=0
#noauth=0

[pptp]
verbose=1
#echo-interval=30
#ifname=pptp%d

[pppoe]
verbose=1
#ac-name=xxx
#service-name=yyy
#pado-delay=0
#pado-delay=0,100:100,200:200,-1:500
called-sid=mac
#tr101=1
#padi-limit=0
#ip-pool=pppoe
#ifname=pppoe%d
#sid-uppercase=0
#vlan-mon=eth0,10-200
#vlan-timeout=60
#vlan-name=%I.%N
#interface=eth1,padi-limit=1000
interface=eth0

[l2tp]
verbose=1
#dictionary=/usr/local/share/accel-ppp/l2tp/dictionary
#hello-interval=60
#timeout=60
#rtimeout=1
#rtimeout-cap=16
#retransmit=5
#recv-window=16
#host-name=accel-ppp
#dir300_quirk=0
#secret=
#dataseq=allow
#reorder-timeout=0
#ip-pool=l2tp
#ifname=l2tp%d

[sstp]
verbose=1
#cert-hash-proto=sha1,sha256
#cert-hash-sha1=
#cert-hash-sha256=
#accept=ssl,proxy
#ssl-dhparam=/etc/ssl/dhparam.pem
#ssl-ecdh-curve=prime256v1
#ssl-ciphers=DEFAULT
#ssl-prefer-server-ciphers=0
#ssl-ca-file=/etc/ssl/sstp-ca.crt
#ssl-pemfile=/etc/ssl/sstp-cert.pem
#ssl-keyfile=/etc/ssl/sstp-key.pem
#host-name=domain.tld
#http-error=allow
#timeout=60
#hello-interval=60
#ip-pool=sstp
#ifname=sstp%d

[ipoe]
verbose=1
username=lua:username
lua-file=/etc/accel-ppp.lua
#username=ifname
#password=username
lease-time=600
renew-time=300
max-lease-time=3600
#unit-cache=1000
#l4-redirect-table=4
#l4-redirect-ipset=l4
#l4-redirect-on-reject=300
#l4-redirect-ip-pool=pool1
attr-l4-redirect=L4-Redirect
l4-redirect-ipset=l4-redirect
l4-redirect-ipset=l4-redirect
#shared=0
#ifcfg=1
mode=L2
#start=dhcpv4
#start=UP
#ip-unnumbered=1
#proxy-arp=0
#nat=0
#proto=100
#relay=10.10.10.10
#vendor=Custom
#weight=0
#attr-dhcp-client-ip=DHCP-Client-IP-Address
#attr-dhcp-router-ip=DHCP-Router-IP-Address
#attr-dhcp-mask=DHCP-Mask
#attr-dhcp-lease-time=DHCP-Lease-Time
#attr-dhcp-opt82=DHCP-Option82
#attr-dhcp-opt82-remote-id=DHCP-Agent-Remote-Id
#attr-dhcp-opt82-circuit-id=DHCP-Agent-Circuit-Id
#attr-l4-redirect=L4-Redirect
#attr-l4-redirect-table=4
#attr-l4-redirect-ipset=l4-redirect
#lua-file=/etc/accel-ppp.lua
#offer-delay=0,100:100,200:200,-1:1000
#vlan-mon=eth0,10-200
#vlan-timeout=60
#vlan-name=%I.%N
#ip-pool=ipoe
idle-timeout=60
#session-timeout=0
soft-terminate=1
#check-mac-change=1
#calling-sid=mac
#local-net=192.168.0.0/16
gw-ip-address=
gw-ip-address=
gw-ip-address=
attr-dhcp-cleint-ip=Framed-IP-Address
vlan-mon=re:enp2s0f1,2000-3000
interface=re:enp2s0f1\.[0-9][0-9][0-9][0-9],start=up,start=dhcpv4,ifcfg=1,shared=1,proxy-arp=1
vlan-timeout=3600

[dns]
dns1=
#dns2=172.16.1.1

[wins]
#wins1=172.16.0.1
#wins2=172.16.1.1

[radius]
#dictionary=/usr/local/share/accel-ppp/radius/dictionary
nas-identifier=accel
nas-ip-address=
#gw-ip-address=
server=
dae-server=
verbose=1
acct-interim-interval=300
interim-verbose=1
#timeout=3
#max-try=3
#acct-timeout=120
acct-timeout=0
#acct-delay-time=0
#acct-on=0
#attr-tunnel-type=My-Tunnel-Type

[client-ip-range]
10.0.0.0/8

[ip-pool]
gw-ip-address=192.168.0.1
#vendor=Cisco
#attr=Cisco-AVPair
attr=Framed-Pool
192.168.0.2-255
192.168.1.1-255,name=pool1
192.168.2.1-255,name=pool2
192.168.3.1-255,name=pool3
192.168.4.1-255,name=pool4,next=pool1
192.168.4.0/24

[log]
log-file=/var/log/accel-ppp/accel-ppp.log
log-emerg=/var/log/accel-ppp/emerg.log
log-fail-file=/var/log/accel-ppp/auth-fail.log
#log-debug=/dev/stdout
#syslog=accel-pppd,daemon
#log-tcp=127.0.0.1:3000
copy=1
#color=1
#per-user-dir=per_user
#per-session-dir=per_session
#per-session=1
level=5

[log-pgsql]
conninfo=user=log
log-table=log

[pppd-compat]
verbose=1
#ip-pre-up=/etc/ppp/ip-pre-up
ip-up=/etc/ppp/ip-up
ip-down=/etc/ppp/ip-down
#ip-change=/etc/ppp/ip-change
radattr-prefix=/var/run/radattr
#fork-limit=16

[chap-secrets]
gw-ip-address=192.168.100.1
#chap-secrets=/etc/ppp/chap-secrets
#encrypted=0
#username-hash=md5

[shaper]
#attr=Filter-Id
down-burst-factor=0.1
up-burst-factor=1.5
#latency=50
#mpu=0
#mtu=0
#r2q=10
#quantum=1500
#moderate-quantum=1
#cburst=1534
#ifb=ifb0
up-limiter=police
down-limiter=tbf
#leaf-qdisc=sfq perturb 10
#leaf-qdisc=fq_codel [limit PACKETS] [flows NUMBER] [target TIME] [interval TIME] [quantum BYTES] [[no]ecn]
#rate-multiplier=1
#fwmark=1
verbose=1
vendor=Cisco
attr=Cisco-AVPair

[cli]
verbose=1
telnet=127.0.0.1:2000
tcp=127.0.0.1:2001
#password=123
#sessions-columns=ifname,username,ip,ip6,ip6-dp,type,state,uptime,uptime-raw,calling-sid,called-sid,sid,comp,rx-bytes,tx-bytes,rx-bytes-raw,tx-bytes-raw,rx-pkts,tx-pkts

[snmp]
master=0
agent-name=accel-ppp

[connlimit]
limit=10/min
burst=3
timeout=60

[ipv6-pool]
#gw-ip6-address=fc00:0:1::1
fc00:0:1::/48,64
delegate=fc00:1::/36,48

[ipv6-dns]
#fc00:1::1
#fc00:1::2
#fc00:1::3
#dnssl=suffix1.local.net
#dnssl=suffix2.local.net.

[ipv6-dhcp]
verbose=1
pref-lifetime=604800
valid-lifetime=2592000
route-via-gw=1
Nightik
Posts: 38
Joined: 14 May 2020, 10:48

Re: Переодический перезапуск accel-ppp

Post by Nightik »

Nightik wrote: 16 May 2020, 11:31 пытаюсь скомпилировать с такими параметрами

cmake -DBUILD_IPOE_DRIVER=TRUE -DBUILD_VLAN_MON_DRIVER=TRUE -DCMAKE_INSTALL_PREFIX=/usr -DKDIR=/usr/src/linux-headers-`uname -r` -DLUA=TRUE -DCMAKE_BUILD_TYPE=Debug -DCMAKE_C_FLAGS=«-g -O0» -DMEMDEBUG=TRUE -DCPACK_TYPE=Debian10 ..


Выдает ошибку
Спойлер
CMake Deprecation Warning at CMakeLists.txt:3 (cmake_policy):
The OLD behavior for policy CMP0003 will be removed from a future version
of CMake.

The cmake-policies(7) manual explains that the OLD behaviors of all
policies are deprecated and that a policy should be set to OLD only under
specific short-term circumstances. Projects should be ported to the NEW
behavior and not rely on setting a policy to OLD.


-- The C compiler identification is GNU 8.3.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- broken
CMake Error at /usr/share/cmake-3.13/Modules/CMakeTestCCompiler.cmake:52 (message):
The C compiler

"/usr/bin/cc"

is not able to compile a simple test program.

It fails with the following output:

Change Dir: /opt/accel-ppp-code/build/CMakeFiles/CMakeTmp

Run Build Command:"/usr/bin/make" "cmTC_9d202/fast"
/usr/bin/make -f CMakeFiles/cmTC_9d202.dir/build.make CMakeFiles/cmTC_9d202.dir/build
make[1]: вход в каталог «/opt/accel-ppp-code/build/CMakeFiles/CMakeTmp»
Building C object CMakeFiles/cmTC_9d202.dir/testCCompiler.c.o
/usr/bin/cc «-g -o CMakeFiles/cmTC_9d202.dir/testCCompiler.c.o -c /opt/accel-ppp-code/build/CMakeFiles/CMakeTmp/testCCompiler.c
cc: error: «-g: Нет такого файла или каталога
make[1]: *** [CMakeFiles/cmTC_9d202.dir/build.make:66: CMakeFiles/cmTC_9d202.dir/testCCompiler.c.o] Ошибка 1
make[1]: выход из каталога «/opt/accel-ppp-code/build/CMakeFiles/CMakeTmp»
make: *** [Makefile:121: cmTC_9d202/fast] Ошибка 2




CMake will not be able to correctly generate this project.
Call Stack (most recent call first):
CMakeLists.txt:9 (project)


-- Configuring incomplete, errors occurred!
See also "/opt/accel-ppp-code/build/CMakeFiles/CMakeOutput.log".
See also "/opt/accel-ppp-code/build/CMakeFiles/CMakeError.log".
Друзья, все делал по инструкции, необходимые зависимости установил, но cmake на что то жалуется, собрать новую версию не получается. Выручайте
dimka88
Posts: 866
Joined: 13 Oct 2014, 05:51
Contact:

Re: Переодический перезапуск accel-ppp

Post by dimka88 »

Доброго времени суток, проверил у себя на Debian 10, все собирается. Единственное, не стоит собирать пакетом если планируется отлаживать accel-ppp

Code: Select all

apt-get install -y build-essential cmake gcc linux-headers-`uname -r` git libpcre3-dev libssl-dev liblua5.1-0-dev
git clone https://github.com/accel-ppp/accel-ppp.git /opt/accel-ppp-code
mkdir /opt/accel-ppp-code/build
cd /opt/accel-ppp-code/build/
cmake -DBUILD_IPOE_DRIVER=TRUE -DBUILD_VLAN_MON_DRIVER=TRUE -DCMAKE_INSTALL_PREFIX=/usr -DKDIR=/usr/src/linux-headers-`uname -r` -DLUA=TRUE  -DCMAKE_BUILD_TYPE=Debug -DCMAKE_C_FLAGS="-g -O0" -DMEMDEBUG=TRUE  ..
make
make install
p/s: У вас что то с кавычками «-g -O0»
Post Reply