Rumah > Soal Jawab > teks badan
Kaedah yang saya boleh fikirkan setakat ini:
Awk menganalisis log + penjumlahan bersyarat dan mengemas kini pangkalan data.
Tetapi apabila saiz log besar, kecekapan akan terjejas.
Adakah cara yang lebih mudah?
PHP中文网2017-05-16 17:31:35
Selamat mencuba modul http_accounting kami, yang boleh didapati dalam senarai modul pihak ketiga di laman web rasmi nginx~
大家讲道理2017-05-16 17:31:35
Mari bincang tentang rancangan kami, alirannya ialah 1.9kw
1 Meja depan merekodkan log penghantaran melalui <img src="/tj.html"/>
2. ningx
merekodkan log akses tj.html
secara berasinganningx
单独记录 tj.html
的访问日志
3. syslog
定时 1分钟分割一次
4. cronjob
定时1
分钟 处理分析分割好的日志
现在我们采用的是1分钟更新一次mysql
数据库,正在打算将当天的数据存储方式放到redis上,而将历史记录放到mongodb
syslog
dijadualkan dibahagikan sekali setiap 1 minit🎜
🎜4 cronjob
menjadualkan 1
minit untuk memproses dan menganalisis log berpecah🎜
🎜Kini kami menggunakan pangkalan data mysql
untuk dikemas kini sekali setiap minit Kami merancang untuk menyimpan data hari itu pada redis dan rekod sejarah pada mongodb
🎜.黄舟2017-05-16 17:31:35
Selagi log dipotong dengan kerap, fail yang diproses setiap kali tidak akan menjadi sangat besar.
Kemudian saya menulis program kecil untuk melakukan statistik, yang lebih cekap.
Jika anda mempunyai keperluan pertanyaan yang lebih fleksibel, anda juga boleh merekodkan maklumat log ke dalam pangkalan data, mewujudkan indeks berdasarkan masa dan medan yang diperlukan, dan pertanyaan terus dengan SQL.