Linux-haladó

Apache terhelés

Fórumok

Kedves Fórumozók!

Egy olyan problémával fordulok hozzátok, amit már napok óta nem tudok megoldani.

Adott egy szerver, rajta egy apache + php kombó, ubuntu alapokon, azure VPS-en (2mag, 3GB). Egy weboldal családot szolgál ki a szerver, napi kb 1000 látogatóval. Tehát elmondható a szerverről, hogy nulla terhelés. Ezek ellenére az apache kb 1 hete elkezdte azt játszani, hogy az egyik processe időről időre felugrik 130-160% CPU terhelésre, ott van egy 4mp-ig és eltűnik, majd jön egy másik 70%...stb. A gond akkor van, amikor ezek egyszerre jelennek meg, mert akkor 4-es loadot csinálnak a szerveren, miközben 3-4 látogató van az oldalon. Tehát ezt semmi nem indokolja.

A weboldalt én fejlesztettem a nullától, pontosan tudom, hogy mi van benne és mi nincs. Vannak benne szép query-k, de a slow_query logot megnézve naponta 1-2 olyan lekérdezés van, ami 2-3mp között fut, ezen kívül semmi megterhelő.

Tehát a világon semmi nem indokolja ezt a viselkedést, mégis ezt tapasztalom és nem tudok rájönni, hogy mi okozza. Tudnátok segíteni, hogy mi az, amit még nem próbáltam ki?

Amit megnéztem:
- apache logból legyűjtöttem a letöltött oldalak listáját számossággal együtt, keresve olyan kiugró lapokat, amiket mondjuk szándékosan terhelnek... nem találtam semmi kirívó értéket, a sitemapot többször töltötte le a google, mint a többi aloldalt a látogatók
- néztem apache server-status oldal, hogy hátha látok benne valamit, aminek nem kéne ott lenni, de semmi extrém
- cloudflare a dns kezelő, amibe bele tettem a web browser checker-t, ami szűri a botokat, de semmi eredmény
- htop, iotop, iftop, apachetop...stb. mindent néztem, figyeltem, de nem látok semmi olyat, ami ezt kéne hogy indokolja... ami mégis olyan volt, azt javítottam, kikapcsoltam, de még mindig ezt csinálja
- végig néztem az összes google találaton, hogy apache-ot megtuningoljam, minden lehetséges beállítást kipróbáltam, amit ajánlottak, de semmi előrelépés
- ugyan ez a mysql-en, aminél már olyan kapcsolókat is bekötöttem, amiknek a létezéséről sem tudtam, mindezidáig, de semmi...
- még az ubuntut is frissítettem, hogy hátha kijött valami újdonság, vagy javítás, de ez sem

De hogy miért érzem feleslegesnek a munkám? Mert nem csináltam a szerver beállításokkal semmit és a weboldalba se tettem semmit. Tehát kvázi semmivel nem okozhattam még is ezt lett. Támadást kizártam, mert ahol lehetett megnéztem, hogy pumpálják-e az oldalt, de semmi. Maximum, ha nem layer 7-en jön a támadás.

Nincs már ötletem. Mit lehet ilyenkor még megnézni? Mit lehet futtatni, mivel lehet tesztelni, mivel lehet közelebb jutni ahhoz, hogy mi eredményezi ezt a hülyeséget?

Bármilyen építő jellegű hozzászólást szívesen fogadok.

Saját SMTP szerver

Fórumok

Sziasztok!

Van egy Debian szerverünk, Eximmel küldünk is róla néha levelet. Minden lényeges beállítás (DKIM, SPF) megvan, és azon tűnődtem, hogy miért fizetünk még mindig külső cégnek éves díjat SMTP szolgáltatásért, hogy levelezőprogramból tudjunk levelet küldeni (internetszolgáltatótól függetlenül).
Anélkül, hogy nagyon áttúrnám az Exim beállításait, tudtok segíteni abban, hogy hol tudok megadni egy (1!) felhasználónév/jelszó párost, amivel mondjuk SSL/TLS kapcsolattal tudunk küldeni levelet a szerveren keresztül Thunderbirdből/Evolutionból/telefonról is?

Video streaming project

Fórumok

Sziasztok!

A velemenyeteket szeretnem kerni egy video streaming project kapcsan:
-storage-en tarolt videokat (1 video olyan 1.5 ora) kell streamelnem nagyszamu latogato reszere, webes, html5 feluletre.
Fontos a rendszer horizontalis skalazhatosaga.

Storage tekinteteben CEPH-re gondoltam magas rendelkezesre allasa, es a fent emlitett skalazhatosaga miatt (CephFs vagy RadosGw). Amiben a segitsegeteket szeretnem kerni:
-Milyen frmatumban erdemes tarolni ezeket a videokat? (Pl webm/vp9?)
-Szet lehet e szedni egy videot chunk-okra, pl 250KB - 4MB fileokra, es azokat statikusan kiszolgalni a nezok fele (a flow-t igy a html5 player kontrollalna)?
-Ha ez megoldhato, szerintetek szukseges-e a clusterre applikacios szerverek hasznalata, vagy a videokat kozvetlenul a storage clusterrel RADOSGW segitsegevel kiszornatok?
-Ha nem oldhato meg, vagy nem praktikus, akkor milyen megoldast hasznalnatok az applikacios retegen a streamek kiszolgalasara

-Milyen html5 playert javasoltok a kliens oldalra? (Kiemelten fontos a mobil eszkozokkel valo kompatibilitas).

Koszonom!

ansible role variables szeparálása

Fórumok

Hi,

Van egy ilyen ansible playbook részletem:

------------
- hosts: lamp
roles:
- geerlingguy.apache
- geerlingguy.mysql

vars:
mysql_root_password: xxx

-----------------

Ez tök jól működik is, egy szépséghibája azért van, a vars: alatt az összes fenti role felüldefiniált változói egybe vannak hányva.
Jó kérdés h mi lesz az eredménye ha mondjuk két role-nak is van "x" változója... (gondolom mindkét role ugyanazzal a felüldefiniált értékkel fut le).

Bónusz kérdés:

- ha letöltesz a galaxy-ból egy role-t akkor annak saját képedre faragását hogyan intézed? Lokálisan megfaragod és kész, vagy elforkolod githubon, azt töltöd le és akkor a forkon tudsz módosítani + commitolni ?

aarch64 GNU/Linux 3.10.65+ (Android 5.1 Lollipop) powerstate managment

Fórumok

Sziasztok!

Próbálgatok egy rossz kijelzős telót amolyan home web/ftp/.. szervernek belőni.
Mivel a dalvik le van állítva ezért gondolom ez igy már nem android téma ainkább.
Az a gondom hogy jópár óra után (~8-10+) annyira "bealszik" a rendszer hogy a web szerver nem válaszol s wifi adb-n kell mókolni vele egy kicsit hogy weben bármit is beadjon s ne időtúlépés legyen a vége.
sys/power/state:"freeze mem disk"
sys/power/wake_lock:"PowerManagerService.WakeLocks"

Illetve nem tudom van e illetve lehet e valami korlát bizonyos állapotokra hogy max hány processzor magot, mekkora frq -n használhasson habár itt én spec pont a korlátokat szeretném kivenni alóla ha van valahol.
Majd még tesztelgetem én is ... pl. dd vel stresszeltem s egy mag fel is megy 100% de valami többszálas terhelési teszt kell majd.
Meg jó lenne monitorozni hogy melyik program kerül altatásra stb. de persze mindez szinte csak system + busybox supporttal.

Ha tudtok a témával kapcsolatban infót, forrást, ötletet mondani vagy a fő kérdésre megoldást hogy a szerver tétlenség esetén se legyen elérhetetlen x idő után (de a takarékosségi jellemzője is megmaradjon) azt nagyon megköszönném!

Ansible container setup

Fórumok

Van egy proxmox, ansible.

Ansible playbook-kal tudok konténert csinálni, oké.
Tudok megadott konténerbe mondjuk apache-ot installálni, oké.

Az lenne a feladat hogy csináljon egy új konténert majd ebbe az új konténerbe dobja bele az apache-ot.

Ezt egyelőre nem látom át, tudna valaki segíteni?

40 gép szinkronban tartása hogyan?

Fórumok

Remélem nem baj ha angolul:

I have approximately 40 arm devices running debian on the internet with known ip addresses. They have limited bandwidth (on 3g mobile, with a piad data plan) I do have ssh access. Sometimes there is a need to upgrade these machines. There are only 2 files and the log directory which are not identical.

Now i use a custom-built rsync/install script and loop on all the machines.

My biggest concern is that the workflow is quite error prone:

  1. upgrading the system is done first on a test device. (installing-removing packages, setting config files in etc, upgrading kernel, installing new services via /etc/init.d scripts, thing like this)
  2. try to reproduce the changes in the custom script (this is where the problem is)
  3. deploy the changes, in a loop

Do you have any recommendations? (puppet?, chef?, rsync whole filesystem?, move the filesystem under version control?)

https://superuser.com/questions/1264027/which-tool-is-suitable-for-sync…

Run cron if load < X and uptime > Y only

Fórumok

Sziasztok,

Nem megfelelő a rendszeremen számomra a cron ütemezése. Bizonyos feladatoknál az alábbira van szükségem:

Csak akkor induljon el bizonyos ütemezés, ha a loadavg 15 perces értéke adott érték alatt van, illetve ha a suspend-ből felébredés óta eltellett minimum idő, pl. 1 óra.Példa (Ruby):

#!/usr/bin/env ruby

# get load average for last 15 min
n1 = File.read("/proc/loadavg").split[2].to_f

# get time passed since boot
n2 = File.read("/proc/uptime").split[0].to_f

# get time passed since last resume from suspend
require "time"
t1 = `journalctl -b 0 -o short-iso`.split("\n")
if t1.size > 0
	t2 = t1.grep(/system resumed/i)[-1]
	if t2
		t3 = t2.split[0].to_s
		if t3 != ""
			n2 = Time.now - Time.parse(t3)
		end
	end
end

p n1, n2

exit  (n1 < 0.1 and n2 > 3600)

Itt van két értékem mihez tudok hasonlítani és ha csinálok rá egy parancsot (ifidle) akkor így futtatnám:

ifidle fstrim ...
ifidle snapper cleaup ...
...

Ki hogyan csinálná? Tovább tudjátok gyúrni?

Az egész egyébként a btrfs transaction futása miatt kell, mert snapper-t használok sok snapshot-tal és időnként takarítania kell, ami rosszkor fut - ugye itt nagy I/O keletkezik és megáll a rendszer 5 percre és pont rosszkor, mert wakeup után sietek munkával és azonnal reagálni akarok dolgokra.

Kösz.

RAID1 uuid változás (mdadm.conf)

Fórumok

Üdv!
Teszt jelleggel (VM) RAID1-et próbáltam, szimulálva a diszk meghibásodását.
sda1+sdb1 = md126 (swap)
sda2+sdb2 = md127 (/)

Az sdb volt a hibás diszk, csere megvolt (új, üres virtualis diszk).
Partíció dumpolás ok: sfdisk -d /dev/sda | sfdisk /dev/sdb
Tömbök helyreállítása ok: mdadm --manage /dev/md126 --add /dev/sdb1; mdadm --manage /dev/md127 --add /dev/sdb2
GRUB install ok: grub2-install /dev/sdb

A szinkronizálás megtörténik szépen.

Reboot után minden ok, de a uuid-ot warningolja a rendszer. Gondolom mivel az új eszköz új uuid-ot kap.
Az mdadm.conf-ba nem kerül bele az új uuid, de:
mdadm --examine --scan >> mdadm.conf

Ezzel nem javul meg, mert gondolom az új uuid nem jelenik meg a /dev/disk/by-uuid alatt. Hol lehet/kellene létrehozni az új diszk uuid-ját?

(teszt: CentOS7 és Ubuntu Server 17.04)

Maven nem hasznalja a Nexust csak feltoltesre

Fórumok

Sziasztok,

Megorokoltem egy kornyezetet.
Ebben a kornyezetben nehany napja kuzdok egy hibaval, atkutattam az internetet de vagy nem jo a valasz, vagy en neztem be valamit.
Adott egy settings.xml amit a maven buildnek adok be es tartalmazza a repository elerest.
Az a problema , hogy a maven nem hajlando letolteni belol, csak a local repot hajlando hasznalni.
Ez egy artifact deploy job.

A Build job, ami a jar fajlokat kesziti viszont fel és le is tölt a Nxusba. Ugyanezen settings.xml file használatával.

Igazabol, azon kivul hogy kusza. Nem talaltam benne semmi hibat.
Nagyon orulnek ha valaki ra tudna mutatni mi van elcseszve.
--------------------------------------------------------------
Hirtelen nem tudtam jobbat.
Feltettem ide a kodot: https://pastebin.com/CmwSGqvt