Python--实时监控日志
Python
实时监控日志
参考:https://github.com/py3study/real_time_log
目的:
借鉴了github上大神的项目,由于本人项目是可以直接部署在服务器,需要把服务器上日志目录的日志实时查看
01
原
理
用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
02
安装sqlite3
部
署
参考:
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
./configure --enable-loadable-sqlite-extensions
make && sudo make install
安装完执行以下命令查看_sqlite3.so情况
# find / -name _sqlite*.so
发现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
已经可以正常了
03
运
用
启动项目
python manage.py makemigrations
python 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 manage.py runserver 0.0.0.0:8000
打开网页
测试开发交流
喜欢请➕关注