Use ELK with Django Log

news2024/9/20 20:36:50

What is ELK?

The ELK Stack is a collection of three open source products:

  • Elasticsearch
  • Logstash
  • Kibana

When to use ELK?

ELK is designed to allow us to take data from any source, in any format, and to search, analyze, visualize data in real time.

At this time, we want to analyze django logs by ELK.

Setup ELK

It is a little trouble to install three soft ware separate. Here we use docker-elk.

git clone https://github.com/deviantony/docker-elk.git
cd docker-elk
docker-compose up setup
# initialize the users 
docker-compose up
# use docker ps to see the status of docker

在这里插入图片描述

Store logs

We can store logs by logstash.

TCP input

By default, the stack exposes the following ports:
50000: Logstash TCP input

We can send log by tcp in django.

# Add this in settings.py in django
LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'formatters': {
        'verbose': {
            'format': '%(levelname)s %(asctime)s %(module)s %(process)d %(thread)d %(message)s'
        },
        'simple': {
            'format': '%(levelname)s %(message)s'
        },
    },
    'handlers': {
        'console': {
            'level': 'INFO',
            'class': 'logging.StreamHandler',
            'formatter': 'simple'
        },
        'logstash': {
            'level': 'INFO',
            'class': 'logstash.TCPLogstashHandler',
            'host': 'localhost',
            'port': 50000,  # Default value: 5000
            'version': 1,
            'message_type': 'django_logstash',  # 'type' field in logstash message. Default value: 'logstash'.
            'fqdn': False,  # Fully qualified domain name. Default value: false.
            'tags': ['django.request'],  # list of tags. Default: None.
        },
    },
    'loggers': {
        'django': {
            'handlers': ['console'],
            'level': 'INFO',
            'propagate': True,
        },
        'django.request': {
            'handlers': ['logstash'],
            'level': 'WARNING',
            'propagate': True,
        },
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/698207.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java Swing编写批量模糊替换jar包小工具

用途:由于jar包升级需要对之前jar包进行替换,而版本后缀不一致需要人工手动比对 作用:代码升级后,同一个模块jar包相同只有后缀不同,编写小工具进行比对进行替换名称,避免人工核对 技术点:Java …

快来看看Java在编程语言中的优势与特性吧

作者主页:paper jie的博客_CSDN博客-C语言,算法详解领域博主 本文作者:大家好,我是paper jie,感谢你阅读本文,欢迎一建三连哦。 其他专栏:《系统解析C语言》《C语言》《C语言-语法篇》 内容分享&#xff1a…

iview ui vue2.0 radio 点击选中状态后取消选中状态

<RadioGroup v-model"formData.deficiencyType"><Radio label"1" :disabled"modalTypeC?true:false" click.native"cancelSelection(1)">1</Radio><Radio label"2" :disabled"modalTypeC?tru…

基于Java校园自助洗衣系设计实现(源码+lw+部署文档+讲解等)

博主介绍&#xff1a;✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专…

MIT6.584分布式-原MIT6.824-lab1-2023年万字从0到1小白学习笔记

文章目录 前置准备一、分布式系统知识的学习1.1分布式Go语言环境安装1.2MIT6.824课程的学习1.2* 前言学习 可以看到这个任务是不会完成的&#xff0c;在我们没有开始进行编码的时候1.3课程需求1.4怎么实现、借助课程的Hints1.5首先看看其mapfunction的工作逻辑&#xff1a; 二、…

2023上半年软考系统分析师科目一整理-09

2023上半年软考系统分析师科目一整理-09 IDEF (Integration DEFinition method &#xff0c;集成定义方法)是一系列建模、分析和仿真方法的统称&#xff0c;每套方法都是通过建模来获得某种特定类型的信息。其中&#xff0c; IDEFO 可以进行&#xff08;C&#xff09;建模; IDE…

互联网大厂技术-HTTP请求-Springboot整合Feign更优雅地实现Http服务调用

目录 一、SpringBoot快速整合Feign 1.添加Pom依赖 2.启动类添加注解 3.引用Feign服务 二、为请求添加Header的3种方式 1.添加固定header 2.通过接口签名添加header 3.动态添加header 三、为请求添加超时配置 1.默认超时时间 3.超时异常 4.全局超时配置 5.为单个服…

Linux:安装jdk

一、tar压缩包形式安装jdk&#xff1a; 1、安装到/opt目录下&#xff0c;如下图所示&#xff0c;先将tar.gz压缩包移动到/opt目录下&#xff0c;然后解压出来&#xff0c;命令依次是&#xff1a; tar -zxvf jdk-8u151-linux-x64.tar.gz 2、解压缩完毕后&#xff0c;我们使用ls命…

ArrayList继承了AbstractList,已经间接实现了List接口,那么为什么ArrayList还要显式实现List接口呢

这是因为,通过显式实现接口,ArrayList可以确保: 它实际上已经完整实现了List接口所规定的所有方法。 更明确地告诉其他程序员:这个类的目的是完整实现List接口。 如果ArrayList仅仅继承AbstractList,而未显式实现List接口,那么其他程序员在阅读代码时,无法立即确定这个类是否完…

STM32单片机(三)第二节:GPIO输出练习3(蜂鸣器)

❤️ 专栏简介&#xff1a;本专栏记录了从零学习单片机的过程&#xff0c;其中包括51单片机和STM32单片机两部分&#xff1b;建议先学习51单片机&#xff0c;其是STM32等高级单片机的基础&#xff1b;这样再学习STM32时才能融会贯通。 ☀️ 专栏适用人群 &#xff1a;适用于想要…

VTK 三维移动旋转工具 ,移动工具 旋转工具 三维旋转工具

前言&#xff1a;本文为该系列的第一篇建立3D交互窗口&#xff0c;​ 基于VTK&QT&#xff0c;建立3D交互窗口&#xff1b; 基本信息 开发平台&#xff1a;VS&QT 版 本&#xff1a;VS2017 & QT5.15.2 & VTK9.0.3 功能&#xff1a; 选中控件 移动 旋转 …

卷积神经网络的三大特性

卷积神经网络&#xff08;CNN&#xff09;的三大特性是&#xff1a; Sparse Interaction&#xff08;稀疏交互&#xff09;&#xff1a;稀疏交互是指在卷积神经网络中&#xff0c;每个神经元仅与输入数据的局部区域进行交互。这意味着神经元只对输入数据的一小部分感知&#xf…

Qt自定义控件(数字框与拖拽条互动)

一、效果 自定义红色区域组件&#xff0c;做到数字与拖拽条相互影响。 二、实现 输入合适的名字 打开自定义组件ui 选择合适的组件进行布局 将两个空间的信号和值进行绑定 新增自定义函数并实现 #include "smallwidget.h" #include "ui_smallwidget.h"sma…

从架构角度看网络安全:数字化时代企业如何构建防御体系?

导语 | 数字化时代&#xff0c;网络安全已经成为企业发展的重中之重&#xff0c;通过体系化的安全建设&#xff0c;企业可以从容应对愈加复杂的网络安全挑战。今天&#xff0c;我们特邀了腾讯云 TVP、赛博英杰科技董事长 谭晓生老师&#xff0c;他将从资深技术专家视角解读如何…

vscode vue-helper插件导致vscode 自动换行快捷键失效

vue-helper插件&#xff1a;代码提示&#xff0c;点击文件路径快速跳转。 vue-helper导致vscode功能异常&#xff1a;自动换行的快捷键&#xff08;alt Z&#xff09;失效了。 因为我平时看代码的时候喜欢 换行和不换行之间来回切换&#xff0c;所以这个alt Z 我是经常用的。…

URL缩短服务:复杂问题的简洁解决方案

项目简介&#xff1a;TinyURL是一项在线服务&#xff0c;允许用户将长网址缩短为简洁的短网址&#xff0c;以便于分享和使用。这种服务尤其适用于社交媒体和电子邮件&#xff0c;因为这些平台对链接长度可能有限制。TinyURL的使用非常简单&#xff0c;只需在它的网站上输入长网…

【 Android11 WiFi开发 一 】WiFi列表获取与展示

前言 最近在Android11上开发了WiFi相关功能&#xff0c;涉及到WiFi列表的获取、连接有密码的WiFi、连接已保存的WiFi、忘记连接的WiFi、添加其他WiFi。涉及到的知识点较多作以分篇记录&#xff0c;本篇将介绍WiFi列表的获取与展示。 说明 下面梳理下WiFi列表获取流程&#xff1…

白嫖的text2video模型ZeroScope_v2

ZeroScope是一种基于ModelScope的视频生成模型&#xff0c;可以通过文本生成16:9的高质量视频。 Zeroscape 是一种基于 Transformer 架构的语言生成模型&#xff0c;其中包括了多种不同的变体和版本。其中&#xff0c;zeroscape_v2 是一种较新的模型&#xff0c;相较于之前的版…

浅谈电气火灾监控系统在高层建筑的应用

摘要&#xff1a;通过介绍上海某高层建筑电气火灾监控系统设计情况&#xff0c;对电气火灾监控系统工作特点和具体设计内容进行说明&#xff0c;同时提出一些设 计过程中需注意的事项&#xff0c;供业内人士借鉴&#xff0c;以期增进对电气火灾监控系统设计的重视&#xff0c;…

【vim】Linux种的vim

:q quit (close window) :w save (“write”) :wq save and quit :e {name of file} open file for editing :ls show open buffers :help {topic} open help :help :w opens help for the :w command:help w opens help for the w movement <ESC>进入vim模式 &l…