vlambda博客
学习文章列表

Python--实时监控日志

Python 

实时监控日志

Python--实时监控日志
Python--实时监控日志
Python--实时监控日志


参考:https://github.com/py3study/real_time_log

目的:

借鉴了github上大神的项目,由于本人项目是可以直接部署在服务器,需要把服务器上日志目录的日志实时查看


Python--实时监控日志


01

用python实时读取日志文件

Python--实时监控日志


1)日志目录:/var/log  (也可以其他目录,修改代码即可)

2)通过 命令获取目录下全部日志文件,经过代码处理返回数据

 ls -lht --time-style '+%Y-%m-%d %H:%M:%S' /var/log

3)通过命令返回文件行数, 判断文件是否为空

wc -c /var/log/testplatform.log|awk '{print $1}'

4)查看实时日志,采用websocket

tail -f

5)关闭实时日志

kill -9 `ps -aux|grep -v grep|grep /var/log/testplatform.log|awk '{print $2}'`

6)下载日志,scp文件到/tmp,然后再下载到本地

cp -r


Python--实时监控日志

02

安装sqlite3

Python--实时监控日志


参考:

https://www.jianshu.com/p/dd4532457b9f


下载安装包:

wget https://www.sqlite.org/2018/sqlite-autoconf-3240000.tar.gz


解压:

 tar -xvzf sqlite-autoconf-3240000.tar.gz



进入目录:

 cd sqlite-autoconf-3240000/


编译:

 ./configure --prefix=/usr/local/sqlite


安装 :

 make -j4&&sudo make install


以上步骤成功后,需要重新安装python3进入python3安装目录 :

cd Python-3.6.6修改setup.pyvi setup.py查找" sqlite_inc_paths"


'/usr/local/sqlite/include''/usr/local/sqlite/include/sqlite3'


Python--实时监控日志

重新编译python

./configure --enable-loadable-sqlite-extensions  make && sudo make install


安装完执行以下命令查看_sqlite3.so情况

 # find / -name _sqlite*.so


Python--实时监控日志

发现python3 多了

/usr/tools/Python-3.6.6/build/lib.linux-x86_64-3.6/_sqlite3.cpython-36m-x86_64-linux-gnu.so


/usr/local/lib/python3.6/lib-dynload/_sqlite3.cpython-36m-x86_64-linux-gnu.so



接下来我们在执行: 

cp /usr/local/lib/python3.6/lib-dynload/_sqlite3.cpython-36m-x86_64-linux-gnu.so /usr/local/python3/lib/python3.6/lib-dynload/_sqlite3.so


 再次进入python环境 

 执行命令

import sqlite3

已经可以正常了


Python--实时监控日志
Python--实时监控日志


03

启动项目

Python--实时监控日志


python manage.py makemigrationspython manage.py migrate

插入数据

INSERT INTO"main"."application_host"("id", "hostname", "ipaddr", "create_time") VALUES (1, 'test-1', '192.168.1.47', '2020-03-31 11:16:03');


Python--实时监控日志

    启动项目

   

 python manage.py runserver 0.0.0.0:8000


打开网页


Python--实时监控日志
Python--实时监控日志
Python--实时监控日志

测试开发交流

喜欢请➕关注