Puncte:0

Tomcat 9 implementat folosind docker a atins aleatoriu 200% CPU fără nicio aplicație web

drapel in

Bună, am un Tomcat 9 care rulează într-o mașină AWS folosind următorul fișier de compunere docker:

versiunea: '3'
Servicii:
  fstomcat:
    imagine: tomcat:9
    container_name: fstomcat
    porturi:
      - 443:443
    volume:
      - /opt/tomcat/webapps:/usr/local/tomcat/webapps
      - /opt/tomcat/conf:/usr/local/tomcat/conf
      - /opt/tomcat/logs:/usr/local/tomcat/logs

Nu există aplicații web momentan (aplicațiile web sunt goale). Acest EC2 are doar Tomcat. Fără Apache, niciun alt server web sau server de baze de date. Cu toate acestea, AWS raportează vârfuri aleatorii în utilizarea procesorului. Când intru în container, java este la 199% CPU. Cel mai recent vârf a avut loc pe 2021-06-20 13:30 și singurele registre pe care le am pentru ziua respectivă sunt:

catalina:

20-Iun-2021 09:45:04.595 INFO [https-openssl-nio-443-exec-6] org.apache.coyote.http11.Http11Processor.service Eroare la analizarea antetului cererii HTTP
 Notă: alte apariții ale erorilor de analizare a solicitărilor HTTP vor fi înregistrate la nivelul DEBUG.
        java.lang.IllegalArgumentException: caracter nevalid găsit în ținta solicitării [/index.php?s=/Index/\think\app/invokefunction&function=call_user_func_$
                la org.apache.coyote.http11.Http11InputBuffer.parseRequestLine(Http11InputBuffer.java:490)
                la org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:261)
                la org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
                la org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:888)
                la org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1597)
                la org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
                la java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
                la java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
                la org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
                la java.base/java.lang.Thread.run(Thread.java:834)

acces:

192.241.220.30 - - [20/Iun/2021:00:22:53 +0000] "-" 400 -
74.82.47.4 - - [20/Iun/2021:00:31:59 +0000] "-" 400 -
74.82.47.4 - - [20/Iun/2021:00:32:03 +0000] "-" 400 -
74.82.47.4 - - [20/Iun/2021:00:32:03 +0000] "-" 400 -
74.82.47.4 - - [20/Iun/2021:00:32:03 +0000] "-" 400 -
74.82.47.4 - - [20/Iun/2021:00:32:04 +0000] "-" 400 -
74.82.47.4 - - [20/Iun/2021:00:32:06 +0000] "-" 400 -
74.82.47.4 - - [20/Iun/2021:00:32:08 +0000] "-" 400 -
74.82.47.4 - - [20/Iun/2021:00:33:03 +0000] "-" 400 -
162.216.17.178 - - [20/Iun/2021:00:41:24 +0000] "-" 400 -
128.1.248.42 - - [20/Iun/2021:01:17:50 +0000] „GET / HTTP/1.1” 404 682
192.241.215.206 - - [20/Iun/2021:01:56:40 +0000] „GET /actuator/health HTTP/1.1” 404 682
45.33.79.16 - - [20/Iun/2021:02:19:19 +0000] "-" 400 -
209.17.97.98 - - [20/Iun/2021:02:57:39 +0000] "-" 400 -
162.216.17.71 - - [20/Iun/2021:04:19:13 +0000] "-" 400 -
45.83.67.150 - - [20/Iun/2021:04:58:00 +0000] "-" 400 -
66.240.205.34 - - [20/Iun/2021:06:08:25 +0000] "-" 400 -
45.33.79.16 - - [20/Iun/2021:06:18:56 +0000] "-" 400 -
162.62.123.46 - - [20/Iun/2021:08:04:09 +0000] „GET / HTTP/1.0” 404 682
192.241.218.53 - - [20/Iun/2021:08:12:25 +0000] „GET /owa/auth/logon.aspx?url=https%3a%2f%2f1%2fecp%2f HTTP/1.1” 404 682
162.216.17.71 - - [20/Iun/2021:08:18:54 +0000] "-" 400 -
45.146.165.123 - - [20/Iun/2021:09:44:57 +0000] „POST /Autodiscover/Autodiscover.xml HTTP/1.1” 404 682
45.146.165.123 - - [20/Iun/2021:09:44:59 +0000] „GET /_ignition/execute-solution HTTP/1.1” 404 682
45.146.165.123 - - [20/Iun/2021:09:45:00 +0000] „GET / HTTP/1.1” 404 682
45.146.165.123 - - [20/Iun/2021:09:45:02 +0000] „POST /vendor/phpunit/phpunit/src/Util/PHP/eval-stdin.php HTTP/1.1” 404 682
45.146.165.123 - - [20/Iun/2021:09:45:04 +0000] „GET null HTTP/1.1” 400 2273
45.146.165.123 - - [20/Iun/2021:09:45:06 +0000] „GET /vendor/phpunit/phpunit/src/Util/PHP/eval-stdin.php HTTP/1.1” 404 682
45.146.165.123 - - [20/Iun/2021:09:45:06 +0000] „GET /?XDEBUG_SESSION_START=phpstorm HTTP/1.1” 404 682
45.146.165.123 - - [20/Iun/2021:09:45:07 +0000] „GET /wp-content/plugins/wp-file-manager/readme.txt HTTP/1.1” 404 682
45.146.165.123 - - [20/Iun/2021:09:45:08 +0000] „POST /mifs/.;/services/LogService HTTP/1.1” 404 682
45.146.165.123 - - [20/Iun/2021:09:45:09 +0000] „GET /consola/ HTTP/1.1” 404 682
45.33.79.16 - - [20/Iun/2021:10:19:25 +0000] "-" 400 -
193.118.53.210 - - [20/Iun/2021:10:20:10 +0000] „GET / HTTP/1.1” 404 682
162.216.17.71 - - [20/Iun/2021:12:19:00 +0000] "-" 400 -
138.68.175.207 - - [20/Iun/2021:13:28:31 +0000] "-" 400 -
138.68.175.207 - - [20/Iun/2021:13:28:35 +0000] "-" 400 -
138.68.175.207 - - [20/Iun/2021:13:28:35 +0000] "-" 400 -
138.68.175.207 - - [20/Iun/2021:13:28:35 +0000] "-" 400 -
138.68.175.207 - - [20/Iun/2021:13:28:35 +0000] "-" 400 -
165.22.86.42 - - [20/Iun/2021:13:56:50 +0000] "-" 400 -
162.142.125.39 - - [20/Iun/2021:14:01:08 +0000] "-" 400 -
162.142.125.39 - - [20/Iun/2021:14:01:10 +0000] „GET / HTTP/1.1” 404 682
162.142.125.39 - - [20/Iun/2021:14:01:10 +0000] „GET / HTTP/1.1” 404 682
60.217.75.69 - - [20/Iun/2021:14:22:42 +0000] „GET / HTTP/1.1” 404 682
172.105.172.151 - - [20/Iun/2021:14:35:22 +0000] „GET /owa/ HTTP/1.1” 404 682
192.241.214.26 - - [20/Iun/2021:15:04:40 +0000] „GET / HTTP/1.1” 404 682
34.90.100.245 - - [20/Iun/2021:15:18:59 +0000] „GET /.env HTTP/1.1” 404 682
34.90.100.245 - - [20/Iun/2021:15:19:00 +0000] „POST / HTTP/1.1” 404 682
128.14.134.170 - - [20/Iun/2021:16:01:33 +0000] „GET / HTTP/1.1” 404 682
97.107.132.27 - - [20/Iun/2021:16:19:28 +0000] "-" 400 -
173.255.234.116 - - [20/Iun/2021:16:30:04 +0000] "-" 400 -
23.90.160.130 - - [20/Iun/2021:16:37:09 +0000] „GET / HTTP/1.1” 404 682
23.95.191.195 - - [20/Iun/2021:16:50:06 +0000] „POST /GponForm/diag_Form?style/ HTTP/1.1” 404 682
162.216.17.71 - - [20/Iun/2021:18:18:33 +0000] "-" 400 -
193.118.53.210 - - [20/Iun/2021:18:29:39 +0000] „GET / HTTP/1.1” 404 682
51.159.23.43 - - [20/Iun/2021:18:44:34 +0000] „GET / HTTP/1.1” 404 682
45.79.168.6 - - [20/Iun/2021:20:19:38 +0000] "-" 400 -
192.241.220.87 - - [20/Iun/2021:20:48:59 +0000] "-" 400 -
192.241.220.87 - - [20/Iun/2021:20:48:59 +0000] "-" 400 -
192.241.220.87 - - [20/Iun/2021:20:48:59 +0000] "-" 400 -
192.241.220.87 - - [20/Iun/2021:20:48:59 +0000] "-" 400 -
192.241.220.87 - - [20/Iun/2021:20:48:59 +0000] "-" 400 -
192.241.220.87 - - [20/Iun/2021:20:48:59 +0000] "-" 400 -
192.241.220.87 - - [20/Iun/2021:20:49:00 +0000] "-" 400 -
192.241.220.87 - - [20/Iun/2021:20:49:00 +0000] "-" 400 -
192.241.212.36 - - [20/Iun/2021:21:03:09 +0000] "-" 400 -
128.14.209.162 - - [20/Iun/2021:21:36:20 +0000] „GET / HTTP/1.1” 404 682
192.241.218.97 - - [20/Iun/2021:22:11:38 +0000] „GET /ecp/Current/exporttool/microsoft.exchange.ediscovery.exporttool.application HTTP/1.1” 404 682
45.79.144.15 - - [20/Iun/2021:22:19:16 +0000] "-" 400 -
162.142.125.40 - - [20/Iun/2021:23:08:05 +0000] "-" 400 -
162.142.125.40 - - [20/Iun/2021:23:08:07 +0000] „GET / HTTP/1.1” 404 682
162.142.125.40 - - [20/Iun/2021:23:08:07 +0000] „GET / HTTP/1.1” 404 682
45.63.12.50 - - [20/Iun/2021:23:49:07 +0000] "-" 400 -

syslog:

20 iunie 13:00:24 ip-172-30-1-110 systemd-timesyncd[21286]: Configurația rețelei a fost schimbată, încercând să se stabilească conexiunea.
20 iunie 13:00:24 ip-172-30-1-110 systemd-networkd[13629]: ens5: Configurat
20 iunie 13:00:24 ip-172-30-1-110 systemd-timesyncd[21286]: Sincronizat cu serverul de timp 91.189.89.198:123 (ntp.ubuntu.com).
20 iunie 13:17:01 ip-172-30-1-110 CRON[21362]: (rădăcină) CMD (cd / && run-parts --report /etc/cron.hourly)
20 iunie 13:30:24 ip-172-30-1-110 systemd-networkd[13629]: ens5: Configurat
20 iunie 13:30:24 ip-172-30-1-110 systemd-timesyncd[21286]: Configurația rețelei a fost schimbată, încercând să se stabilească conexiunea.
20 iunie 13:30:24 ip-172-30-1-110 systemd-timesyncd[21286]: Sincronizat cu serverul de timp 91.189.89.198:123 (ntp.ubuntu.com).

Iată cum pornește serverul:

23-Iun-2021 17:37:03.904 AVERTISMENT [principal] org.apache.tomcat.util.digester.SetPropertiesRule.begin Match [Server/Service/Connector] nu a reușit să seteze proprietatea [maxSpareThreads] la [75]
23-Iun-2021 17:37:03.999 INFO [principal] org.apache.catalina.startup.VersionLoggerListener.log Numele versiunii serverului: Apache Tomcat/9.0.41
23-Iun-2021 17:37:04.000 INFO [principal] org.apache.catalina.startup.VersionLoggerListener.log Server construit: 3 decembrie 2020 11:43:00 UTC
23-Iun-2021 17:37:04.001 INFO [principal] org.apache.catalina.startup.VersionLoggerListener.log Număr versiune server: 9.0.41.0
23-Iun-2021 17:37:04.003 INFO [principal] org.apache.catalina.startup.VersionLoggerListener.log Nume OS: Linux
23-Iun-2021 17:37:04.003 INFO [principal] org.apache.catalina.startup.VersionLoggerListener.log Versiunea sistemului de operare: 5.4.0-1029-aws
23-Iun-2021 17:37:04.004 INFO [principal] org.apache.catalina.startup.VersionLoggerListener.log Arhitectura: amd64
23-Iun-2021 17:37:04.004 INFO [principal] org.apache.catalina.startup.VersionLoggerListener.log Java Acasă: /usr/local/openjdk-11
23-Iun-2021 17:37:04.005 INFO [principal] org.apache.catalina.startup.VersionLoggerListener.log Versiunea JVM: 11.0.10+9
23-Iun-2021 17:37:04.005 INFO [principal] org.apache.catalina.startup.VersionLoggerListener.log Furnizor JVM: Oracle Corporation
23-Iun-2021 17:37:04.006 INFO [principal] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE: /usr/local/tomcat
23-Iun-2021 17:37:04.006 INFO [principal] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME: /usr/local/tomcat
23-Iun-2021 17:37:04.007 INFO [principal] org.apache.catalina.startup.VersionLoggerListener.log Argumentul liniei de comandă: --add-opens=java.base/java.lang=ALL-UNNAMED
23-Iun-2021 17:37:04.008 INFO [principal] org.apache.catalina.startup.VersionLoggerListener.log Argumentul liniei de comandă: --add-opens=java.base/java.io=ALL-UNNAMED
23-Iun-2021 17:37:04.008 INFO [principal] org.apache.catalina.startup.VersionLoggerListener.log Argumentul liniei de comandă: --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED
23-Iun-2021 17:37:04.008 INFO [principal] org.apache.catalina.startup.VersionLoggerListener.log Argumentul liniei de comandă: -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging .proprietăţi
23-Iun-2021 17:37:04.009 INFO [principal] org.apache.catalina.startup.VersionLoggerListener.log Argumentul liniei de comandă: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
23-Iun-2021 17:37:04.009 INFO [principal] org.apache.catalina.startup.VersionLoggerListener.log Argumentul liniei de comandă: -Djdk.tls.ephemeralDHKeySize=2048
23-Iun-2021 17:37:04.010 INFO [principal] org.apache.catalina.startup.VersionLoggerListener.log Argumentul liniei de comandă: -Djava.protocol.handler.pkgs=org.apache.catalina.webresources
23-Iun-2021 17:37:04.016 INFO [principal] org.apache.catalina.startup.VersionLoggerListener.log Argumentul liniei de comandă: -Dorg.apache.catalina.security.SecurityListener.UMASK=0027
23-Iun-2021 17:37:04.017 INFO [principal] org.apache.catalina.startup.VersionLoggerListener.log Argumentul liniei de comandă: -Dignore.endorsed.dirs=
23-Iun-2021 17:37:04.018 INFO [principal] org.apache.catalina.startup.VersionLoggerListener.log Argumentul liniei de comandă: -Dcatalina.base=/usr/local/tomcat
23-Iun-2021 17:37:04.018 INFO [principal] org.apache.catalina.startup.VersionLoggerListener.log Argumentul liniei de comandă: -Dcatalina.home=/usr/local/tomcat
23-Iun-2021 17:37:04.018 INFO [principal] org.apache.catalina.startup.VersionLoggerListener.log Argumentul liniei de comandă: -Djava.io.tmpdir=/usr/local/tomcat/temp
23-Iun-2021 17:37:04.025 INFO [principal] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent Biblioteca nativă Apache Tomcat încărcată [1.2.25] folosind versiunea APR [1.6.5].
23-Iun-2021 17:37:04.025 INFO [principal] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR capabilități: IPv6 [true], sendfile [true], accept filtre [false], aleatoriu [true].
23-Iun-2021 17:37:04.026 INFO [principal] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent Configurație APR/OpenSSL: useAprConnector [false], useOpenSSL [adevărat]
23-Iun-2021 17:37:04.030 INFO [principal] org.apache.catalina.core.AprLifecycleListener.initializeSSL OpenSSL inițializat cu succes [OpenSSL 1.1.1d 10 sep 2019]
23-Iun-2021 17:37:04.634 INFO [principal] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["https-openssl-nio-443"]
23-Iun-2021 17:37:05.225 INFO [principal] org.apache.catalina.startup.Catalina.load Inițializarea serverului în [1569] milisecunde
23-Iun-2021 17:37:05.324 INFO [principal] org.apache.catalina.core.StandardService.startInternal Serviciu de pornire [Catalina]
23-Iun-2021 17:37:05.324 INFO [principal] org.apache.catalina.core.StandardEngine.startInternal Pornire motor Servlet: [Apache Tomcat/9.0.41]
23-Iun-2021 17:37:05.365 INFO [principal] org.apache.coyote.AbstractProtocol.start Pornirea ProtocolHandler ["https-openssl-nio-443"]
23-Iun-2021 17:37:05.396 INFO [principal] org.apache.catalina.startup.Catalina.start Pornirea serverului în [170] milisecunde

Am dezactivat orice actualizare automată a mașinii EC2 pentru a elimina posibilitatea ca o actualizare în docker să provoace acest lucru. Dar singurul lucru pe care îl putem face este să-l repornim.

Aș dori să știu dacă cineva s-a confruntat cu așa ceva și are o idee despre cum să o corecteze

Puncte:0
drapel by

Serverul dvs. este scanat în mod regulat pentru vulnerabilități de către rețelele bot/viruși. Dacă acest lucru cauzează întreruperi ale serviciului, puteți utiliza fail2ban la lista neagră de IP-uri, care provoacă multe 400 erori într-un interval de timp scurt.

S-ar putea să faci același lucru pentru 404 erori, dar asigurați-vă că potriviți numai acele URI de solicitare care nu au existat niciodată pe site-ul dvs., altfel ați putea interzice crawlerele motoarelor de căutare.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.