LINUX.ORG.RU
ФорумAdmin

squid не статрует

 


0

2

Доброго времени суток. Поставил на CentOS 7 x64 squid. Ставил через yum. Если делаем

systemctl start squid
, то все работает отлично. А если сделать
systemctl enable squid
, то после перезагрузки
systemctl status squid
показывает
● squid.service - Squid caching proxy
Loaded: loaded (/usr/lib/systemd/system/squid.service; enabled; vendor preset: disabled)
Active: active (running) (Result: exit-code) since Fri 2016-10-14 15:00:38 MSK; 28min ago
Process: 1169 ExecReload=/usr/sbin/squid $SQUID_OPTS -k reconfigure -f $SQUID_CONF (code=exited, status=1/FAILURE)
Process: 931 ExecStart=/usr/sbin/squid $SQUID_OPTS -f $SQUID_CONF (code=exited, status=0/SUCCESS)
Process: 915 ExecStartPre=/usr/libexec/squid/cache_swap.sh (code=exited, status=0/SUCCESS)
Main PID: 1100 (squid)
CGroup: /system.slice/squid.service
├─1100 /usr/sbin/squid -f /etc/squid/squid.conf
├─1103 (squid-1) -f /etc/squid/squid.conf
└─1180 (logfile-daemon) /var/log/squid/access.log

Oct 14 15:00:37 fw systemd[1]: Starting Squid caching proxy...
Oct 14 15:00:38 fw squid[1100]: Squid Parent: will start 1 kids
Oct 14 15:00:38 fw squid[1100]: Squid Parent: (squid-1) process 1103 started
Oct 14 15:00:38 fw systemd[1]: Started Squid caching proxy.
Oct 14 15:00:38 fw squid[1169]: squid: ERROR: No running copy
Oct 14 15:00:38 fw systemd[1]: squid.service: control process exited, code=exited status=1
Oct 14 15:00:38 fw systemd[1]: Reload failed for Squid caching proxy.
и squid не работает. В файле конфигурации squid прописал
visible_hostname fw
pid_filename /run/squid.pid
результат тот же. Попробовал
chown squid:squid /run/squid.pid
Не помогло, причем после перезагрузки хозяином снова становится root, а не squid. Порыл и выяснил, что squid.pid находится и в /run/ и в /var/run/ . Пробовал играть и с /run/squid.pid и с /var/run/squid.pid Вот файл squid
visible_hostname fw
pid_filename /run/squid.pid
#
# Recommended minimum configuration:
#

# Example rule allowing access from your local networks.
# Adapt to list your (internal) IP networks from where browsing
# should be allowed
acl localnet src 10.0.0.0/8 # RFC1918 possible internal network
acl localnet src 172.16.0.0/12 # RFC1918 possible internal network
acl localnet src 192.168.0.0/16 # RFC1918 possible internal network
acl localnet src fc00::/7 # RFC 4193 local private network range
acl localnet src fe80::/10 # RFC 4291 link-local (directly plugged) machines

acl SSL_ports port 443
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT

#
# Recommended minimum Access Permission configuration:
#
# Deny requests to certain unsafe ports
http_access deny !Safe_ports

# Deny CONNECT to other than secure SSL ports
http_access deny CONNECT !SSL_ports

# Only allow cachemgr access from localhost
http_access allow localhost manager
http_access deny manager

# We strongly recommend the following be uncommented to protect innocent
# web applications running on the proxy server who think the only
# one who can access services on "localhost" is a local user
#http_access deny to_localhost

#
# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
#

# Example rule allowing access from your local networks.
# Adapt localnet in the ACL section to list your (internal) IP networks
# from where browsing should be allowed
http_access allow localnet
http_access allow localhost

# And finally deny all other access to this proxy
http_access deny all

# Squid normally listens to port 3128
http_port 3128

# Uncomment and adjust the following to add a disk cache directory.
#cache_dir ufs /var/spool/squid 100 16 256

# Leave coredumps in the first cache dir
coredump_dir /var/spool/squid

#
# Add any of your own refresh_pattern entries above these.
#
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern . 0 20% 4320
В общем господа спецы хелп ми.

/var/run/ это симлинк на /run/

Что в логах самого сквида после перезагрузке? И есть ли какие подробности в системных логах? journalctl -u squid

shell-script ★★★★★
()
Ответ на: комментарий от shell-script

journalctl -u squid

● squid.service - Squid caching proxy
   Loaded: loaded (/usr/lib/systemd/system/squid.service; enabled; vendor preset                                                                                                                                                             : disabled)
   Active: active (running) (Result: exit-code) since Fri 2016-10-14 16:10:43 MS                                                                                                                                                             K; 40s ago
  Process: 1046 ExecReload=/usr/sbin/squid $SQUID_OPTS -k reconfigure -f $SQUID_                                                                                                                                                             CONF (code=exited, status=1/FAILURE)
  Process: 923 ExecStart=/usr/sbin/squid $SQUID_OPTS -f $SQUID_CONF (code=exited                                                                                                                                                             , status=0/SUCCESS)
  Process: 908 ExecStartPre=/usr/libexec/squid/cache_swap.sh (code=exited, statu                                                                                                                                                             s=0/SUCCESS)
 Main PID: 975 (squid)
   CGroup: /system.slice/squid.service
           ├─ 975 /usr/sbin/squid -f /etc/squid/squid.conf
           ├─ 980 (squid-1) -f /etc/squid/squid.conf
           └─1080 (logfile-daemon) /var/log/squid/access.log

Oct 14 16:10:43 fw3 systemd[1]: Starting Squid caching proxy...
Oct 14 16:10:43 fw3 squid[975]: Squid Parent: will start 1 kids
Oct 14 16:10:43 fw3 squid[975]: Squid Parent: (squid-1) process 980 started
Oct 14 16:10:43 fw3 systemd[1]: Started Squid caching proxy.
Oct 14 16:10:44 fw3 squid[1046]: squid: ERROR: No running copy
Oct 14 16:10:44 fw3 systemd[1]: squid.service: control process exited, code...=1
Oct 14 16:10:44 fw3 systemd[1]: Reload failed for Squid caching proxy.
Hint: Some lines were ellipsized, use -l to show in full.
[root@fw3 ~]# journalctl -u squid
-- Logs begin at Fri 2016-10-14 17:10:33 MSK, end at Fri 2016-10-14 16:32:17 MSK
Oct 14 16:10:43 fw3 systemd[1]: Starting Squid caching proxy...
Oct 14 16:10:43 fw3 squid[975]: Squid Parent: will start 1 kids
Oct 14 16:10:43 fw3 squid[975]: Squid Parent: (squid-1) process 980 started
Oct 14 16:10:43 fw3 systemd[1]: Started Squid caching proxy.
Oct 14 16:10:44 fw3 squid[1046]: squid: ERROR: No running copy
Oct 14 16:10:44 fw3 systemd[1]: squid.service: control process exited, code=exit
Oct 14 16:10:44 fw3 systemd[1]: Reload failed for Squid caching proxy.
lines 1-8/8 (END)...skipping...
-- Logs begin at Fri 2016-10-14 17:10:33 MSK, end at Fri 2016-10-14 16:32:17 MSK. --
Oct 14 16:10:43 fw3 systemd[1]: Starting Squid caching proxy...
Oct 14 16:10:43 fw3 squid[975]: Squid Parent: will start 1 kids
Oct 14 16:10:43 fw3 squid[975]: Squid Parent: (squid-1) process 980 started
Oct 14 16:10:43 fw3 systemd[1]: Started Squid caching proxy.
Oct 14 16:10:44 fw3 squid[1046]: squid: ERROR: No running copy
Oct 14 16:10:44 fw3 systemd[1]: squid.service: control process exited, code=exited status=1
Oct 14 16:10:44 fw3 systemd[1]: Reload failed for Squid caching proxy.

sasha198407
() автор топика
Ответ на: комментарий от sasha198407

cat /var/log/squid/cache.log

2016/10/14 16:09:13 kid1| Preparing for shutdown after 0 requests
2016/10/14 16:09:13 kid1| Waiting 30 seconds for active connections to finish
2016/10/14 16:09:13 kid1| Closing HTTP port [::]:3128
2016/10/14 16:09:13 kid1| Shutdown: NTLM authentication.
2016/10/14 16:09:13 kid1| Shutdown: Negotiate authentication.
2016/10/14 16:09:13 kid1| Shutdown: Digest authentication.
2016/10/14 16:09:13 kid1| Shutdown: Basic authentication.
2016/10/14 16:09:32 kid1| Starting Squid Cache version 3.3.8 for x86_64-redhat-linux-gnu...
2016/10/14 16:09:32 kid1| Process ID 965
2016/10/14 16:09:32 kid1| Process Roles: worker
2016/10/14 16:09:32 kid1| With 16384 file descriptors available
2016/10/14 16:09:32 kid1| Initializing IP Cache...
2016/10/14 16:09:32 kid1| DNS Socket created at [::], FD 7
2016/10/14 16:09:32 kid1| DNS Socket created at 0.0.0.0, FD 8
2016/10/14 16:09:32 kid1| Adding domain neftehim.local from /etc/resolv.conf
2016/10/14 16:09:32 kid1| Adding nameserver 192.168.148.2 from /etc/resolv.conf
2016/10/14 16:09:32 kid1| Adding nameserver 192.168.148.1 from /etc/resolv.conf
2016/10/14 16:09:33 kid1| Logfile: opening log daemon:/var/log/squid/access.log
2016/10/14 16:09:33 kid1| Logfile Daemon: opening log /var/log/squid/access.log
2016/10/14 16:09:33 kid1| Local cache digest enabled; rebuild/rewrite every 3600/3600 sec
2016/10/14 16:09:33 kid1| Store logging disabled
2016/10/14 16:09:33 kid1| Swap maxSize 0 + 262144 KB, estimated 20164 objects
2016/10/14 16:09:33 kid1| Target number of buckets: 1008
2016/10/14 16:09:33 kid1| Using 8192 Store buckets
2016/10/14 16:09:33 kid1| Max Mem  size: 262144 KB
2016/10/14 16:09:33 kid1| Max Swap size: 0 KB
2016/10/14 16:09:33 kid1| Using Least Load store dir selection
2016/10/14 16:09:33 kid1| Set Current Directory to /var/spool/squid
2016/10/14 16:09:33 kid1| Loaded Icons.
2016/10/14 16:09:33 kid1| HTCP Disabled.
2016/10/14 16:09:33 kid1| Squid plugin modules loaded: 0
2016/10/14 16:09:33 kid1| Adaptation support is off.
2016/10/14 16:09:33 kid1| Accepting HTTP Socket connections at local=[::]:3128 remote=[::] FD 11 flags=9
2016/10/14 16:09:34 kid1| storeLateRelease: released 0 objects
2016/10/14 16:10:23 kid1| Preparing for shutdown after 0 requests
2016/10/14 16:10:23 kid1| Waiting 30 seconds for active connections to finish
2016/10/14 16:10:23 kid1| Closing HTTP port [::]:3128
2016/10/14 16:10:23 kid1| Shutdown: NTLM authentication.
2016/10/14 16:10:23 kid1| Shutdown: Negotiate authentication.
2016/10/14 16:10:23 kid1| Shutdown: Digest authentication.
2016/10/14 16:10:23 kid1| Shutdown: Basic authentication.
2016/10/14 16:10:43 kid1| Starting Squid Cache version 3.3.8 for x86_64-redhat-linux-gnu...
2016/10/14 16:10:43 kid1| Process ID 980
2016/10/14 16:10:43 kid1| Process Roles: worker
2016/10/14 16:10:43 kid1| With 16384 file descriptors available
2016/10/14 16:10:43 kid1| Initializing IP Cache...
2016/10/14 16:10:44 kid1| DNS Socket created at [::], FD 7
2016/10/14 16:10:44 kid1| DNS Socket created at 0.0.0.0, FD 8
2016/10/14 16:10:44 kid1| Adding domain neftehim.local from /etc/resolv.conf
2016/10/14 16:10:44 kid1| Adding nameserver 192.168.148.2 from /etc/resolv.conf
2016/10/14 16:10:44 kid1| Adding nameserver 192.168.148.1 from /etc/resolv.conf
2016/10/14 16:10:44 kid1| Logfile: opening log daemon:/var/log/squid/access.log
2016/10/14 16:10:44 kid1| Logfile Daemon: opening log /var/log/squid/access.log
2016/10/14 16:10:44 kid1| Local cache digest enabled; rebuild/rewrite every 3600/3600 sec
2016/10/14 16:10:44 kid1| Store logging disabled
2016/10/14 16:10:44 kid1| Swap maxSize 0 + 262144 KB, estimated 20164 objects
2016/10/14 16:10:44 kid1| Target number of buckets: 1008
2016/10/14 16:10:44 kid1| Using 8192 Store buckets
2016/10/14 16:10:44 kid1| Max Mem  size: 262144 KB
2016/10/14 16:10:44 kid1| Max Swap size: 0 KB
2016/10/14 16:10:44 kid1| Using Least Load store dir selection
2016/10/14 16:10:44 kid1| Set Current Directory to /var/spool/squid
2016/10/14 16:10:44 kid1| Loaded Icons.
2016/10/14 16:10:44 kid1| HTCP Disabled.
2016/10/14 16:10:44 kid1| Squid plugin modules loaded: 0
2016/10/14 16:10:44 kid1| Adaptation support is off.
2016/10/14 16:10:44 kid1| Accepting HTTP Socket connections at local=[::]:3128 remote=[::] FD 11 flags=9
2016/10/14 16:10:45 kid1| storeLateRelease: released 0 objects
2016/10/14 16:34:45 kid1| Preparing for shutdown after 0 requests
2016/10/14 16:34:45 kid1| Waiting 30 seconds for active connections to finish
2016/10/14 16:34:45 kid1| Closing HTTP port [::]:3128
2016/10/14 16:34:45 kid1| Shutdown: NTLM authentication.
2016/10/14 16:34:45 kid1| Shutdown: Negotiate authentication.
2016/10/14 16:34:45 kid1| Shutdown: Digest authentication.
2016/10/14 16:34:45 kid1| Shutdown: Basic authentication.
2016/10/14 16:35:19 kid1| Starting Squid Cache version 3.3.8 for x86_64-redhat-linux-gnu...
2016/10/14 16:35:19 kid1| Process ID 1096
2016/10/14 16:35:19 kid1| Process Roles: worker
2016/10/14 16:35:19 kid1| With 16384 file descriptors available
2016/10/14 16:35:19 kid1| Initializing IP Cache...
2016/10/14 16:35:19 kid1| DNS Socket created at [::], FD 7
2016/10/14 16:35:19 kid1| DNS Socket created at 0.0.0.0, FD 8
2016/10/14 16:35:19 kid1| Adding domain neftehim.local from /etc/resolv.conf
2016/10/14 16:35:19 kid1| Adding nameserver 192.168.148.2 from /etc/resolv.conf
2016/10/14 16:35:19 kid1| Adding nameserver 192.168.148.1 from /etc/resolv.conf
2016/10/14 16:35:20 kid1| Logfile: opening log daemon:/var/log/squid/access.log
2016/10/14 16:35:20 kid1| Logfile Daemon: opening log /var/log/squid/access.log
2016/10/14 16:35:20 kid1| Local cache digest enabled; rebuild/rewrite every 3600/3600 sec
2016/10/14 16:35:20 kid1| Store logging disabled
2016/10/14 16:35:20 kid1| Swap maxSize 0 + 262144 KB, estimated 20164 objects
2016/10/14 16:35:20 kid1| Target number of buckets: 1008
2016/10/14 16:35:20 kid1| Using 8192 Store buckets
2016/10/14 16:35:20 kid1| Max Mem  size: 262144 KB
2016/10/14 16:35:20 kid1| Max Swap size: 0 KB
2016/10/14 16:35:20 kid1| Using Least Load store dir selection
2016/10/14 16:35:20 kid1| Set Current Directory to /var/spool/squid
2016/10/14 16:35:21 kid1| Loaded Icons.
2016/10/14 16:35:21 kid1| HTCP Disabled.
2016/10/14 16:35:21 kid1| Squid plugin modules loaded: 0
2016/10/14 16:35:21 kid1| Adaptation support is off.
2016/10/14 16:35:21 kid1| Accepting HTTP Socket connections at local=[::]:3128 remote=[::] FD 11 flags=9
2016/10/14 16:35:21 kid1| storeLateRelease: released 0 objects

sasha198407
() автор топика

У меня похожая фигня была, когда в было отключено ipv6 протокол на интерфейсах или когда все чейны ip6tables были выставлены в DROP по умолчанию.

скинь вывод команд:

ip6tables -L
sysctl -a | grep disable_ipv6

Acceptor ★★
()
Ответ на: комментарий от Acceptor
# ip6tables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

# sysctl -a | grep disable_ipv6
net.ipv6.conf.all.disable_ipv6 = 0
net.ipv6.conf.default.disable_ipv6 = 0
net.ipv6.conf.eno16777984.disable_ipv6 = 0
net.ipv6.conf.eno33557248.disable_ipv6 = 0
net.ipv6.conf.lo.disable_ipv6 = 0
sasha198407
() автор топика
Ответ на: комментарий от Acceptor
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eno16777984: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qle                                                                                                                                                             n 1000
    link/ether mac-address brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.3/24 brd 192.168.1.255 scope global eno16777984
       valid_lft forever preferred_lft forever
    inet6 address/64 scope link
       valid_lft forever preferred_lft forever
3: eno33557248: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qle                                                                                                                                                             n 1000
    link/ether mac-address brd ff:ff:ff:ff:ff:ff
    inet внешний IP/29 brd внешний IP scope global eno33557248
       valid_lft forever preferred_lft forever
    inet6 address/64 scope link
       valid_lft forever preferred_lft forever
sasha198407
() автор топика
Ответ на: комментарий от sasha198407

Еще вариант попробовать отрубить selinux.

https://www.centos.org/docs/5/html/5.2/Deployment_Guide/sec-sel-enable-disabl...

Если не заработает, то проверить привелегии на используемые директории /var/spool/squid /etc/squid /var/log/squid

pid_filename /run/squid.pid - убери это, попробуй посмотреть в init скрипте как и где он создает pid файл

Acceptor ★★
()

Порыл и выяснил, что squid.pid находится и в /run/ и в /var/run/ .

Вероятно потому, что /var/run является симлинком на /run.

причем после перезагрузки хозяином снова становится root, а не squid.

Вангую, что /run монтируется в tmpfs.

Короче, есть смысл копать в эту сторону:
Squid: Error: no running copy (комментарий)

Начать стоит с разгребания содержимого непосредственно юнит-файла.
Надо повысить уровень отладки, отрубить SELinux и при необходимости поправить/создать конфиг tmpfiles.d:

systemctl cat squid
LESS='-p -d ' man squid
LESS='-p ^ *permissive' man selinux_config
man tmpfiles.d

ArcFi
()
Ответ на: комментарий от ArcFi

Победил так. Убрал из файла /usr/lib/systemd/system/squid.service строку

ExecReload=/usr/sbin/squid $SQUID_OPTS -k reconfigure -f $SQUID_CONF
Я конечно могу только предполагать, но видимо он при старте пытался сразу перезапустить, а перезапускать нечего, т.к. еще squid не запущен.

sasha198407
() автор топика
Ответ на: комментарий от sasha198407

Тут попутно возникла еще проблема. Если модераторы считают нужным, то пусть перенесут или скажут, я продублирую вопрос. Вообще изначально я заморочился с CentOS7+squid3.3.8+sams2+apache2.4.6+mariadb5.5.5. Установка прошла нормально, первоначальная настройка тоже без проблем. Но в процессе эксплуатации стали появляться ошибки. С начала та, которую я описал выше. После проделанных мной манипуляций стало работать без проблем. Но вдруг мне вздумалось подключить редирект. Я включил встроенный Squid. Что бы запустить демона sams делаю

/etc/init.d/sams2
Смотрю логи, а там
systemd: Starting SYSV: Startup/shutdown script for the SQUID Access Management System (SAMS)....
sams2: Starting sams2: .[  OK  ]
systemd: Started SYSV: Startup/shutdown script for the SQUID Access Management System (SAMS)..
samsdaemon[1369]: +++WARNING: Unknown cache result TCP_MISS_ABORTED
samsdaemon[1369]: ***ERROR: squidlogparser.cpp:445 Unknown cache result
Делаю через sams реконфигурировать squid. Вроде как пишет что успешно. Стало быть демон запускается. Но все же напрягают ошибки. Иду дальше и кидаю samsdaemon в автозагрузку
/sbin/chkconfig sams2 on
При загрузке стало сыпать
sams2: Starting sams2: samsdaemon[943]: ***ERROR: mysqlconn.cpp:57 mysql_real_connect: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
sams2: samsdaemon[943]: ***ERROR: mysqlconn.cpp:57 mysql_real_connect: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
samsdaemon[943]: ***ERROR: mysqlconn.cpp:57 mysql_real_connect: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
samsdaemon[943]: ***ERROR: mysqlconn.cpp:57 mysql_real_connect: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
samsdaemon[943]: ***ERROR: samsdaemon.cpp:309 Cannot get sleep time for daemon. See debugging messages for more details.
sams2: [FAILED]
Локальный mysql не может подключиться к сокету. Сокет
/var/lib/mysql/mysql.sock
физически существует. Комнда
lsof /var/lib/mysql/mysql.sock
Показывает, что
COMMAND  PID  USER   FD   TYPE             DEVICE SIZE/OFF  NODE NAME
mysqld  1184 mysql   15u  unix 0xffff8800b7f88c00      0t0 16369 /var/lib/mysql/mysql.sock
mysqld  1184 mysql   34u  unix 0xffff8800af2c9400      0t0 17901 /var/lib/mysql/mysql.sock
mysqld  1184 mysql   51u  unix 0xffff8800af2c9000      0t0 17244 /var/lib/mysql/mysql.sock
Вроде как процесс есть, да и пользователь предполагаю, что тот. Я вот думаю, может mariadb стартует после samsdaemon, если так, то как указать последовательность загрузки? В CentOS7 используется systemctl, а я использую chkconfig. Наверняка проблема второй ошибки в этом, но как запихнуть sams2 в systemctl я не нашел, поэтому и использую chkconfig. В общем вот.

sasha198407
() автор топика
Ответ на: комментарий от sasha198407

Победил так.

Это очень странно, т.к. ExecStart (запуск сервиса) никак не связан с действием ExecReload (обновление конфигурации без перезапуска).
Кроме того, стоит учесть, что изменения юнита в /usr/lib/... будут перезаписаны при первом же обновлении пакета squid.

думаю, может mariadb стартует после samsdaemon

Добавления зависимости от mariadb для существующего юнита zabbix-server-mysql.service выглядит примерно вот так:

# systemctl edit zabbix-server-mysql.service
# cat /etc/systemd/system/zabbix-server-mysql.service.d/override.conf
[Unit]
After=mariadb.service

Вам надо провернуть нечто аналогичное.

ArcFi
()
Ответ на: комментарий от sasha198407

Попробовал сделать следующее

/sbin/chkconfig sams2 off
cp /root/sams2-master/redhat/init.d /usr/local/lib/sams2/sams2
touch /etc/systemd/system/sams2.service
nano /etc/systemd/system/sams2.service
[Unit]
Description=SAMS2
After=network.target

[Service]
User=serviio
ExecStart=/usr/local/lib/sams2/sams2
ExecStop=/usr/local/lib/sams2/sams2 -stop
KillMode=none

[Install]
WantedBy=multi-user.target
systemctl enable sams2
Перезагружаюсь. Ошибка
 ***ERROR: mysqlconn.cpp:57 mysql_real_connect: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
исчезла, но при загрузке появилось
systemd: sams2.service: main process exited, code=exited, status=217/USER
systemd: Failed at step USER spawning /usr/local/lib/sams2/sams2: No such file or directory
systemd: sams2.service: control process exited, code=exited status=217
systemd: Unit sams2.service entered failed state.
systemd: sams2.service failed.
делаю
systemctl status sams2
и вижу что
● sams2.service - SAMS2
   Loaded: loaded (/etc/systemd/system/sams2.service; enabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since Fri 2016-10-21 09:31:01 MSK; 44min ago
  Process: 935 ExecStop=/usr/local/lib/sams2/sams2 -stop (code=exited, status=217/USER)
  Process: 924 ExecStart=/usr/local/lib/sams2/sams2 (code=exited, status=217/USER)
 Main PID: 924 (code=exited, status=217/USER)

systemd[1]: Started SAMS2.
systemd[1]: Starting SAMS2...
systemd[1]: sams2.service: main process exited, code=exited, status=217/USER
systemd[1]: sams2.service: control process exited, code=exited status=217
systemd[1]: Unit sams2.service entered failed state.
systemd[1]: sams2.service failed.
На пользователя ругается?

sasha198407
() автор топика
Ответ на: комментарий от sasha198407

Да не правильно написал пользователя. Исправил в /etc/systemd/system/sams2.service на

User=root
Group=root
и после перезагрузки стал выдавать
● sams2.service - SAMS2
   Loaded: loaded (/etc/systemd/system/sams2.service; enabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since Fri 2016-10-21 10:27:48 MSK; 17s ago
  Process: 968 ExecStop=/usr/local/lib/sams2/sams2 -stop (code=exited, status=3)
  Process: 938 ExecStart=/usr/local/lib/sams2/sams2 (code=exited, status=3)
 Main PID: 938 (code=exited, status=3)

systemd[1]: Started SAMS2.
systemd[1]: Starting SAMS2...
sams2[938]: Usage: sams2 {start|stop|restart|condrestart|reload|status}
systemd[1]: sams2.service: main process exited, code=exited, status=3/NOTIMPLEMENTED
sams2[968]: Usage: sams2 {start|stop|restart|condrestart|reload|status}
systemd[1]: sams2.service: control process exited, code=exited status=3
systemd[1]: Unit sams2.service entered failed state.
systemd[1]: sams2.service failed.
Все равно не корректно.

sasha198407
() автор топика
Ответ на: комментарий от sasha198407

ExecStart=/usr/local/lib/sams2/sams2
ExecStop=/usr/local/lib/sams2/sams2 -stop

Обычно это соответствует юниту типа forking:

[Service]
Type=forking

На пользователя ругается?

Я бы для начала убедился, что всё работает нормально под рутом, а потом бы понижал привилегии.

ArcFi
()
Ответ на: комментарий от ArcFi

Привел файл /etc/systemd/system/sams2.service к виду

[Unit]
Description=SAMS2
After=network.target

[Service]
Type=forking
User=root
Group=root
ExecStart=/usr/local/lib/sams2/sams2 start
ExecStop=/usr/local/lib/sams2/sams2 stop
KillMode=none

[Install]
WantedBy=multi-user.target
Если запустить его руками через
systemctl start sams2
то samsdaemon запускается и работает
● sams2.service - SAMS2
   Loaded: loaded (/etc/systemd/system/sams2.service; enabled; vendor preset: disabled)
   Active: active (running) since Fri 2016-10-21 11:07:13 MSK; 3min 20s ago
  Process: 1368 ExecStop=/usr/local/lib/sams2/sams2 stop (code=exited, status=0/SUCCESS)
  Process: 1384 ExecStart=/usr/local/lib/sams2/sams2 start (code=exited, status=0/SUCCESS)
 Main PID: 1388 (sams2daemon)
   CGroup: /system.slice/sams2.service
           └─1388 /usr/local/bin/sams2daemon -l syslog

systemd[1]: Starting SAMS2...
sams2[1384]: Starting sams2: .[  OK  ]
systemd[1]: Started SAMS2.
А если воткнуть его в автозагрузку
systemctl enable sams2
и перезагрузить сервер, то при загрузке он ругается
● sams2.service - SAMS2
   Loaded: loaded (/etc/systemd/system/sams2.service; enabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since Fri 2016-10-21 11:04:54 MSK; 51s ago
  Process: 930 ExecStart=/usr/local/lib/sams2/sams2 start (code=exited, status=1/FAILURE)

sams2[930]: Starting sams2: samsdaemon[952]: ***ERROR: mysqlconn.cpp:57 mysql_real_connect: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
sams2[930]: samsdaemon[952]: ***ERROR: mysqlconn.cpp:57 mysql_real_connect: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
samsdaemon[952]: ***ERROR: mysqlconn.cpp:57 mysql_real_connect: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
samsdaemon[952]: ***ERROR: mysqlconn.cpp:57 mysql_real_connect: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
samsdaemon[952]: ***ERROR: samsdaemon.cpp:309 Cannot get sleep time for daemon. See debugging messages for more details.
sams2[930]: [FAILED]
systemd[1]: sams2.service: control process exited, code=exited status=1
systemd[1]: Failed to start SAMS2.
systemd[1]: Unit sams2.service entered failed state.
systemd[1]: sams2.service failed.

sasha198407
() автор топика
Ответ на: комментарий от sasha198407

но ошибка

0x245a9c0[1293]: +++WARNING: Unknown cache result TCP_MISS_ABORTED
0x245a9c0[1293]: ***ERROR: squidlogparser.cpp:445 Unknown cache result
еще висит. Не могу пока понять в каком случае выскакивает.

sasha198407
() автор топика
Ответ на: комментарий от sasha198407

поискал в файле

mcedit /root/sams2-master/src/squidlogparser.cpp
строку 445 и вот что увидел
      // Анализируем входную строку
      s_hit = 0;
      s_size = 0;
      switch (sll.getCacheResult ())
        {
        case SquidLogLine::CR_UNKNOWN:
          ERROR ("Unknown cache result");
          break;
        case SquidLogLine::TCP_DENIED:
        case SquidLogLine::UDP_DENIED:
          break;
        case SquidLogLine::TCP_HIT:
        case SquidLogLine::TCP_MEM_HIT:
        case SquidLogLine::TCP_REFRESH_HIT:
        case SquidLogLine::TCP_REFRESH_UNMODIFIED:
        case SquidLogLine::TCP_REF_FAIL_HIT:
        case SquidLogLine::TCP_IMS_HIT:
        case SquidLogLine::UDP_HIT:
          s_hit = sll.getSize ();
          usr->addHit (s_hit);
        case SquidLogLine::TCP_NEGATIVE_HIT:
        case SquidLogLine::TCP_MISS:
        case SquidLogLine::TCP_REFRESH_MISS:
        case SquidLogLine::TCP_REFRESH_MODIFIED:
        case SquidLogLine::TCP_CLIENT_REFRESH:
        case SquidLogLine::TCP_CLIENT_REFRESH_MISS:
        case SquidLogLine::TCP_IMS_MISS:
        case SquidLogLine::TCP_SWAPFAIL:
        case SquidLogLine::TCP_SWAPFAIL_MISS:
        case SquidLogLine::UDP_HIT_OBJ:
        case SquidLogLine::UDP_MISS:
        case SquidLogLine::UDP_INVALID:
        case SquidLogLine::UDP_RELOADING:
        case SquidLogLine::ERR_CLIENT_ABORT:
        case SquidLogLine::ERR_NO_CLIENTS:
        case SquidLogLine::ERR_READ_ERROR:
        case SquidLogLine::ERR_CONNECT_FAIL:
          s_size = sll.getSize ();
          usr->addSize (s_size);
          break;
}
что за входная строка, которую он анализирует и какова причина ошибки?

sasha198407
() автор топика
Ответ на: комментарий от ArcFi

всем спасибо за помощь. По поводу sams наверно правда новую тему надо создавать

sasha198407
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.