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.
3
syslogdijadualkan dibahagikan sekali setiap 1 minit 4
cronjobmenjadualkan
1minit untuk memproses dan menganalisis log berpecah Kini kami menggunakan pangkalan data
mysqluntuk dikemas kini sekali setiap minit Kami merancang untuk menyimpan data hari itu pada redis dan rekod sejarah pada
mongodb.
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.
Selamat mencuba modul http_accounting kami, yang boleh didapati dalam senarai modul pihak ketiga di laman web rasmi nginx~
Mari bincang tentang rancangan kami, alirannya ialah 1.9kw
1 Meja depan merekodkan log penghantaran melalui
2.
ningx
merekodkan log aksestj.html
secara berasinganningx
单独记录tj.html
的访问日志3.
syslog
定时 1分钟分割一次4.
cronjob
定时1
分钟 处理分析分割好的日志现在我们采用的是1分钟更新一次
3mysql
数据库,正在打算将当天的数据存储方式放到redis上,而将历史记录放到mongodb
syslog
dijadualkan dibahagikan sekali setiap 1 minit 4cronjob
menjadualkan1
minit untuk memproses dan menganalisis log berpecah Kini kami menggunakan pangkalan datamysql
untuk dikemas kini sekali setiap minit Kami merancang untuk menyimpan data hari itu pada redis dan rekod sejarah padamongodb
.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.